计算机组成原理 mov(r0),-(sp),计算机组成原理实验 控制器.ppt

《计算机组成原理实验 控制器.ppt》由会员分享,可在线阅读,更多相关《计算机组成原理实验 控制器.ppt(40页珍藏版)》请在人人文库网上搜索。

1、控制器是用来控制、指挥程序和数据的输入、运行以及处理运算结果的部件,控制器的设计可分为组合逻辑设计和微程序设计。 本实验将通过微程序的编制、装入和调试,来完成机器指令的执行。,实验四 微程序控制器实验,实验目的,掌握微程序控制器的组成原理。 掌握机器指令与微指令的关系。 学习微程序的编制、装入、调 试基本方法。,实验内容,根据数据通路框图(图2-5-1)、微控制器原理图(图1-2-12(a))、微程序流程图(图2-5-2)、机器指令程序(表2-5-1)、微指令格式(表2-5-2),用微指令序列来实现给定的六条机器指令IN、ADD、MOV、OUT、JMP。,实验原理,机器指令与微程序的关系 一条。

2、机器指令对应一段微程序。 微程序是由若干条微指令组成的,用来完成机器指令所规定的功能。 微指令是由可以在同一节拍完成的某些功能的微操作组成的。 指令译码要做什么 找到微程序的入口地址,指令输入格式 机器指令地址及代码 输入格式: PXX XX 程序地址 机器代码 微程序地址及微码 输入格式: MXX XX XX XX XX 微程序地址 32位微指令代码,单字节指令,机器指令格式,寄存器:输入用LDR0 输出用CBA,例:ADD R0,R1 0110 0 1 0 0 ADD R1,R2 0110 1 0 0 1,A字段,操作码,源寄存器,目的寄存器,操作码 参与译码,指出源寄存器,指出目的寄存器。

3、,机器指令格式,双字节指令,其中一个地址在第二字节,不用的寄存器编码任意(一般写为零)。,双字节指令(格式一),双字节指令(格式二),机器指令格式,一个地址在第二字节,另一个地址为寄存器, 选择总线数据应选择Rd,即CBA=101,R2为变址寄存器,机器指令格式,第一字节 第二字节,地址 操作码 源 目的,IN R0,SW MOV R1,#XXH ADD R1,R0 MOV addr,R1 OUT LED,addr JMP 00,开关数据R0,立即数IMMR1,R0+R1R1,R1 addr,(addr)LED,00PC,00 01 03 04 06 08,不能与程序地址重叠,微指令格式,LD。

4、R0:将总线数据写入目的寄存器; LDIR:将总线数据写入指令寄存器; LOAD,LDPC:LOAD=1、LDPC=1,将总线数据写入PC; LOAD=0、LDPC=1、CBA=001,PC+1PC; UA5 、UA4、 UA3、UA2、 UA1 、 UA0:微指令后续地址。,B字段,微指令格式,UA0-UA5为6位后续微地址(注意:其微地址的排列顺序为前低后高)。 C、B、A 为A字段,决定总线上的信息来源。 PX3、PX2、PX1为 B字段,其功能是: 1. 根据机器指令及相应微代码进行译码,使微程序转入相应的微地址入口; 2. 根据Z和CY标识产生相应的后续微地址。 本实验采用复杂模型机。

5、方式(控存06单元的最高字节不能为40H)。,微指令格式,P(X):识别什么操作及如何确定下地址 基地址:UA5-UA0 P(1):测试第一字节的高4位。 实际有效地址为E=基地址第一字节的 高4位(基地址的低4位必须为“0”)。 例:UA5UA0为20,第一字节84 10000100 E=208=28,微指令格式,P(2):测试第一字节的3、2位。 实际有效地址为E=基地址第一字节的3、2位(基地址的低2位为0)。 例:UA5UA0为1C,第一字节84 10000100 E=1C01=1D,微指令格式,P(3):测试进位(CY)和结果为零(Z)标志。 两标志皆为0时,微指令的下地址为UA5U。

6、A0,两标志 之一为1时,下地址为将UA4置1后的下地址.也就是说测试(P3)微指令的下地址的UA4必须是0。 例: UA5UA0为0A 满足条件:E=1A 不满足条件:E=0A 基地址处如果不用,须写一条“空操作”。例:M10 00 00 00 80,微指令格式,UA5 4 3 2 1 0 0 0 1 0 1 0 0 1 1 0 1 0 0 0 1 0 1 0,未定义(12,17,19-1F),运行微程序,NOP(10),IN(11),ADD(16),MOV(13),OUT(18),JMP(15),01,10+0,NOP,10+1,SWRD,10+6,01,04,(DR1)+ (DR2)RD。

7、,03,RSDR2,RDDR1,10+3,PCAR PC+1,05,RSRAM,07,RAMAR,0A,10+8,0B,RAMLED,RAMAR,09,RAMPC,10+5,NOP,微程序流程图,02,01,00,NOP,PCAR PC+1,RAMIR,P(1),MOV(14),08,(AR)RD,10+4,PCAR PC+1,PCAR PC+1,PCAR PC+1,实验连线图,实验步骤,按图2-5-3连接相关的实验电路。 将实验设备设置在“模型机”状态,点击桌面上 图标启动DAIS系统软件,并选定:串口为COM1;波特率为9600;运行方式为“微运行”;连接硬件实验系统进入主界面。 在编辑状。

8、态下,依次输入机器代码及对应微指令码,“保存”并“装载”到实验设备的控存和内存中。,用微单步运行微指令程序,对照微程序流程图,观察实验设备平台上的相关寄存器当前状态及微地址指示灯是否和其流程图中表示的一致。检查、运行、记录并对照调试运行后的结果是否和预测值一致。 注意:在运行程序时不可同时打开多个主界面窗口。,实验步骤,81,02,00,00,1,1,1,11,SWRD,80,00,00,00,1,10,NOP,80,00,00,00,06,设置复杂模型机,05,04,03,0A,10,80,00,1,1,1,1,02,RAMIR,40,60,00,20,1,1,1,1,01,PCAR, PC。

