计算机组成原理微程序实验_第1页
计算机组成原理微程序实验_第2页
计算机组成原理微程序实验_第3页
计算机组成原理微程序实验_第4页
计算机组成原理微程序实验_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机组成原理微程序实验演示文稿当前1页,总共37页。(优选)第五讲计算机组成原理微程序实验当前2页,总共37页。实验内容

根据数据通路框图(图2-5-1)、微控制器原理图(图1-2-12(a))、微程序流程图(图2-5-2)、机器指令程序(表2-5-1)、微指令格式(表2-5-2),用微指令序列来实现给定的六条机器指令IN、ADD、MOV、OUT、JMP,达到“程单步”执行。

当前3页,总共37页。实验原理指令格式机器指令地址及代码格式:

PXXXX

程序地址

机器代码微程序地址及微码格式:

MXXXXXXXXXX微程序地址32位指令代码当前4页,总共37页。单字节指令机器指令格式76543210OP-CODERSRDRS或RD选定的寄存器00011011R0R1R2SP寄存器:输出用CBA

输入用LDR0CBA总线数据来源000RAM或SW→B001PC→B010ALU→B011299→B100RS→B101RD→B110RI→B111SP→B例:ADDR0,R101100100ADDR1,R201101001A字段当前5页,总共37页。机器指令格式双字节指令,其中一个地址在第二字节,不用的寄存器编码任意(一般写为零)。双字节指令(格式一)

765432

10第一字节OP-CODERSRD第二字节D当前6页,总共37页。双字节指令(格式二)DREGOP0M010324657直接寻址间接寻址变址寻址立即寻址E=DE=(D)E=(R2)+DD为立即数00011011说明有效地址E寻址模式M机器指令格式一个地址在第二字节,另一个地址为寄存器,选择总线数据应选择Rd,即CBA=101R2为变址寄存器当前7页,总共37页。机器指令格式001101XX011000010001XX000100XX010101XXXX1000XXXX0000000addrIMMaddr第一字节 第二字节操作码源 目的INR0,SWMOVR1,#XXHADDR1,R0MOVaddr,R1OUTLED,addrJMP00当前8页,总共37页。地址(H)机器指令代码机器指令说明00

10

INR0,SW数据开关内容SWR001

41××

MOVR1,#XXH立即数R103

61

ADDR1,R0R1+R0R104

34××

MOVaddr,R1R1addr06

80××

OUTLED,addraddrLED08

5000

JMP0000PC机器指令格式当前9页,总共37页。微指令格式

M25M24M23M22M21M20M19M18M17M16M15M14M13M12M11M10M9CBAAR保留字PX3A9A8CELOADCNMS0S1S2S3PX2M8M7M6M5M4M3M2876543M1M0LDARLDPCLDIRLDDR2LDDR1LDR0WEUA0UA1UA2UA3UA4UA5PX1SW-BLDIR:写指令寄存器LDR0:将总线数据写入目的寄存器;LOAD,LDPC:LOAD=1、LDPC=1,将总线数据写入PC;

LOAD=0、LDPC=1、PC+1→PC;

UA5、UA4、UA3、UA2 、UA1、UA0:微指令后续地址。当前10页,总共37页。CBA总线数据来源000

RAM→BUS或SW→BUS001PC→BUS010ALU→BUS011299→BUS100RS→BUS101RD→BUS110RI(R2)→BUS111SP→BA字段B字段PX3PX2PX1选择测试字000关闭测试001P(1)测指令的高4位010P(2)测指令的3、2位011P(3)测试Z和CY微指令格式

当前11页,总共37页。UA0-UA5为6位后续微地址(注意:其微地址的排列顺序为前低后高)。C、B、A

为A字段,决定总线上的信息来源。PX3、PX2、PX1为B字段,其功能是:

1.根据机器指令及相应微代码进行译码,使微程序转入相应的微地址入口;

2.根据Z和CY标识产生相应的后续微地址。本实验采用复杂模型机方式(控存06单元的最高字节不能为40H)。当前12页,总共37页。

P(X):识别什么操作及如何确定下地址

基地址:UA5-UA0P(1):测试第一字节的高4位。 实际有效地址为E=基地址∨机器指令第一字节的高4位(基地址的低4位必须为0”)。例:UA5~UA0为20,第一字节84

10000100

84

100000 20

101000 28 E=20∨8=28当前13页,总共37页。P(2):测试第一字节的3、2位。 实际有效地址为E=基地址∨机器指令第一字节的3、2位(基地址的低2位为0)。例:UA5~UA0为1C,第一字节84 10000100

84

011100 1C 011101 1D E=1C∨01=1D当前14页,总共37页。P(3):测试进位(CY)和结果为零(Z)标志。两标志皆为'0'时,微指令的下地址为UA5~UA0,两标志之一为'1'时,下地址为将UA4置"1"后的下地址.也就是说测试(P3)微指令的下地址的UA4必须是0。UA543210

例:UA5~UA0为0A 001010

满足条件:E=1A 011010

不满足条件:E=0A001010★基地址处如果不用,须写一条“空操作”。

