版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本文格式为Word版,下载可任意编辑——简单模型机的微程序设计一.设计题目
计算机组成原理课程设计——简单模型机的微程序设计
二.主要内容
一般地讲,编写微程序可以分成以下几步: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。并且增加以下五条指令:
①新加法指令NADDRD,RS:(RS)加(RS)→(RD)②或指令ORRD,RS:(RS)或(RD)→(RD)
③异或指令XORRD,RS:(RS)异或(RD)→(RD)④与指令ANDRD,RS:(RS)与(RD)→(RD)⑤数据传送指令MOVRD,RS:(RS)→(RD)
四.进度安排
共1.5周11天的时间,具体安排如下:
1~2天:对整个课程设计内容作详细的讲解,并辅导学生完成课程设计指导书的学习,使其把握和理解课程设计的核心内容。
3~5天:学生在机房学习熟悉课程设计所使用的仿真软件,并深入了解该仿真软件所实现的模型机的指令系统和微程序的设计方法。
6~9天:在原有5条机器指令的基础上增加实现下述各功能的机器指令,试设计相应的机器指令的格式并改写原来的微程序使其可以运行所有的机器指令。10~11天:根据自己设计的微程序系统写出相应的课程设计报告。
五.成绩评定
1
正文
一.课程设计的目的
1.计算机的硬件基本组成2.计算机中机器指令的设计3.计算机中机器指令的执行过程4.微程序控制器的工作原理5.微指令的格式设计原则
在此基础上设计可以运行一些基本机器指令的微程序的设计
二.课程设计的内容
1.编写基本模型机的指令
基本模型机的指令设计:
助记符机器指令码说明
IN00000000;置数开关SW(KD0~KD7)的状态→R0ADDaddr00010000××××××××;(R0)+(addr)→(R0)STAaddr00100000××××××××;(R0)→(addr)OUTaddr00110000××××××××;(addr)→输出设备\JMPaddr01000000××××××××;addr→PC
MOV0101RSRD;RS:(RS)→(RD)
NADD0110RSRD;(RS)+(RS)→(RD)AND0111RSRD;(RS)and(RD)→(RD)OR1000RSRD;(RS)or(RD)→(RD)XOR1001RSRD;(RS)xor(RD)→(RD)说明:
十条指令分别为外设输入指令(IN)、二进制加法指令(ADD)、存数指令(STA)、输出到外设指令(OUT)、无条件转移指令(JMP)、寄放器间传数指令(MOV)、新加法指令(NADD)、与指令(AND)、或指令(OR)、异或指令(XOR)。××××××××为要读写的主存储器单元的二进制地址码。
2
2.根据基本模型机的指令画流程图(1)、(2)ADD11PC→ARPC+103RAM→BUSBUS→AR01PC→ARPC+102RAM→BUSBUS→IRP(1)测试IN10SW→R0STA12PC→ARPC+107RAM→BUSBUS→AROUT13PC→ARPC+109JMP14PC→ARPC+1MOV15RS→RDNAND16RS→DR1AND17RS→DR1OR18RS→DR1XOR19RS→DR10D0C01(DR1+DR1)→RD0ERD→DR21ARD→DR21B1CRD→DR201RAM→BUSBUS→AR04080ARAM→BUR0→BUSRAMSBUS→R→BUS01→DR2BUSBUS→DR1AM050BR0→DR101DR1→LED06(DR1+DR2)→R00101
流程图(1)
RAM→BUSBUS→PC010F1D(DR1异或DR2)→RD(DR1与(DR1或DR2)→DR2)→RDRD010101
301PCBLDARLDPC02CE有效W/R=0LDIRP(1)测试ADD11PCBLDARLDPC03STA12PCBLDARLDPC07CE有效W/R=0LDAR08R0BCE有效W/R=1OUT13PCBLDARLDPC09CE有效W/R=0LDAR0ACE有效W/R=0LDDR10B01ALUBLEDBALU=AW/R=10C01JMP14PCBLDARLDPCMOV15RSBLDRiIN10SWB有效LDRiNADD16RSBLDDR10DALU做新加法LDRiALUBAND17RSBLDDR10ERDBLDDR20FOR18RSBLDDR11ARDBLDDR21BALU做“或〞LDRiALUBXOR19RSBLDDR11CRDBLDDR21DALU做“异或〞LDRiALUB01CE有效W/R=0LDAR04CE有效W/R=0LDDR205R0B有效LDDR106ALU做加法LDRiALUB01
CE有效W/R=0LOAD0101ALU做“与〞LDRiALUB01010101流程图(2)
4
3.根据基本模型机微指令格式按流程图顺序写出微程序代码:
编写的机器指令代码如下:
01:00000011111011011000001002:00000000110000000101000003:00000000111000000000010004:00000000101100000000010105:00000011101001000000011006:10010111100110100000000107:00000000111000000000100008:00000010100000100000000109:0000000011100000000010100A:0000000010100000000010110B:0000011100001010000000010C:0000000011010000000000010D:1100011110011010000000010E:0000001110110100000011110F:10111111100110100000000110:00000000000100000000000111:00000011111011011000001112:00000011111011011000011113:00000011111011011000100114:00000011111011011000110015:00000011100100100000000116:00000011101000100000110117:00000011101000100000111018:00000011101000100001101019:0000001110100010000111001A:0000001110110100000110111B:1110111110011010000000011C:0000001110110100000111011D:011011111001101000000001
5
下面是利用该软件设计的微程序编码及各条微指令的功能分析:24232221201901:000000无效02:000000无效03:000000无效04:000000无效05:000000无效06:100101ALU作加法07:000000无效08:000000无效09:000000无效0A:000000无效0B:000001ALU=A0C:000000无效0D:110001ALU(A+A)0E:000000无效0F:101111ALU与10:000000无效11:000000无效12:000000无效13:000000无效14:000000无效
181716111无效151413121110B110PCB000无效000无效000无效010RDB101ALUB000无效001RSB000无效000无效101ALUB000无效101ALUB010RDB101ALUB000无效110PCB110PCB110PCB110PCB6
987C110LDPC001P(1)000无效000无效000无效000无效000无效000无效000无效000无效000无效000无效000无效000无效000无效000无效110LDPC110LDPC110LDPC110LDPC654321uA6uA5uA4uA3uA2uA1000010转微地址:02010000转微地址:NA(4~1位)或IR(8~5位)000100转微地址:04000101转微地址:05000110转微地址:06000001转微地址:01001000转微地址:08000001转微地址:01001010转微地址:0A001011转微地址:0B000001转微地址:01000001转微地址:01000001转微地址:01001111转微地址:0F000001转微地址:01000001转微地址:01000011转微地址:03000111转微地址:07001001转微地址:09001100转微地址:0CS3S2S1S0MCnWEB1B0A110LDAR001100从主存读LDIR001110从主存读LDAR001011从主存读LDDR2111无效111无效010LDDR1001LDRi001110从主存读LDAR101000向主存写无效001110从主存读LDAR001010从主存读LDDR1110向LED000写无效001101从主存读LOAD111无效111无效111无效001LDRi011LDDR2001LDRi000001从SW读LDRi111无效111无效111无效111无效110LDAR110LDAR110LDAR110LDAR15:000000无效16:000000无效17:000000无效18:000000无效19:000000无效1A:000000无效1B:111011ALU或1C:000000无效1D:011011ALU异或111无效111无效111无效111无效111无效111无效111无效111无效111无效001LDRi010LDDR1010LDDR1010LDDR1010LDDR1011LDDR2001LDRi011LDDR2001LDRi001RSB001RSB001RSB001RSB001RSB010RDB101ALUB010RDB101ALUB000无效000无效000无效000无效000无效000无效000无效000无效000无效000001转微地址:01001101转微地址:0D001110转微地址:0E011010转微地址:1A011100转微地址:1C011011转微地址:1B000001转微地址:01011101转微地址:1D000001转微地址:014.根据已经写好的微程序指令编写测试的机器指令程序编码:
00H:00000000;INR0:SW->R0验证IN指令,将SW状态赋给寄放器R0,此时R0=0
01H:00010000;ADDR0+31->R0验证AND指令,将寄放器R0里的数据和0E地址内容相加送给R0,此时R0=3102H:00001110;地址0EH
03H:00100000;STAR0->10H验证STA指令,将R0里的内容送到地址10H04H:00001111;地址0FH
05H:00110000;OUT(0FH)验证STA指令,将地址10H内容输出到外设06H:00001111;地址0FH
07H:01010001;MOVR0->R1验证STA指令,将寄放器R0里的数据赋给寄放器R0,此时R0=31,R1=31
08H:0110010
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电业局闭环工作方案
- 和平积弊实施方案
- 道路地基强化注浆施工方案
- 吊装专项技术方案
- 同创超纤材料的奖惩制度
- 乡村拆迁博物馆建设方案
- 公路勘察实施方案
- 关爱闲散青少年工作方案
- 附近商家系统实践指南课程设计
- 小学数学二年级下册应用题专项练习(每日一练共30份)
- 《中华人民共和国增值税法》核心变化培训课件
- 江西金德铅业股份有限公司招聘笔试题库2026
- 2026年新型储能电站建设工程质量监督大纲-国家能源局
- 2026福建闽东电力集团股份有限公司上半年招聘9人笔试参考题库及答案解析
- (二模)济宁市2026届高三高考模拟考试地理试卷(含答案及解析)
- 2026年高考作文素材积累之特朗普访华:八个刷屏金句七个主题角度
- 山体滑坡治理工程
- 2026年及未来5年市场数据中国DPC陶瓷行业市场深度分析及发展趋势预测报告
- 2025-2030高精地图测绘行业市场供需分析及投资评估规划分析研究报告
- 贵州省六盘水市2026年八年级下学期语文期中试卷附答案
- 土工击实自动生成系统
评论
0/150
提交评论