中大2016计组单周期CPU实验报告报告_第1页
中大2016计组单周期CPU实验报告报告_第2页
中大2016计组单周期CPU实验报告报告_第3页
中大2016计组单周期CPU实验报告报告_第4页
中大2016计组单周期CPU实验报告报告_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机组成原理与接口技术实验计算机组成原理与接口技术实验实验报告学院名称:数据科学与计算机学院学生姓名:刘恩硕学号:14332014专业(班级):14软件工程五(国)班合作者:罗宇森时间:2016年4月25日计算机组成原理与接口技术实验成绩:实验二:单周期CPU设计.实验目的掌握单周期CPU数据通路图的组成、原理及其设计方法;掌握单周期CPU的实现方法,代码实现方法;认识和掌握指令与CPU的关系;掌握测试单周期CPU的方法。二.实验内容设计一个单周期CPU,该CPU最少能实现以下指令功能操作。需设计的指令与格式以下:=算术运算指令(1)addrd,rs,rt(说明:以助记符表示,是汇编指令;以

2、代码表示,是机器指令)000000rs(5位)rt(5位)rd(5位)reserved功能:rdrs+rt。reserved为预留部分,即未用,一般填“0”。(2)addirt,rs,immediate000001rs(5位)rt(5位)immediate(16位)功能:rtrs+(sign-extend)immediate;immediate符号扩展再参加“加”运算。(3)subrd,rs,rt000010rs(5位)rt(5位)rd(5位)reserved达成功能:rdrs-rt=逻辑运算指令(4)orirt,rs,immediate010000rs(5位)rt(5位)immediate(

3、16位)功能:rtrs|(zero-extend)immediate;immediate做“0”扩展再参加“或”运算。(5)andrd,rs,rt010001rs(5位)rt(5位)rd(5位)reserved功能:rdrs&rt;逻辑与运算。(6)orrd,rs,rt010010rs(5位)rt(5位)rd(5位)reserved功能:rdrs|rt;逻辑或运算。=传达指令7)moverd,rs100000rs(5位)00000rd(5位)reserved功能:rdrs+$0;$0=$zero=0。=储藏器读/写指令8)swrt,immediate(rs)写储藏器100110rs(5位)rt

4、(5位)immediate(16位)计算机组成原理与接口技术实验功能:memoryrs+(sign-extend)immediatert;immediate符号扩展再相加。(9)lwrt,immediate(rs)读储藏器100111rs(5位)rt(5位)immediate(16位)功能:rtmemoryrs+(sign-extend)immediate;immediate符号扩展再相加。=分支指令(10)beqrs,rt,immediate110000rs(5位)rt(5位)immediate(位移量,16位)功能:if(rs=rt)pcpc+4+(sign-extend)immediat

5、e停机指令11)halt11111100000000000000000000000000(26位)功能:停机;不改变PC的值,PC保持不变。三.实验原理单周期CPU指的是一条指令的履行在一个时钟周期内达成,尔后开始下一条指令的履行,即一条指令用一个时钟周期达成。电平从低到高变化的刹时称为时钟上涨沿,两个相邻时钟上涨沿之间的时间间隔称为一个时钟周期。时钟周期一般也称振荡周期(若是晶振的输出没有经过分频就直接作为CPU的工作时钟,则时钟周期就等于振荡周期。若振荡周期经二分频后形成时钟脉冲信号作为CPU的工作时钟,这样,时钟周期就是振荡周期的两倍。)CPU在办理指令时,一般需要经过以下几个步骤:取指

6、令(IF):依照程序计数器PC中的指令地点,从储藏器中取出一条指令,同时,PC依照指令字长度自动递加产生下一条指令所需要的指令地点,但碰到“地点转移”指令时,则控制器把“转移地点”送入PC,自然获得的“地点”需要做些变换才送入PC。指令译码(ID):对取指令操作中获得的指令进行剖析并译码,确定这条指令需要达成的操作,进而产生相应的操作控制信号,用于驱动履行状态中的各样操作。指令履行(EXE):依照指令译码获得的操作控制信号,详细地履行指令动作,尔后转移到结果写回状态。(4)储藏器接见(MEM):所有需要接见储藏器的操作都将在这个步骤中履行,该步骤给出储藏器的数据地点,把数据写入到储藏器中数据地

