《《计算机组成原理》微程序设计实验报告.docx》由会员分享,可在线阅读,更多相关《《计算机组成原理》微程序设计实验报告.docx(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、计算机组成原理微程序设计实验报告 计算机组成原理 实验报告 学院:计算机学院 专业:交通工程 班级学号:AP0804114 学生姓名:黄佳佳 实验日期:2022.12.14 指导老师:李鹤喜 成绩评定: 五邑大学信息学院计算机组成原理实验室 实验五微程序设计实验 一、实验目的: 深入掌握微程序控制器的工作原理,学会设计简单的微程序。 二、预习要求: 1复习微程序控制器工作原理; 2复习计算机微程序的有关知识。 三、实验设备: EL-JY-II型计算机组成原理实验系统一台,连接线若干。 四、微程序的设计: 1微指令格式 设计微指令编码格式的主要原则是使微指令字短、能表示可并行操作的微命令多、微程
2、序编写方便。 微指令的最基本成份是控制场,其次是下地址场。控制场反映了可以同时执行的微操作,下地址场指明下一条要执行的微指令在控存的地址。微指令的编码格式通常指控制场的编码格式,以下几种编码格式较普遍。 1)最短编码格式 这是最简单的垂直编码格式,其特点是每条微指令只定义一个微操作命令。采用此格式的微指令字短、容易编写、规整直观,但微程序长度长,访问控存取微指令次数增多从而使指令执行速度慢。 2)全水平编码格式 这种格式又称直接编码法,其特点是控制场每一位直接表示一种微操作命令。若控制场长n位,则至多可表示n个不同的微操作命令。 采用此格式的微指令字长,但可实现多个允许的微操作并行执行,微程序
3、长度短,指令执行速度快。 3)分段编码格式是将控制场分成几段。若某段长i位,则经译码,该段可表示2i个互斥的即不能同时有效的微操作命令。 采用这种格式的微指令长度较短,而可表示的微操作命令较多,但需译码器。 2微程序顺序控制方式的设计 微程序顺序控制方式指在一条指令对应的微程序执行过程中,下一条微指令地址的确定方法,又叫后继地址生成方式。下面是常见的两种。 1)计数增量方式 这种方式的特点是微程序控制部件中的微地址中的微地址产生线路主要是微地址计数器MPC。 MPC 的初值由微程序首址形成线路根据指令操作码编码形成。在微程序执行过程中该计数器增量计数,产生下一条微指令地址。这使得微指令格式中可
4、以不设置“下地址场”。缩短了微指令长度,也使微程序控制部件结构较简单。但微程序必须存放在控存若干连续单元中。 2)断定方式 微指令中设有“下地址场”,它指出下条微指令的地址,这使一条指令的微程序中的微指令在控存中不一定要连续存放。在微程序执行过程中,微程序控制部件中的微地址形成电路直接接受微指令下地址场信息来产生下条微指令地址,微程序的首址也由此微地址形成电路根据指令操作码产生。 3本系统的微指令格式 微程序设计的关键技术之一是处理好每条微指令的下地址,以保证程序正确高效地进行。本系统采用分段编码的指令格式,采用断定方式确定下一条微指令的地址。 微操作控制信号 状态条件 指令操作码 图5-2
5、断定方式微程序控制部件示意图 其中“微地址形成电路”对应于实验四的图4-1(b );“控存CM ”对应于实验四的图4-1(a );“微指令寄存器及控制、地址场”对应于实验四的图4-1(c )。 每条微指令由24位组成,其控制位顺序如下: 微指令译码电路如下: 图53 微指令译码电路 图中MS24MS16对应于微指令的第2416位,S3S2S1S0MCn为运算器的方式控制,详见实验一和实验二;WE为外部器件的读写信号,1表示写,0表示读;1A、1B用于选通外部器件,通常接至底板IO控制电路的1A1B端,四个输出Y0Y1Y2Y3接外部器件的片选端。(注:再实验六及以后的实验中,Y3被系统占用,用于
6、输入中断,Y0Y1Y2仍能被用户使用) 图53中MS15MS13对应于微指令中的F1,经锁存译码后产生6个输出信号:LRi、LDR1、LDR2、LDIR、LOAD、LAR。其中LDR1、LDR2为运算器的两个锁存控制(见实验一);LDIR为指令寄存器的锁存控制(见系统介绍中指令寄存器电路);LRi为寄存器堆的写控制,它与指令寄存器的第0位和第1位共同决定对哪个寄存器进行写操作(见系统介绍中寄存器堆电路和图5-4);LOAD为程序计数器的置数控制,LAR为地址寄存器的锁存控制(见系统介绍中程序计数器和地址寄存器电路)。以上6个输出信号均为1有效。 图53中MS12MS10对应于微指令中的F2,经
7、锁存译码后产生6个输出信号:RAG、RBG、RCG、299-G、ALU-G、PC-G。其中RAG、RBG、RCG分别为寄存器Ax、Bx、Cx的输出控制(见系统介绍中寄存器堆电路);299-G为移位寄存器的输出控制(见实验二);ALU-G为运算器的输出控制(见实验一);PC-G为程序计数器的输出控制(见系统介绍中程序计数器和地址寄存器电路)。以上 信号均为0有效。 图53中MS9MS9对应于微指令中的F3,经锁存译码后产生6个输出信号:P1、P2、P3、P4、AR、LPC。其中P1、P2、P3、P4位测试字,其功能是对机器指令进行译码,使微程序转入相应的微地址入口,从而实现微程序的顺序、分支和循
8、环运行(见实验4的图4-1(b)和图5-4);AR为运算器的进位输出控制(见实验一);LPC为程序计数器的时钟控制(见系统介绍中程序计数器电路)。以上信号均为1有效。 图5-4 指令译码器电路 微指令中的uA5-uA0为6位的后续微地址(见实验4的微地址形成电路图4-1(b)。 五、实验内容: 编写几条可以连续运行的微代码,熟悉本实验系统的微代码设计方式。表52为几条简单的可以连续运行的二进制微代码表: 注意UA5-UA0的编码规律,观察后续地址。 以下举例说明微代码的含义: 1、微地址“000011”:读Y1设备上的数据,并将该数据打入地址寄存器。然后跳转至微地址“000100”。 2、微地
9、址“000100”:读Y1设备上的数据,并将该数据打入运算暂存器2,然后跳转至微地址 “001000”。 3、微地址“011000”:运算暂存器1数据输出至数据总线,将该数据写入Y1设备,然后跳转至微 地址“011001”。 4、微地址“011001”:读Y1设备上的数据,然后进行P1测试。由于未对指令寄存器操作,I7I0 均为0,强制置位无效,仍跳转至后续微地址“000000”。 六、实验步骤: 、单片机键盘操作方式实验 在进行单片机键盘控制实验时,必须把K4开关置于“OFF”状态,否则系统处于自锁状态,无法进行实验。 1.实验连线: 实验连线图如图5-5所示。 连线时应按如下方法:对于横排
10、座,应使排线插头上的箭头面向自己插在横排座上;对于竖排座,应使排线插头上的箭头面向左边插在竖排座上。 图55 实验五键盘实验连线图 2.写微代码: (1)将开关K1K2K3K4拨到写状态即K1 off、K2 on、K3 off、K4 off,其中K1、K2、K3在微程序控制电路,K4在24位微代码输入及显示电路上。在监控指示灯滚动显示状态下按键,显示输入05或5,按键,显示为,再按下键。 (2)监控显示为,表示对微代码进行操作。输入1显示,表示写微代码,按。 (3)监控显示,此时输入6位二进制数表示的微地址,然后按键,监控指示灯显示,这时输入微代码,该微代码是用6位十六进制数来表示前面的24位
11、二进制数,注意输入微代码的顺序,先右后左,此过程中可按键来取消上一次输入,重新输入。按键则显示,按完成一条微代码的输入,重新显示提示输入表5-3第二条微代码地址。 (4)按照上面的方法输入表5-3微代码,观察微代码与微地址显示灯的对应关系(注意输入微代码的顺序是由右至左)。 3.读微代码: (1)先将开关K1K2K3K4拨到读状态即K1 off、K2 off、K3 on、K4 off,按按钮对单片机复位,使监控指示灯滚动显示状态。 (2)按键,显示输入05或5,按键,显示。按键。 (3)监控显示时,输入2,按显示,此时输入6位二进制微地址,进入读微代码状态。再按显示,此时按键,监控显示,微地址
12、指示灯显示输入的微地址,微代码显示电路上显示该地址对应的微代码,至此完成一条微指令的读过程。对照表5-3表检查微代码是否有错误,如有错误,可按步骤2写微代码重新输入这条微代码。 4.微代码的运行: (1)先将开关K1K2K3K4拨到运行状态即K1 on、K2 off、K3 on、K4 off,按按钮对单片机复位,使监控指示灯滚动显示状态。 (2)按键,显示输入05或5,按键,显示。按键。 (3)监控指示灯显示,输入3,显示,表示进入运行微代码状态,拨动CLR 清零开关(在控制开关电路上,注意对应的JUI应短接)对程序计数器清零,清零结果是地址指示灯(A7A0)和微地址显示灯(uA5uA0)全灭
13、,清零步骤是使其电平高低高即CLR指示灯状态为亮灭亮,使程序入口地址为000000。 1)、单步运行 在监控指示灯显示状态下,确认清零后,按键,监控指示灯滚动显示,此时可按键单步运行微代码,观察微地址显示灯,显示“000001”,再按,显示为“000010”,连续按,则可单步运行微代码,注意观察微地址显示灯和微代码的对应关系。 2)、全速运行 在控指示灯滚动显示状态下,按键,开始自动运行微代码,微地址显示灯显示从“000000”开始,到“000001”、“000010”、“000011”、“000100”、“001000”、“001001”、“010000”、“010101”、“011000”
14、、“011001”再到“000000”,循环显示。 、开关控制操作方式实验 本实验中所有控制开关拨动,相应指示灯亮代表高电平“1”,指示灯灭代表低电平“0”。 为了避免总线冲突,首先将控制开关电路的所有开关拨到输出高电平“1”状态,所有对应的指示灯亮。连线时应注意:对于横排座,应使排线插头上的箭头面向自己插在横排座上;对于竖排座,应使排线插头上的箭头面向左边插在竖排座上。 1按图56接线图接线: 2实验步骤: 1)写微代码(以写表5-3的微代码为例) : 首先将微程序控制电路上的开关K1K2K3拨到写入状态,即K1 off、K2 on、K3 off,然后将24位微代码输入及显示电路上的开关K4
15、拨到on状态。置控制开关UA5 UA0=“000000”,输入微地址“000000”,置24位微代码开关MS24-MS1为:“00000000 00000000 00000001”,输入24位二进制微代码,按,红色微地址灯显示“000 000”,写入微代码。 保持K1K2K3K4状态不变,写入表41的所有微代码。 2)读微代码并验证结果: 将微程序控制电路上的开关K1K2K3拨到读出状态,即K1 off、K2 off、K3 on,然后将24位微代码输入及显示电路上的开关K4拨到off状态。置控制开关UA5 UA0=“000000”,输入微地址“000000”,按,黄色微地址灯显示“000 00
16、0”,24位微代码显示“00000000 00000000 00000001”,即第一条微代码。保持K1K2K3K4状态不变,改变UA5 UA0微地址的值,读出相应的微代码,并和表53的微代码比较,验证是否正确。如发现有误,则需重新输入微代码。 3)运行微代码: 将微程序控制电路上的开关K1K2K3拨到运行状态,即K1 on、K2 off、K3 on,然后将24位微代码输入及显示电路上的开关K4拨到off状态。拨动控制开关电路上的清零开关CLR,使微地址和地址指示灯全灭。置控制开关“UA5-UA0“000 000”,程序运行入口地址为 000000,按,运行微代码,观察黄色微地址显示灯,显示“000001”,再按,显示为“000010”,连续按,则可单步运行微代码,注意观察微地址显示灯和微代码的对应关系,微地址显示灯显示从“000000”开始,到“000001”、“000010”、“000011”、“000100”、“001000”、“001001”、“010000”、“010101”、“011000”、“011001”再到“000000”,循环显示。 八心得体会。