计算机组成原理 课程设计 微程序的分析与设计 宿迁学院 实验报告_第1页
计算机组成原理 课程设计 微程序的分析与设计 宿迁学院 实验报告_第2页
计算机组成原理 课程设计 微程序的分析与设计 宿迁学院 实验报告_第3页
计算机组成原理 课程设计 微程序的分析与设计 宿迁学院 实验报告_第4页
计算机组成原理 课程设计 微程序的分析与设计 宿迁学院 实验报告_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

1、 计算机组成原理课程设计简单模型机的微程序设计学生姓名: 学号: 201003111XX 系 别: 三系 班 级: 专 业: 软件工程 指导教师: 卞 利 一. 课程设计的目的计算机的硬件基本组成计算机中机器指令的设计计算机中机器指令的执行过程微程序控制器的工作原理微指令的格式设计原则在此基础上设计可以运行一些基本机器指令的微程序的设计二. 课程设计的内容和要求题目: = 1 * GB3 数据传送指令MOV RD,RS:(RS)(RD) = 2 * GB3 减法指令SUB RD,RS:(RS)减(RD)(RD) = 3 * GB3 或指令OR RD,(addr):(RD)或(addr)(RD)

2、 = 4 * GB3 异或指令XOR RD,(addr):(addr)异或(RD)(RD) = 5 * GB3 与指令AND RD,RS:(RS)与(RD)(RD) 通过使用作者开发的微程序分析和设计仿真软件,熟悉介绍的为基本模型机而设计的微程序的执行过程。必须充分理解并正确解释下些问题: (1) 微程序中的微指令的各个字段的作用。哪些字段是不译码的,哪些字段是直接译码的,哪些字段又可以看成是字段间接编码的。 答:不译码:S3-B0,直接译码:C字段 ,间接译码:A,B字段,当C字段进行P(1)或LDPC时ua6-ua1也是间接。 (2)微程序中的微指令是否是顺序执行的,如果不是,那么次地址是

3、如何产生的。什么情况下,次地址字段才是将要执行的微指令的地址。 答:微程序中的微指令不是顺序执行的,如果遇到P(1)P(4)测试时,则根据机械指令,uA5uA其他有关部件的内容,产生下一条微指令在空存中的微地址,是微程序转入相应的微地址入口,从而实现微程序的顺序、分支、循环运行等。例如遇到P(1)测试,则下一条微指令在空存中的微地址的41位是用次地址字段NA(41位)或指令寄存器IR(85位)所产生,下一条微指令的微地址仍为 NA字段的65位。如果没有遇到P(1)P(4)测试的话,那么次地址即为该微指令地址字段所指向的微地址。 (3)在微程序中如何根据机器指令中的相关位实现分支,据此,在设计机

4、器指令时应如何避免和解决与其它指令的微指令的微地址冲突。 答:微程序中是根据测试程序的机器指令中的85位和微程序中后六位进行“或”运算来实现分支的。避免和解决与其它指令的微指令的微地址冲突的方法就是不用已经被其它微指令用过的微地址。 (4)哪些微指令是执行所有指令都要用到的。 (5)解释一条机器指令的微程序的各条微指令的微地址是否连续?这些微指令的微地址的安排的严重原则是什么? 答:不连续。严重原则是将各条机器指令的入口微地址置于地址连续的地址单 元中,避免其它微指令乱用这一段地址。 (6)为什么读写一次内存总要用两条微指令完成? 答:因为 W/R 只有两种状态,即要么是读,要么是写,所以,要

5、完成一次读写 总要用两条微指令完成。 (7)机器程序中用到的寄存器是R0,是由机器指令中哪些位决定的?如果要用R1或R2,是否要改写微程序或改写机器指令?如果要,应如何改写? 答:是由机器指令中的21位决定。如果要用到R1或R2,那么不需要改写微程序,但得改写机器指令的低两位,即21位,若要用到R1,则将其改为01,若要用R2,则将其改为10。三、指令微流程分析1、基本模型机的指令设计根据基本模型机的硬件设计五条机器指令:外设输入指令IN、二进制加法指令ADD、存数指令STA、输出到外设指令OUT、无条件转移指令JMP、数据传送指令MOV、减法指令SUB、或指令OR、异或指令XOR、与指令AN

