《计算机组成原理实验控制器精选文档.ppt》由会员分享,可在线阅读,更多相关《计算机组成原理实验控制器精选文档.ppt(40页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、计算机组成原理实验控制器本讲稿第一页,共四十页实验目的实验目的o掌握微程序控制器的组成原理。掌握微程序控制器的组成原理。o掌握机器指令与微指令的关系。掌握机器指令与微指令的关系。o学习微程序的编制、装入、调学习微程序的编制、装入、调试基本方法。试基本方法。本讲稿第二页,共四十页实验内容实验内容 根根据据数数据据通通路路框框图图(图图2-5-1)、微微控控制制器器原原理理图图(图图1-2-12(a))、微微程程序序流流程程图图(图图2-5-2)、机机器器指指令令程程序序(表表2-5-1)、微微指指令令格格式式(表表2-5-2),用用微微指指令令序序列列来来实实现现给给定定的的六六条条机机器器指指
2、令令IN、ADD、MOV、OUT、JMP。本讲稿第三页,共四十页实验原理实验原理机器指令与微程序的关系机器指令与微程序的关系o一条机器指令对应一段微程序。一条机器指令对应一段微程序。o微程序是由若干条微指令组成的,用来完成机微程序是由若干条微指令组成的,用来完成机器指令所规定的功能。器指令所规定的功能。o微指令是由可以在同一节拍完成的某些功能的微指令是由可以在同一节拍完成的某些功能的微操作组成的。微操作组成的。指令译码要做什么指令译码要做什么找到微程序的入口地址找到微程序的入口地址本讲稿第四页,共四十页指令输入格式机器指令地址及代码机器指令地址及代码 输入格式:输入格式:PXX XX 程序地址
3、 机器代码微程序地址及微码微程序地址及微码 输入格式:输入格式:MXX XX XX XX XX 微程序地址 32位微指令代码本讲稿第五页,共四十页单字节指令单字节指令机器指令格式7 6 5 43 21 0OP-CODERSRDRS 或或 RD选定的寄存器选定的寄存器00011011R0R1R2SP寄存器:寄存器:输入用输入用LDR0 输出用输出用CBA CBA总线数据来源总线数据来源000RAM 或或SWB001PCB010ALUB011299B100RSB101RDB110RIB111SPB例例例例:ADD R0:ADD R0,R1 0110 0 1 0 0R1 0110 0 1 0 0 A
4、DD R1 ADD R1,R2 0110 1 0 0 1R2 0110 1 0 0 1A字段字段操作码操作码源寄存器源寄存器目的寄存器目的寄存器操作码操作码参与译码参与译码指出源寄存器指出源寄存器指出目的寄存器指出目的寄存器本讲稿第六页,共四十页机器指令格式 双字节指令,其中一个地址在第二字节,不用的寄存双字节指令,其中一个地址在第二字节,不用的寄存器编码任意(一般写为零)。器编码任意(一般写为零)。双字节指令(格式一)双字节指令(格式一)7 6 5 43 2 1 0第一字节第一字节OPCODERSRD第二字节第二字节D本讲稿第七页,共四十页双字节指令(格式二)双字节指令(格式二)DREGOP
5、0M01 03 246 57直接寻址直接寻址间接寻址间接寻址变址寻址变址寻址立即寻址立即寻址E=DE=(D)E=(R2)+DD为立即数为立即数00011011说明说明有效地址有效地址E寻址模式寻址模式M机器指令格式一个地址在第二字节,另一个地址在第二字节,另一个地址为寄存器一个地址为寄存器,选择选择总线数据应选择总线数据应选择Rd,即即CBA=101R2为变址寄存器为变址寄存器本讲稿第八页,共四十页机器指令格式001101 XX011000010001XX 000100XX 010101XX XX1000XX XX00000000addrIMMaddr 第一字节第一字节 第二字节第二字节地址地
6、址 操作码操作码 源源 目的目的IN R0IN R0,SWSWMOV R1,#XXHMOV R1,#XXHADD R1ADD R1,R0R0MOV addrMOV addr,R1R1OUT LEDOUT LED,addraddrJMP 00JMP 00开关数据开关数据R0立即数立即数IMMR1R0+R1R1R1 addr(addr)LED00PC000103040608不能与程序地址不能与程序地址重叠重叠本讲稿第九页,共四十页微指令格式 M25M25M24M24M23M23M22M22M21M21M20M20 M19M19 M18M18 M17M17M16M16M15M15M14M14M13M
7、13M12M12M11M11M10M10M9M9CBAAR保留字保留字PX3A9A8CELOADCNMS0S1S2S3PX2M8M7M6M5M4M3M2876543M1M0LDARLDPCLDIRLDDR2LDDR1LDR0WEUA0UA1UA2 UA3 UA4 UA5 PX1 SW-BLDR0:将总线数据写入目的寄存器;将总线数据写入目的寄存器;LDIR:将总线数据写入指令寄存器;将总线数据写入指令寄存器;LOAD,LDPC:LOAD=1、LDPC=1,将总线数据写入将总线数据写入PC;LOAD=0、LDPC=1、CBA=001,PC+1PC;UA5、UA4、UA3、UA2、UA1、UA0:
8、微指令后续地址微指令后续地址。本讲稿第十页,共四十页B字段字段PX3PX2PX1选择选择测试字测试字000关闭测试关闭测试001P(1)测指令的高测指令的高4 4位位010P(2)测指令的测指令的3、2位位011P(3)测试测试Z和和CY微指令格式 本讲稿第十一页,共四十页oUA0-UA5为为6位后续微地址位后续微地址(注意:其注意:其微地址微地址的排列顺序为前低后高的排列顺序为前低后高)。oC、B、A 为为A字段字段,决定总线上的信息来源。决定总线上的信息来源。oPX3、PX2、PX1为为 B字段,其功能是:字段,其功能是:1.根据机器指令及相应微代码进行译码,使根据机器指令及相应微代码进行
9、译码,使微程序转入相应的微程序转入相应的微地址入口微地址入口;2.根据根据Z和和CY标识产生相应的后续微地址。标识产生相应的后续微地址。o本实验采用复杂模型机方式(本实验采用复杂模型机方式(控存控存06单元的最单元的最高字节不能为高字节不能为40H)。)。微指令格式 本讲稿第十二页,共四十页 P(X):识别什么操作及如何确定下地址:识别什么操作及如何确定下地址 基地址:基地址:UA5-UA0oP(1):测试第一字节的高:测试第一字节的高4位。位。实际有效地址为实际有效地址为E=基地址基地址 第一字节的第一字节的高高4位(位(基地址的低基地址的低4位必须为位必须为“0”)。)。例例:UA5UA0
10、为为20,第一字节第一字节84 10000100 E=20 8=28微指令格式 本讲稿第十三页,共四十页oP(2):测试第一字节的测试第一字节的3、2位。位。实际有效地址为实际有效地址为E=基地址基地址 第一字节的第一字节的3、2位(基地址的低位(基地址的低2位为位为0)。)。例例:UA5UA0为为1C,第一字节,第一字节84 10000100E=1C 01=1D微指令格式 本讲稿第十四页,共四十页oP(3):测试进位:测试进位(CY)和结果为零和结果为零(Z)标志。标志。两标志皆为两标志皆为0时时,微指令的下地址为微指令的下地址为UA5UA0,两标志两标志 之一为之一为1时时,下地址为将下地
11、址为将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)0110+0
12、NOP0110+1SWRD10+60104(DR1)+(DR2)RD03RSDR2RDDR110+3PCARPC+10105RSRAM07RAMAR0A10+80BRAMLED01RAMAR09RAMPC0110+5NOP01微程序流程图020100NOPPCARPC+1RAMIRP(1)MOV(14)08(AR)RD0110+4PCARPC+1PCARPC+1PCARPC+1本讲稿第十六页,共四十页实验连线图实验连线图本讲稿第十七页,共四十页实验步骤实验步骤o 按图按图2-5-3连接相关的实验电路。连接相关的实验电路。o 将将实实验验设设备备设设置置在在“模模型型机机”状状态态,点点击击桌桌
13、面面上上 图图标标启启动动DAIS系系统统软软件件,并并选选定定:串串口口为为COM1;波波特特率率为为9600;运运行行方方式式为为“微微运运行行”;连接硬件实验系统进入主界面。;连接硬件实验系统进入主界面。o 在在编编辑辑状状态态下下,依依次次输输入入机机器器代代码码及及对对应应微微指指令令码码,“保保存存”并并“装装载载”到到实实验验设设备备的的控控存存和和内内存存中。中。本讲稿第十八页,共四十页o用微单步运行微指令程序,对照微程序流程用微单步运行微指令程序,对照微程序流程图,观察图,观察实验设备平台实验设备平台上的相关寄存器当前上的相关寄存器当前状态及微地址指示灯是否和其流程图中表示状
14、态及微地址指示灯是否和其流程图中表示的一致。检查、运行、记录并对照调试运行的一致。检查、运行、记录并对照调试运行后的结果是否和预测值一致。后的结果是否和预测值一致。注意注意:在运行程序时不可同时打开多个主界在运行程序时不可同时打开多个主界面窗口。面窗口。实验步骤实验步骤本讲稿第十九页,共四十页8102000011111SWRD80000000110NOP 8000000006设置复杂模型机设置复杂模型机0504030A108000111102RAMIR40600020111101PCAR,PC+180000000100NOP3区2区1区0区01微指令后续地址(基地址)微指令后续地址(基地址)2
15、345678910111213141516171819202122232425地址SW-BPX1UA5UA4UA3UA2UA1UA0WELDR0LDDR1LDDR2LDIRLDPCLDARPX2S3S2S1S0MCNLOADCEA8A9PX3保保留留字字ARABC控控制制信信号号微指令代码微指令代码十六进制十六进制3区域区域2区域区域1区域区域0区域区域区号区号微操作微操作8102000011(返(返01)0A108000024060002001800000000011IN R13区区2区区1区区0区区微代码微代码微操作微操作微地址微地址微程序微程序入口地址入口地址机器指令机器指令设计举例:设
16、计举例:IN R1,SW本讲稿第二十页,共四十页Dais-CMH+实验设备位置图SW地址总线内存锁存输出DR2DR1299R0R1R2指令寄存器IR程序计数器PC控存ALU数据总线微地址本讲稿第二十一页,共四十页复位复位微单步微单步本讲稿第二十二页,共四十页综合设计综合设计自定义指令系统的设计与实现自定义指令系统的设计与实现本讲稿第二十三页,共四十页 用复杂模型机方式完成下列十组机器指用复杂模型机方式完成下列十组机器指令序列中每条指令的微程序设计令序列中每条指令的微程序设计 (选其中之选其中之一一),达到能够程单步运行状态,达到能够程单步运行状态 。实验内容实验内容实验目的实验目的 综合运用所
17、学计算机原理和汇编知综合运用所学计算机原理和汇编知识,结合前面识,结合前面5个实验内容。设计微程序个实验内容。设计微程序实现题目规定的指令。实现题目规定的指令。本讲稿第二十四页,共四十页1.MOV R0,XXHMOVR1,10HADD R0,R1JCZL1;相对寻址;相对寻址MOV11H,R0L1:HLT综合设计题目本讲稿第二十五页,共四十页综合设计题目2.MOV MOV R1R1,12H12H MOVMOV10H10H,R1R1 CLRCLRR1R1 ADDADDR1R1,10H10HINCINC10H10H ADDADDR1R1,10H 10H HLTHLT本讲稿第二十六页,共四十页 3.
18、3.MOV MOV R2R2,XXHXXH SUBSUBR2R2,11H11H RLCRLCR2R2 MOV MOV 20H20H,R2R2HLTHLT综合设计题目本讲稿第二十七页,共四十页 MOV MOV R0R0,#0#0 MOV MOV R2R2,#20H#20H MOV MOV R1R1,#0FBH#0FBHL5:L5:ADDADD R0R0,R2+8R2+8;变址寻址;变址寻址 INC INC R2R2 INCINCR1R1 JCZJCZL6L6 ;相对寻址;相对寻址 JMP JMP L5L5;直接寻址;直接寻址L6:L6:HLTHLT4.求求28H为起始地址连续为起始地址连续5个存
19、储单元中的内容的和,个存储单元中的内容的和,结果在结果在R0中(要求中(要求5个数的和不大于个数的和不大于255)。)。综合设计题目本讲稿第二十八页,共四十页IN R0,SW IN R1,SW ADDR0,R1 JCZ L7;相对寻址;相对寻址 MOV R2,#0FFHJMPL8;直接寻址;直接寻址L7:MOV R2,#0L8:OUT R0 HLT5.从开关输入从开关输入2个数求和,结果在缓冲输出显示,个数求和,结果在缓冲输出显示,和大于和大于255在在R2中计作中计作“0FFH”,否则计作,否则计作“0”。综合设计题目本讲稿第二十九页,共四十页 CLR R2 MOV R1,20H MOV 1
20、0H,R1 MOV R1,10H CMP R1,#80H ;比较;比较 JZC L4 ;相对寻址;相对寻址 MOV R2,#0FFHL4:HLT09031076.测试测试20H单元中的数据,如果为单元中的数据,如果为80H,将,将FF写入写入R2中;如果中;如果80h,将,将00写入写入R2中中。综合设计题目本讲稿第三十页,共四十页 7.双字节加法:数据自定,和在双字节加法:数据自定,和在R2,R1,R0中。中。MOV R2,#0MOV R0,#data1LMOV R1,#data1HADD R0,#data2LADC R1,#data2HADC R2,#0HLT 0903301综合设计题目本
21、讲稿第三十一页,共四十页MOV R1,R0AND R0,#0FHADD R0,#30HAND R1,#0F0HROR R1 ;循环右移一位循环右移一位ROR R1ROR R1ROR R1ADD R1,30HHLT09031058.将将R0中压缩中压缩BCD码转换为码转换为ASCII码,结果码,结果存放在存放在R1,R0中。中。综合设计题目本讲稿第三十二页,共四十页9.MOVSP,#0FFHINR2,SWPUSH R2INR2,SWOUTR2,PULLR2,OUT R2,HLT,综合设计题目本讲稿第三十三页,共四十页10.MOVSP,#0FFHINR1,SWCALLA1OUTR1,LEDHLTA
22、1:COMR1RET0903106综合设计题目本讲稿第三十四页,共四十页MOVR1,R0ANDR0,#0FHANDR1,#0F0HXCHD R1 ;半字交换半字交换ROLR1 ADDR0,R1ROLR1 ROL R1 ADDR0,R1HLT090320211.将将R0中的压缩中的压缩BCD码转换成十六进制数,码转换成十六进制数,结果在结果在R1,R0中。中。综合设计题目本讲稿第三十五页,共四十页要求:要求:JCZ用相对寻址用相对寻址,-128偏移地址偏移地址127。其他指令的寻址方式、两个。其他指令的寻址方式、两个加数的输入方式自定。加数的输入方式自定。12.编写一段程序:求两个数的和,编写一
23、段程序:求两个数的和,结果为结果为“0”或有进位停机或有进位停机,否则将结果否则将结果从从8255的的PB口输出显示。口输出显示。综合设计题目本讲稿第三十六页,共四十页o操作时观察实验台各点数据,操作时观察实验台各点数据,不要看屏幕显示不要看屏幕显示。o程序装载后,微控制器处显示不对程序装载后,微控制器处显示不对 原因:原因:1.如果全是零,如果全是零,M00的的“0”写成字母写成字母“O”了;了;2.如果部分是零,微码的如果部分是零,微码的“0”写成字母写成字母“O”了;了;o指令译码总是基地址指令译码总是基地址V指令高指令高3位而不是高四位位而不是高四位原因:原因:M06中的最高字节不能是
24、中的最高字节不能是40H。o微指程序调试正确后能够微指程序调试正确后能够“微单步微单步”运行不能运行不能“程程单步单步”运行运行原因:指令译码的基地址处缺少一条原因:指令译码的基地址处缺少一条“空操作空操作”;常见问题及解决方法常见问题及解决方法本讲稿第三十七页,共四十页预习要求o根据所选题目画出所有指令的微程序流程根据所选题目画出所有指令的微程序流程图。图。o将设计好的微指令用铅笔填入表将设计好的微指令用铅笔填入表2-6-1。o将你选做的机器指令程序和你自己设计的将你选做的机器指令程序和你自己设计的微程序做成电子版带到实验室,请在每条微程序做成电子版带到实验室,请在每条指令的后面加注释。指令
25、的后面加注释。本讲稿第三十八页,共四十页实验要求 o上机调试微程序,使其能达到在上机调试微程序,使其能达到在“程序单程序单步步”状态正确运行题目规定的程序。将完成状态正确运行题目规定的程序。将完成的实验结果填入表的实验结果填入表2-6-2。o完成实验报告(写出调试小结:在实验中遇完成实验报告(写出调试小结:在实验中遇到的问题、解决的方法及相关的讨论等)。到的问题、解决的方法及相关的讨论等)。本讲稿第三十九页,共四十页寻址方式o寄存器寻址:操作数包含在指令指出的寄存器中。寄存器寻址:操作数包含在指令指出的寄存器中。o直接寻址:操作数的地址包含在指令中。直接寻址:操作数的地址包含在指令中。o间接寻址:操作数的地址的地址包含在指令中间接寻址:操作数的地址的地址包含在指令中o相对寻址:指令中的地址是以相对寻址:指令中的地址是以PC为基址的相对量。为基址的相对量。o变址寻址:指令中的地址是以变址寄存器为基址变址寻址:指令中的地址是以变址寄存器为基址的偏移量。的偏移量。o立即寻址:操作数包含在指令中。立即寻址:操作数包含在指令中。附录本讲稿第四十页,共四十页