计算机硬件课程设计报告-微程序控制模型计算机的设计.doc_第1页
计算机硬件课程设计报告-微程序控制模型计算机的设计.doc_第2页
计算机硬件课程设计报告-微程序控制模型计算机的设计.doc_第3页
计算机硬件课程设计报告-微程序控制模型计算机的设计.doc_第4页
计算机硬件课程设计报告-微程序控制模型计算机的设计.doc_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

计算机硬件课程设计设计报告 学号:01613211 姓名:学号:01613248 姓名: 2015年10月29日一、课题名称: 微程序控制模型计算机的设计二、实验目的:1运用“计算机组成原理”和“数字电路”等课程的知识,通过对模型机的设计和调试,加深对计算机各部件工作原理的认识。2进一步掌握运用EDA 技术进行设计和调试的工作方法。三、实验任务:1 设计一台由微程序控制的模型计算机。2 将模型机调试成功,对设计进行优化。四、设计方案:1.数据格式和指令系统采用 8 位数据通路,数据采用8 位二进制定点表示。76543210.设置7 条机器指令和2条面板操作指令(1) 面板操作指令a.输入地址为 PC 置初始值,即输入程序的起始地址,当K1 开关置“1”,K2 开关置“0”时执行此操作;b.输入程序将程序输入到内存的指定区域,当K1,K2 开关均置“1”时,由面板输入开关输入程序;c.本模型机设置 K3 开关,K3 置1 表示执行单步操作;d. START 表示启动开关。单步操作时,用于执行每一条指令;e.CLRN表示总清开关,置0时系统全部清零。(2) 指令系统a. 指令格式操作码寻址方式7 6 5 43 2 1 0有二种寻址方式(1)寄存器寻址操作码R目R源7 6 5 43 2 1 0(2)直接地址寻址由于地址要占用一个字节,所以此类指令为双字节指令。操作码R目R源内存地址7 6 5 43 2 1 0b7条基本机器指令(1)IN R; 从开关输入数据送入到指定的寄存器R。格式:0 0 0 1R目R源(2)OUT R;从指定的寄存器R 中取出数据送入到输出缓冲器,显示灯亮。格式:0 0 1 00 0R源(3)LD R , address ;从内存指定单元取出数据,送入指定的寄存器R。格式:0 0 1 1R目R源Address(4)ST address, R; 从指定的寄存器R 中取出数据,存入内存指定单元。格式:0 1 0 0R目R源Address(5)ADD R1, R2;将两个寄存器中的数据相加,结果送到R1。格式:0 1 0 1R目R源(6)JMP address; 无条件转移,即address -PC。格式:0 1 1 0R目R源Address(7)HALT ; 停机指令。0 1 1 10 00 02.硬件结构设计为了简单方便,我们采用单总线结构,总体结构和 CPU 内部结构设计如图所示。3.数据通路设计4.控制器设计(1) 控制器组成(2) 微指令格式和微命令首先对数据通路进行分析,需要16个控制信号。此外还要2个信号:UPC (表示一段微程序结束),HALT(停机),共需要18个控制信号。采用水平型格式表示。控制数据通路的 16个信号说明如下:G1,G2,G3,G4 分别控制4个多路开关A,B,C,D,E 分别控制对应的寄存器输入F 控制计数器PC 的输入和计数I 控制指令寄存器的输入DEST 目的寄存器的读出控制信号SRC 源寄存器的读出控制信号WE 对RAM 的写入信号GWN 通用寄存器组的写入信号LDN PC 置初值的控制信号(3) 时序信号和控存的安排根据分析,每执行一条微指令的操作须用2 个工作脉冲,读取一条微指令需要1 个工作脉冲执行,M1 脉冲将微指令送入微指令寄存器(3 片74273);M3、M4 用来执行该微指令的操作。这样读取并执行一条微指令总共需要4 个工作脉冲M1、M2、M3、M4,所需的脉冲时序如图所示。电路实现:根据分析,执行一条微指令的操作须用2 个工作脉冲。18 位微命令需要占用3 个字节,本实验用如下方式来获得3 个字节的微指令,由数字电路的知识可知,当ROM 的字数够用而每个字的位数不够用时,我们可以采用位扩展的连接方式,将多片ROM 组合成位数足够多的存储器。所以将3 片8 位的ROM 按图所示方式连接起来实现24 位的ROM,可以同时输出24 位的微指令。(4) 微地址入口电路的设计为简单起见,微地址采用8 位,其高4 位由指令操作码控制,低4 位由一个4 位的计数器控制。将ROM 的高段地址区用于存放面板指令的微程序,低段地址存储区存放一般指令的微程序,控制电路如下图5. 指令的微程序表G1.G2.G3.G4A.B.C.DE.F.I.DESTSRC.WE.GWN.LDNUPC.HALT.X.XX.X.X.XLod pc(10000000)80C0010081310080送数(11000000)C030C000C1C00400C2010080取指公操作(00000000)0030C00001002000IN(00010000)10C0020011111080OUT(00100000)20110880LD(00110000)3030C000310080003200020033111080ST(01000000)4030C0004100800042100C80ADD(01010000)50181000511608005240020053111080JUMP(01100000)6030C0006100000062010180HALT(01110000)700000406. 总电路图及RomROM内容截图:五、设计优化1更改时序在M2周期,cpu只执行了操作upc+1,而这一操作对于同时钟周期的M3,M4是没有影响的,所以可将M2周期内的操作在M3周期内完成。另外M1,M2,M3,M4之间不需要空余的时钟周期进行间隔。综上,只需要形成如图所示的时序即可实现电路如下:2增加指令(1)SUB R1,R2;将两个寄存器中的数据相减,结果送到R1。格式:1 0 0 1R目R源(2)ANA R1,R2;将两个寄存器中的数据做逻辑与运算,结果送到R1。格式:1 0 1 1R目R源(3)OR R1,R2;将两个寄存器中的数据做逻辑或运算,结果送到R1。格式:1 1 0 1R目R源(4)CMA R1;将R1寄存器中的数据取反,结果送到R1。格式:1 0 1 0R目0 0 (5)SHR R1;将R1寄存器中的数据右移,结果送到R1。格式:1 1 1 0R目0 0(6)SHL R1;将R1寄存器中的数据左移,结果送到R1。格式:1 1 1 1R目0 0在微指令中设计3跟控制信号线,用于运算的选择指令助记符控制信号(SEL2 1 0)逻辑与ANA0 0 0逻辑或OR0 0 1取反CMA0 1 0减SUB0 1 1加ADD1 0 0右移SHR1 1 0左移SHL1 1 1新ALU内部电路图新指令的微程序表G1.G2.G3.G4A.B.C.DE.F.I.DESTSRC.WE.GWN.LDNUPC.HALT.X.XXSEL2 1 0Lod pc(1000 0000)80C0010081310080送数(11000000)C030C000C1C00400C2010080取指公操作(0000 0000)0030C00001002000IN(0001 0000)10C0020011111080OUT(0010 0000)20110880LD(0011 0000)3030C000310080003200020033111080ST(0100 0000)4030C0004100800042100C80ADD(0101 0000)50181005511608055240020553111080JUMP(0110 0000)6030C0006100000062010180HALT(011 10000)70000040SUB(1001 0000)90181004911608049240020493111080ANA(1010 0000)A0181000A1160800A2400200A3111080OR(1011 0000)B0181001B1160801B2400201B3111080CMA(1101 0000)D0181002D1160802D2400202D3111080SHR(1110 0000)E0181006E1160806E2400206E3111080SHL(1111 0000)F0181007F1160807F2400207F31110803减少ROM空间原ROM中大量存储单元没有存放数据,且部分单元存储的数据相同,造成存储资源的浪费。利用一一映射可以减少Rom的空间。旧地址新地址旧地址新地址旧地址新地址旧地址新地址00000101100211032004300031053206330340004105420750085109520A53036000620B700C800D81OE900F911092119303A012A113A214A303B015B116B217B303C000C118C219D01AD11BD21CD303E01DE11EE21FE303F020F121F222F303由于此转化电路较为复杂,不宜直接连线,我们采用了Verilog HDL文件进行了地址的变换。module TRANS(IN,OUT);input 7:0 IN;output5:0 OUT;reg5:0 OUT;always (IN)begincase(IN)8b00000000:OUT=6b000000;8b00110000:OUT=6b000000;8b01100000:OUT=6b000000;8b11000000:OUT=6b000000;8b01000000:OUT=6b000000;8b00000001:OUT=6b000001;8b00010000:OUT=6b000010;8b00010001:OUT=6b000011;8b11100010:OUT=6b011111;8b11110000:OUT=6b100000;8b11110001:OUT=6b100001;8b11110010:OUT=6b100010;default:OUT=6b100011;endcaseendendmodule新rom地址转化关系检验4总电路图六、测试结果与性能分析1.测试程序程序描述:计算C=A*2+B/2C各位取反,然后只保留低4位,减去D输出结果代码表示:Lod pcIN

温馨提示

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

评论

0/150

提交评论