logo资料库

计算机组成原理实验 实验4 微程序控制器实验 设计一条加法指令.doc

第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
资料共4页,全文预览结束
计算机组成原理实验 实 验 报 告 实 验 人: 学 号: 日 期: 2010.05. 28 院(系): 软件学院 专业(班级): 软件工程(08计算机应用软件) 实验题目: 设计一条加法指令 一. 实验目的 1. 了解和掌握微程序控制器的组成和工作原理; 2. 了解和掌握 Am2910 微程序定序器的组成和工作原理; 3. 进一步了解和掌握计算机各部分的组成及相互关系; 4. 了解微指令的执行过程,掌握微程序的设计方法,理解动态微程序设计的概念; 5. 进一步认识和掌握计算机各指令的执行过程,搞清楚计算机的工作原理。 二. 实验内容 把用绝对地址表示的内存单元 ADDR1 的内容与内存单元 ADDR2 的内容相加,结果存到 ADDR1 单元中。 三. 实验器材 TEC-2 实验计算机、电脑各一台 四. 实验分析与设计 1. 指令格式 指令格式: D4XX ADDR1 ADDR2 2. 指令功能 功能: [ADDR1] + [ADDR2] → [ADDR1] 3. 设计分析 根据指令的功能和指令格式,开始时,PC 指向 ADDR1所在的内存地址,通过 PC+1 →PC,PC 指向 ADDR2所在的内存地址,然后取出 ADDR2中的数据并存于 Q 寄存器中, 然后将 PC 减1赋于 AR,取出 ADDR1中的数据并与 Q 值相加,然后存于 ADDR1中。PC+1 →PC,CC#=0,指令执行完毕,跳出指令。 4. 微程序 100:PC+1→PC,PC→AR: 0000 0000 101:MEM→AR: 0000 102:MEM→Q: 0000 103:PC-1→AR: 104:MEM→AR: 0000 0000 105:MEM+Q→Q: 0E00 0E00 0E00 0E00 0E00 0E01 B030 10F0 00F0 9130 10F0 00E0 5402 0002 0000 5402 0002 0000
106:Q → MEM: 107: PC+1→PC,CC#=0: 0000 0029 0E00 0300 1020 B030 0010 5400 5. 将微码输入到由 900H 开始的内存单元中 计算机组成原理实验 用"E"命令输入微码 在命令行提示符状态下输入: >E900↙ 屏幕将显示: 0900: 之后继续输入: 0E00 10F0 0000 0000 0E01 1020 B030 0002 0000 0E00 00E0 0010 0000 0E00 00F0 5402 0000 0E00 B030 5402 0000 0E00 10F0 0000 0029 0000 0E00 9130 0002 0000 0300 5400↙ 6. 将微码加载到微控存中 ;微码在内存中的首地址 ;微指令条数 ;微码在微控制存储器中的首地址 ;加载微码指令,将微码指令加载到微控制存储器中 >A800↙ 0800:MOV R1,900 0802:MOV R2,8 0804:MOV R3,100 0806:LDMC 0807:RET 0808:↙ 用"G"命令运行加载微码的程序 >G800 微码便装入起始地址为 100H 的微控存中 7. 运行程序段 >A820↙ 0820:MOV R0,0011 0822:MOV [0890],R0 0824:MOV [0891],R0 0826:NOP 0827:NOP 0828:NOP 0829:RET >E0826↙ 然后输入以下内容: D400 0890 0891 8. 运行结果 >G820↙ **如果结果放在内存单元 0890 中,则应写为: >D890↙ 0890:0022
五. 思考题 1.把用绝对地址表示的内存单元 ADDR 的内容与内存数据 DATA 相加,结果存到 计算机组成原理实验 ADDR 单元中。 指令格式 指令格式: D8XX ADDR DATA 指令功能 [ADDR] + [DATA] → [ADDR] 功能: 微程序: 110:PC+1→PC,PC→AR: 0000 111:MEM→Q: 0000 0000 112:PC-1→AR: 0000 113:MEM→AR: 114:MEM+Q→Q: 0000 0000 115:Q → MEM: 116: PC+1→PC,CC#=0: 0029 0E00 0E00 0E00 0E00 0E01 0E00 0300 B030 00F0 9130 10F0 00E0 1020 B030 5402 0000 5402 0002 0000 0010 5400 2.将内存单元数据 DATA 减去用绝对地址 ADDR 表示的内存单元的内容,结果保存到 由 DR 指定的内存单元中。 指令格式 指令格式: DC7X DATA ADDR 指令功能 [DATA] - [ADDR] → [DR] 功能: 7 是 DR 对应的编号。 微程序: 120:PC→AR,PC+1→PC: 0000 0000 121:MEM→Q: 122:PC→AR: 0000 0000 123:MEM→AR: 0000 124:Q-MEM→Q: 0000 125: DR→AR: 126:Q → MEM: 0000 0029 127: PC+1→PC,CC#=0: 0E00 0E00 0E00 0E00 0E01 0E00 0E00 0300 A0B5 00F0 9030 10F0 01E0 9030 1020 B030 5402 0000 5002 0002 0000 700A 0010 5400 3.设计一条指令,实现将[SR]内容与内存单元 ADDR 的内容相加,结果存到 ADDR 单元中。 指令格式 指令格式: 指令功能 DCX3 ADDR
计算机组成原理实验 [SR] + [ADDR] → [ADDR] 功能: 3 是 SR 对应的编号。 微程序: 120:SR→Q: 121:PC→AR: 122:MEM→AR: 123:MEM+Q→Q: 124:Q → MEM: 125: PC+1→PC,CC#=0: 0000 0000 0000 0000 0000 0029 0E00 0E00 0E00 0E01 0E00 0300 8043 9030 10F0 00E0 1020 B030 0080 5002 0002 0000 0010 5400 4.设计一条指令,实现将[DR]内容与内存单元数据 DATA 的内容相加,结果存到 ADDR 单元中。 指令格式 指令格式: 指令功能 DC7X DATA ADDR [DR] + [DATA] → [ADDR] 功能: 7 是 DR 对应的编号。 微程序: 120:DR→Q: 121:PC→AR,PC+1→PC: 122:MEM+Q→Q: 123:PC→AR: 124:MEM→AR: 125:Q → MEM: 126: PC+1→PC,CC#=0: 0000 0000 0000 0000 0000 0000 0029 0E00 0E00 0E01 0E00 0E00 0E00 0300 8030 A0B5 00E0 9030 10F0 1020 B030 7008 5402 0000 5002 0002 0010 5400 六. 实验心得 这次实验的原理太多了,还很难,看了好久都看不懂,还是经过老师讲解以后才有 所理解。然后再把试验例题的微码一遍遍的验证,分析每一步的目的,做法。弄懂微码设计 的步骤后,开始慢慢的设计要求的指令,关键在于指令中每一个分步骤的实现(寻址,取数, 执行,存数),最难得是其码点的设置。还好尝试了很多次以后,终于做出来了。在做思考 题的时候,遇到了 DR、SR,对其的使用方法不是很懂,只知道他们是目的寄存器和源操 作数寄存器,但是在指令中如何使用,微码如何安排都不了解,经过很多次尝试才弄懂 以 DCXX 命令为例: 若使用 DR 则 应 DC | X | DR 若使用 SR 则 DC | X | SR,还有 在传送 DR 时 SB=1,B 口地址是 DR 对应的寄存器编号;传送 SR 时,SA=1,A 口地址是 SR 对应的寄 存器编号。
分享到:
收藏