9、+1,80,00,00,00,1,00,NOP,3区,2区,1区,0区,0,1,微指令后续地址(基地址),2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,地址,SW-B,PX1,UA5,UA4,UA3,UA2,UA1,UA0,WE,LDR0,LDDR1,LDDR2,LDIR,LDPC,LDAR,PX2,S3,S2,S1,S0,M,CN,LOAD,CE,A8,A9,PX3,保留字,AR,A,B,C,控 制 信 号,微指令代码 十六进制,3区域,2区域,1区域,0区域,区号,微操作,设计举例:IN R1,SW,Dais。

10、-CMH+实验设备位置图,SW,地址总线,内存,锁存输出,DR2,DR1,299,R0,R1,R2,指令寄存器IR,程序计数器PC,控存,ALU,数据总线,微地址,复位,微单步,综合设计自定义指令系统的设计与实现,用复杂模型机方式完成下列十组机器指 令序列中每条指令的微程序设计 (选其中之 一),达到能够程单步运行状态 。,实验内容,实验目的,综合运用所学计算机原理和汇编知识,结合前面5个实验内容。设计微程序实现题目规定的指令。,1. MOV R0,XXH MOVR1,10H ADD R0,R1 JCZL1;相对寻址 MOV11H,R0 L1: HLT,综合设计题目,综合设计题目,2.MOV 。

11、R1,12H MOV10H,R1 CLRR1 ADDR1,10H INC10H ADDR1,10H HLT,3.MOV R2,XXH SUBR2,11H RLCR2 MOV 20H,R2 HLT,综合设计题目,MOV R0,#0 MOV R2,#20H MOV R1,#0FBH L5: ADD R0,R2+8;变址寻址 INC R2 INCR1 JCZL6 ;相对寻址 JMP L5;直接寻址 L6:HLT,4. 求28H为起始地址连续5个存储单元中的内容的和,结果在R0中(要求5个数的和不大于255)。,综合设计题目,IN R0,SW IN R1,SW ADDR0,R1 JCZ L7;相对寻址。

12、 MOV R2,#0FFH JMPL8;直接寻址 L7:MOV R2,#0 L8:OUT R0 HLT,从开关输入2个数求和,结果在缓冲输出显示, 和大于255在R2中计作“0FFH”,否则计作“0”。,综合设计题目,CLR R2 MOVR1,20H MOV 10H, R1 MOV R1, 10H CMP R1, #80H ;比较 JZC L4 ;相对寻址 MOV R2, #0FFH L4: HLT0903107,6.测试20H单元中的数据,如果为80H,将FF写入R2中;如果80h,将00写入R2中。,综合设计题目,7.双字节加法:数据自定,和在R2,R1,R0中。 MOV R2,#0 MO。

13、V R0,#data1L MOV R1,#data1H ADD R0,#data2L ADC R1,#data2H ADC R2,#0 HLT 0903301,综合设计题目,MOV R1,R0 AND R0,#0FH ADD R0,#30H AND R1,#0F0H ROR R1 ;循环右移一位 ROR R1 ROR R1 ROR R1 ADD R1,30H HLT0903105,8.将R0中压缩BCD码转换为ASCII码,结果 存放在R1,R0中。,综合设计题目,9.MOVSP,#0FFH INR2,SW PUSH R2 INR2,SW OUTR2, PULLR2, OUTR2, HLT,,。

14、综合设计题目,10.MOVSP,#0FFH INR1,SW CALLA1 OUTR1,LED HLT A1:COMR1 RET0903106,综合设计题目,MOVR1,R0ANDR0,#0FHANDR1,#0F0HXCHDR1 ;半字交换ROLR1 ADDR0,R1ROLR1 ROL R1 ADDR0,R1HLT0903202,11.将R0中的压缩BCD码转换成十六进制数, 结果在R1,R0中。,综合设计题目,要求:JCZ用相对寻址,-128偏移地址127 。其他指令的寻址方式、两个加数的输入方式自定。,12. 编写一段程序:求两个数的和,结果为“0”或有进位停机,否则将结果从8255的PB口。

15、输出显示。,综合设计题目,操作时观察实验台各点数据,不要看屏幕显示。 程序装载后,微控制器处显示不对 原因:1. 如果全是零,M00的“0”写成字母“O”了; 2. 如果部分是零,微码的“0”写成字母“O”了; 指令译码总是基地址V指令高3位而不是高四位 原因:M06中的最高字节不能是40H。 微指程序调试正确后能够“微单步”运行不能“程 单步”运行 原因:指令译码的基地址处缺少一条“空操作”;,常见问题及解决方法,预习要求,根据所选题目画出所有指令的微程序流程图。 将设计好的微指令用铅笔填入表2-6-1。 将你选做的机器指令程序和你自己设计的微程序做成电子版带到实验室,请在每条指令的后面加注释。,实验要求,上机调试微程序,使其能达到在 “程序单步”状态正确运行题目规定的程序。将完成的实验结果填入表2-6-2。 完成实验报告(写出调试小结:在实验中遇到的问题、解决的方法及相关的讨论等)。,寻址方式,寄存器寻址:操作数包含在指令指出的寄存器中。 直接寻址:操作数的地址包含在指令中。 间接寻址:操作数的地址的地址包含在指令中 相对寻址:指令中的地址是以PC为基址的相对量。 变址寻址:指令中的地址是以变址寄存器为基址 的偏移量。 立即寻址:操作数包含在指令中。,附录。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值