7、点所指定的储藏单元或许从储藏器中获得数据地点单元中的数据。结果写回(WB):指令履行的结果或许接见储藏器中获得的数据写回相应的目的存放器中。单周期CPU,是在一个时钟周期内达成这五个阶段的办理。取指令指令译码指令履行储藏器接见结果写回IFIDEXEMEMWB图1单周期CPU指令办理过程MIPS32的指令的三种格式:计算机组成原理与接口技术实验种类:312625212016151110650oprsrtrdsafunc6位5位5位5位5位6位种类:312625212016150oprsrtimmediate6位5位5位16位种类:3126250opaddress6位26位其中,op:为操作码;r

8、s:为第1个源操作数存放器,存放器地点(编号)是0000011111,001F;rt:为第2个源操作数存放器,或目的操作数存放器,存放器地点(同上);rd:为目的操作数存放器,存放器地点(同上);sa:为位移量(shiftamt),移位指令用于指定移多少位;func:为功能码,在存放器种类指令中(R种类)用来指定指令的功能;immediate:为16位立刻数,用作无符号的逻辑操作数、有符号的算术操作数、载(Laod)/数据保留(Store)指令的数据地点字节偏移量和分支指令中相对程序计数器的有符号偏移量;数据加(PC)address:为地点。计算机组成原理与接口技术实验图2单周期CPU数据通路

9、和控制线路图图2是一个简单的基本上能够在单周期上达成所要求设计的指令功能的数据通路和必要的控制线路图。其中指令和数据各储藏在不同样储藏器中,即有指令储藏器和数据储藏器。接见储藏器时,先给出地点,尔后由读/写信号控制(1-写,0-读。自然,也能够由时钟信号控制,但必定在图上标出)。对于存放器组,读操作时,先给出地点,输出端就直接输出相应数据;而在写操作时,在WE使能信号为1时,在时钟边沿触发写入。图中控制信号作用如表1所示,表2是ALU运算功能表。表1控制信号的作用控制信号名状态“0”状态“1”PCWrePC不更正,有关指令:haltPC更正,有关指令:除指令halt外ALUSrcB来自存放器堆

10、data2输出,有关指来自sign或zero扩展的立刻数,有关令:add、sub、or、and、move、指令:ori、sw、lwbeqALUM2Reg来自ALU运算结果的输出,有关指来自数据储藏器(DataMEM)的输令:add、sub、ori、or、and、出,有关指令:lwmoveRegWre无写存放器组存放器,有关指令:存放器组写使能,有关指令:add、sub、sw、haltori、or、and、move、lwInsMemRW读指令储藏器(Ins.Data),初始化为0写指令储藏器DataMemRW读数据储藏器,有关指令:lw写数据储藏器,有关指令:swExtSel有关指令:ori,有

11、关指令:sw、lw、beq,计算机组成原理与接口技术实验(zero-extend)immediate(0扩展)(sign-extend)immediate(符号扩展)PCSrcPCPC+4,有关指令:add、subori、or、and、move、sw、lw、PCPC+4+(sign-extend)zero=1,有关指令:beqimmediate,同时beq(zero=0)RegOut写存放器组存放器的地点,来自字段,有关指令:ori、lwrt写存放器组存放器的地点,来自段,有关指令:add、sub、andrd字、or、moveALUOp2.0ALU8种运算功能选择(000-111),看功能表有

12、关零件及引脚说明:InstructionMemory:指令储藏器,Iaddr,指令储藏器地点输入端口IDataIn,指令储藏器数据输入端口(指令代码输入端口)IDataOut,指令储藏器数据输出端口(指令代码输出端口)RW,指令储藏器读写控制信号,为1写,为0读DataMemory:数据储藏器,Daddr,数据储藏器地点输入端口DataIn,数据储藏器数据输入端口DataOut,数据储藏器数据输出端口RW,数据储藏器读写控制信号,为1写,为0读RegisterFile:(存放器组)ReadReg1,rs存放器地点输入端口ReadReg2,rt存放器地点输入端口WriteReg,将数据写入的存放

