文档详情

微程序设计2 设计一条加法指令.doc

发布:2017-06-18约3.11千字共4页下载文档
文本预览下载声明
实 验 报 告 实 验 人: 学 号: 日 期: 2011-12-15 院(系): 信息科学与技术学院 专业(班级): 10级信息安全专业 实验题目: 设计一条加法指令 实验目的 了解和掌握微程序控制器的组成和工作原理; 进一步了解和掌握计算机各部分的组成及相互关系; 了解微指令的执行过程,掌握微程序的设计方法,理解动态微程序设计的概念; 进一步认识和掌握计算机各指令的执行过程,搞清楚计算机的运行原理。 实验内容 把用绝对地址表示的内存单元ADDR1的内容与内存单元ADDR2的内容相加,结果存到ADDR1单元中。 实验器材 TEC-2实验计算机、电脑各一台 实验分析与设计 指令格式 指令格式: D4XX ADDR1 ADDR2 指令功能 功能: [ADDR1] + [ADDR2] → [ADDR1] 设计分析 取每个加数要访问两次内存,第一次是取得加数所在的内存地址的值(MEM→AR), 第二次是取得加数本身并保存在Q寄存器中(MEM→Q)。注意,取第二个加数的时候,第一次仍是MEM→AR,而第二次MEM+Q→Q的同时也把加法给完成了。相加的操作是MEM+Q→Q。MEM是从内存中取得的第二个加数的值,左边的Q是刚才取得的第一个加数的值。他俩相加的和传给Q寄存器,覆盖掉了Q寄存器刚才保存的值(第一个加数)。现在Q寄存器中存有加法的运算结果,最后的工作是把这个结果写到内存单元[ADDR1]中去。如果AR或者PC指向[ADDR1]的话就好办了,而现在AR已经到了[ADDR2]处,PC已经到了[ADDR2+1]处,而且又不知道如何让寄存器的值减一。通过老师的提示知道了利用IP寄存器可得ADDR1在内存的地址。IP正好还处在[ADDR1-1]。显然,让IP+1就得到了[ADDR1]。微指令是IP+1→AR以及MEM→AR,这时AR的值为第一个加数所在的单元[ADDR1]。现在Q的值是运算结果,AR的值是运算结果要传给的内存地址。显而易见,最后一步就是“存储器写”操作Q→MEM。 微程序 100:PC→AR,PC+1→PC: 0000 0E00 A0B5 5402 101:MEM→AR: 0000 0E00 10F0 0002 102:MEM→Q: 0000 0E00 00F0 0000 103:PC→AR,PC+1→PC: 0000 0E00 A0B5 5402 104:MEM→AR: 0000 0E00 10F0 0002 105:MEM+Q→Q: 0000 0E01 00E0 0000 106:IP+1→AR: 0000 0E00 9030 6402 107:MEM→AR: 0000 0E00 10F0 0002 108:Q→MEM,CC#=0: 0029 0300 1020 0010MOV R1,900 0802:MOV R2, 0804:MOV R3,100 0806:LDMC ;加载微码指令,将微码指令加载到微控制存储器中 0807:RET 0808: G800↙ 运行程序段 A820 0820:MOV R0,0020822:MOV R1, 000824:MOV [0890],R0 0826:MOV [0891],R1 0828:NOP 0829:NOP 0830:NOP 0831:RET E828 输入以下内容: D400 0890 0891 指令格式: D4 X SR ADDR 指令功能 功能: [ADDR] + SR → [ADDR] 设计分析 在读取地址ADDR单元内容后暂时放置于Q寄存器中,然后将SR(R8)与Q寄存器内容相加,其结果也暂存放在Q寄存器中,此时,由于地址寄存器AR中存放的恰好是地址ADDR,因此只要将Q寄存器内容写入存储器就可以完成所需的指令功能。 微程序 100:PC→AR,PC+1→PC: 0000 0E00 A0B5 5402 101:MEM→AR: 0000 0E00 10F0 0002 102:MEM→Q: 0000 0E00 00F0 0000 103:Q+SR→Q: 0000 0E01 8080 0080
显示全部
相似文档