计算机组织与结构(雷建军)9_第1页
计算机组织与结构(雷建军)9_第2页
计算机组织与结构(雷建军)9_第3页
计算机组织与结构(雷建军)9_第4页
计算机组织与结构(雷建军)9_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机组织与结构第九章第九章 控制器控制器重庆邮电大学9.1控制器的功能9.1.1 9.1.1 控制器的功能控制器的功能每个指令周期包括每个指令周期包括取值取值、间址间址、执行执行和和中断中断等子等子周期;周期;每个子周期可分为更小的步骤(微操作)。每个子周期可分为更小的步骤(微操作)。所有的微操作可按如下分类:在寄存器之间传送数据;将数据由寄存器传送到外部接口;将数据由外部接口传送到寄存器;以寄存器作为输入、输出,完成算术或逻辑运算。控制器的两项基本任务:排序:根据被执行程序的指令逻辑,产生引起微操作的控制信号,引导处理器以正确的次序来执行微操作;执行:控制器产生的控制信号引起逻辑门的打开和

2、关闭,从而正确的建立数据通道和控制ALU和各个部件的协同操作。 9.1.2 9.1.2 控制器的组成控制器的组成微操作控制部件、指令控制部件、地址形成部件和时序控制信号形成部件等。 微操作控制部件指令译码器:对指令进行解释。微操作命令发生器:根据指令操作码和时序控制信号,产生各种操作控制信号,以便正确的建立数据通道,从而完成取指和执行指令的控制。指令控制部件程序计数器:程序计数器存放即将要执行的下一条指令的地址。指令寄存器:存放指令内容(操作码与操作数地址)。地址形成部件正确计算出指令地址和操作数地址。时序控制信号形成部件按当前正在执行指令的需要,产生相应的时序控制信号。9.1.3微操作命令分

3、析1 1、取指子周期、取指子周期执行过程如下(指令存放的内存地址为X):PC的内容X装入MAR。PC的内容加I,为取下一条指令做好准备。取出内存X单元的内容,传送到MBR中。MBR的内容传送到IR,指令译码器对指令进行译码。 取指操作流程( 在3个时间周期内完成)T1:MAR(PC)T2:MBRM(MAR) PC(PC)+IT3:IR(MBR)MBRCUMARPCIR存储器存储器CPU地址总线地址总线数据总线数据总线控制总线控制总线IR+I 微操作的分组执行必须根据以下原则:1)操作顺序必须是合理的。例如不能使存储器的读操作发生在PC把地址传送到MAR之前。2)避免在同一时序内的两个操作在CP

4、U资源的使用上形成冲突。例如同时去读、写同一个寄存器。3)不同的微操作,若能在一个节拍内执行,应尽可能安排在同一个节拍内,以节省时间。 2 2、间址子周期、间址子周期(假定IR中指令地址字段为X,而存储器中X处存放的数据为Y)IR中的指令的地址字段X传送到MAR;取出存放在X单元处的内容Y;修改IR的地址字段,使其现在容纳的是操作数的直接地址Y而不再是间接地址X。直接直接地址地址 间址子周期子周期T1:MAR(IR(地址)T2:MBRM(MAR)T3:(IR(地址)(MBR)CUMARCPU地址总线地址总线数据总线数据总线控制总线控制总线PCIR存储器存储器地址地址MBRMBR 3 3、中断子

5、周期、中断子周期PC的内容传送到MBR。将待存放PC(断点地址)的内存位置的地址装入MAR。保存中断返回地址(断点地址)到内存。中断处理子程序的起始地址装入PC。 中断子周期T1:MBR(PC)T2:MAR断点地址的保存地址 PC中断服务子程序的起始地址T3:M(MAR)(MBR)MBRCUMARCPU地址总线地址总线数据总线数据总线控制总线控制总线PC存储器存储器 4 4、执行子周期、执行子周期1 1)INC AXINC AX该指令在执行子周期只有一个微操作,即将寄该指令在执行子周期只有一个微操作,即将寄存器存器AXAX的值加的值加1 1,此操作可安排在,此操作可安排在T1T1T3T3的任的

6、任一节拍内,其余节拍为空。如一节拍内,其余节拍为空。如T1T1:T2T2:T3T3:AXAX AX+1 AX+1 2)ADD AX,X该指令的动作序列如下:IR中的指令的地址字段X传送到MAR;从内存X单元中读出操作数,传送到存储缓冲寄存器MBR。由MBR送来的操作数送往ALU,和累加器中的内容相加,运算结果放回累加器AX,累加器中原来的值被冲掉。需要的微操作为:T1:MARIR(地址)T2:MBRM(MAR)T3:AX(AX)+(MBR) CPU执行指令过程 CPU CPU 访存有四种性质访存有四种性质取取 指令指令 取指周期取指周期取取 地址地址 间址周期间址周期取取 操作数操作数 执行周

