一.设计题目
计算机组成原理课程设计——简单模型机的微程序设计
二.主要内容
一般地讲,编写微程序可以分成以下几步: 1、设计机器的指令格式。
2、对所设计的指令进行分析,画出各指令的用微命令表示的微流程图。不仅要画出每个对应一条微指令的功能框内的微命令,而且要初步确定该条微指令在控存中的微地址,以便于在设计微程序时确定前一条指令的次地址NA字段和C字段的编码。在这个过程中,一定要注意P(1)测试的规则以及指令高四位的编码。
3、根据微流程图的顺序,一个功能框一个功能框地确定各字段的编码,将这些字段组合即可形成一条条的微指令编码。这些微指令的集合就是可以完成所设计的指令功能的微程序。当然这样设计的微程序有可能不完全正确,还需要进一步检查修改。
以上几步可以用脑、手、纸、笔即可完成。
4、对设计的微程序进行检查修改。本模型机可以手动地用开关将微程序输入机器的控存。为了能将要执行的指令输入主存,在微程序中必须安排一端相应的微程序;为了能检查输入的指令是否正确,也要设计一段微程序。
三. 具体要求
1.通过使用作者开发的微程序分析和设计仿真软件,熟悉介绍的为基本模型机而设计的微程序的执行过程。必须充分理解并正确解释下些问题:
(1)微程序中的微指令的各个字段的作用。哪些字段是不译码的,哪些字段是直接译码的,哪些字段又可以看成是字段间接编码的。 答:不译码的是S3~B0字段;直接译码的是A、B、C字段;间接编码的是uA6~uA1。
(2)微程序中的微指令是否是顺序执行的,如果不是,那么次地址是如何产生的。什么情况下,次地址字段才是将要执行的微指令的地址。
答:微程序中的微指令不是顺序执行的。如果遇到P(1)测试时,则在每一条功能指令执行完后,进行一次P(1)测试,根据P(1)测试跳到下一条机器指令的微地址。P(1)测试就是根据测试程序的机器指令中的8~5位和微程序的后六位进行或运算来实现分支,此次课程设计的微程序后六位设计为010000,则根据下面各功能的指令设计,IN、ADD、STA、OUT、JMP、MOV、NADD、AND、OR、XOR的入口地址分别为10H、11H、12H、13H、14H、15H、16H、17H、18H、19H。如果没有遇到P(1)测试的话,那么次地址即为该微指令地址字段所指向的微地址。
(3)在微程序中如何根据机器指令中的相关位实现分支,据此,在设计机器指 令时应如何避免和解决与其它指令的微指令的微地址冲突。
答:微程序中是根据测试程序的机器指令中的8~5位和微程序中后六位进行“或”运算来实现分支的。避免和解决与其它指令的微指令的微地址冲突的方法
就是使用不同没有被其他微指令用过的微地址。
(4)哪些微指令是执行所有指令都要用到的。 答:01:000000111110110110000010
02:000000001100000001010000
(5)解释一条机器指令的微程序的各条微指令的微地址是否连续?这些微指令的微地址的安排的严重原则是什么?
答:不连续。严重原则是将各条机器指令的入口微地址置于地址连续的地址单元中,避免其它微指令乱用这一段地址。
(6)为什么读写一次内存总要用两条微指令完成?
答:因为W/R只有两种状态,即要么是读,要么是写,所以,要完成一次读写总要用两条微指令完成。
(7)机器程序中用到的寄存器是R0,是由机器指令中哪些位决定的?如果要用R1或R2,是否要改写微程序或改写机器指令?如果要,应如何改写?
答:是由机器指令中的2~1位决定。如果要用到R1或R2,那么不需要改写微程序,但得改写机器指令的低两位,即2~1位,若要用到R1,则将其改为01,若要用R2,则将其改为10。
2.根据基本模型机的硬件设计五条机器指令:外设输入指令IN、二进制加法指令ADD、存数指令STA、输出到外设指令OUT、无条件转移指令JMP。并且增添下列五条指令:
①新加法指令 NADD RD,RS:(RS)加(RS)→(RD) ②或指令OR RD,RS:(RS)或(RD)→(RD)
③异或指令XOR RD,RS:(RS)异或(RD)→(RD) ④与指令AND RD,RS:(RS)与(RD)→(RD) ⑤数据传送指令MOV RD,RS:(RS)→(RD)
四.进度安排
共1.5周11天的时间,具体安排如下:
1~2天:对整个课程设计内容作详细的讲解,并辅导学生完成课程设计指导书的学习,使其掌握和理解课程设计的核心内容。
3~5天:学生在机房学习熟悉课程设计所使用的仿真软件,并深入了解该仿真软件所实现的模型机的指令系统和微程序的设计方法。
6~9天:在原有5条机器指令的基础上增加实现下述各功能的机器指令,试设计相应的机器指令的格式并改写原来的微程序使其可以运行所有的机器指令。 10~11天:根据自己设计的微程序系统写出相应的课程设计报告。
五.成绩评定
1
正文
一. 课程设计的目的
1. 计算机的硬件基本组成 2. 计算机中机器指令的设计
3. 计算机中机器指令的执行过程 4. 微程序控制器的工作原理 5. 微指令的格式设计原则
在此基础上设计可以运行一些基本机器指令的微程序的设计
二. 课程设计的内容
1. 编写基本模型机的指令
基本模型机的指令设计:
助记符 机器指令码 说 明
IN 0000 0000 ; 置数开关SW(KD0~KD7)的状态→R0 ADD addr 0001 0000 ×××× ×××× ; (R0)+(addr)→(R0) STA addr 0010 0000 ×××× ×××× ; (R0)→(addr) OUT addr 0011 0000 ×××× ×××× ; (addr)→输出设备\JMP addr 0100 0000 ×××× ×××× ; addr→PC
MOV 0101RS RD ;RS:(RS)→(RD)
NADD 0110RSRD ;(RS)+(RS)→(RD) AND 0111RS RD ;(RS)and (RD)→(RD) OR 1000RS RD ;(RS)or (RD)→(RD) XOR 1001RS RD ;(RS)xor (RD)→(RD) 说明:
十条指令分别为外设输入指令(IN)、二进制加法指令(ADD)、存数指令(STA)、输出到外设指令(OUT)、无条件转移指令(JMP)、寄存器间传数指令(MOV)、新加法指令(NADD)、与指令(AND)、或指令(OR)、异或指令(XOR)。××××××××为要读写的主存储器单元的二进制地址码。
2
2. 根据基本模型机的指令画流程图(1)、(2) IN 10 SW→ R0 ADD 11 PC→ AR PC+1 03 RAM→BUS BUS→AR 04 →BURAMSTA 12 PC→AR PC+1 07 RAM→BUS BUS→AR 08 R0→BUS BUS→RAM OUT 13 PC→AR PC+1 09 RAM→BUS BUS→AR 0A RAM →BUS BUS→DR1 0B 01 DR1→LED 01 PC → AR PC+1 02 RAM→ BUS BUS → IR P(1)测试 JMP 14 PC→AR PC+1 MOV 15 RS→RD NAND 16 RS→ DR1 AND 17 RS→ DR1 OR 18 RS→ DR1 XOR 19 RS→ DR1 0D 0C 01 (DR1+DR1)→RD 01 0E RD→ DR2 1A RD→ DR2 1B (DR1或RD 1C RD→ DR2 01 RAM→BUS BUS→PC01 0F (DR1与RD 1D (DR1异或DR2) → RD S →DR2 BUS 05 R0→ DR1 06 (DR1+DR2) →R0 01 DR2) → DR2) → 01 01 01 01
流程图(1)
3
IN 10 SWB 有效 LDRi ADD 11 PCB LDAR LDPC 03 CE有效 W/R=0 LDAR 04 CE有效 W/R=0 LDDR2 05 R0B有效 LDDR1 06 ALU做加法 LDRi ALUB
01 PCB LDAR LDPC 02 CE有效 W/R=0 LDIR P(1)测试 STA 12 PCB LDAR LDPC 07 CE有效 W/R=0 LDAR 08 R0B CE有效 W/R=1 OUT 13 PCB LDAR LDPC JMP 14 PCB LDAR LDPC 0C MOV 15 RSB LDRi NADD 16 RSB LDDR1 AND 17 RSB LDDR1 0E RDB LDDR2 0F OR 18 RSB LDDR1 1A RDB LDDR2 1B ALU做“或” LDRi ALUB XOR 19 RSB LDDR1 1C RDB LDDR2 1D ALU做“异或” LDRi ALUB 01 09 CE有效 W/R=0 LDAR 0A CE有效 W/R=0 LDDR1 0B 01 0D ALU做新加法 LDRi ALUB 01 CE有效 W/R=0 LOAD 01 ALU做“与” LDRi ALUB 01 ALUB LEDB ALU=A W/R=1 01 01 01 01 流程图(2)
01 4
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库简单模型机的微程序设计在线全文阅读。
相关推荐: