完整版MIPS单周期CPU设计2018版体会

上传人:hs****ma 文档编号:492866999 上传时间:2023-11-20 格式:DOC 页数:8 大小:414KB
返回 下载 相关 举报
完整版MIPS单周期CPU设计2018版体会_第1页
第1页 / 共8页
完整版MIPS单周期CPU设计2018版体会_第2页
第2页 / 共8页
完整版MIPS单周期CPU设计2018版体会_第3页
第3页 / 共8页
完整版MIPS单周期CPU设计2018版体会_第4页
第4页 / 共8页
完整版MIPS单周期CPU设计2018版体会_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《完整版MIPS单周期CPU设计2018版体会》由会员分享,可在线阅读,更多相关《完整版MIPS单周期CPU设计2018版体会(8页珍藏版)》请在金锄头文库上搜索。

1、11条MIPS指令单周期CPU设计2018元月份,我按照袁春风老师的第三版教材,又重新设计了11条MIPS指令的单周期CPU这次的设计与我2017年7月份的单周期CPU还是有些区别。2017年7月份设计的CPU主要是参考计算机组成与设计-硬件/软件接口DavidA.Patterson。设计中的几点体会如下:一.基本流程1 .首先要分析清楚这11条指令的格式和特点。按照MIPS指令的格式和特点,完全掌握它们的功能和执行的过程。2 .这些指令执行过程中需要哪些硬件部件和控制信号,这些部件如何连接构成数据通路。3 .对所有需要的控制信号进行归纳分析,列出真值表,设计相应的控制电路。二.具体设计过程1

2、.ALU的设计。ALU的设计重点在于先设计出32位的加法器,减法运算是利用加法的“变反加一”。同时要产生各种运算结果的信号:溢出(OF)、进位(CF)、符号位(SF)、零符号位(Zero)。OF=CCn-1;CF=CutCn。至于需要其它的运算指令,如逻辑运算、移位运算、乘除法运算,都可以直接调用logisim库中的器件,添加到ALU中,这些运算的结果可以同时产生,只是最后用多路选择器来选择那种指令的结果输出,用的控制信号是OPctr。在ALU中需要设计一个控制信号生成部件,用于产生ALU内部需要的各种控制信号。见袁春风老师教材P155(第一次实验:ALU部件的设计)(ALU设计中,现在的加法

3、器只是串行的,可以让好的学生用先行进位加法器)图1:ALU电路图kODOtlMDpiOQadDOnDoaa0CC7rfMMtEg口kmiMilm并胃itbQiriiiiRlKrultjicliliofK.kddEH电u&lapaceD-a.seaddressZ-scMGOiMKi二.ktexlbaseaddressuserspace:highaddressgZTrlOCCiSfrc二.gE口cn口l&MtninMiladdrags白白meaOdreea.XWSF“qmuntiimvr同finr帝力!i:丽*pointsr$ntucMben#aodr:m3gggosUitiKlirniitndd

4、i-bi:*woosxojrMGC1300勃小口b毒隼附,ddr=sglob4lpoiniiiZbcMGClOOO.j&xterribaseaddresaZbeMccaooaZccMGCOMfldata:segmentEiaesddlrea;.dlatabaseaddreHAppilfCanceh|Re-et:*.CompactiDataatAddressCCompact,TextsirAddress5.程序汇编后可以利用File菜单中的DumpMemory功能将代码段和数据段导出,采用十六进制文本的方式导出到某个文本文件,然后在文件第行加入“v2.0raw”即可在logisim中加载到ROM

5、ERAMDumpMemoryToHieMemorySegment.text(0x00003000-OxOOOC3D3cJHeicadecimalTextDumpFormatfance-lDumpToFile.6.将test_11文件加载到指令存储器,在数据存储器第1、2号单元中输入指定的数据,执行测试程序,再查看运行结果,验证程序运行是否正确。Add、sub是加减指令,判断溢出,如有溢出,则不保存运算结果;Subu是减法指令,但不判断溢出;Slt是有符号数比较大小、sltu是无符号数比较大小。具体见教材P155,表5.2用于测试的数据表如表1可以用test_11程序和表1中的数据来验证学生设计

6、的CPU是否能正确运说明:对于测试2中的测试数据(对两个都是负数的测试数据)令的结果与分析的实际结果不同。行。(只需要在数据存储器中的1掰口2#单元输入测试数据,在第3#-7#号单元中查看运算结果是否正确)存储器地址据_1#2#3#4#5#6#7#输入数据S1输入数据S2addsubsubusltsltu测t1000000028000000580000007800000038000000310测t2800000028000000500000000000000030000000300测t38000000500000002800000077ffffffd7ffffffd01测t4000000020

7、000000500000007000000030000000300测t50000000500000005相等数据,测试Beg指令正确表1:test_11程序测试表slt指两次CPU设计之间的差别主要差别有下列几点:1 .ALU的实现(alu-11)。2017版是参考华科的实验。可实现的算术运算、逻辑运算、移位等指令条数较多。加减溢出判断是自己采用真值表来实现的。2018版是按照袁老师P155实现的。第一个实验(11条指令的ALU设计)就准备让学生这样实现。2 .取指令部件的实现(fetch_IR)。2017版中有BEQ旨令,但没有实现JUMP指令。2018版都实现了。实现的思想是基于袁老师的P

8、161图5.20,但具体细节有修改。把PC30位改为了32位,原因是所用的存储器字长为32位(4字节),一条MIPS指令就只占用一个存储单元,所以每次PC地址直接加“1”即可,无需再去掉低两位。a)JUMP跳转指令的高位就是PC,而不是PC31:2833 .控制器采用了主、辅控制器分开实现。主控制器(OP_ctr)利用P166表5.4和表5.5来实现的,直接用真值表生成电路。但多增加了Rtype信号。辅助控制电路(func_ctr)用来产生R型指令的ALUctr信号。4 .位扩展部件(16-32extend),增加了ExtOp控制端,用于零扩展或者符号扩展控制。5 .数据存储器是采用系统提供的器件。Str引脚连接存储器写信号,ld引脚连接存储器读信号。6 .编写测试程序(test_11.asm),含所有11条指令,测试通过。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 演讲稿/致辞

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号