7、期执行周期存存 程序断点程序断点 中断周期中断周期 用2 位信息作为指令周期代码(ICC) 指令周期的微操作流程图9.1.4控制信号外部的外部的输入控制信号输入控制信号主要有:指令寄存器信息、主要有:指令寄存器信息、标志寄存器信息、时钟信号和来自系统总线的控标志寄存器信息、时钟信号和来自系统总线的控制信号。制信号。控制器产生的控制器产生的输出信号输出信号有:到控制总线的控制信有:到控制总线的控制信号和向号和向CPUCPU内部发出的控制信号。内部发出的控制信号。 1. 1. 输入信号输入信号(1) (1) 时钟时钟CU CU 受时钟控制,一个时钟脉冲发出一个操作命令受时钟控制,一个时钟脉冲发出一

8、个操作命令或一组可同时执行的操作命令。或一组可同时执行的操作命令。(2) (2) 指令寄存器指令寄存器OP ( IR ) OP ( IR ) CU CU 控制信号控制信号 与操作码与操作码有关。有关。(3) (3) 标志标志CU CU 受标志控制,如受标志控制,如 JZ doneJZ done(4) (4) 外来信号外来信号INTR INTR 中断请求中断请求HRQ HRQ 总线请求总线请求 l时钟周期:时钟周期:CPUCPU频率的倒数,是频率的倒数,是CPUCPU处理操作的最小单位(节拍脉冲);处理操作的最小单位(节拍脉冲);l机器周期:指令执行中每一步操作所需时间(机器周期:指令执行中每一

9、步操作所需时间(CPUCPU周期);周期);l指令周期:一条指令启动到下一条指令启动的间隔时间(若干机器周期)。指令周期:一条指令启动到下一条指令启动的间隔时间(若干机器周期)。CLKT1T2T3T4时钟周期时钟周期机器周期机器周期机器周期机器周期T1T2T3T4T1T2T3T4 2. 2. 输出信号输出信号(1) (1) CPU CPU 内的各种控制信号内的各种控制信号R Ri i R Rj j(PC) + 1 (PC) + 1 PC PCALU ALU 、与、或、与、或(2) (2) 送至控制总线的信号送至控制总线的信号MREQ MREQ 访存控制信号访存控制信号IO/M IO/M 访访

10、IO/ IO/ 存储器的控制信号存储器的控制信号RD RD 读命令读命令WR WR 写命令写命令INTA INTA 中断响应信号中断响应信号HLDA HLDA 总线响应信号总线响应信号 未采用CPU内部总线方式的数据通路和控制信号 取指子周期控制信号:控制信号C2有效,打开PC送往MAR的通道;控制信号C0有效,打开MAR送往地址总线的输出门;通过控制总线向主存发读命令CR;C12有效,打开数据总线送至MBR的输入门;C4有效,打开MBR和IR之间的控制门,至此指令送至IR;C13有效,打开指令操作码送至控制单元的输出门。控制单元在操作码和时钟的控制下产生各种控制信号;使PC内容加I(图中未标

11、出)。 取指周期取指周期数据通路和控制信号(不采用 CPU 内部总线的方式)PCIRACCU时钟时钟ALU控制信号控制信号标志标志控制控制信号信号C2C0C12C4C13PCIRCUPCPCPC M D R M A R M B R M A R 间址周期间址周期数据通路和控制信号(不采用 CPU 内部总线的方式)PCIRACCU时钟时钟ALU控制信号控制信号标志标志控制控制信号信号 M B R M A RC0C12C4C8IR M B R M A R 执行周期执行周期数据通路和控制信号(不采用 CPU 内部总线的方式) 如:ADD AC, XPCIRACCU时钟时钟ALU控制信号控制信号标志标志

12、控制控制信号信号 M D R M A RC0C12C8C6C9C7ACALU控制控制信号信号 M A R M B R 取指周期取指周期数据通路和控制信号(采用 CPU 内部总线的方式)MBRMBRCUIRPCMARAC YALUZ控制信号控制信号控制信号控制信号CPU 内内 部部 总总 线线时钟时钟IRPCPCMBRMARCUIRPCPCCU地址总线地址总线数据总线数据总线9.2 硬布线控制器9.2.19.2.1硬布线控制器的概述硬布线控制器的概述硬布线设计的方法就是把控制部件看作为产生固定时序控制信号的逻辑电路。硬布线的实现方式其实就是一种硬件电路的实现方法通过对一组控制电路输入逻辑信号,则

