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