6、D。用数据流表示的微程序流程图 00PC ARPC+1 01RAM BUSBUS IRP(1)测试ANDXORORSUBMOVJMPOUTSTAADDIN17181916151413121110RSDR1PCARPC+1RSDR1PCARPC+1RSRDPCARPC+1PCARPC+1PCARPC+1SWR0PCARPC+1 20 1C 0E0C020806RAMBUSBUSARRDDR2RAMBUSBUSARRAMBUSBUSARRAMBUSBUSARRAMBUSBUSAR000BRDDR2RAMBUSBUSPCC00 0D(DR1-DR2)RD09 21RAMBUSBUSDR1R0BUSB

7、USRAM0703 1D 0FRAMBUSBUSDR2(DR1与DR2) RDRAMBUSBUSDR2RAMBUSBUSDR2000A0004R0 DR1 1A00DR1LED 1E00RSDR1RDDR105(DR1+DR2)R0 1F 1B(DR1异或DR2) RD(DR1或DR2) RD00000000 该图是运行微程序的数据流图,实际上并没有分解到微命令一级。为了设计微程序,还应该根据此图进一步细化到微命令(微操作)一级。例如PCAR,实际上应该同时发出PCB、LDAR两个微命令;PC+1应该发出LDPC微命令;SWR0应该发出SWB、LDRi(与指令码中的相应位共同译码产生LDR0微

8、命令)两个微命令;RAMBUS应该发出CE有效和读存储器两个微命令;BUSRAM应该发出CE有效和写存储器两个微命令;R0是指R0B微命令有效等等。据此可将该图改画成下图: 用为命令表示的执行五条基本指令的微程序流程图 00PCBLDARLDPC01CE有效W/R=0LDIRP(1)测试ANDXORORSUBMOVJMPOUTSTAADDIN18191716151413121110PCBLDARLDPCRSBLDDR1PCBLDARLDPCRSBLDDR1RSBLDRiPCBLDARLDPCPCBLDARLDPCPCBLDARLDPCSWB有效LDRiPCBLDARLDPC201C0E0C08

9、0602RDBLDDR2CE有效W/R=0LDARCE有效W/R=0LDAR000BCE有效W/R=0LDARRDBLDDR2CE有效W/R=0LDARCE有效W/R=0LDAR00CE有效W/R=0LOAD0D211D0F090703ALU做减法LDRiALUBALUBCE有效W/R=0LDDR2CE有效W/R=0LDDR2CE有效W/R=0LDDR2ALU做“与”LDRiALUBCE有效W/R=0LDDR1R0BCE有效W/R=1000A041E1AR0B有效LDDR100RSB有效LDDR1RDB有效LDDR100ALUBLEDBALU=AW/R=100051F1BALU做加法LDRiA

10、LUBALU做“异或”LDRiALUBALU做“或”LDRiALUB00000000 该图中每个框上的数字表示该条微指令在控存中的地址(与指令格式有关,也与设计者的意愿有关)。如何在一条微指令中实现一个框中的微操作与微指令的格式密切相关。四、基本模型机的微指令格式 本模型机的微指令长共24位,基本采用水平型微指令字段直接编码方式,其控制位顺序如下:五、编写微程序编写的机器指令代码如下:00H:00000000;置数开关SW(KD0KD7)的状态R001H:00010000;ADD:(R0)+(10)(R0)02H:0001000003H:00100000;STA:(R0)(14)04H:000

11、1010005H:00110000;OUT:(11)输出设备LED06H:0001000107H:01010001;MOV:(R0)(R1)08H:01100001;SUB:(R0)-(R1)(R1)09H:01110000;OR:(R0)或(12)(R0) 0AH:000100100BH:10000000;XOR:(R0)异或(13)(R0) 0CH:000100110DH:10010001;AND:(R0)与(R1)(R1)0EH:01000000;JMP:00PC0FH:00000000 10H:1100101011H:0010001112H:0011001113H:00010001微指

12、令代码如下:00001110A0C0F1A1C1F执行的操作是:PCB,LDAR,允许PC加1(LDPC=1),转微地址:01执行的操作是:存储器CE有效,存储器读,LDIR,P(1)测试:NA(30)或(IR7IR4),转微地址:10执行的操作是:输入开关SWB有效,LDR0,转微地址:00执行的操作是:存储器CE有效,存储器读,LDAR,转微地址:03执行的操作是:存储器CE有效,存储器读,LDDR2,转微地址:04执行的操作是:R0B,LDDR1,转微地址:05执行的操作是:算术:A加B,ALUB,LDR0,转微地址:00执行的操作是:PCB,LDAR,允许PC加1(LDPC=1),转微

