全球旧事资料 分类
本科实验报告
课程名称计算机组成与设计实验姓名
学院信息与电子工程学院专业电子科学与技术
学号
指导教师屈民军、唐奕
2016年1月7日
f一、实验目的
1了解提高CPU性能的方法。
2掌握流水线MIPS微处理器的工作原理。
3理解数据冒险、控制冒险的概念以及流水线冲突的解决方法。
4掌握流水线MIPS微处理器的测试方法。
二、实验任务
设计一个32位流水线MIPS微处理器具体要求如下
1至少运行下列MIPS32指令。
1算术运算指令ADD、ADDU、SUB、SUBU、ADDI、ADDIU。
2逻辑运算指令AND、OR、NOR、XOR、ANDI、ORI、XORI、SLT、SLTU、
SLTI、SLTIU。
3移位指令SLL、SLLV、SRL、SRLV、SRA。
4条件分支指令BEQ、BNE、BGEZ、BGTZ、BLEZ、BLTZ。
5无条件跳转指令J、JR。
6数据传送指令LW、SW。
7空指令NOP。
2采用5级流水线技术对数据冒险实现转发或阻塞功能。
3在XUPVirtexⅡPro开发系统中实现MIPS微处理器要求CPU的运行速度大于
25MHz。
三、实验原理
1总体设计
流水线是数字系统中一种提高系统稳定性和工作速度的方法广泛应用于高档CPU的架构中。根据MIPS处理器的特点将整体的处理过程分为取指令IF、指令译码ID、执行EX、存储器访问MEM和寄存器会写WB五级对应多周期的五个处理阶段。一个指令的执行需要5个时钟周期每个时钟周期的上升沿来临时此指令所代表的一系列数据和控制信息将转移到下一级处理。
由于在流水线中数据和控制信息将在时钟周期的上升沿转移到下一级所以规定流水线转移变量命名遵守如下格式
名称_流水线级名称
例如在ID级指令译码电路Decode产生的寄存器写允许信号RegWrite在ID级、EX级、MEM级和WB级上的命名分别为RegWrite_id、RegWrite_ex、RegWrite_mem和RegWrite_wb。在顶层文件中类似的变量名称有近百个这样的命名方式起到了很好的识别作用。
1流水线中的控制信号
1IF级取指令级。从ROM中读取指令并在下一个时钟沿到来时把指令送到ID级的指令缓冲器中。该级控制信号决定下一个指令指针的PCSource信号、阻塞流水线的PC_IFwrite信号、清空流水线的IF_flush信号。
2ID级指令译码器。对IF级来的指令进行译码并产生相应的控制信号。整个CPU的控制信号基本都是在这级上产生。该级自身不需任何控制信号。
f流水线冒险检测也在该级进行冒险检测电路需要上一条指令的MemRead即在检测到冒险条件成立时冒险检测电路产生stall信号清空IDEX寄存器插入一个流水线气泡。
3EX级执行级。该级进行算术或逻辑操作。此外LW、SW指令所用的RAM访问地址也是在本级上实现。控制信号有ALUCode、ALUSrcA、ALUScrB和RegDst根据这些信号确定ALU操作、选r
好听全球资料 返回顶部