13、会输出相应的逻辑控制信号。硬布线的本质就是一种由门电路构成的复杂的电路网络,一旦设计完成,要想增加新的控制功能是不可能的,除非重新设计制造。 9.2.2 9.2.2 硬布线控制器的结构硬布线控制器的结构9.2.3 硬布线控制器的设计步骤1)设计指令的操作码长度,并确定指令长度是固定还是可变的;2)确定机器的时钟周期、节拍和主频,确定机器时钟周期是固定的还是可变长的;3)根据操作码功能,确定每一个操作码需要的所有机器子周期以及每一个周期要完成的操作,并画出流程图和控制时序图;4)综合所有操作码的每一个操作命令,写出逻辑表达式,并进行化简;5)实现硬件逻辑电路。 例:定义两个新的控制信号P和Q P

14、Q = 00 取指周期PQ = 01 间址周期PQ = 10 执行周期PQ = 11 中断周期则如下的布尔表达式可以定义C12(C12在取指和间址周期的第二个时间单位有效)又假设只有ADD,SUB和AND三条指令需要在执行时读内存,则C12定义为:9.3 微程序控制器9.3.1 9.3.1 微程序控制器的概述微程序控制器的概述1951 1951 英国剑桥大学教授英国剑桥大学教授 WilkesWilkes基本思想把操作控制信号编成所谓的“微指令”,存放到一个只读存储器里。当机器运行时,一条又一条地读出这些微指令,从而产生全机所需要的各种操作控制信号,使相应部件执行所规定的操作。微程序控制的主要优

15、点有:(1)一组指令系统可以同时适合多种型号的计算机,为发展系列机提供了很好的条件;(2)一台计算机可以包含若干组指令系统。用户无需做任何修改,就可将“老”机器上的程序在“新”机器上运行。 微程序:执行一条指令时控制器发出的各控制字序列的集合;微指令:将一条指令分成若干条微指令,按次序执行这些微指令,就可以实现指令的功能。微指令产生的控制信号可以引发寄存器和ALU的各种操作;控制字:控制器产生的所有输出信号。控制字中的每一位代表一个控制信号;微地址:微指令在控制存储器中的存储位置。微操作:执行部件接收微指令后进行的操作; 9.3.2 9.3.2 微程序控制器的结构框图微程序控制器的结构框图 控

16、制存储器、微指令寄存器、地址转移逻辑 控制存储器用来存放实现全部指令系统的微程序,一条机器指令对应一个微程序。控制存储器的字长就是微指令字的长度。 微指令寄存器存放从控制存储器中读出的一条微指令操作控制字段:发出各种控制信号顺序控制字段:指出下条微指令的地址,以控制微指令序列的执行顺序。直接顺序控制字段和转移条件字段 地址转移逻辑 第一条微指令的地址由机器指令的译码结果自动获取。下一条微指令的地址由微地址寄存器给出。大多数情况是本条微指令的直接顺序控制字段作为下一条微指令的地址放入微地址寄存器中;当微程序出现分支时,通过判别测试转移条件字段和执行部件的“状态条件”反馈信息,修改微地址寄存器的内

17、容,然后按此地址去取下一条微指令。 9.3.3 9.3.3 微程序控制器的工作原理微程序控制器的工作原理微程序控制器产生的微指令和微程序控制器产生的微指令和CPUCPU指令的关系指令的关系 控制器控制器操作控制字段操作控制字段顺序控制字段顺序控制字段 微程序控制器和输入信号的微结构CMARCMBR 控制器的控制功能:第一条微指令的地址由机器指令的译码结果自动获取。顺序逻辑发出读命令到控制存储器;控制地址寄存器指定的微指令被读入控制缓冲寄存器;根据控制缓冲寄存器的内容生成控制信号,并提供顺序逻辑的下一条微指令地址信息;顺序逻辑根据这个地址信息和ALU标志,决定执行下列三种情况中的一种:顺序取出下

18、一条微指令:CAR=CAR+1;基于转移微指令转移到新的微指令序列;转移到新的机器指令执行:根据IR中的操作码,将新的微指令的地址装入控制地址寄存器。 微程序控制单元的基本框图 微地址微地址 形成部件形成部件顺序逻辑顺序逻辑 CMAR地址译码地址译码 控制存储器控制存储器 标标志志 CLK下地址下地址 CMBR至至 CPU CPU 内部和系统总线的控制信号内部和系统总线的控制信号 OPIR 顺序控制顺序控制操作控操作控 制制微指令基本格微指令基本格 式式9.3.4 微指令的格式微指令由操作控制和顺序控制两个部分组成操作控制:控制CPU 内部和系统总线的所有的控制门的打开和关闭。顺序控制:包含转

19、移条件字段和直接顺序控制字段,用来产生下一条微指令的地址。微指令的格式:水平型微指令和垂直型微指令。 水平型微指令操作控制字段中的每一位都直接控制CPU 内部或系统总线的一个控制门特点:指令字比较长,能表达较高程度的微操作并行性,微操作控制信号编码量较小。操作控制顺序控制 垂直型微指令采用类似机器指令操作码的方式,将一套微命令代码化,构成微指令。各个二进制位与数据通路的各个控制门之间完全不存在直接对应关系,需要译码之后才能对相应的控制门进行控制。特点:指令字较短,微操作并行程度较低,要进行操作控制信号的编码和解码。操作控制顺序控制9.3.5 微指令的编码方式每条微指令都有多个不同的内部或外部控

