计算机组成原理实验取指令,计算机组成原理实验实验报告-单周期cpu设计

a7f4a3f590493a1e451dd952a488fd7c.gif 计算机组成原理实验实验报告-单周期cpu设计

(15页)

a3794582b7c2281681026a5c272f7988.gif

本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!

15.9 积分

计算机组成原理实验《《计算机组成原理实验计算机组成原理实验》》 实验报告实验报告( (实验实验二)二)学院名称学院名称::学生姓名学生姓名::学号学号::专业(班级)专业(班级) ::时间时间::2017年04月25日计算机组成原理实验成绩成绩: : 实验二实验二:: 单周期单周期CPUCPU设计设计 一一. . 实验目的实验目的(1) 掌握单周期 CPU 数据通路图的构成、原理及其设计方法; (2) 掌握单周期 CPU 的实现方法,代码实现方法; (3) 认识和掌握指令与 CPU 的关系; (4) 掌握测试单周期 CPU 的方法。二二. . 实验内容实验内容设计一个单周期 CPU,该 CPU 至少能实现以下指令功能操作。需设计的指令与格式如下: ==> 算算术术运算指令运算指令(1)addu rd , rs, rt (说说明:以助明:以助记记符表示,是符表示,是汇编汇编指令;指令;以代以代码码表示,是机器指令表示,是机器指令)000000rs(5 位)rt(5 位)rd(5 位)reserved功能:rd←rs + rt。reserved 为预为预留部分,即未用,一般填留部分,即未用,一般填“0”。 。(2)addiu rt , rs ,immediate 000001rs(5 位)rt(5 位)immediate(16 位) 功能:rt←rs + (zero-extend)immediate; ;immediate符号扩展再参加“加”运算。(3)subu rd , rs , rt000010rs(5 位)rt(5 位)rd(5 位)reserved完成功能:rd←rs - rt==> 逻辑逻辑运算指令运算指令(4)ori rt , rs ,immediate 010000rs(5 位)rt(5 位)immediate(16 位) 功能:rt←rs | (zero-extend)immediate; ;immediate做“0”扩展再参加“或”运算。(5)and rd , rs , rt010001rs(5 位)rt(5 位)rd(5 位)reserved 功能:rd←rs & rt;逻辑与运算。(6)or rd , rs , rt010010rs(5 位)rt(5 位)rd(5 位)reserved 功能:rd←rs | rt;逻辑或运算。==> 存存储储器器读读/写指令写指令 (7)sw rt ,immediate(rs) 写存储器100110rs(5 位)rt(5 位)immediate(16 位)功能:memory[rs+ (sign-extend)immediate]←rt;immediate 符号扩展再相加。 (8) lw rt , immediate(rs) 读存储器计算机组成原理实验100111rs(5 位)rt(5 位)immediate(16 位) 功能:rt ← memory[rs + (sign-extend)immediate];immediate 符号扩展再相加。==> 分支指令分支指令(9)bne rs,rt,immediate 110000rs(5 位)rt(5 位)immediate(位移量,16 位)>>2功能:if(rs!=rt) pc←pc + 4 + (sign-extend)immediate 停机指令停机指令 (10)halt 11111100000000000000000000000000(26 位) 功能:停机;不改变 PC 的值,PC 保持不变。三三. . 实验原理实验原理单周期 CPU 指的是一条指令的执行在一个时钟周期内完成,然后开始下一条指令 的执行,即一条指令用一个时钟周期完成。电平从低到高变化的瞬间称为时钟上升沿,两个 相邻时钟上升沿之间的时间间隔称为一个时钟周期。时钟周期一般也称振荡周期(如果晶振的如果晶振的输输出没有出没有经过经过分分频频就直接作就直接作为为 CPU 的工作的工作时钟时钟, ,则时钟则时钟周期就等于振周期就等于振荡荡周期。若振周期。若振荡荡周期周期经经二分二分频频后形成后形成时钟时钟脉冲信号作脉冲信号作为为 CPU 的工作的工作时钟时钟, ,这样这样, ,时钟时钟周期就是振周期就是振荡荡周期的两倍。周期的两倍。)CPU 在处理指令时,一般需要经过以下几个步骤:(1) 取指令(IF):根据程序计数器 PC 中的指令地址,从存储器中取出一条指令,同时, PC 根据指令字长度自动递增产生下一条指令所需要的指令地址,但遇到“地址转移”指令时, 则控制器把“转移地址”送入 PC,当然得到的“地址”需要做些变换才送入 PC。(2) 指令译码(ID):对取指令操作中得到的指令进行分析并译码,确定这条指令需要完 成的操作,从而产生相应的操作控制信号,用于驱动执行状态中的各种操作。(3) 指令执行(EXE):根据指令译码得到的操作控制信号,具体地执行指令动作,然后转 移到结果写回状态。(4) 存储器访问(MEM):所有需要访问存储器的操作都将在这个步骤中执行,该步骤给 出存储器的数据地址,把数据写入到存储器中数据地址所指定的存储单元或者从存储器中 得到数据地址单元中的数据。 (5) 结果写回(WB):指令执行的结果或者访问存储器中得到的数据写回相应的目的寄存器中。单周期 CPU,是在一个时钟周期内完成这五个阶段的处理。取指令取指令IFIF指令译码指令译码 ID指令执行指令执行 EXE存储器访问存储器访问 MEM结果写回结果写回 WB图图 1 单单周期周期 CPU 指令指令处处理理过过程程计算机组成原理实验MIPS 指令的三种格式:其中, op: :为操作码; rs: :为第 1 个源操作数寄存器,寄存器地址(编号)是 00000~11111,00~1F; rt: :为第 2 个源操作数寄存器,或目的操作数寄存器,寄存器地址(同上); rd: :为目的操作数寄存器,寄存器地址(同上); sa: :为位移量(shift amt),移位指令用于指定移多少位; func: :为功能码,在寄存器类型指令中(R 类型)用来指定指令的功能; immediate: :为 16 位立即数,用作无符号的逻辑操作数、有符号的算术操作数、数据加载 (Laod)/数据保存(Store)指令的数据地址字节偏移量和分支指令中相对程序计数器(PC)的有符号偏移量;address: :为地址。计算机组成原理实验图图 2 单单周期周期 CPU 数据通路和控制数据通路和控制线线路路图图图 2 是一个简单的基本上能够在单周期 CPU 上完成所要求设计的指令功能的数据通路 和必要的控制线路图。其中指令和数据各存储在不同存储器中,即有指令存储器和数据存储 器。访问存储器时,先给出地址,然后由读或写信号控制操作。对于寄存器组,读操作时,先 给出地址,输出端就直接输出相应数据;而在写操作时,在 WE 使能信号为 1 时,在时钟边 沿触发写入。图中控制信号作用如表 1 所示,表 2 是 ALU 运算功能表。表表 1 控制信号的作用控制信号的作用控制信号名状态“0”状态“1”Reset初始化 PC 为 0PC 接收新地址PCWrePC 不更改,相关指令:haltPC 更改,相关指令:除指令 halt 外ALUSrcB来自寄存器堆 data2 输出,相关指令: addu、subu、or、and、bne来自 sign 或 zero 扩展的立即数,相关指令:addiu、ori、sw、lwDBDataSrc来自 ALU 运算结果的输出,相关指 令:addu、addiu、subu、ori、or、and来自数据存储器(Data MEM)的输出,相关指令:lwRegWre无写寄存器组寄存器,相关指令: bne、sw、halt寄存器组写使能,相关指令:addu、addiu、subu、ori、or、and、lwInsMemRW写指令存储器读指令存储器(Ins. Data)/RD读数据存储器,相关指令:lw输出高阻态/WR写数据存储器,相关指令:sw无操作ExtSel(zero-extend)immediate( (0 扩展),),相 关指令:addiu、ori(sign-extend)immediate( (符号扩展) ),相关指令:sw、lw、bneRegDst写寄存器组寄存器的地址,来自 rt 字段,相关指令:addiu、ori、lw写寄存器组寄存器的地址,来自 rd 字段,相关指令:addu、subu、and、orPCSrcPC←PC+4,相关指令: addu、addiu、subu、ori、or、and、sw、 lw、bne(zero=1)PC←PC+4+(sign-extend)immediate,相关指令:bne(zero=0)ALUOp[2..0]ALU 8 种运算功能选择(000-111),看功能表相关部件及引脚相关部件及引脚说说明:明: Instruction Memory:指令存指令存储储器器,Iaddr,指令存储器地址输入端口IDataIn,指令存储器数据输入端口(指令代码输入端口)IDataOut,指令存储器数据输出端口(指令代码输出端口)RW,指令存储器读写控制信号,为 1 写,为 0 读 Data Memory:数据存数据存储储器器,Daddr,数据存储器地址输入端口DataIn,数据存储器数据输入端口DataOut,数据存储器数据输出端口/RD,数据存储器读控制信号,为 0 读/WR,数据存储器写控制信号,为 0 写 Register File:寄存器寄存器组组Read Reg1,rs 寄存器地址输入端口Read Reg2,rt 寄存器地址输入端口Write Reg,将数据写入的寄存器端口,其地址来源 rt 或 rd 字段计算机组成原理实验Write Data,写入寄存器的数据输入端口Read Data1,rs 寄存器数据输出端口Read Data2,rt 寄存器数据输出端口WE,写使能信号,为 1 时,在时钟上升沿写入 ALU: 算术逻辑单逻辑单元元result,ALU 运算结果zero,运算结果标志,结果为 0 输出 1,否则输出 0表表 2 ALU 运算功能表运算功能表 ALUOp[2..0]功能功能描述描述000Y = A + B加加001Y = A – B减减010Y = B<

4d91c43bfc72ca913299809b07b4968f.gif  天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值