《计算机组成原理实验微程序控制器优秀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类型指令类型指令读写内存类型指令读写内存类型指令输入输出类型指令输入输出类型指令其他类型指令其他类型指令 可能执行可能执行 一一次或多次次或多次 是一次读是一次读内存操作内存操作公共操作公共操作公共操作公共操作是每一条指令的特定操作是每一
7、条指令的特定操作现在学习的是第8页,共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,否则顺序执
8、行否则顺序执行2006:8F00 RET ;子程序返回指令子程序返回指令 其他一些指令与这里的几条指令有相当多的共同特性,属于其他一些指令与这里的几条指令有相当多的共同特性,属于同一组的指令的执行步骤非常类似。同一组的指令的执行步骤非常类似。现在学习的是第9页,共49页读取指令读取指令 AR PC,PC PC+1 读主存,读主存,IR 读出内容读出内容 执行指令执行指令 ALU R0 ALU R1 执行执行+R0 ALU,记忆结果特征,记忆结果特征结束,判中断结束,判中断指令执行步骤简单的文字描述指令执行步骤简单的文字描述加法指令加法指令 ADD R0,R1 形形成成下下条条指指令令的的地地址
9、址现在学习的是第10页,共49页寄存器内容传送指令寄存器内容传送指令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结束,判中断结束,判中断形形成成下下
10、条条指指令令的的地地址址现在学习的是第12页,共49页写寄存器内容到主存写寄存器内容到主存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 读主存
11、,读主存,IR 读出内容读出内容执行指令执行指令 若若 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页 P
12、C 0 AR PCPCPC+1 IR(AR)寄存器之间寄存器之间运算与传送运算与传送 读、写内存读、写内存AR地址地址 AR地址地址 读、写内存读、写内存 或或 I/O 接口接口 读、写内存读、写内存 PC地址地址教学计算机的基本指令、扩展指令执行流程图教学计算机的基本指令、扩展指令执行流程图A组组B组组C组组D组组/ResetB、C、D组组C 组指令也是组指令也是 2 次读写内存,第次读写内存,第 1 次的读操作和第次的读操作和第 2 次的送地址操次的送地址操作同时完成,只用作同时完成,只用 3 步执行了两步执行了两次内存读写过程。次内存读写过程。仅在教学机加电启动时执行仅在教学机加电启动时
13、执行1次次现在学习的是第16页,共49页三、微程序控制器的运行原理三、微程序控制器的运行原理 每条指令一个执行步骤用到的全体控制信号组成一微指令,每条指令一个执行步骤用到的全体控制信号组成一微指令,每条微指令可以包括一到多个微操作。每条微指令可以包括一到多个微操作。用多条微指令用多条微指令(一个微程序一个微程序)解释每条指令的执行过程,解释每条指令的执行过程,全部的微程序有机地组合在一起,被保在控制存储器中。全部的微程序有机地组合在一起,被保在控制存储器中。执行一条微指令所用的时间被称为一个微周期。执行一条微指令所用的时间被称为一个微周期。微指令的格式和内容:微指令的格式和内容:下地址字段下地
14、址字段 控制命令字段控制命令字段执行第执行第 i条微指令条微指令读出第读出第 i+1条微指令条微指令读与执行微指令的读与执行微指令的并行流水技术并行流水技术形成第形成第 i+1条微指令地址条微指令地址一个微周期一个微周期接接收收微微指指令令现在学习的是第17页,共49页下地址字段下地址字段 (微指令寄存器微指令寄存器)控制命令字段控制命令字段 微指令寄存器微指令寄存器控制存储器控制存储器(存放微程序)(存放微程序)下地址形成逻辑下地址形成逻辑指令操作码指令操作码状态状态当前微指令信号当前微指令信号下一条微指令信号下一条微指令信号 微程序控制器的基本组成和运行原理微程序控制器的基本组成和运行原理
15、现在学习的是第18页,共49页现在学习的是第19页,共49页微程序控制器实验微程序控制器实验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.
16、设计微指令内容设计微指令内容5.把新微指令写入控存把新微指令写入控存 6.需要时修改需要时修改 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
17、用于从操作码用于从操作码 映射映射出出 微指令地址微指令地址现在学习的是第20页,共49页 微程序控制器部件微程序控制器部件56位的微指令字长位的微指令字长 微下地址字段微下地址字段16位位 控制命令字段控制命令字段40位位7 片片 28C64 组成控存组成控存1 片片 28C65,从指令操,从指令操 作码产生微地址作码产生微地址1 片片 374 存存 8 位下地址位下地址1 片片 273 存存 8 位条件码位条件码1 片片377存存8位现微地址位现微地址1 片片Am2910给出下一条给出下一条 微指令地址微指令地址1 片片GAL 按判断条件产按判断条件产 生微指令转移信号生微指令转移信号/C
18、C5 片片GAL用作为用作为 5 片片 8位位 的的 D 触发器的寄存器触发器的寄存器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微程序计数器
20、微程序计数器 PC 寄存器寄存器/计数器计数器R/CD R F PC多路选择器多路选择器命令命令译码译码器器 增增 量量 器器 零检零检测测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 P
21、C D 2 功能分支功能分支 /MAP D D 1 条件转微子条件转微子 /PL PC D 压入压入 完成完成 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页
23、四、四、微指令控制信号组成微指令控制信号组成和微指令格式设计和微指令格式设计现在学习的是第26页,共49页控制命令字控制命令字段给出计算机各功能部件协同运行所需要的控制信号,给出计算机各功能部件协同运行所需要的控制信号,把它们划分成若干字段,分别用于控制各部件把它们划分成若干字段,分别用于控制各部件(1)对运算器部件的控制对运算器部件的控制 例如:运算功能,数据来源,结果处理等例如:运算功能,数据来源,结果处理等 (2)对主存和输入输出接口对主存和输入输出接口(设备设备)的控制的控制 例如例如:是主存读、写还是入出设备读、写是主存读、写还是入出设备读、写 (3)对总线的控制对总线的控制 例如:
24、把什么信息发送到有关总线例如:把什么信息发送到有关总线 (4)对几个特定的寄存器的接收操作控制对几个特定的寄存器的接收操作控制 即在此时刻让哪一个寄存器接收发送给它的输入信息即在此时刻让哪一个寄存器接收发送给它的输入信息 (5)对控制器部件本身的控制(下地址字段)对控制器部件本身的控制(下地址字段)主要是正确给出形成下条微指令的地址的信息主要是正确给出形成下条微指令的地址的信息现在学习的是第27页,共49页控制器应提供的控制信号控制器应提供的控制信号Y15Y0 用用16个指示灯显示结果个指示灯显示结果D15D0RAM15Q15RAM0Q0CinCyF=0OverF15运运 算算 器器 部部 件
25、件(4 片片 Am2901)A30B30I86 用用16个数据开关提供输入数据个数据开关提供输入数据CZVSSSHSSTSCII53 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 的用法:表
26、明送的用法:表明送ALU的的A口、口、B口地址来源口地址来源 为为1:来自:来自 IR 的的 SR、DR字段字段 为为0:来自微指令的:来自微指令的A、B字段字段寄存器分配:寄存器分配:R4:SP R5:PC约定用法:约定用法:R0:I/O指令约定使用指令约定使用 也是通用累加器也是通用累加器 二选一芯片二选一芯片微指令微指令.B IR.DRB口地址(送口地址(送ALU)线路实现线路实现 IN 80 SHR R3PCPC+1SB现在学习的是第29页,共49页读写主存储器或读写主存储器或I/O接口接口 从学习指令执行步骤考虑,理解对从学习指令执行步骤考虑,理解对主存储器主存储器读写的控制,分成读
27、写的控制,分成两步:两步:1.传送传送主存地址主存地址,以选择被读写的存储单元;,以选择被读写的存储单元;2.给出读写命令,给出读写命令,读操作时,把读出数据保存起来,读操作时,把读出数据保存起来,写操作时,还要给出写入的数据。写操作时,还要给出写入的数据。从学习指令执行步骤考虑,理解对从学习指令执行步骤考虑,理解对接口电路接口电路读写的控制,分成两读写的控制,分成两步:步:1.传送传送IO端口地址端口地址,以选择被读写的芯片;,以选择被读写的芯片;2.给出读写命令,给出读写命令,读操作时,把读出数据保存起来,读操作时,把读出数据保存起来,写操作时,还要给出写入的数据。写操作时,还要给出写入的
28、数据。现在学习的是第30页,共49页(2)对内存和对内存和 I/O接口的读写接口的读写/MIO(0:有内存或串口读写,有内存或串口读写,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)特定寄存器的控制特定寄存
30、器的控制选择送内部总线的信息来源选择送内部总线的信息来源DC120 信号名称信号名称 注释注释 000 /SWTOIB 来自开关来自开关 001 /RTOIB ALU的输出的输出 010 /ETOIB 符号扩展符号扩展16位位 011 /FTOIB 状态位输出状态位输出 100 未用未用 101 /INTVH 中断向量的中断向量的 110 /INTVL 高、低高、低 8 位位 110 NC 不用不用控制指定寄存器接收信息控制指定寄存器接收信息DC220 信号名称信号名称 注释注释 000 NC 不用不用 001 /GIR 指令寄存器指令寄存器 010 未用未用 011 /GAR 地址寄存器地址
31、寄存器 100 /INTR 取原中断优先级取原中断优先级 101 /INTN 置新中断优先级置新中断优先级 110 /EI 开中断开中断 110 /DI 关中断关中断现在学习的是第33页,共49页 8 位微下地址字段用于直接给出下一条微指令的地址,位微下地址字段用于直接给出下一条微指令的地址,(5)对控制器本身的控制(下地址字段的内容)对控制器本身的控制(下地址字段的内容)微下地址微下地址 2910的命令码的命令码 微转移条件微转移条件8位4位4位分成分成 3 个子字段,总共使用个子字段,总共使用17位码位码(微指令中用微指令中用16位位)4 位的命令码,用于选择位的命令码,用于选择 Am29
32、10 的的 16 个命令个命令,如前面的表格如前面的表格内容所示。内容所示。4 位的微转移条件编码,用于给出微指令转移所依据的条件,位的微转移条件编码,用于给出微指令转移所依据的条件,与教学机具体设计有关。与教学机具体设计有关。现在学习的是第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
33、3 0位序号位序号微指令字段划分和微命令名微指令字段划分和微命令名微指令字长微指令字长56位,微下地址位,微下地址字段字段8位,其它字段都是位,其它字段都是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.确定指令功能与格
34、式确定指令功能与格式 2.划分指令执行步骤划分指令执行步骤 3.分配微指令地址分配微指令地址 4.设计微指令内容设计微指令内容5.把新微指令写入控存把新微指令写入控存 6.需要时修改需要时修改 MAPROM 和和 SCC Gal 等等 7.调试并且运行调试并且运行B 口二选一口二选一A 口二选一口二选一IR.SRIR.DR/MAP/PLSBSA现在学习的是第37页,共49页 微程序控制器部件微程序控制器部件56位的微指令字长位的微指令字长 微下地址字段微下地址字段16位位 控制命令字段控制命令字段40位位7 片片 28C64 组成控存组成控存1 片片 28C65,从指令操,从指令操 作码产生微
35、地址作码产生微地址1 片片 374 存存 8 位下地址位下地址1 片片 273 存存 8 位条件码位条件码1 片片377存存8位现微地址位现微地址1 片片Am2910给出下一条给出下一条 微指令地址微指令地址1 片片GAL 按判断条件产按判断条件产 生微指令转移信号生微指令转移信号/CC5 片片GAL用作为用作为 5 片片 8位位 的的 D 触发器的寄存器触发器的寄存器2 片片GAL 实现两个实现两个4 位的位的 2 选选 1 芯片功能芯片功能16位的指令寄存器位的指令寄存器 IR16位的程序计数器位的程序计数器 PC PC现在学习的是第38页,共49页微命令字段的编码译码方法微命令字段的编码
36、译码方法 1.直接控制法直接控制法直接用微指令字的一位作一个控制信号则简单且速度快,直接用微指令字的一位作一个控制信号则简单且速度快,但会使微指令字变得很长。但会使微指令字变得很长。2.字段直接编译法字段直接编译法 把互斥的命令分在一组加以编码,经译码器给出命令,把互斥的命令分在一组加以编码,经译码器给出命令,速度会稍慢,但可大大减短微指令字长度,确保互斥。速度会稍慢,但可大大减短微指令字长度,确保互斥。3.字段间接编译法字段间接编译法 是对直接译码的的一种改进,可进一步缩短微指令字长是对直接译码的的一种改进,可进一步缩短微指令字长度,即一个字段的某些微命令还受另一字段的制约。度,即一个字段的
37、某些微命令还受另一字段的制约。4.常数源字段常数源字段 微指令中分配几位,用于给出特定用途的有关数值。微指令中分配几位,用于给出特定用途的有关数值。现在学习的是第39页,共49页五、五、为每一条微指令分配微地址为每一条微指令分配微地址 需要为每一条微指令在控存中分配一需要为每一条微指令在控存中分配一个合适的地址,这是合理地组织微程序的个合适的地址,这是合理地组织微程序的重要工作;重要工作;1.首先确定微指令中下地址字段的组首先确定微指令中下地址字段的组成;成;2.再按每一条微指令在控存中的位置,再按每一条微指令在控存中的位置,来安排下地址字段各部分的编码,来安排下地址字段各部分的编码,这与控制
38、器的这与控制器的 具体线路与方案具体线路与方案 有关。有关。现在学习的是第40页,共49页 PC 0 AR PCPCPC+1/MAP寄存器之间寄存器之间运算与传送运算与传送 读、写内存读、写内存AR地址地址 AR地址地址 读、写内存读、写内存 或或 I/O 接口接口 读、写内存读、写内存 PC地址地址教学计算机的基本指令、教学计算机的基本指令、扩展指令扩展指令执行流程图执行流程图A组组B组组C组组D组组/ResetB、C、D组组C 组指令也是组指令也是 2 次读写内存,第次读写内存,第 1 次次的读操作和第的读操作和第 2 次的送地址操作同时次的送地址操作同时完成,只用完成,只用 3 步执行了
39、两次内存读写步执行了两次内存读写过程。过程。仅在教学机加电启动时执行仅在教学机加电启动时执行1次次 IR(AR)现在学习的是第41页,共49页加电启动时,加电启动时,执行执行 0PC接下来的两步,接下来的两步,完成取指操作完成取指操作按指令操作码,按指令操作码,读出相应微指令读出相应微指令按指令具体功能按指令具体功能,再分别用再分别用 1、2、3、4 步完成不同步完成不同指令组的中各条指令组的中各条指令的执行过程指令的执行过程最后检查中断请最后检查中断请求信号,有请求求信号,有请求时则响应中断,时则响应中断,否则开始下一条否则开始下一条指令的执行过程指令的执行过程现在学习的是第42页,共49页
40、六、六、微指令控制信号字段编码微指令控制信号字段编码为每一条微指令各项微操作确定为每一条微指令各项微操作确定 其所要求的控制信号其所要求的控制信号 如如:使使 IR,AR 等寄存器接收的信号等寄存器接收的信号 控制控制 PC 增量和接收的信号增量和接收的信号 读写主存,读写外设的信号读写主存,读写外设的信号 控制运算器操作的信号控制运算器操作的信号 等等这要看这要看被控制的具体对象的具体要求被控制的具体对象的具体要求 通过已有结果看一下微码设计过程通过已有结果看一下微码设计过程现在学习的是第43页,共49页下址下址 CI30 SCC30 0MRW CI30 SCC30 0MRW 0 I20 0
41、 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 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
42、 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 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
43、 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 IO-PORT CALA ADR 第第 1 条微指令条微指令和和第第 2 条微指令条微指令用于完成读取指令,具体操作功能是:用于完成读取指令,具体操作功能是:PCAR,PC+1PC;PC 是是 R5,A口口 和和 B口口 均选均选5,B口内容口内容+1 送送 B口;口;输出输出A口的内容送口的内容送AR寄存器。寄存器。读主存,读主存,读出内容读出内容 IR;微指令微指令都是都是顺序执行,故顺序执行,故 2910选选 14
44、#命令。命令。第第 3 条微指令按读出的指令的操作码,形成相应微指令的地址,读出该条微指令按读出的指令的操作码,形成相应微指令的地址,读出该条微指令并将其写入微指令寄存器条微指令并将其写入微指令寄存器,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
45、 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 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 条微指令条微指令 用于完成两个累加器之间的用于完成两个累加器之
46、间的相加相加和和传传送送操作。具体操作是:操作。具体操作是:2 累加器相加,累加器相加,DR+SRDR,A口和口和 B口口 编码编码来自指令寄存器,故来自指令寄存器,故SA 和和 SB都给都给 1 值;下微指令转判中断请求值;下微指令转判中断请求,故故 2910选选 3#命令且命令且 SCC 为为 0000,必转必转 30。第第 4 条微指令,条微指令,完成两个累加器之间的数据传送,完成两个累加器之间的数据传送,累加器累加器SR的内容和的内容和 0相加,存相加,存入入DR寄存器中,不保存标志位的值,故寄存器中,不保存标志位的值,故SST为为000。上条微指令上条微指令SST为为001,保存标志
47、,保存标志位的值。两条微指令都无存储器和位的值。两条微指令都无存储器和 IO读写,读写,MRW为为100。现在学习的是第46页,共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 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
48、 ADR 第第 5、6 两条微指令完成读串行接口两条微指令完成读串行接口,具体操作是:先送具体操作是:先送 IO 端口地址(端口地址(在在 IR 的低的低 8位位)到地址)到地址寄存器寄存器AR,DC1 为为 2 选选 IR 的低的低 8位送内部总线,经位送内部总线,经 ALU(送出送出 D+0)到到 AR,DC2 为为 3 是是 AR 接收;接收;IN 指令的第指令的第1条微指令中的下地址的条微指令中的下地址的 3 个子字段分个子字段分别为别为 14 3 6,条件码为,条件码为 6 时(是时(是 IN指令)转地址指令)转地址14,否则(是,否则(是 OUT 指令)顺序执行;指令)顺序执行;下
49、一微指令完成读串口输入到内部总线,把下一微指令完成读串口输入到内部总线,把D+0 送到送到 ALU并写进并写进 R0(B 口选口选 0000);转判中断请求);转判中断请求,故故 CI 选选 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
50、 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 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;S