《计算机组成原理实验微程序控制器精选PPT.ppt》由会员分享,可在线阅读,更多相关《计算机组成原理实验微程序控制器精选PPT.ppt(49页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、计算机组成原理实验微程序控制器第1页,此课件共49页哦1.控制器的控制器的功能功能计算机的功能是执行程序计算机的功能是执行程序程序是依次排列起来的指令代码程序是依次排列起来的指令代码 控制器的功能就在于控制器的功能就在于:正确地分步完成每一条指令规定的功能正确地分步完成每一条指令规定的功能,正确且自动地连续执行指令正确且自动地连续执行指令;再进一步说,就是再进一步说,就是向计算机各功能部件向计算机各功能部件提供提供协调运行每一个步骤所需要的控制信号。协调运行每一个步骤所需要的控制信号。第2页,此课件共49页哦2.控制器的控制器的组成组成程序计数器程序计数器PC:存放指令地址,有存放指令地址,有
2、+1或接收新值功能。或接收新值功能。指令寄存器指令寄存器IR:存放指令内容:操作码与操作数地址。存放指令内容:操作码与操作数地址。指令执行步骤标记线路:指令执行步骤标记线路:指明每条指令的执行步骤。指明每条指令的执行步骤。控制信号记忆或产生线路控制信号记忆或产生线路:给出计算机各功能部件部给出计算机各功能部件部件协同运行所需要的控制信号。件协同运行所需要的控制信号。运算器部件运算器部件主存储器部件主存储器部件总线及输入总线及输入/输出接口输出接口(输入输入/输出设备输出设备)控制器部件控制器部件各部件包括各部件包括也包括也包括设计中的难点,在于解决对运算器、控制器的控制设计中的难点,在于解决对
3、运算器、控制器的控制第3页,此课件共49页哦时序控制时序控制 信号信号形成部件形成部件译码译码OP IRPC 输输 出出 设设 备备 输输 入入 设设 备备主存储器主存储器部件部件 运算器运算器 部件部件启停启停地地址址寄寄存存器器数据总线数据总线地址总线地址总线控制总线控制总线.控制条件控制条件主振主振组合逻辑控制器的组成和运行原理组合逻辑控制器的组成和运行原理 节节拍拍发发生生器器程序计数器程序计数器指令寄存器指令寄存器第4页,此课件共49页哦控制控制存储器存储器映射映射IRPC接口接口输出输出设备设备 主主 存存储储 器器运算器运算器部件部件下下地地址址启停启停地地址址寄寄存存器器数据总
4、线数据总线地址总线地址总线控制总线控制总线.控制条件控制条件微指令寄存器微指令寄存器主振主振微程序微程序方案的方案的控制器控制器接口接口输入输入设备设备第5页,此课件共49页哦TEC-2000 教学机系统的组成教学机系统的组成计算机计算机终端终端PC机机微程序微程序控制器控制器运算器运算器(8/16 位位)主存储器主存储器(8/16位)位)按键按键 开关开关 指示灯指示灯串串行行接接口口接接口口实实验验 中中断断实实验验内内存存扩扩展展实实验验电电 源源+5V硬布线硬布线控制器控制器第6页,此课件共49页哦二、二、指令的执行过程指令的执行过程 冯冯.诺依曼诺依曼 结构的计算机结构的计算机 即存
5、储程序的计算机,设置内存,存即存储程序的计算机,设置内存,存放程序和数据,在程序运行之前存入。放程序和数据,在程序运行之前存入。执行程序:执行程序:正确从程序首地址开始;正确从程序首地址开始;正确分步执行每一条指令,正确分步执行每一条指令,并形成下条待执行指令的地址;并形成下条待执行指令的地址;正确并自动地连续执行指令,正确并自动地连续执行指令,直到程序的最后一条指令。直到程序的最后一条指令。第7页,此课件共49页哦每条指令的执行步骤每条指令的执行步骤读取指令读取指令指令地址送入主存地址寄存器指令地址送入主存地址寄存器读主存,读出内容送入指定的寄存器读主存,读出内容送入指定的寄存器分析指令分析
6、指令按指令规定内容执行指令按指令规定内容执行指令 不同指令的操作步骤数,不同指令的操作步骤数,和具体操作内容差异很大和具体操作内容差异很大,检查有无中断请求检查有无中断请求若有,则响应中断并转中断处理若有,则响应中断并转中断处理若无,则转入下一条指令的执行过程若无,则转入下一条指令的执行过程形形成成下下一一条条指指令令地地址址R_R类型指令类型指令读写内存类型指令读写内存类型指令输入输出类型指令输入输出类型指令其他类型指令其他类型指令 可能执行可能执行 一次或多次一次或多次 是一次读是一次读内存操作内存操作公共操作公共操作公共操作公共操作是每一条指令的特定操作是每一条指令的特定操作第8页,此课
7、件共49页哦(1)指令执行步骤与信息流动图示部分)指令执行步骤与信息流动图示部分典型指令的执行过程举例:典型指令的执行过程举例:2000:0001 ADD r0,r1 ;加法指令加法指令2001:0790 MVRR r9,r0 ;传送指令传送指令2002:8280 IN 80 ;读串行口数据到读串行口数据到R0低低8位位2003:E709 STRA 2007,r9;写内存指令写内存指令,是一条双字指令是一条双字指令 2007 ;第二个字中的第二个字中的 2007 是直接地址是直接地址2005:44FA JRC 2000 ;若若C为为1转到转到2000,否则顺序执行否则顺序执行2006:8F00
8、 RET ;子程序返回指令子程序返回指令 其他一些指令与这里的几条指令有相当多的共同特性,属于其他一些指令与这里的几条指令有相当多的共同特性,属于同一组的指令的执行步骤非常类似。同一组的指令的执行步骤非常类似。第9页,此课件共49页哦读取指令读取指令 AR PC,PC PC+1 读主存,读主存,IR 读出内容读出内容 执行指令执行指令 ALU R0 ALU R1 执行执行+R0 ALU,记忆结果特征,记忆结果特征结束,判中断结束,判中断指令执行步骤简单的文字描述指令执行步骤简单的文字描述加法指令加法指令 ADD R0,R1 形形成成下下条条指指令令的的地地址址第10页,此课件共49页哦寄存器内
9、容传送指令寄存器内容传送指令MVRR R9,R0 读取指令读取指令 AR PC,PC PC+1 读主存,读主存,IR 读出内容读出内容 执行指令执行指令 ALU 0 ALU R0 执行执行+R9 ALU结束,判中断结束,判中断形形成成下下条条指指令令的的地地址址第11页,此课件共49页哦输入指令输入指令 IN 80 读取指令读取指令 AR PC,PC PC+1 读主存,读主存,IR 读出内容读出内容 执行指令执行指令 AR I/O Port 读外设读外设,ALU 读出数据读出数据 ALU 0 执行执行+R0 ALU结束,判中断结束,判中断形形成成下下条条指指令令的的地地址址第12页,此课件共4
10、9页哦写寄存器内容到主存写寄存器内容到主存STRA 2007,R9读取指令读取指令 AR PC,PC PC+1 读主存,读主存,IR 读出内容读出内容 执行指令执行指令 AR PC,PC PC+1 读主存,读主存,AR 读出内容读出内容 ALU 0,ALU R9,+写主存写主存,总线总线 ALU,结束,判中断结束,判中断(地址(地址 2007 存在指令的第二个字中)存在指令的第二个字中)形形成成下下条条指指令令的的地地址址第13页,此课件共49页哦相对转移指令相对转移指令 JRC 2000 读取指令读取指令 AR PC,PC PC+1 读主存,读主存,IR 读出内容读出内容执行指令执行指令 若
11、若 c=1 则:则:ALU PC ALU offset(IR低字节)低字节)二者相加,结果送二者相加,结果送PC 否则,否则,PC 不接收二者之和不接收二者之和结束,判中断结束,判中断形形成成下下条条指指令令的的地地址址第14页,此课件共49页哦子程序返回指令子程序返回指令 RET 读取指令读取指令 AR PC,PCPC+1 读主存,读主存,IR 读出内容读出内容 执行指令执行指令 AR SP SP SP+1 读主存读主存,PC读出内容读出内容 结束,判中断结束,判中断形形成成下下条条指指令令的的地地址址第15页,此课件共49页哦 PC 0 AR PCPCPC+1 IR(AR)寄存器之间寄存器
12、之间运算与传送运算与传送 读、写内存读、写内存AR地址地址 AR地址地址 读、写内存读、写内存 或或 I/O 接口接口 读、写内存读、写内存 PC地址地址教学计算机的基本指令、扩展指令执行流程图教学计算机的基本指令、扩展指令执行流程图A组组B组组C组组D组组/ResetB、C、D组组C 组指令也是组指令也是 2 次读写内存,第次读写内存,第 1 次次的读操作和第的读操作和第 2 次的送地址操作同时次的送地址操作同时完成,只用完成,只用 3 步执行了两次内存读写步执行了两次内存读写过程。过程。仅在教学机加电启动时执行仅在教学机加电启动时执行1次次第16页,此课件共49页哦三、微程序控制器的运行原
13、理三、微程序控制器的运行原理 每条指令一个执行步骤用到的全体控制信号组成一微指令,每条指令一个执行步骤用到的全体控制信号组成一微指令,每条微指令可以包括一到多个微操作。每条微指令可以包括一到多个微操作。用多条微指令用多条微指令(一个微程序一个微程序)解释每条指令的执行过程,解释每条指令的执行过程,全部的微程序有机地组合在一起,被保在控制存储器中。全部的微程序有机地组合在一起,被保在控制存储器中。执行一条微指令所用的时间被称为一个微周期。执行一条微指令所用的时间被称为一个微周期。微指令的格式和内容:微指令的格式和内容:下地址字段下地址字段 控制命令字段控制命令字段执行第执行第 i条微指令条微指令
14、读出第读出第 i+1条微指令条微指令读与执行微指令的读与执行微指令的并行流水技术并行流水技术形成第形成第 i+1条微指令地址条微指令地址一个微周期一个微周期接接收收微微指指令令第17页,此课件共49页哦下地址字段下地址字段 (微指令寄存器微指令寄存器)控制命令字段控制命令字段 微指令寄存器微指令寄存器控制存储器控制存储器(存放微程序)(存放微程序)下地址形成逻辑下地址形成逻辑指令操作码指令操作码状态状态当前微指令信号当前微指令信号下一条微指令信号下一条微指令信号 微程序控制器的基本组成和运行原理微程序控制器的基本组成和运行原理第18页,此课件共49页哦第19页,此课件共49页哦微程序控制器实验
15、微程序控制器实验Am2910MAPROM 374微下地微下地址址 273CI SCC30 30 374 374 374 374 374SCC Gal控制存储器(控制存储器(ROM)指令操作码指令操作码微指令转移的微指令转移的控制条件控制条件/CC低有效低有效微指令寄存器微指令寄存器0MRW SA I86 B口口 0SST DC2 0 I20 SB I53 A口口 SSHSCI DC1CP/G读读命命令令1.确定指令功能与格式确定指令功能与格式 2.划分指令执行步骤划分指令执行步骤 3.分配微指令地址分配微指令地址 4.设计微指令内容设计微指令内容5.把新微指令写入控存把新微指令写入控存 6.需
16、要时修改需要时修改 MAPROM 和和 SCC Gal 等等 7.调试并且运行调试并且运行B 口二选一口二选一A 口二选一口二选一IR.SRIR.DR/MAP(2#)/PL(3#)SBSACM1 CM2 CM3 CM4 CM5 CM6 CM7 0#14#0#2#3#14#CI=0#MAR为为00h;CI=2#MAR来自来自MAPROM;CI=14#是是 顺序执行顺序执行;CI=3#且且/CC为低为低,MAR来自微下地址来自微下地址,/CC为高为高,则是则是 顺序执行。顺序执行。MARRESET 377CPMAPROM 用于从操作用于从操作码码 映射出映射出 微指令地址微指令地址第20页,此课件
17、共49页哦 微程序控制器部件微程序控制器部件56位的微指令字长位的微指令字长 微下地址字段微下地址字段16位位 控制命令字段控制命令字段40位位7 片片 28C64 组成控存组成控存1 片片 28C65,从指令操,从指令操 作码产生微地址作码产生微地址1 片片 374 存存 8 位下地址位下地址1 片片 273 存存 8 位条件码位条件码1 片片377存存8位现微地址位现微地址1 片片Am2910给出下一条给出下一条 微指令地址微指令地址1 片片GAL 按判断条件产按判断条件产 生微指令转移信号生微指令转移信号/CC5 片片GAL用作为用作为 5 片片 8位位 的的 D 触发器的寄存器触发器的
18、寄存器2 片片GAL 实现两个实现两个4 位的位的 2 选选 1 芯片功能芯片功能16位的指令寄存器位的指令寄存器 IR16位的程序计数器位的程序计数器 PC PC第21页,此课件共49页哦下地址字段的内容下地址字段的内容得到下地址的方法:得到下地址的方法:1.由指令操作码得到由指令操作码得到 2.微指令顺序执行微指令顺序执行 3.微指令必转或条件转移微指令必转或条件转移 多路微地址转移多路微地址转移 4.微子程序调用和返回微子程序调用和返回 5.按次数循环一段微程序按次数循环一段微程序 6.其他:如特定入口微地址其他:如特定入口微地址 在微指令下地址字段在微指令下地址字段中表示清楚:中表示清
19、楚:使用哪种方法,使用哪种方法,哪个哪个(些些)判断条件,判断条件,要用的有关地址等,要用的有关地址等,并用专门电路完成必要支并用专门电路完成必要支持和处理,持和处理,微指令的下地址是微程微指令的下地址是微程序设计中要重点解决的序设计中要重点解决的问题之一,问题之一,技术、技巧性强,技术、技巧性强,应学得好些。应学得好些。在教学计算机中,解决下地址使用了在教学计算机中,解决下地址使用了 Am2910 器件器件第22页,此课件共49页哦微堆桟指针微堆桟指针 SP 5字字*12位位 微堆桟微堆桟 F微程序计数微程序计数器器 PC 寄存器寄存器/计数器计数器R/CD R F PC多路选择器多路选择器
20、命令命令译码译码器器 增增 量量 器器 零检零检测测D11D0Y11Y0CP/FULLCI/CC/CCENI3I0/PL /MAP /VECT/RLD/OE出栈出栈/入栈入栈保持保持/清零清零装数装数减量减量保持保持清零清零选择选择R为零为零Am2910器件器件第23页,此课件共49页哦 非零循环非零循环 零零 /PL PC 弹出弹出 PC 弹出弹出4 入栈与装数入栈与装数 注注1 /PL PC 压入压入 PC 压入压入6 读手拨开关读手拨开关 /VECT PC D 3 条件微转移条件微转移 /PL PC D 2 功能分支功能分支 /MAP D D 1 条件转微子条件转微子 /PL PC D
21、压入压入 完成完成 R/C R/C 使能使能 /CC=高高 /CC=低低 功能功能 内容内容 操作操作 信号信号 Y输出输出 堆栈堆栈 Y输出输出 堆栈堆栈 0 初始化初始化 /PL 0 清除清除 0 清除清除 8 R/C 非零非零 减减1 /PL F F 10 微子返回微子返回 /PL PC F 弹出弹出14 顺序执行顺序执行 /PL PC PC 15 三路转移三路转移 非零非零 减减1 /PL F PC 弹出弹出 零零 /PL D 弹出弹出 PC 弹出弹出第24页,此课件共49页哦 8 位微下地址字段用于直接给出下一条微指令的地址,位微下地址字段用于直接给出下一条微指令的地址,下地址字段的
22、内容下地址字段的内容 微下地址微下地址 2910的命令码的命令码 微转移条件微转移条件8位4位4位分成分成 3 个子字段,总共使用个子字段,总共使用17位码位码(微指令中用微指令中用16位位)4 位的命令码,用于选择位的命令码,用于选择 Am2910 的的 16 个命令个命令,如前面的表格如前面的表格内容所示。内容所示。4 位的微转移条件编码,用于给出微指令转移所依据的条位的微转移条件编码,用于给出微指令转移所依据的条件,与教学机具体设计有关。件,与教学机具体设计有关。第25页,此课件共49页哦四、四、微指令控制信号组成微指令控制信号组成和微指令格式设计和微指令格式设计第26页,此课件共49页
23、哦控制命令字控制命令字段给出计算机各功能部件协同运行所需要的控制信号,给出计算机各功能部件协同运行所需要的控制信号,把它们划分成若干字段,分别用于控制各部件把它们划分成若干字段,分别用于控制各部件(1)对运算器部件的控制对运算器部件的控制 例如:运算功能,数据来源,结果处理等例如:运算功能,数据来源,结果处理等 (2)对主存和输入输出接口对主存和输入输出接口(设备设备)的控制的控制 例如例如:是主存读、写还是入出设备读、写是主存读、写还是入出设备读、写 (3)对总线的控制对总线的控制 例如:把什么信息发送到有关总线例如:把什么信息发送到有关总线 (4)对几个特定的寄存器的接收操作控制对几个特定
24、的寄存器的接收操作控制 即在此时刻让哪一个寄存器接收发送给它的输入信息即在此时刻让哪一个寄存器接收发送给它的输入信息 (5)对控制器部件本身的控制(下地址字段)对控制器部件本身的控制(下地址字段)主要是正确给出形成下条微指令的地址的信息主要是正确给出形成下条微指令的地址的信息第27页,此课件共49页哦控制器应提供的控制信号控制器应提供的控制信号Y15Y0 用用16个指示灯显示结果个指示灯显示结果D15D0RAM15Q15RAM0Q0CinCyF=0OverF15运运 算算 器器 部部 件件(4 片片 Am2901)A30B30I86 用用16个数据开关提供输入数据个数据开关提供输入数据CZVS
25、SSHSSTSCII53 I20SCI SSH A口口 B口口I86 I53 I20 SST通过通过24位微型开关位微型开关 提供控制信号提供控制信号各各用用四四个个指指示示灯灯显显示示状状态态Gal20V8Gal20V8第28页,此课件共49页哦(1)对运算器的控制对运算器的控制26 位控制信号位控制信号,其中其中24位同微型开关内容位同微型开关内容,加加SA、SB两位两位 A3A0,B3B0 I8I6,I5I3,I2I0 SST20,SSH10,SCI10 SA、SB 的用法:表明送的用法:表明送ALU的的A口、口、B口地址来源口地址来源 为为1:来自:来自 IR 的的 SR、DR字段字段
26、 为为0:来自微指令的:来自微指令的A、B字段字段寄存器分配:寄存器分配:R4:SP R5:PC约定用法:约定用法:R0:I/O指令约定使用指令约定使用 也是通用累加器也是通用累加器 二选一芯片二选一芯片微指令微指令.B IR.DRB口地址(送口地址(送ALU)线路实现线路实现 IN 80 SHR R3PCPC+1SB第29页,此课件共49页哦读写主存储器或读写主存储器或I/O接口接口 从学习指令执行步骤考虑,理解对从学习指令执行步骤考虑,理解对主存储器主存储器读写的控制,分读写的控制,分成两步:成两步:1.传送传送主存地址主存地址,以选择被读写的存储单元;,以选择被读写的存储单元;2.给出读
27、写命令,给出读写命令,读操作时,把读出数据保存起来,读操作时,把读出数据保存起来,写操作时,还要给出写入的数据。写操作时,还要给出写入的数据。从学习指令执行步骤考虑,理解对从学习指令执行步骤考虑,理解对接口电路接口电路读写的控制,分成两读写的控制,分成两步:步:1.传送传送IO端口地址端口地址,以选择被读写的芯片;,以选择被读写的芯片;2.给出读写命令,给出读写命令,读操作时,把读出数据保存起来,读操作时,把读出数据保存起来,写操作时,还要给出写入的数据。写操作时,还要给出写入的数据。第30页,此课件共49页哦(2)对内存和对内存和 I/O接口的读写接口的读写/MIO(0:有内存或串口读写,有
28、内存或串口读写,1:无):无)REQ(0:读写内存,:读写内存,1:读写串行口):读写串行口)/WE (0:写操作,:写操作,1:读操作):读操作)0 0 0 写内存写内存0 0 1 读内存读内存0 1 0 写串口写串口0 1 1 读串口读串口1 XX 无内存和串口的读写操作无内存和串口的读写操作第31页,此课件共49页哦对总线的控制对总线的控制 总线是用于连接计算机各个功能部件的总线是用于连接计算机各个功能部件的线路和连接线,通常由具有三态输出功能的线路和连接线,通常由具有三态输出功能的器件构成,以便用分时地方式,在不同时刻器件构成,以便用分时地方式,在不同时刻把不同的数据发送到总线上,任何
29、时刻仅能把不同的数据发送到总线上,任何时刻仅能有一个数据发送到总线上;有一个数据发送到总线上;总线上的数据可以被送到需要接收数据总线上的数据可以被送到需要接收数据的部件或者线路,多个线路可以同时接收同的部件或者线路,多个线路可以同时接收同一个来源数据。一个来源数据。计算机中总要使用计算机中总要使用 3 种类型的总线:种类型的总线:数据总线,数据总线,地址总线地址总线,控制总线控制总线第32页,此课件共49页哦(3)对内部总线和对内部总线和(4)特定寄存器的控制特定寄存器的控制选择送内部总线的信息来源选择送内部总线的信息来源DC120 信号名称信号名称 注释注释 000 /SWTOIB 来自开关
30、来自开关 001 /RTOIB ALU的输出的输出 010 /ETOIB 符号扩展符号扩展16位位 011 /FTOIB 状态位输出状态位输出 100 未用未用 101 /INTVH 中断向量的中断向量的 110 /INTVL 高、低高、低 8 位位 110 NC 不用不用控制指定寄存器接收信息控制指定寄存器接收信息DC220 信号名称信号名称 注释注释 000 NC 不用不用 001 /GIR 指令寄存器指令寄存器 010 未用未用 011 /GAR 地址寄存器地址寄存器 100 /INTR 取原中断优先级取原中断优先级 101 /INTN 置新中断优先级置新中断优先级 110 /EI 开中
31、断开中断 110 /DI 关中断关中断第33页,此课件共49页哦 8 位微下地址字段用于直接给出下一条微指令的地址,位微下地址字段用于直接给出下一条微指令的地址,(5)对控制器本身的控制(下地址字段的内容)对控制器本身的控制(下地址字段的内容)微下地址微下地址 2910的命令码的命令码 微转移条件微转移条件8位4位4位分成分成 3 个子字段,总共使用个子字段,总共使用17位码位码(微指令中用微指令中用16位位)4 位的命令码,用于选择位的命令码,用于选择 Am2910 的的 16 个命令个命令,如前面的表格内如前面的表格内容所示。容所示。4 位的微转移条件编码,用于给出微指令转移所依据的条件,
32、位的微转移条件编码,用于给出微指令转移所依据的条件,与教学机具体设计有关。与教学机具体设计有关。第34页,此课件共49页哦确定微指令格式确定微指令格式M R W I2I0 SA I8I6 SB I2I0微下地址微下地址 微命令码微命令码 转移条件转移条件 B地址地址 A地址地址 SST20 SSH SCIDC2-20 DC1-2055 48 47 44 43 4039 43 35 32 31 28 27 2423 20 19 16 15 12 11 87 4 3 0位序号位序号微指令字段划分和微命令名微指令字段划分和微命令名微指令字长微指令字长56位,微下地址字位,微下地址字段段8位,其它字段
33、都是位,其它字段都是4位位第35页,此课件共49页哦第36页,此课件共49页哦微程序控制器实验微程序控制器实验 Am2910MAPROM微下微下地址地址CI SCC30 30SCC Gal控制存储器(控制存储器(ROM)指令操作码指令操作码微指令转移的微指令转移的控制条件控制条件/SCC微指令寄存器微指令寄存器0MRW SA I86 B口口 0SST DC2 0 I20 SB I53 A口口 SSHSCI DC1CP/G读命令读命令1.确定指令功能与格式确定指令功能与格式 2.划分指令执行步骤划分指令执行步骤 3.分配微指令地址分配微指令地址 4.设计微指令内容设计微指令内容5.把新微指令写入
34、控存把新微指令写入控存 6.需要时修改需要时修改 MAPROM 和和 SCC Gal 等等 7.调试并且运行调试并且运行B 口二选一口二选一A 口二选一口二选一IR.SRIR.DR/MAP/PLSBSA第37页,此课件共49页哦 微程序控制器部件微程序控制器部件56位的微指令字长位的微指令字长 微下地址字段微下地址字段16位位 控制命令字段控制命令字段40位位7 片片 28C64 组成控存组成控存1 片片 28C65,从指令操,从指令操 作码产生微地址作码产生微地址1 片片 374 存存 8 位下地址位下地址1 片片 273 存存 8 位条件码位条件码1 片片377存存8位现微地址位现微地址1
35、 片片Am2910给出下一条给出下一条 微指令地址微指令地址1 片片GAL 按判断条件产按判断条件产 生微指令转移信号生微指令转移信号/CC5 片片GAL用作为用作为 5 片片 8位位 的的 D 触发器的寄存器触发器的寄存器2 片片GAL 实现两个实现两个4 位的位的 2 选选 1 芯片功能芯片功能16位的指令寄存器位的指令寄存器 IR16位的程序计数器位的程序计数器 PC PC第38页,此课件共49页哦微命令字段的编码译码方法微命令字段的编码译码方法 1.直接控制法直接控制法直接用微指令字的一位作一个控制信号则简单且速度快,直接用微指令字的一位作一个控制信号则简单且速度快,但会使微指令字变得
36、很长。但会使微指令字变得很长。2.字段直接编译法字段直接编译法 把互斥的命令分在一组加以编码,经译码器给出命令,把互斥的命令分在一组加以编码,经译码器给出命令,速度会稍慢,但可大大减短微指令字长度,确保互斥。速度会稍慢,但可大大减短微指令字长度,确保互斥。3.字段间接编译法字段间接编译法 是对直接译码的的一种改进,可进一步缩短微指令字长是对直接译码的的一种改进,可进一步缩短微指令字长度,即一个字段的某些微命令还受另一字段的制约。度,即一个字段的某些微命令还受另一字段的制约。4.常数源字段常数源字段 微指令中分配几位,用于给出特定用途的有关数值。微指令中分配几位,用于给出特定用途的有关数值。第3
37、9页,此课件共49页哦五、五、为每一条微指令分配微地址为每一条微指令分配微地址 需要为每一条微指令在控存中分配一个需要为每一条微指令在控存中分配一个合适的地址,这是合理地组织微程序的重要合适的地址,这是合理地组织微程序的重要工作;工作;1.首先确定微指令中下地址字段的组首先确定微指令中下地址字段的组成;成;2.再按每一条微指令在控存中的位置,再按每一条微指令在控存中的位置,来安排下地址字段各部分的编码,来安排下地址字段各部分的编码,这与控制器的这与控制器的 具体线路与方案具体线路与方案 有关。有关。第40页,此课件共49页哦 PC 0 AR PCPCPC+1/MAP寄存器之间寄存器之间运算与传
38、送运算与传送 读、写内存读、写内存AR地址地址 AR地址地址 读、写内存读、写内存 或或 I/O 接口接口 读、写内存读、写内存 PC地址地址教学计算机的基本指令、教学计算机的基本指令、扩展指令扩展指令执行流程图执行流程图A组组B组组C组组D组组/ResetB、C、D组组C 组指令也是组指令也是 2 次读写内存,第次读写内存,第 1 次的次的读操作和第读操作和第 2 次的送地址操作同时完次的送地址操作同时完成,只用成,只用 3 步执行了两次内存读写过程。步执行了两次内存读写过程。仅在教学机加电启动时执行仅在教学机加电启动时执行1次次 IR(AR)第41页,此课件共49页哦加电启动时,加电启动时
39、,执行执行 0PC接下来的两步,接下来的两步,完成取指操作完成取指操作按指令操作码,按指令操作码,读出相应微指令读出相应微指令按指令具体功能按指令具体功能,再分别用再分别用 1、2、3、4 步完成不同步完成不同指令组的中各条指令组的中各条指令的执行过程指令的执行过程最后检查中断请最后检查中断请求信号,有请求求信号,有请求时则响应中断,时则响应中断,否则开始下一条否则开始下一条指令的执行过程指令的执行过程第42页,此课件共49页哦六、六、微指令控制信号字段编码微指令控制信号字段编码为每一条微指令各项微操作确定为每一条微指令各项微操作确定 其所要求的控制信号其所要求的控制信号 如如:使使 IR,A
40、R 等寄存器接收的信号等寄存器接收的信号 控制控制 PC 增量和接收的信号增量和接收的信号 读写主存,读写外设的信号读写主存,读写外设的信号 控制运算器操作的信号控制运算器操作的信号 等等这要看这要看被控制的具体对象的具体要求被控制的具体对象的具体要求 通过已有结果看一下微码设计过程通过已有结果看一下微码设计过程第43页,此课件共49页哦下址下址 CI30 SCC30 0MRW CI30 SCC30 0MRW 0 I20 0 I20 SA I86 I86 SB I53 BI53 B口口 A A口口 0 SST SSH SCI 0 SST SSH SCI DC2 DC1 DC2 DC1 00 E
41、 0 4 3 2 0 5 5 0 1 3 000 E 0 1 0 1 0 0 0 0 0 1 000 2 0 4 0 1 0 0 0 0 0 0 030 3 0 4 1 B 8 0 0 1 0 0 030 3 0 4 4 B 8 0 0 0 0 0 014 3 6 4 7 1 0 0 0 0 0 3 230 3 0 3 7 3 0 0 0 0 0 0 000 E 0 4 3 2 0 5 5 0 1 3 000 E 0 1 7 0 0 0 0 0 0 0 000 E 0 4 3 3 1 4 0 0 0 3 030 3 0 0 2 2 0 5 5 0 0 0 1指令执行流程表举例指令执行流程表举例
42、ADD DR,SR MVRR DR,SR IN IO-PORT CALA ADR 第44页,此课件共49页哦下址下址 CI30 SCC30 0MRW CI30 SCC30 0MRW 0 I20 0 I20 SA I86 I86 SB I53 BI53 B口口 A A口口 0 SST SSH SCI 0 SST SSH SCI DC2 DC1 DC2 DC1 00 E 0 4 3 2 0 5 5 0 1 3 000 E 0 1 0 1 0 0 0 0 0 1 000 2 0 4 0 1 0 0 0 0 0 0 0指令执行流程表举例指令执行流程表举例ADD DR,SR MVRR DR,SR IN
43、IO-PORT CALA ADR 第第 1 条微指令条微指令和和第第 2 条微指令条微指令用于完成读取指令,具体操作功能用于完成读取指令,具体操作功能是:是:PCAR,PC+1PC;PC 是是 R5,A口口 和和 B口口 均选均选5,B口内容口内容+1 送送 B口;口;输出输出A口的内容送口的内容送AR寄存器。寄存器。读主存,读主存,读出内容读出内容 IR;微微指令都是指令都是顺序执行,故顺序执行,故 2910选选 14#命令。命令。第第 3 条微指令按读出的指令的操作码,形成相应微指令的地址,读出条微指令按读出的指令的操作码,形成相应微指令的地址,读出该条微指令并将其写入微指令寄存器该条微指
44、令并将其写入微指令寄存器,2910选选 2#命令命令,控制运算器的控制运算器的 I8I6 选选 001 码,保证运算器的各寄存器内容不变化。码,保证运算器的各寄存器内容不变化。无存储器和无存储器和IO读读写,故写,故/MIO REQ/WE 选选 100 码。码。第45页,此课件共49页哦下址下址 CI30 SCC30 0MRW CI30 SCC30 0MRW 0 I20 0 I20 SA I86 I86 SB I53 BI53 B口口 A A口口 0 SST SSH SCI 0 SST SSH SCI DC2 DC1 DC2 DC1 00 E 0 4 3 2 0 5 5 0 1 3 000 E
45、 0 1 0 1 0 0 0 0 0 1 000 2 0 4 0 1 0 0 0 0 0 0 030 3 0 4 1 B 8 0 0 1 0 0 030 3 0 4 4 B 8 0 0 0 0 0 0指令执行流程表举例指令执行流程表举例ADD DR,SR MVRR DR,SR IN IO-PORT CALA ADR 第第 3 条微指令条微指令和和第第 4 条微指令条微指令 用于完成两个累加器之间的用于完成两个累加器之间的相加相加和和传传送送操作。具体操作是:操作。具体操作是:2 累加器相加,累加器相加,DR+SRDR,A口和口和 B口口 编码编码来自指令寄存器,故来自指令寄存器,故SA 和和
46、SB都给都给 1 值;下微指令转判中断请求值;下微指令转判中断请求,故故 2910选选 3#命令且命令且 SCC 为为 0000,必转必转 30。第第 4 条微指令,条微指令,完成两个累加器之间的数据传送,完成两个累加器之间的数据传送,累加器累加器SR的内容和的内容和 0相加,存相加,存入入DR寄存器中,不保存标志位的值,故寄存器中,不保存标志位的值,故SST为为000。上条微指令上条微指令SST为为001,保存标志位的,保存标志位的值。两条微指令都无存储器和值。两条微指令都无存储器和 IO读写,读写,MRW为为100。第46页,此课件共49页哦下址下址 CI30 SCC30 0MRW CI3
47、0 SCC30 0MRW 0 I20 0 I20 SA I86 I86 SB I53 BI53 B口口 A A口口 0 SST SSH SCI 0 SST SSH SCI DC2 DC1 DC2 DC1 14 3 6 4 7 1 0 0 0 0 0 3 230 3 0 3 7 3 0 0 0 0 0 0 0指令执行流程表举例指令执行流程表举例ADD DR,SR MVRR DR,SR IN IO-PORT CALA ADR 第第 5、6 两条微指令完成读串行接口两条微指令完成读串行接口,具体操作是:先送具体操作是:先送 IO 端口地址(端口地址(在在 IR 的低的低 8位位)到地址)到地址寄存器
48、寄存器AR,DC1 为为 2 选选 IR 的低的低 8位送内部总线,经位送内部总线,经 ALU(送出送出 D+0)到到 AR,DC2 为为 3 是是 AR 接收;接收;IN 指令的第指令的第1条微指令中的下地址的条微指令中的下地址的 3 个子字段个子字段分别为分别为 14 3 6,条件码为,条件码为 6 时(是时(是 IN指令)转地址指令)转地址14,否则(是,否则(是 OUT 指令)顺序执行;指令)顺序执行;下一微指令完成读串口输入到内部总线,把下一微指令完成读串口输入到内部总线,把D+0 送到送到 ALU并写进并写进 R0(B 口选口选 0000);转判中断请求);转判中断请求,故故 CI
49、 选选 3#且且 SCC 为为 0000,必转必转 30。第47页,此课件共49页哦下址下址 CI30 SCC30 0MRW CI30 SCC30 0MRW 0 I20 0 I20 SA I86 I86 SB I53 BI53 B口口 A A口口 0 SST SSH SCI 0 SST SSH SCI DC2 DC1 DC2 DC1 00 E 0 4 3 2 0 5 5 0 1 3 000 E 0 1 7 0 0 0 0 0 0 0 000 E 0 4 3 3 1 4 0 0 0 3 030 3 0 0 2 2 0 5 5 0 0 0 1指令执行流程表举例指令执行流程表举例ADD DR,SR
50、MVRR DR,SR IN IO-PORT CALA ADR 后后 4 条微指令条微指令之间顺序执行,前之间顺序执行,前 3 条的条的 CI 都是都是 E,依次,依次完成:完成:1.PCAR,PC+1 PC;(控制命令同读取指令的第控制命令同读取指令的第1步步);2.读内存读内存(MRW=001)送送 Q(D+0 Q)(子程序入口子程序入口);3.修改堆栈指针并送修改堆栈指针并送AR,SP-1 SP,AR;SP 是是 R4,即,即R4 的内容的内容-1 R4 和和 AR(DC2 为为 3 是是 AR 接收接收);4.写断点(写断点(PC的内容)到堆栈的内容)到堆栈,即即 A 口指定的寄存器口指