计算机组成原理 课程设计 微程序的分析与设计 宿迁学院 实验报告.doc

上传人:e****s 文档编号:61747280 上传时间:2022-11-21 格式:DOC 页数:12 大小:260.50KB
返回 下载 相关 举报
计算机组成原理 课程设计 微程序的分析与设计 宿迁学院 实验报告.doc_第1页
第1页 / 共12页
计算机组成原理 课程设计 微程序的分析与设计 宿迁学院 实验报告.doc_第2页
第2页 / 共12页
点击查看更多>>
资源描述

《计算机组成原理 课程设计 微程序的分析与设计 宿迁学院 实验报告.doc》由会员分享,可在线阅读,更多相关《计算机组成原理 课程设计 微程序的分析与设计 宿迁学院 实验报告.doc(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

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

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

3、微指令不是顺序执行的,如果遇到P1P4测试时,那么根据机械指令,uA5uA其他有关部件的内容,产生下一条微指令在空存中的微地址,是微程序转入相应的微地址入口,从而实现微程序的顺序、分支、循环运行等。例如遇到P1测试,那么下一条微指令在空存中的微地址的41位是用次地址字段NA41位或指令存放器IR85位所产生,下一条微指令的微地址仍为 NA字段的65位。如果没有遇到P1P4测试的话,那么次地址即为该微指令地址字段所指向的微地址。 (3)在微程序中如何根据机器指令中的相关位实现分支,据此,在设计机器指令时应如何防止和解决与其它指令的微指令的微地址冲突。 答:微程序中是根据测试程序的机器指令中的85

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

5、?如果要用R1或R2,是否要改写微程序或改写机器指令?如果要,应如何改写? 答:是由机器指令中的21位决定。如果要用到R1或R2,那么不需要改写微程序,但得改写机器指令的低两位,即21位,假设要用到R1,那么将其改为01,假设要用R2,那么将其改为10。三、指令微流程分析1、根本模型机的指令设计根据根本模型机的硬件设计五条机器指令:外设输入指令IN、二进制加法指令ADD、存数指令STA、输出到外设指令OUT、无条件转移指令JMP、数据传送指令MOV、减法指令SUB、或指令OR、异或指令XOR、与指令AND。用数据流表示的微程序流程图 00PC ARPC+1 01RAM BUSBUS IRP(1

6、)测试ANDXORORSUBMOVJMPOUTSTAADDIN17181916151413121110RSDR1PCARPC+1RSDR1PCARPC+1RSRDPCARPC+1PCARPC+1PCARPC+1SWR0PCARPC+1 20 1C 0E0C020806RAMBUSBUSARRDDR2RAMBUSBUSARRAMBUSBUSARRAMBUSBUSARRAMBUSBUSAR000BRDDR2RAMBUSBUSPCC00 0D(DR1-DR2)RD09 21RAMBUSBUSDR1R0BUSBUSRAM0703 1D 0FRAMBUSBUSDR2(DR1与DR2) RDRAMBUSB

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

8、存储器两个微命令;R0是指R0B微命令有效等等。据此可将该图改画成下列图: 用为命令表示的执行五条根本指令的微程序流程图 00PCBLDARLDPC01CE有效W/R=0LDIRP(1)测试ANDXORORSUBMOVJMPOUTSTAADDIN18191716151413121110PCBLDARLDPCRSBLDDR1PCBLDARLDPCRSBLDDR1RSBLDRiPCBLDARLDPCPCBLDARLDPCPCBLDARLDPCSWB有效LDRiPCBLDARLDPC201C0E0C080602RDBLDDR2CE有效W/R=0LDARCE有效W/R=0LDAR000BCE有效W/R

9、=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做加法LDRiALUBALU做“异或LDRiALUBALU做“或LDRiALUB00000000 该图中每个框上的数

10、字表示该条微指令在控存中的地址与指令格式有关,也与设计者的意愿有关。如何在一条微指令中实现一个框中的微操作与微指令的格式密切相关。四、根本模型机的微指令格式 本模型机的微指令长共24位,根本采用水平型微指令字段直接编码方式,其控制位顺序如下:五、编写微程序编写的机器指令代码如下:00H:00000000;置数开关SWKD0KD7的状态R001H:00010000;ADD:(R0)+(10)R002H:0001000003H:00100000;STA:(R0)1404H:0001010005H:00110000;OUT:(11)输出设备LED06H:0001000107H:01010001;MO

11、V:(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微指令代码如下:00001110A0C0F1A1C1F执行的操作是:PCB,LDAR,允许PC加1(LDPC=1),转微地址

12、: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),转微地址:01执行的操作是:存储器CE有效,存储器读,LDIR,P(1)测试:NA(30)或(IR7IR4),转微地址:11

13、执行的操作是: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)或(IR7IR4),转微地址:12执行的操作是:PCB,LDAR,允许PC加1(LDPC=1),转微地址:06执行的操作是:存储器C

14、E有效,存储器读,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,转微地址:0A执行的操作是:算术:A,数码管LEDB有效,写LED,ALUB,转微地址:00执行的操作是:PCB,LD

15、AR,允许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,转微地址:0D执行的操作是:算术:A减B,ALUB,LDR1,转微地址:00执行的操作是:PCB,LDAR,允许PC加1(LD

16、PC=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,LDAR,允许PC加1(LDPC=1),转微地址:01执行的操作是:存储器CE有效,存储器读,LDIR,P(1)测试:NA(3

17、0)或(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,P(1)测试:NA(30)或(IR7IR4),转微地址:19执行的操作是:R0B,LDDR1,转微地址:20执行的操作

18、是: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六、总结 在这次的课程中我感觉收获很多。在第一天我先熟悉了仿真软件

19、的使用和实验第一局部的流程图的思考。刚开始接触指令的格式设计觉得很棘手,仔细看了课程设计指导书和实验指导书以及在同学的帮助下开始画我的第一幅流程图。很不顺利,在编写测试程序的时候发现有很多地方需要修改和完善。在一遍遍的实验中渐渐的理解了实验的总体过程以及如何正确的操作。在不懈的实验测试实验中得到了相关的结果。 通过这次课程设计我懂得了计算机的硬件根本组成以及计算机中机器指令是如何运行的,并且了解了微程序控制器的工作原理,并动手设计了微指令的格式。根据所提供的模型机的硬件设计10条机器指令,并使用老师提供的仿真系统设计一段可以执行这10条机器指令的微程序并设计一段用所设计的机器指令编写的具有一定实用功能的机器指令程序,在仿真软件上运行以检验所设计的微程序。

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

当前位置:首页 > 标准材料 > 石化标准

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