计算机组成原理课程设计微程序设计论文.doc
《计算机组成原理课程设计微程序设计论文.doc》由会员分享,可在线阅读,更多相关《计算机组成原理课程设计微程序设计论文.doc(20页珍藏版)》请在沃文网上搜索。
1、张 干 余桓桓 (微程序设计) 目录一、 摘要 2二、 微程序控制原理 22.1 设计要求 22.2 设计原理 22.3 设计思想 5三、总体设计 6 3.1 数据格式 6 3.2 机器指令设计 6 3.3 指令系统 7 3.4 具体设计分析 7四、实验步骤 94.1 接线并装载程序 94.2 联机运行程序 104.3 实验过程微指令代码 18五、常见问题和解决方法 19六、个人总结 19七、参考文献 21一、 摘要利用CPU与复杂模型机设计实验中所学到的实验原理以及编程思想,硬件设备,结合所学知识,自拟编写指令的应用程序,用微程序控制器实现了一系列的指令功能。完成了各指令的格式以及编码的设计
2、,实现了各机器指令微代码,形成具有一定功能的完整的应用程序。在本设计中完成了基本的数据输入输出(IN,OUT),带右移的加法运算(ADD R0 , R2 , N; Ri (R0)+(R2)N ,R2中内容不变),利用堆栈空递减的设计思想实现了子程序调用指令(CALL)和返回指令(RET),采用寄存器间接寻址方式实现了寄存器与内存单元内容的交换(SWPB Ri, Rj), 此外还利用了寄存器间接相对寻址方式实现了装载指令(LDR Ri,Rj,IMME)。 关键词:微程序控制器原理 微指令编码寻址方式 设计流程图二、微程序控制原理2.1 设计要求用微程序控制器实现以下指令功能,设计各指令格式以及编
3、码,并实现各机器指令微代码,根据定义的机器指令,自拟编写包含以下指令的应用程序子程序调用:CALL addr ;要求堆栈“空递减”,addr 是8 位二进制地址子程序返回:RET交换指令: SWPB Ri,Rj ;将寄存器Rj 指定的存储单元的内容传送到Ri中,并将Ri 的内容写入到该内存单元。i 不等于j。装载指令:LDR Ri,Rj,IMME ;将存储单元Rj+IMME 指定的存储单元的内容,装载到寄存器Ri ,IMME 是8 位二进制立即数带右移的加法运算: ADD Ri , Rj , N ; Ri(Ri)+(Rj)N ,先右移再相加,N=0-72.2 设计原理 微程序控制器的基本任务是
4、完成当前指令的翻译和执行,即将当前指令的功能转换成可以控制的硬件逻辑部件工作的微命令序列,完成数据传送和各种处理操作。它的执行方法就是将控制各部件动作的微命令的集合进行编码,即将微命令的集合仿照机器指令一样,用数字代码的形式表示,这种表示称为微指令。这样就可以用一个微指令序列表示一条机器指令,这种微指令序列称为微程序。微程序存储在一种专用的存储器中,称为控制存储器,微程序控制器原理图框如下图所示:图1 微程序控制器原理图框在本设计中控制存储器采用3 片2816 的E2PROM,具有掉电保护功能,微命令寄存器18 位,用两片8D 触发器(273)和一片4D(175)触发器组成。微地址寄存器共6
5、位,用三片正沿触发的双D 触发器(74)组成,它们带有清“0”端和预置端。在不判别测试的情况下,T2 时刻打入微地址寄存器的内容即为下一条微指令地址。当T4 时刻进行测试判别时,转移逻辑满足条件后输出的负脉冲通过强置端将某一触发器置为“1”状态,完成地址修改。本实验平台提供的微指令字长为24位,控制位顺序如下表:表1 微指令格式其中MA5MA0 为6 位的后续微地址,A、B、C 为三个译码字段,分别由三个控制位译码出多位。C 字段中的P为测试字位。其功能是根据机器指令及相应微代码进行译码,使微程序转入相应的微地址入口,从而实现完成对指令的识别,并实现微程序的分支,本系统上的指令译码原理如图2所
6、示,图中I7I2 为指令寄存器的第72 位输出,SE5SE0 为微控器单元微地址锁存器的强置端输出,指令译码逻辑在IR 单元的INS_DEC(GAL20V8)中实现。图2 指令译码原理图S3S0的具体功能如下: 表2 运算器逻辑功能表2.3 设计思想分析设计要求中的五条指令可以画出如下微指令流程图:NOP39383635340103SWPBLDRRETLDIHLTOUTINCALLRS-ARPC-AR,PC加1PC-AR,PC加1RS-RDPC-AR,PC加1PC-AR,PC加1PC-AR,PC加1RS-AADD00PM-IRPC-AR,PC加1NOP3730313332RS-ANOP2D26
7、RS-BM-ARS-ARRS-ARA+1-RSM-RDRS-IOM-ARIO-RDM-ARM-BM-PCM-B12A-RDRD-MM-A29110A08PC-AR,PC加10101202E2A2710091321012F2B28220101B-PCPC-MA-1-RSRS-AA+B-RDRD-AAB-B1614A+B-AR2CM-RD010101231524250101 图3 微指令流程图 三、总体设计3.1 数据格式 模型机规定采用定点补码表示法表示数据,字长为位,8 位全用来表示数据(最高位不表示符号),数值表示范围是: 0X281。3.2 机器指令设计除了设计要求的五条指令(CALL,R
8、ET,ADD,LDR,SWPB)外,为了能够构成一段简短的汇编程序,我们增加了五条指令(IN,OUT,LDI,MOV,HLT)。ADD为运算类指令,SWPB、LDR、IN、OUT、LDI、MOV为数据传送类指令,CALL、RET、HLT为控制转移指令。在这些指令中RET,SWPB,MOV,HLT为单字节指令,其余的均为双字节指令。所有单字节指令格式如图4 单字节指令格式其中,OP-CODE 为操作码,RS 为源寄存器,RD 为目的寄存器,并规定:图5 寄存器选择方式IN和OUT的指令格式如下: 图6 IN和OUT的指令格式其中括号中的1 表示指令的第一字节,2 表示指令的第二字节,OP-COD
9、E 为操作码,RS 为源寄存器,RD 为目的寄存器,P 为I/O 端口号,占用一个字节。LDI和LDR指令格式如下:第一字节同前一样,第二字节为立即数。图7 LDI和LDR指令格式CALL指令格式如下:第一字节同前一样,第二字节为子程序入口地址。图8 CALL指令格式3.3 指令系统 本实验共安排了十条基本指令,下表列出了各指令的格式,汇编符号,功能表3 模型机的指令系统3.4 具体设计分析根据微指令的设计流程图,结合所学知识写出微指令的二进制代码表如下:微地址十六进制高五位S3-S0A字段B字段C字段UA5-UA00000 00 0100000000000000000000 00010100
10、 6D 43000000000 11011010100 00110310 70 7000010000011100000111 00000810 60 0900010000011000000000 10010918 30 0100011000001100000000 00010A10 60 1000010000011000000001 00001028 04 0100101000000001000000 00011110 30 0100010 000001100000000 00011200 6D 5300000000011011010101 00111310 20 14000100000010
11、00000001 01001402 A2 1500000010101000100000 00011500 16 1600000000000101100001 01101604 B2 01000001101011001 00000 00012010 20 2100010000001000000010 000121 00 64 2200000000011001000010 00102200 14 2300000 000000101000010 00112306 32 2400000110001100100010 010024 20 0C 2500100000000011000010 0101250
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 原理 课程设计 微程序 设计 论文