- 1、本文档共18页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
华科组成原理课程设计-MIPS流水线CPU讲述
PAGE \* MERGEFORMAT18
计算机科学与技术学院
2014
计算机组成原理 课程设计报告
题 目:支持流水线的简单计算机系统设计与实现专 业:计算机科学与技术班 级:学 号:姓 名:电 话:邮 件:实 验 台:完成日期:指导教师:
目录
一、课程设计概述 3
1 课设目的 3
2 实验环境 3
3 设计任务与要求 3
二、设计原理 3
1 MIPS概述 3
2 MIPS指令简介 3
3 经典5段RSIC流水线结构 4
三、设计内容 5
1 指令选取 5
2 非流水5段CPU模型 6
3 流水5段CPU模型 8
四、实现内容与测试结果 12
1 各模块功能 12
2 控制信号 12
3 指令操作流程 13
4 指令执行状态转换图 14
5 引脚绑定 15
6 测试程序 15
7 测试结果与仿真图 16
五、课设总结 17
1 课设中遇到的问题 17
2 课设经历 17
3 课设感想 18
4 小组分工 18
参考文献 18
课程设计概述
课设目的
① 掌握硬件描述语言与开发环境,了解硬件开发地基本过程。
② 掌握流水线CPU设计方法。
③ 锻炼学生简单计算机系统的设计能力,并通过进行主机系统低层电路的实现、故障分析与定位、系统调试等环节的锻炼,进一步提高了学生分析和解决问题的能力。
实验环境
① Xilinx ISE 14.2
② Spartan3E实验板一块
设计任务与要求
课程设计的主要任务是设计一台支持流水线的简单计算机系统并调试通过。要求所设计的计算机系统能正确地执行存放在指令cache中的程序的功能。
本设计基于MIPS的32位流水线架构,设计过程中力图尽可能的遵循原有的MIPS的功能和指令集。基本做到与MIPS指令集的兼容。
具体要求包括:
① 支持算术运算,逻辑运算,存储器读写,寄存器间数据传送等几类指令。
② 支持立即数寻址,直接寻址,寄存器寻址等几种基本的数据寻址方式和顺序寻址、跳跃寻址两种指令的寻址方式。
③ 支持10条或以上的指令。
④ 能运行由自己所设计的指令系统构成的一段程序,程序执行功能正确。
⑤ 具有完整的五级流水线架构。采用独立的32位的数据总线和地址总线。
设计原理
MIPS概述
MIPS是高效的RISC体系结构中最优雅的一种体系结构。其中文意思为“无内部互锁流水级的微处理器”,其机制是尽量利用软件办法避免流水线中的数据相关问题。它最早是在80年代初期由斯坦福大学Hennessy教授领导的研究小组研制出来的。MIPS公司的R系列就是在此基础上开发的RISC工业产品的微处理器。这些系列产品为很多计算机公司采用构成各种工作站和计算机系统。
本设计将参考MIPS的CPU设计以实现自己的五段流水线CPU设计,并部分实现MIPS32指令集
MIPS指令简介
2.1 MIPS指令集特点
MIPS指令集具有以下特点:
简单的LOAD/STORE结构。所有计算类型指令均从寄存器组中读取数据并把结果写入寄存器组中。只有LOAD和STORE指令访问存储器(数据cache)。
易于流水线CPU的设计。MIPS指令集的指令格式非常规整,所有的指令均为32位,而且指令操作码在固定的位置上。
易于编译器的开发。一般情况下,编译器在编译高级语言程序时,很难用到复杂的指令。MIPS指令的寻址方式与操作非常简单,便于编译器的开发。
2.2 MIPS指令格式
在本次课程设计中,在数据类型上只支持整数类型,在指令格式上直接R、I和J型指令。以下是对三型指令的简介[1]:
R(register)类型的指令从寄存器组中读取两个源操作数,计算结果写回寄存器组。
I(immediate)类型的指令使用一个16位的立即数作为一个源操作数。
J(jump)类型的指令使用一个26位立即数作为跳转的目标地址。
三型指令的格式如图1所示,其中:
op表示指令操作码。
rs为源操作数的寄存器号。
rd为目的寄存器号,RT既可为源寄存器号,也可为目的寄存器号。
funct可认为是扩展的操作码。
shamte由移位指令使用,定义移位位数。
Immediate是16位立即数,根据指令需求进行无符号或有符号扩展。
Address是26位立即数,由J型指令使用,用于产生跳转的目的地址。
图1. MIPS的指令格式
经典5段RSIC流水线结构
经典的5段RISC流水线如图2。
图2. 经典5段RISC流水线
在该结构中一条指令的执行过程分为以下5个时钟周期:
取指令周期(IF):以程序计数器PC中的内容作为地址,从存储器中取出指令并放入指令寄存器IR;同时PC值加4(假设每条指令占4个字节),指向顺序的下一条指令。
指令译码
文档评论(0)