欢迎来到天天文库
浏览记录
ID:47855524
大小:424.00 KB
页数:18页
时间:2019-11-29
《华科组成原理课程设计报告-MIPS流水线CPU》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、计算机科学与技术学院2014计算机组成原理课程设计报告题目:支持流水线的简单计算机系统设计与实现专业:计算机科学与技术班级:学号:姓名:电话:邮件:实验台:完成日期:指导教师:18目录一、课程设计概述31课设目的32实验环境33设计任务与要求3二、设计原理31MIPS概述32MIPS指令简介33经典5段RSIC流水线结构4三、设计内容51指令选取52非流水5段CPU模型63流水5段CPU模型8四、实现内容与测试结果121各模块功能122控制信号123指令操作流程134指令执行状态转换图145引脚绑定156测试程序157测试结果与仿真图16五、课设总结
2、171课设中遇到的问题172课设经历173课设感想184小组分工18参考文献1818课程设计概述1.课设目的①掌握硬件描述语言与开发环境,了解硬件开发地基本过程。②掌握流水线CPU设计方法。③锻炼学生简单计算机系统的设计能力,并通过进行主机系统低层电路的实现、故障分析与定位、系统调试等环节的锻炼,进一步提高了学生分析和解决问题的能力。2.实验环境①XilinxISE14.2②Spartan3E实验板一块3.设计任务与要求课程设计的主要任务是设计一台支持流水线的简单计算机系统并调试通过。要求所设计的计算机系统能正确地执行存放在指令cache中的程序的功
3、能。本设计基于MIPS的32位流水线架构,设计过程中力图尽可能的遵循原有的MIPS的功能和指令集。基本做到与MIPS指令集的兼容。具体要求包括:①支持算术运算,逻辑运算,存储器读写,寄存器间数据传送等几类指令。②支持立即数寻址,直接寻址,寄存器寻址等几种基本的数据寻址方式和顺序寻址、跳跃寻址两种指令的寻址方式。③支持10条或以上的指令。④能运行由自己所设计的指令系统构成的一段程序,程序执行功能正确。⑤具有完整的五级流水线架构。采用独立的32位的数据总线和地址总线。一、设计原理1.MIPS概述MIPS是高效的RISC体系结构中最优雅的一种体系结构。其中
4、文意思为“无内部互锁流水级的微处理器”,其机制是尽量利用软件办法避免流水线中的数据相关问题。它最早是在80年代初期由斯坦福大学Hennessy教授领导的研究小组研制出来的。MIPS公司的R系列就是在此基础上开发的RISC工业产品的微处理器。这些系列产品为很多计算机公司采用构成各种工作站和计算机系统。本设计将参考MIPS的CPU设计以实现自己的五段流水线CPU设计,并部分实现MIPS32指令集2.MIPS指令简介2.1MIPS指令集特点MIPS指令集具有以下特点:①简单的LOAD/STORE结构。所有计算类型指令均从寄存器组中读取数据并把结果写入寄存器
5、组中。只有LOAD和STORE指令访问存储器(数据cache)。②易于流水线CPU的设计。MIPS指令集的指令格式非常规整,所有的指令均为32位,而且指令操作码在固定的位置上。③18易于编译器的开发。一般情况下,编译器在编译高级语言程序时,很难用到复杂的指令。MIPS指令的寻址方式与操作非常简单,便于编译器的开发。2.2MIPS指令格式在本次课程设计中,在数据类型上只支持整数类型,在指令格式上直接R、I和J型指令。以下是对三型指令的简介[1]:①R(register)类型的指令从寄存器组中读取两个源操作数,计算结果写回寄存器组。②I(immediat
6、e)类型的指令使用一个16位的立即数作为一个源操作数。③J(jump)类型的指令使用一个26位立即数作为跳转的目标地址。三型指令的格式如图1所示,其中:①op表示指令操作码。②rs为源操作数的寄存器号。③rd为目的寄存器号,RT既可为源寄存器号,也可为目的寄存器号。④funct可认为是扩展的操作码。⑤shamte由移位指令使用,定义移位位数。⑥Immediate是16位立即数,根据指令需求进行无符号或有符号扩展。⑦Address是26位立即数,由J型指令使用,用于产生跳转的目的地址。图1.MIPS的指令格式1.经典5段RSIC流水线结构经典的5段RI
7、SC流水线如图2。图2.经典5段RISC流水线在该结构中一条指令的执行过程分为以下5个时钟周期:18①取指令周期(IF):以程序计数器PC中的内容作为地址,从存储器中取出指令并放入指令寄存器IR;同时PC值加4(假设每条指令占4个字节),指向顺序的下一条指令。②指令译码/读寄存器周期(ID):对指令进行译码,并用IR中的寄存器地址去访问通用寄存器组,读出所需的操作数。③执行/有效地址计算周期(EX):在这个周期,ALU对在上一个周期准备好的操作数进行运算或处理。不同指令所进行的操作不同。④存储器访问/分支完成周期(MEM):load指令用上一个周期计
8、算出的有效地址从存储器中读出相应的数据;store指令把指定的数据写入这个有效地址所指出的存储器单元;分支指
此文档下载收益归作者所有