20、制信号组成。(假设微指令有K 位,则表明允许在任意指令周期内产生2K 个可能的控制信号组合)微程序控制器产生的控制信号(微操作)主要分为两大类:相容性微操作:在同时或同一个CPU 周期内可以并行执行的微操作;而相斥性微操作:不能在同时或不能在同一个CPU 周期内并行执行的微操作。微指令的编码方式主要有:直接编码直接编码方式方式字段直接编码字段直接编码方式方式字段间接编码字段间接编码方式方式混合编码混合编码 直接编码(直接控制)方式直接编码(直接控制)方式将每一个控制信号都作为微指令中的一个位;将每一个控制信号都作为微指令中的一个位;优点:简单直观,输出的控制信号直接用于控制优点:简单直观,输出

21、的控制信号直接用于控制缺点:指令代码较长,编码效率相对较低。缺点:指令代码较长,编码效率相对较低。 字段直接编码方式字段直接编码方式将微指令的操作控制字段分为若干段,将一组相斥信号分在一个字段中,通过对这个字段译码,便可产生对应的微指令。优点:减少了控制器微指令的代码字长;缺点:增加了译码操作,也就增加了控制信号的延迟。 小字段划分的原则有:(1)相斥性微命令分在同一个字段内,相容性命令分在不同的字段内。前者可以提高信息位的利用率,缩短微指令字长,后者有利于实现并行操作,加快指令执行速度;(2)应与数据通路的结构相适应。例如:可把控制寄存器传送的数据通路组合成为一组,可以避免微命令编制的混乱,

22、便于微指令的设计、修改和检查;(3)每个小字段包含的信息位不能太多。每个小字段的信息太多,便增加译码线路的复杂性和译码的时间。 字段间接编码方式字段间接编码方式将微指令的操作控制字段分为若干段,但与字段直接编将微指令的操作控制字段分为若干段,但与字段直接编码不同的是,码不同的是,字段之间不是完全独立的字段之间不是完全独立的,能进一步压缩,能进一步压缩微指令字长。微指令字长。基本思想:使一个字段的微命令编码由另一个字段的编基本思想:使一个字段的微命令编码由另一个字段的编码或某个标志位加以解释,以便用较少的信息位表示更码或某个标志位加以解释,以便用较少的信息位表示更多的微命令。多的微命令。优点:编

23、码码位的利用率较高,能有效地缩短指令字长。优点:编码码位的利用率较高,能有效地缩短指令字长。缺点:译码电路复杂。缺点:译码电路复杂。 混合编码混合编码将直接编码和字段编码(包括字段直接编码和字段间接编码)结合使用。将一些速度要求高,或者与其他控制信号都相容的控制信号以直接编码方式表示;将其他信号以字段编码方式表示。这种编码方法能综合平衡指令字长、灵活性和执行速度方面的要求。9.3.6 微指令序列地址的形成机器指令会给出第一条微指令的地址,从控制存储器中取出第一条微指令;下一条微指令地址的产生需要根据当前微指令的地址、条件标志和指令寄存器中的内容一起决定。三种形成下一条微指令地址的方法:双地址字

24、段法单地址字段法可变地址字段法 双地址字段法提供两个地址字段,采用一个多路选择器,从两个地址字两个地址字段段和指令寄存令寄存器器中选择一个作为输出。 单地址字段法采用一个多路选择器,从一一个地址字段个地址字段和指令寄存器指令寄存器中选择一个作为输出或者顺序顺序选择下一个地选择下一个地址址。 可变地址字段法(两种格式)一位使能控制1:所有位作为控制信号。下一条微指令的地址是当前微指令的下一个地下一个地址址或是由指令寄存指令寄存器器提供。0:微指令中某些位用于驱动转移逻辑模块,剩余的位(地址字段)用来提供下一条微指令的地址。1:控制信号0:转移逻辑,下地址例:某微程序控制器中,采用水平型直接控制(编码)方式的微指令格式,后续微指令地址由微指令的下地址字段给出。已知机器共有28 个微命令,6 个互斥的可判定的外部条件,控制存储器的容量为51240 位。试设计其微指令格式,并说明理由。解:解:水平型微指令由水平型微指令由操作控制字段操作控制字段,判别测试字段判别测试字段和和下地址下地址字段字段三部分构成。三部分构成。(1 1)微指令采用直接控制(编码)方式,所以其操作控)微指令采用直接控制(编码)方式,所以其操作控制字段的位数等于微命令数,为制字段的位数等于微命令数,为

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论