13、器端口,其地点根源WriteData,写入存放器的数据输入端口rt或rd字段ReadData1,rs存放器数据输出端口ReadData2,rt存放器数据输出端口WE,写使能信号,为1时,在时钟上涨沿写入ALU:result,ALU运算结果zero,运算结果标志,结果为0输出1,否则输出0表2ALU运算功能表ALUOp2.0功能描绘000A+B加001AB减010BA减011AB或100AB与101/ABA非与B110AB异或111AB同或计算机组成原理与接口技术实验需要说明的是依照要实现的指令功能要求画出以上数据通路图,和确定ALU的运算功能(自然,以上指令没有完好用到供应的ALU所有功能,但

14、最少必定能实现以上指令功能操作)。从数据通路图上能够看出控制单元部分需要产生各样控制信号,自然,也有些信号必定要传达给控制单元。从指令功能要求和数据通路图的关系得出以上表1,这样,从表1能够看出各控制信号与相应指令之间的互有关系,依照这种关系就能够得出控制信号与指令之间的关系表(留给学生达成),再依照关系表能够写出各控制信号的逻辑表达式,这样控制单元部分就可实现了。指令履行的结果老是在下个时钟到来前开始保留到存放器、或储藏器中,PC的改变也是在这个时候进行。其他,值得注意的问题,设计时,用模块化的思想方法设计,对于ALU设计、储藏器设计、存放器组设计等等,也是必定仔细考虑的问题。能够参照其他资

15、料文档,里面有相应的设计方法介绍。(资料文档:MIPS汇编与单周期CPU.ppt)。四.实验器材电脑一台、XilinxISE软件一套。五.实验剖析与设计(1)初步规划出实验流程:依照cpu数据通路和控制线路图决定要写多少个模块写子模块用主模块把子模块连结起来写测试文件设计一段汇编程序输入二进制测试(2)进一步设计:依照通路图决定写11个子模块,分别是PC,PC+4,PC+立刻数,指令存放器,数据贮备,存放器模块,控制模块,选择模块,符号扩展,算术逻辑单元子模块分别命名为pc,pcAddFour,pcAddImm,ROM,RAM,regfile,ControlUnit,dataSelect_5_

16、Bit,dataSelect_32_Bit,signExtend,ALU指令由ROM读取到mem中。a)把decode传到控制模块ControlUnit中,尔后依照传入的六位操作码和zero给控制信号赋值;(两个输入)计算机组成原理与接口技术实验b)把rs、rt、rd传到存放器模块regfile(其中一个控制信号)中,从存放器组中取rs、rt值传出,得出结果可能还要写回rt、rd;(这里由RegWre控制可否写?)把立刻数传到符号扩展模块signExtend中,把16位?即数扩展成32位,得出结果传?选择模块和PC+立刻数模块。(在这里进行左移)ALU经过传入的ALUop决定计算种类,对传入的

17、数据(A、B)进行运算。ControlUnit经过PCSrc决定下?个PC是PC4仍是PC4+偏移量RAM从内存中读取数据或许把数据写?内存。计算机组成原理与接口技术实验(3)每个模块的详细代码计算机组成原理与接口技术实验计算机组成原理与接口技术实验计算机组成原理与接口技术实验计算机组成原理与接口技术实验计算机组成原理与接口技术实验计算机组成原理与接口技术实验计算机组成原理与接口技术实验计算机组成原理与接口技术实验计算机组成原理与接口技术实验(3)测试代码/addi$1,$0,800000100000000010000000000001000/addi$2,$0,160000010000000

18、01000000000000100000/sw$2,0($2)00011100010000100000000000000000/add$3,$2,$100000000010000010001100000000000/sub$3,$3,$100001000011000010001100000000000/beq$2,$3,-2/ori$1,$1,400001100001000010000000000000100/or$3,$2,$100010100010000010001100000000000/move$3,$200011000010000000001100000000000/beq$2,$3,200100100010000110000000000000010/lw$4,0($2)00100000010001000000000000000000/halt计算机组成原理与接口技术实验11111100000000000000000000000

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论