例:M1000000080当前15页,总共37页。未定义(12,17,19-1F)运行微程序NOP(10)IN(11)ADD(16)MOV(13)OUT(18)JMP(15)0110+0NOP0110+1SW→RD10+60104(DR1)+(DR2)→RD03RS→DR2RD→DR110+3PC→ARPC+10105RS→RAM07RAM→AR0A10+80BRAM→LED01RAM→AR09RAM→PC0110+5NOP01微程序流程图020100NOPPC→ARPC+1RAM→IRRAM→IRP(1)MOV(14)08RAM→RD0110+4PC→ARPC+1PC→ARPC+1PC→ARPC+1当前16页,总共37页。实验连线图当前17页,总共37页。实验步骤按图2-5-3连接相关的实验电路。

将实验设备设置在“模型机”状态,点击桌面上 图标启动DAIS系统软件,并选定:串口为COM1;波特率为9600;运行方式为“微运行”;连接硬件实验系统进入主界面。在编辑状态下,依次输入机器代码及对应微指令码,“保存”并“装载”到实验设备的控存和内存中。

当前18页,总共37页。用微单步运行微指令程序,对照微程序流程图,观察实验设备平台上的相关寄存器当前状态及微地址指示灯是否和其流程图中表示的一致。检查、运行、记录并对照调试运行后的结果是否和预测值一致。注意:在运行程序时不可同时打开多个主界面窗口。实验步骤当前19页,总共37页。8102000011111SW→RD80000000110NOP0000000006设置复杂模型机0504030A108000111102RAM→IR40600020111101PC→AR,PC+180000000100NOP3区2区1区0区01微指令后续地址(基地址)2345678910111213141516171819202122232425地址SW-BPX1UA5UA4UA3UA2UA1UA0WELDR0LDDR1LDDR2LDIRLDPCLDARPX2S3S2S1S0MCNLOADCEA8A9PX3保留字ARABC控制信号微指令代码十六进制3区域2区域1区域0区域区号微操作81020000SW→RD11(返01)0A108000RAM→IR,译码0240600020PC→AR,PC+10180000000NOP0011INR13区2区1区0区微代码微操作微地址微程序入口地址机器指令设计举例:INR1当前20页,总共37页。Dais-CMH+实验设备位置图SW地址总线内存锁存输出DR2DR1299R0R1R2指令寄存器IR程序计数器PC控存ALU数据总线微地址当前21页,总共37页。复位微单步当前22页,总共37页。综合设计

自定义指令系统的设计与实现当前23页,总共37页。

用复杂模型机方式完成下列十二组机器指令序列中每条指令的微程序设计(选其中之一),达到能够程单步运行状态。实验内容实验目的综合运用所学计算机原理和汇编知识,结合前面5个实验内容。设计微程序实现题目规定的指令。当前24页,总共37页。1. MOV R0,IMM MOV R1,10H ADD R0,R1 JCZ L1 ;相对寻址

MOV 11H,R0L1:HLT 0703102

当前25页,总共37页。2. MOV R1,12H MOV [10H],R1 CLR R1 ADD R1,@[10H] INC [10H] ADD R1,@[10H] HLT 0703104

3. MOV R2,IMM SUB R2,11H RLC R2 MOV @[20H],R2 HLT

0703101当前26页,总共37页。

MOV R0,#0 MOV R2,#20H MOV R1,#0FBHL5: ADD R0,[R2]+8 ;变址寻址

INC R2 INC R1 JCZ L6 ;相对寻址

JMP L5 ;直接寻址L6: HLT 07031034.求28H为起始地址连续5个存储单元中的内容的和,结果在R0中(要求5个数的和不大于255)。当前27页,总共37页。

IN R0,SW IN R1,SW ADD R0,R1 JCZ L7 ;相对寻址

MOV R2,#0FFH JMP L8 ;直接寻址L7: MOV R2,#0L8: OUT R0 HLT 0703105

5.从开关输入2个数求和,结果在缓冲输出显示,和大于255在R2中计作“0FFH”,否则计作“0”。当前28页,总共37页。

CLR R2 MOV R1,20H MOV [10H],R1 MOV R1,@[10H] CMP R1,#80H ;比较

JCZ L4 ;相对寻址

MOV R2,#0FFHL4: HLT 07031066.测试20H单元中的数据,如果为≥80H,将FF写入R2中;如果<80h,将00写入R2中。当前29页,总共37页。

7.双字节加法:数据自定,和在R2,R1,R0中。

MOV R2,#0 MOV R0,#data1L MOV R1,#data1H ADD R0,#data2L ADC R1,#data2H ADC R2,#0 HLT 0703107当前30页,总共37页。8.将R0中压缩BCD码转换为ASCII码,结果存放在R1,R0中。

MOV R1,R0 AND R0,#0FH ADD R0,#30H AND R1,#0F0H ROR R1 ;循环右移一位

ROR R1 ROR R1 ROR R1 ADD R1,30H HLT

0703301当前31页,总共37页。9. MOV SP,#0FFH; IN R2,SW; PUSH R2; IN R2,SW; OUT R2; PULL R2; OUT R2; HLT;当前32页,总共37页。10. MOV SP,#0FFH IN R1,SW CALL A1 OUT R1,LED HLT A1: COM R1 RET

0736111当前33页,总共37页。11.将R0中的压缩BCD码转换成十六进制数,结果在R1,R0中。

MOV R1,R0

ANDR0,#0FH

ANDR1,#

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论