13、地址:01执行的操作是:存储器CE有效,存储器读,LDIR,P(1)测试:NA(30)或(IR7IR4),转微地址:11执行的操作是:PCB,LDAR,允许PC加1(LDPC=1),转微地址:02执行的操作是:存储器CE有效,存储器读,LDAR,转微地址:03执行的操作是:存储器CE有效,存储器读,LDDR2,转微地址:04执行的操作是:R0B,LDDR1,转微地址:05执行的操作是:算术:A加B,ALUB,LDR0,转微地址:00执行的操作是:PCB,LDAR,允许PC加1(LDPC=1),转微地址:01执行的操作是:存储器CE有效,存储器读,LDIR,P(1)测试:NA(30)或(IR7I

14、R4),转微地址:12执行的操作是:PCB,LDAR,允许PC加1(LDPC=1),转微地址:06执行的操作是:存储器CE有效,存储器读,LDAR,转微地址:07执行的操作是:存储器CE有效,写存储器,R0B,转微地址:00执行的操作是:PCB,LDAR,允许PC加1(LDPC=1),转微地址:01执行的操作是:存储器CE有效,存储器读,LDIR,P(1)测试:NA(30)或(IR7IR4),转微地址:13执行的操作是:PCB,LDAR,允许PC加1(LDPC=1),转微地址:08执行的操作是:存储器CE有效,存储器读,LDAR,转微地址:09执行的操作是:存储器CE有效,存储器读,LDDR1

15、,转微地址:0A执行的操作是:算术:A,数码管LEDB有效,写LED,ALUB,转微地址:00执行的操作是:PCB,LDAR,允许PC加1(LDPC=1),转微地址:01执行的操作是:存储器CE有效,存储器读,LDIR,P(1)测试:NA(30)或(IR7IR4),转微地址:15执行的操作是:R0B,LDR1,转微地址:00执行的操作是:PCB,LDAR,允许PC加1(LDPC=1),转微地址:01执行的操作是:存储器CE有效,存储器读,LDIR,P(1)测试:NA(30)或(IR7IR4),转微地址:16执行的操作是:R0B,LDDR1,转微地址:0C执行的操作是:R1B,LDDR2,转微地

16、址:0D执行的操作是:算术:A减B,ALUB,LDR1,转微地址:00执行的操作是:PCB,LDAR,允许PC加1(LDPC=1),转微地址:01执行的操作是:存储器CE有效,存储器读,LDIR,P(1)测试:NA(30)或(IR7IR4),转微地址:17执行的操作是:PCB,LDAR,允许PC加1(LDPC=1),转微地址:0E执行的操作是:存储器CE有效,存储器读,LDAR,转微地址:0F执行的操作是:存储器CE有效,存储器读,LDDR2,转微地址:1A执行的操作是:R0B,LDDR1,转微地址:1B执行的操作是:逻辑:A+B,ALUB,LDR0,转微地址:00执行的操作是:PCB,LDA

17、R,允许PC加1(LDPC=1),转微地址:01执行的操作是:存储器CE有效,存储器读,LDIR,P(1)测试:NA(30)或(IR7IR4),转微地址:18执行的操作是:PCB,LDAR,允许PC加1(LDPC=1),转微地址:1C执行的操作是:存储器CE有效,存储器读,LDAR,转微地址:1D执行的操作是:存储器CE有效,存储器读,LDDR2,转微地址:1E执行的操作是:R0B,LDDR1,转微地址:1F执行的操作是:逻辑:A异或B,ALUB,LDR0,转微地址:00执行的操作是:PCB,LDAR,允许PC加1(LDPC=1),转微地址:01执行的操作是:存储器CE有效,存储器读,LDIR

18、,P(1)测试:NA(30)或(IR7IR4),转微地址:19执行的操作是:R0B,LDDR1,转微地址:20执行的操作是:R1B,LDDR2,转微地址:21执行的操作是:逻辑:AB,ALUB,LDR1,转微地址:00执行的操作是:PCB,LDAR,允许PC加1(LDPC=1),转微地址:01执行的操作是:存储器CE有效,存储器读,LDIR,P(1)测试:NA(30)或(IR7IR4),转微地址:14执行的操作是:PCB,LDAR,允许PC加1(LDPC=1),转微地址:0B执行的操作是:存储器CE有效,存储器读,PCLOAD,允许PC加1(LDPC=1),转微地址:00执行的操作是:PCB,LDAR,允许PC加1(LDPC=1),转微地址:01六、总结 在这次的课程中我感觉收获很多。在第一天我先熟悉了仿真软件的使用和实验第一部分的流程图的思考。刚开始接触指令的格式设计觉得很棘手,仔细看了课程

温馨提示

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

评论

0/150

提交评论