计算机组成原理课件第6章_第1页
计算机组成原理课件第6章_第2页
计算机组成原理课件第6章_第3页
计算机组成原理课件第6章_第4页
计算机组成原理课件第6章_第5页
已阅读5页,还剩76页未读 继续免费阅读

下载本文档

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

文档简介

1、Chapter 6 中央处理器中央处理器介绍介绍CPUCPU的功能和组成;的功能和组成;指令周期流程;指令周期流程;时序产生器和控制方式;时序产生器和控制方式;重点讲解微程序控制器;重点讲解微程序控制器;硬布线控制器和门阵列控制器;硬布线控制器和门阵列控制器;Pentium4Pentium4的逻辑结构的逻辑结构6.1 CPUCPU的功能和组成的功能和组成 CPUCPU的功能的功能控制器的基本组成与最简单控制器的基本组成与最简单CPUCPU模型模型 CPUCPU中的主要寄存器中的主要寄存器CPUCPU操作控制器与时序产生器操作控制器与时序产生器 1、CPU CPU 的功能的功能 CPUCPU是计

2、算机的核心组成部分,装入内存的程序在是计算机的核心组成部分,装入内存的程序在CPUCPU的控制下,完成取出指令和执行指令的任务。的控制下,完成取出指令和执行指令的任务。CPUCPU的基本功能的基本功能: n指令控制指令控制:实现程序中指令的执行顺序控制。(结合指令:实现程序中指令的执行顺序控制。(结合指令的寻址方式,要实现此控制,的寻址方式,要实现此控制,CPUCPU内部设置程序计数器内部设置程序计数器PCPC) n操作控制操作控制:就一条机器指令而言,指令不同其操作码也不:就一条机器指令而言,指令不同其操作码也不同,该控制实现指令所需操作命令的控制,需要指令寄存同,该控制实现指令所需操作命令

3、的控制,需要指令寄存器(器(IRIR)和指令译码器()和指令译码器(IDID)。)。n时间控制时间控制:对各种操作命令实施时间上的控制,保证计算:对各种操作命令实施时间上的控制,保证计算机有条不紊地自动工作,设置操作控制器和时序发生器。机有条不紊地自动工作,设置操作控制器和时序发生器。n数据加工数据加工:对数据进行算术运算和逻辑运算处理。:对数据进行算术运算和逻辑运算处理。2、控制器基本组成与、控制器基本组成与CPUCPU模型模型n控制器的组成控制器的组成:程序计数器、指令寄存器、指令译码器、:程序计数器、指令寄存器、指令译码器、时序产生器和操作控制器。时序产生器和操作控制器。 3、 CPUC

4、PU中的主要寄存器中的主要寄存器 CPU中最基本寄存器:中最基本寄存器:n指令寄存器(指令寄存器(IR):保存正在执行的指令):保存正在执行的指令n程序计数器(程序计数器(PC):存放要执行的指令的地址):存放要执行的指令的地址n地址寄存器(地址寄存器(AR):保存当前所要访问的内存单元的地址):保存当前所要访问的内存单元的地址n数据缓冲寄存器(数据缓冲寄存器(DR):):l作为作为CPU和内存、外围设备之间信息传送的中转站;和内存、外围设备之间信息传送的中转站;l补偿补偿CPU和内存、外围设备之间在操作速度上的差别;和内存、外围设备之间在操作速度上的差别;l在单累加器结构的运算器中,数据缓冲

5、寄存器还可兼作在单累加器结构的运算器中,数据缓冲寄存器还可兼作操作数寄存器。操作数寄存器。n累加寄存器(累加寄存器(AC):暂时存放):暂时存放ALU运算的结果信息运算的结果信息n状态条件寄存器(状态条件寄存器(PSW):):4、 CPUCPU操作控制器与时序产生器操作控制器与时序产生器 n操作控制器操作控制器的功能的功能: :根据指令操作码和时序信号,产生各种根据指令操作码和时序信号,产生各种操作控制信号,以正确建立数据通路,完成取指令和执行操作控制信号,以正确建立数据通路,完成取指令和执行指令的控制。指令的控制。n根据设计方法不同,操作控制器可分为:根据设计方法不同,操作控制器可分为: (

6、1) (1) 硬布线控制器:采用组合逻辑技术来实现;硬布线控制器:采用组合逻辑技术来实现; (2) (2) 微程序控制器:采用存储逻辑来实现;微程序控制器:采用存储逻辑来实现; (3) (3) 门阵列控制器:吸收前两种的设计思想来实现的。门阵列控制器:吸收前两种的设计思想来实现的。 n时序产生器时序产生器: :产生对控制信号进行时间上控制的定时信号产生对控制信号进行时间上控制的定时信号. .6.2 指令周期指令周期n指令周期的基本概念指令周期的基本概念 n几种典型指令的指令周期分析几种典型指令的指令周期分析lCLACLA指令的指令周期指令的指令周期 lADDADD指令的指令周期指令的指令周期

7、lSTASTA指令的指令周期指令的指令周期 lNOPNOP指令和指令和JMPJMP指令的指令周期指令的指令周期 n用方框图语言表示指令周期用方框图语言表示指令周期 1、指令周期的基本概念、指令周期的基本概念 n指令周期指令周期:取出并执行一条指令的时间。指令不同,其指令周:取出并执行一条指令的时间。指令不同,其指令周期不尽相同。期不尽相同。 n机器周期机器周期:也称也称CPUCPU周期周期。指令周期由若干个。指令周期由若干个CPUCPU周期组成。周期组成。 通常通常:用内存中读取一个指令字的最短时间来规定用内存中读取一个指令字的最短时间来规定CPUCPU周期周期。 n时钟周期:时钟周期:常称为

8、节拍。一个常称为节拍。一个CPUCPU周期又包含若干个时钟周期,周期又包含若干个时钟周期,它是处理操作的最基本单位。它是处理操作的最基本单位。2、 几种典型指令周期分析几种典型指令周期分析 CLACLAnCLACLA指令功能:清累加器。是一个指令功能:清累加器。是一个非访内指令非访内指令。 n取指令阶段:取指令阶段:(1)(1)从内存取出指令;从内存取出指令;(2)(2)对程序计数器对程序计数器PCPC加加1 1,为取下一条指令做好准备;为取下一条指令做好准备;(3)(3)对指令操作码进行译码或测对指令操作码进行译码或测试,以确定进行什么操作。试,以确定进行什么操作。 n执行指令阶段:执行指令

9、阶段:CPUCPU根据对指令操作码的译码或测试,进行根据对指令操作码的译码或测试,进行指令所要求的操作。指令所要求的操作。(1 1)CLACLA取指令阶段取指令阶段CLACLA执行指令阶段执行指令阶段(2 2)ADDADDADD 30 ADD 30 指令功能:取存储单元指令功能:取存储单元(30)(30)中的操作数和累加器的内容中的操作数和累加器的内容相加,结果送累加器。这是一条相加,结果送累加器。这是一条访问内存取数并执行加法的访问内存取数并执行加法的指令指令。三个。三个CPUCPU周期组成:取指、送操作数地址、去操作数进周期组成:取指、送操作数地址、去操作数进行相加运算并将结果放回累加器。

10、行相加运算并将结果放回累加器。ADD(3 3) ) )STASTA)nSTA 40 STA 40 指令的功能:把累加器内容送存储单元(指令的功能:把累加器内容送存储单元(4040) 。这是一条这是一条访内存存数指令访内存存数指令。n由三个由三个CPUCPU周期组成。周期组成。STA(4 4) NOPNOP和和JMP)nNOPNOP:空操作指令。在第二:空操作指令。在第二CPUCPU周期中不发出任何控制信号。周期中不发出任何控制信号。 nJMPJMP指令是一个程序控制指令,在执行周期中只是改变了指令是一个程序控制指令,在执行周期中只是改变了PCPC的内容。的内容。 JMP指令周期分析需注意事项指

11、令周期分析需注意事项n指令周期分取指令阶段、执行指令阶段;对所有的指令周期分取指令阶段、执行指令阶段;对所有的指令取指令阶段完全相同,指令之所以不同在于执指令取指令阶段完全相同,指令之所以不同在于执行指令阶段不同,因此,取指令阶段作为公共操作。行指令阶段不同,因此,取指令阶段作为公共操作。n由于指令的执行阶段不同,所包括的由于指令的执行阶段不同,所包括的CPU周期个数周期个数不同,究竟几个不同,究竟几个CPU周期与寻址方式有关;周期与寻址方式有关;nCPU周期的划分原则:不仅要考虑指令周期的定义周期的划分原则:不仅要考虑指令周期的定义来规定来规定CPUCPU周期周期,更要结合具体模型更要结合具

12、体模型,以信息在以信息在总线总线上传输不冲突为原则。上传输不冲突为原则。6.3 指令周期流程图指令周期流程图n流程图的构成:流程图的构成:l方框方框代表一个代表一个CPUCPU周期,其内容表示数据通路的操作或某周期,其内容表示数据通路的操作或某种控制操作。种控制操作。l菱形菱形表示某种判断或测试,时间上依附于它前面方框的表示某种判断或测试,时间上依附于它前面方框的CPUCPU周期,不单独占用一个周期,不单独占用一个CPUCPU周期。周期。l“” 表示公操作,指一条指今执行完毕后,表示公操作,指一条指今执行完毕后,CPUCPU所开所开始进行的一些操作。这些操作可能是始进行的一些操作。这些操作可能

13、是CPUCPU对外设请求的处对外设请求的处理,如中断处理、通道处理等,若没有外设请求,理,如中断处理、通道处理等,若没有外设请求,CPUCPU将将转入下一个转入下一个“取指令取指令”。因此取指令也可以认为是公操。因此取指令也可以认为是公操作。作。 n指令周期流程图指令周期流程图指令周期流程图指令周期流程图指令周期流程图指令周期流程图 (1)“ADD R2,R0”指令完成指令完成(R0)+(R2)R0的功能操作,画出其指令周期流程的功能操作,画出其指令周期流程图,假设该指令的地址已放入图,假设该指令的地址已放入PC中。并列出相应的微操作控制信号序列。中。并列出相应的微操作控制信号序列。(2)“S

14、UB R1,R3”指令完成指令完成(R3)-(R1)R3的操作,画出其指令期流程图,并的操作,画出其指令期流程图,并列出相应的微操作控制信号序列列出相应的微操作控制信号序列 指令周期流程图指令周期流程图6.4 时序产生器和控制方式时序产生器和控制方式 一、时序信号一、时序信号二、时序信号产生器二、时序信号产生器 三、控制方式三、控制方式 一、时序信号一、时序信号 对各种控制信号实现在时间上进行控制的信号,他正如控对各种控制信号实现在时间上进行控制的信号,他正如控制信号的制信号的“作息时间作息时间”表,在这个时间小段控制产生这个控制表,在这个时间小段控制产生这个控制信号,在那个时间小段控制产生那

15、个控制信号,而控制信号又信号,在那个时间小段控制产生那个控制信号,而控制信号又控制着执行部件,机器一旦启动就有步骤地指挥各部件工作,控制着执行部件,机器一旦启动就有步骤地指挥各部件工作,规定在这一脉冲到来之前做什么,在另一脉冲到来之前又做什规定在这一脉冲到来之前做什么,在另一脉冲到来之前又做什么。么。 因此因此各种控制信号不仅仅是时间的函数(时序信号),也是空各种控制信号不仅仅是时间的函数(时序信号),也是空间的函数(部件)间的函数(部件)。 如果每一个时间小段称为一个节拍脉冲,那么一个如果每一个时间小段称为一个节拍脉冲,那么一个CPUCPU周期称周期称为一个节拍电位,时序信号最基本的体制便是

16、为一个节拍电位,时序信号最基本的体制便是节拍电位节拍节拍电位节拍脉冲制。脉冲制。二、时序信号产生器二、时序信号产生器 时序信号产生器由时序信号产生器由时钟源时钟源、环形脉冲发生器环形脉冲发生器、节拍脉冲和节拍脉冲和读写时序译码逻辑读写时序译码逻辑、启停控制逻辑启停控制逻辑等部分组成。等部分组成。时序信号产生器时序信号产生器环形脉冲发生器环形脉冲发生器: 产生一组有序的产生一组有序的间隔相等或不等间隔相等或不等的脉冲序列,以的脉冲序列,以便最后形成所需便最后形成所需要的节拍脉冲。要的节拍脉冲。C C1 1、C C2 2、C C3 3就是环就是环形脉冲发生器产形脉冲发生器产生的信号。生的信号。(C

17、 C3 3C C2 2C C1 1的状态转的状态转移:移:000000001001011011111111000000)时序信号产生器时序信号产生器节拍脉冲和读写时序译码:节拍脉冲和读写时序译码: T T1 10 0、T T2 20 0、T T3 30 0、T T4 40 0和和RDRD0 0、WEWE0 0、MREQMREQ0 0、IORQIORQ0 0,其中前四个,其中前四个信号是环形脉冲发生器产信号是环形脉冲发生器产生,后四个信号受微程序生,后四个信号受微程序控制器产生的控制信号控制器产生的控制信号RDRD、WEWE、MERQMERQ、IORQIORQ的控制。的控制。启停控制逻辑:启停控

18、制逻辑: T T1 10 0、T T2 20 0、T T3 30 0、T T4 40 0和和RDRD0 0、WEWE0 0在启停控制电路控制下在启停控制电路控制下产生一组节拍信号产生一组节拍信号T T1 1、T T2 2、T T3 3、T T4 4三、节拍电位与节拍脉冲时序关系图三、节拍电位与节拍脉冲时序关系图四、四、 控制方式控制方式1 1、同步控制方式、同步控制方式: 该控制方式的控制方法简单,取指令周期最长的指令作该控制方式的控制方法简单,取指令周期最长的指令作为所有指令的指令周期,势必降低为所有指令的指令周期,势必降低CPUCPU效率。由于指令周期又效率。由于指令周期又包含包含CPUC

19、PU周期和时钟周期,所以,同步控制方式又可以进一步周期和时钟周期,所以,同步控制方式又可以进一步分成多种同步方法,具体而言,分成多种同步方法,具体而言, CPUCPU周期和时钟周期严格意周期和时钟周期严格意义上同步和广泛意义上同步。义上同步和广泛意义上同步。2 2、异步控制方式、异步控制方式: 指令需要多少时间就占用多少时间,控制复杂,必须指令需要多少时间就占用多少时间,控制复杂,必须采用应答方式。采用应答方式。 三、三、 控制方式控制方式(2)3 3、联合控制方式、联合控制方式: 上述两种情况的结合。大部分操作序列安排在固定的机器上述两种情况的结合。大部分操作序列安排在固定的机器周期中,对某

20、些周期中,对某些时间难以确定时间难以确定的操作则以执行部件的的操作则以执行部件的“回答回答”信号作为本次操作的结束。机器周期的节拍脉冲数固定,但信号作为本次操作的结束。机器周期的节拍脉冲数固定,但是各条指令周期的机器周期数不固定。是各条指令周期的机器周期数不固定。6.5 微程序控制器微程序控制器前言前言:n基本思想:利用软件方法设计硬件。早在基本思想:利用软件方法设计硬件。早在1951年,英国剑年,英国剑桥大学的桥大学的M.V.Wilkes教授提出了微程序设计,其实质是用教授提出了微程序设计,其实质是用程序设计的思想方法来组织操作控制逻辑,把各条指令的程序设计的思想方法来组织操作控制逻辑,把各

21、条指令的微操作序列编制成微程序,并存放在控制存储器中,执行微操作序列编制成微程序,并存放在控制存储器中,执行机器指令时,通过读取并执行相应的微程序来实现这条机机器指令时,通过读取并执行相应的微程序来实现这条机器指令的功能。微程序控制器特点:具有规整性、灵活性、器指令的功能。微程序控制器特点:具有规整性、灵活性、可维护性等一系列优点。可维护性等一系列优点。一、一、 基本概念基本概念 n微命令:控制部件通过控制线向执行部件发出各种控制命微命令:控制部件通过控制线向执行部件发出各种控制命令;微命令是构成控制信号序列的最小单位令;微命令是构成控制信号序列的最小单位 n微操作:执行部件接受微命令后所进行

22、的操作。微操作:执行部件接受微命令后所进行的操作。微操作是微操作是执行部件中最基本的操作执行部件中最基本的操作 基本概念基本概念l相容性的微操作相容性的微操作:在同时或同一个在同时或同一个CPUCPU周期内可以并行执周期内可以并行执行的微操作行的微操作; l相斥性的微操作相斥性的微操作:不能同时或同一个不能同时或同一个CPUCPU周期内并行执行周期内并行执行的微操作的微操作。基本概念基本概念 n微指令微指令:在机器的一个:在机器的一个CPUCPU周期中,一组实现一定操作功能的微命令的周期中,一组实现一定操作功能的微命令的组合。我们知道一条机器指令的指令周期包含多个组合。我们知道一条机器指令的指

23、令周期包含多个CPUCPU周期,根据微指周期,根据微指令的概念,一个令的概念,一个CPUCPU周期对应一条微指令,因此,一条机器指令的功能周期对应一条微指令,因此,一条机器指令的功能是由多条微指令组成的序列来实现的。这样的一个实现一条机器指令的是由多条微指令组成的序列来实现的。这样的一个实现一条机器指令的功能微指令的有序集合称为功能微指令的有序集合称为微程序微程序。n微指令格式:微指令格式:不仅要产生一组微命令,还要形成后继微地址,即执行完不仅要产生一组微命令,还要形成后继微地址,即执行完某一条微指令后,必须给出下一条微指令的地址,下一条微指令的地址某一条微指令后,必须给出下一条微指令的地址,

24、下一条微指令的地址也称为后继微地址,以便当前微指令执行完毕后能正确取出下一条微指也称为后继微地址,以便当前微指令执行完毕后能正确取出下一条微指令。因此,微指令的格式应至少包含操作控制字段和顺序控制字段两部令。因此,微指令的格式应至少包含操作控制字段和顺序控制字段两部分。操作控制字段用来产生微命令,顺序控制字段用来形成后继微地址分。操作控制字段用来产生微命令,顺序控制字段用来形成后继微地址。基本概念基本概念 微指令长度为微指令长度为2323位,操作控制字段占位,操作控制字段占1717位,顺序控制字段占位,顺序控制字段占6 6位,其中位,其中4 4位(位(20202323)用来直接形成后继微地址,

25、第)用来直接形成后继微地址,第1818、1919位两位作为判断测位两位作为判断测试标志。当此两位都为试标志。当此两位都为“0”0”时,表示不进行测试,直接将微指令中第时,表示不进行测试,直接将微指令中第20202323位作为后继微地址;当微指令的第位作为后继微地址;当微指令的第1818位或第位或第1919位为位为“1”1”时,表时,表示要进行示要进行P1P1或或P2P2的判断测试,根据测试结果,需要对微指令中第的判断测试,根据测试结果,需要对微指令中第20202323位的某一位或某几位进行修改,将修改后的地址作为后继微地址。位的某一位或某几位进行修改,将修改后的地址作为后继微地址。 二、二、

26、微程序控制器组成微程序控制器组成 微程序控制器的组成与结构如图所示。它主要由控制存储器、微程序控制器的组成与结构如图所示。它主要由控制存储器、微指令寄存器和微指令地址形成部件三大部分组成。微指令寄存器和微指令地址形成部件三大部分组成。 微程序控制器组成微程序控制器组成(1)控制存储器(CM) 控制存储器是用来存放指令系统所对应的全部微程序,它是一种读出时间较快的只读存储器,其容量视指令系统而定,其字长由控制命令的多少、微指令的编码格式以及下址字段的宽度而定。(2)微指令寄存器(IR) 微指令寄存器是用来存放从控制存储器读出的一条微指令。顺序控制字段用来产生将要执行的下一条微指令的地址,操作控制

27、字段则用来产生一组微命令。微程序控制器组成微程序控制器组成(3)微指令地址形成部件 微指令地址形成部件又称微指令地址发生器或后继微地址形成部件,是用来形成将要执行的下一条微指令的地址(简称后继微地址)。一般情况下,下一条微指令的地址由上一条微指令的顺序控制字段直接决定。当微程序出现分支时,将由状态条件的反馈信息去形成转移地址;当取指令公共操作完成后,可以根据指令的操作码去产生微指令入口地址。微程序的执行过程微程序的执行过程(1)读取并执行公共的“取指令”微指令 从控制存储器中取出一条公共的“取指令”微指令,并送到微指令寄存器IR。由于这是一条公用的微指令,一般存放在控制存储器的0号或1号地址单

28、元。微指令实现从主存中读取机器指令并将其送到指令寄存器IR。微程序控制器组成微程序控制器组成(2)形成微程序入口地址 根据指令寄存器IR中的指令操作码,通过微地址形成线路产生相应的微程序入口地址,并将微程序入口地址送往微地址寄存器AR。(3)执行微程序 根据微地址寄存器AR中的微地址,取出微程序中第一条微指令并送入微指令寄存器IR,开始执行IR中的微指令,该微指令执行结束时,将顺序控制字段所形成的后继微地址再送入微地址寄存器AR,去读取下一条微指令。如此重复,直至微程序中的最后一条微指令。(4)实现返回 执行完一条机器指令对应的一段微程序后,返回0号或1号微地址单元,读取并执行“取指令”微指令

29、。 由此可见,微程序控制器的工作过程涉及到两个层面:一个层面是程序员所看到的传统机器级,包括指令、程序、主存储器;另一个层面是设计者所看到的微程序级,包括微指令、微程序、控制存储器(相对程序员是“透明”的)。 三、三、 微程序设计微程序设计 微程序设计的关键是如何设计微指令的结构,与微指令结构相关的因素微程序设计的关键是如何设计微指令的结构,与微指令结构相关的因素较多,除机器硬件外,还要考虑如何缩短微指令字的长度,如何提高微较多,除机器硬件外,还要考虑如何缩短微指令字的长度,如何提高微程序的执行速度,如何有利于对微指令的修改,以便提高微程序设计的程序的执行速度,如何有利于对微指令的修改,以便提

30、高微程序设计的灵活性。灵活性。1、微命令编码、微命令编码 微命令编码是指对微指令中的操作控制字段所进行的编码,其编码方法微命令编码是指对微指令中的操作控制字段所进行的编码,其编码方法有直接表示法、编码表示法、混合表示法。有直接表示法、编码表示法、混合表示法。(1)直接表示法)直接表示法 操作控制字段中的每一位代表一个微命令,其优点是简单、直观,输出操作控制字段中的每一位代表一个微命令,其优点是简单、直观,输出可直接用于控制,一条微指令可以定义并执行多个并行的微命令。可直接用于控制,一条微指令可以定义并执行多个并行的微命令。微程序设计微程序设计(2)编码表示法)编码表示法 编码表示法把一组相斥性

31、的微命令组成一个字段,然后通过编码表示法把一组相斥性的微命令组成一个字段,然后通过微命令译码器对每一个字段进行译码,译码输出作为微命令。微命令译码器对每一个字段进行译码,译码输出作为微命令。采用编码表示法,可以用较少的二进制信息位表示较多的微采用编码表示法,可以用较少的二进制信息位表示较多的微命令。命令。微程序设计微程序设计(3)混合表示法)混合表示法 混合表示法把直接表示法和编码表示法相混合使用,以便能混合表示法把直接表示法和编码表示法相混合使用,以便能综合考虑微指令字长、灵活性和执行速度等方面的要求。综合考虑微指令字长、灵活性和执行速度等方面的要求。2、后续微地址的形成方法、后续微地址的形

32、成方法 微指令执行的顺序控制问题,实际上是如何确定下一条微微指令执行的顺序控制问题,实际上是如何确定下一条微指令的地址问题。通常,产生后续微地址的方法有计数器方指令的地址问题。通常,产生后续微地址的方法有计数器方式、增量方式与断定方式结合、多路转移方式三种。式、增量方式与断定方式结合、多路转移方式三种。(1)计数器方式)计数器方式 这种方式与用程序计数器这种方式与用程序计数器PC来产生后续指令地址的方法类来产生后续指令地址的方法类似。似。微程序设计微程序设计nPC兼作控制存储器的地址寄存器,其输入有兼作控制存储器的地址寄存器,其输入有4个。下址字个。下址字段仅有两位,其功能是选择段仅有两位,其

33、功能是选择3个输入源的一个作为个输入源的一个作为PC的输的输入,而微程序入口是由专门的硬件电路产生,不受下址字段入,而微程序入口是由专门的硬件电路产生,不受下址字段控制。控制。n计数器方式的基本特点是:微指令的顺序控制字段较短,微计数器方式的基本特点是:微指令的顺序控制字段较短,微地址产生机构简单。但是多路并行转移功能较弱,速度较慢,地址产生机构简单。但是多路并行转移功能较弱,速度较慢,灵活性较差。灵活性较差。 微程序设计微程序设计(2)增量方式与断定方式的结合)增量方式与断定方式的结合 在这种方式中,微指令顺序控制字段又分为条件选择字段和在这种方式中,微指令顺序控制字段又分为条件选择字段和转

34、移地址字段两部分,其中条件选择字段用来规定转移地址字段两部分,其中条件选择字段用来规定“条件转条件转移移”微指令要测试的外部条件;转移地址字段可用作后继微微指令要测试的外部条件;转移地址字段可用作后继微地址。地址。 PC是微程序计数器,具有计数和并行接受数据的是微程序计数器,具有计数和并行接受数据的功能功能微程序设计微程序设计 假设必须测试的两个状态条件变量为假设必须测试的两个状态条件变量为V1和和V2,故需使用一,故需使用一个个2位的条件选择字段位的条件选择字段S1S0: 当当S1S0 =00时,微程序时,微程序不转移。当不转移。当S1S0 =01时,如果时,如果V1=1则转移,否则顺序则转

35、移,否则顺序执行。当执行。当S1S0 =10时,如果时,如果V2=1则转移,否则顺序执则转移,否则顺序执行。当行。当S1S0 =11时,无条件转移。与此对应,多路开关时,无条件转移。与此对应,多路开关有有4个输入个输入X0、X1、X2、X3,其中,其中X0=0,X1=V1,X2=V2,X3=1。因此,当。因此,当S1S0 =i时,它选通多路开关输时,它选通多路开关输出出Xi。从而控制。从而控制“转移地址转移地址”字段的内容送入或不送入字段的内容送入或不送入PC (3)多路转移方式)多路转移方式 在执行一条微指令时,可能会遇到从若干个微地址中选择在执行一条微指令时,可能会遇到从若干个微地址中选择

36、一个作为后续微地址的情况,这种转移方式称为多路转移。一个作为后续微地址的情况,这种转移方式称为多路转移。微程序设计微程序设计 微程序设计实践表明,实现两路转移的情况较多,其次是四微程序设计实践表明,实现两路转移的情况较多,其次是四路转移,而四路以上转移的情况比较少见。两路转移只涉及路转移,而四路以上转移的情况比较少见。两路转移只涉及微地址的一位;四路转移涉及微地址的两位,一般就定在微微地址的一位;四路转移涉及微地址的两位,一般就定在微地址的最后两位地址的最后两位。 多路转移方式的特点是:多路转移方式的特点是: 能与较短的顺序控制字段配合,实能与较短的顺序控制字段配合,实现多路并行转移,灵活性好

37、,速度快,但转移地址逻辑需要现多路并行转移,灵活性好,速度快,但转移地址逻辑需要用组合逻辑方法实现。用组合逻辑方法实现。四、四、 微程序设计举例微程序设计举例 微程序设计的关键是设计微指令的结构,而微指令的结构设微程序设计的关键是设计微指令的结构,而微指令的结构设计又取决于控制器和运算器的结构。在此我们以图计又取决于控制器和运算器的结构。在此我们以图6-20所所示的运算器、图示的运算器、图6-21所示的微指令格式为例,来具体说明所示的微指令格式为例,来具体说明 “十进制加法十进制加法”指令的微程序设计过程。指令的微程序设计过程。1、十进制加法指令的功能、十进制加法指令的功能 微程序设计举例微程

38、序设计举例2、十进制加法指令的微程序流程图、十进制加法指令的微程序流程图 假设两个一位十进制数假设两个一位十进制数a和和b已存放在图已存放在图6-20中的中的R1和和R2寄存器中,数寄存器中,数6存放在存放在R3寄存寄存器中。其算法采用先进行器中。其算法采用先进行a+b+6运算,再判断结果有无进位,运算,再判断结果有无进位,若有进位若有进位Cy=1,不减,不减6;若无进位若无进位Cy=0,减去,减去6。因此,。因此,完成十进制加法指令的微程序流程完成十进制加法指令的微程序流程00000001000010011000 0000RD 0000Cy=0Cy=1PCARABUSDBUSDRIR , P

39、C+1P1R1+R2R2R2+R3R2P2R2-R3R2微程序设计举例微程序设计举例3、十进制加法指令的微程序、十进制加法指令的微程序根据图根据图6-28可知,十进制加法指令的微程序由可知,十进制加法指令的微程序由4条微指令组成。条微指令组成。 第一条微指令是完成取指操作,该微指令所在控制存储器该微指令所在第一条微指令是完成取指操作,该微指令所在控制存储器该微指令所在控制存储器的地址为控制存储器的地址为0000,其编码为:其编码为: 000 000 000 000 11111100000 这条微指令在执行时,一方面操作控制字段产生这条微指令在执行时,一方面操作控制字段产生5个微命令,他们分别个

40、微命令,他们分别是是LDAR 、RD 、LDDR 、LDIR 、PC+1。LDAR 执行执行PCAR;PC+1执行执行PC+1PC;RD 和和LDDR 执行执行MDR;LDIR 执行执行DRIR。假设十进制加法指令的操作码为。假设十进制加法指令的操作码为1000,那么指令寄存器,那么指令寄存器IR中的指令操作码是中的指令操作码是1000。另一方面,顺序控制字段指明下一条微指令。另一方面,顺序控制字段指明下一条微指令的地址为的地址为0000。由于判断字段中。由于判断字段中P1=1,表示测试的,表示测试的“状态条件状态条件”是指是指令寄存器令寄存器IR中的指令操作码中的指令操作码1000,即用指令

41、操作码,即用指令操作码1000作为下一条微作为下一条微指令的地址,因此,此微指令的下址指令的地址,因此,此微指令的下址0000并不是下一条微指令的真正并不是下一条微指令的真正地址。下一条微指令的真正地址是指令的操作码地址。下一条微指令的真正地址是指令的操作码1000,于是,微地址,于是,微地址寄存器寄存器AR的内容修改为的内容修改为1000。微程序设计举例微程序设计举例 第二条微指令是完成第二条微指令是完成a+b运算操作,该微指令的微地址为运算操作,该微指令的微地址为1000,其编码为:,其编码为: 010 100 100 100 00000001001 根据微地址寄存器根据微地址寄存器AR的

42、内容的内容1000,取出第二条微指令并,取出第二条微指令并执行。执行时,一方面操作控制字段产生执行。执行时,一方面操作控制字段产生4个微命令,他们个微命令,他们分别是分别是R1X、R2Y、+、LDR2 。于是,运算器完成。于是,运算器完成R1+R2R2的操作。另一方面,顺序控制字段中判断测试的操作。另一方面,顺序控制字段中判断测试字段字段P1和和P2均为均为0,表示不进行测试,于是,该微指令的,表示不进行测试,于是,该微指令的下址字段下址字段1001直接作为下一条微指令的地址,并传送到微直接作为下一条微指令的地址,并传送到微地址寄存器地址寄存器AR。微程序设计举例微程序设计举例 第三条微指令是

43、完成第三条微指令是完成a+b+6运算操作,该微指令的微地址运算操作,该微指令的微地址为为1001,其编码为:,其编码为: 010 001 001 100 00000010000 根据微地址寄存器根据微地址寄存器AR的内容的内容1001,取出第三条微指令并,取出第三条微指令并执行。执行时,一方面操作控制字段产生执行。执行时,一方面操作控制字段产生4个微命令,他们个微命令,他们分别是分别是R2X、R3Y、+、LDR2 。于是,运算器完成。于是,运算器完成R2+R3R2的操作。另一方面,顺序控制字段中判断测试的操作。另一方面,顺序控制字段中判断测试字段字段P2为为1,表示对,表示对P2进行测试,测试

44、的进行测试,测试的“状态条件状态条件”为为进位标志进位标志Cy,根据进位标志,根据进位标志Cy的状态来修改微地址寄存器的状态来修改微地址寄存器AR的最后一位:若的最后一位:若Cy=0时,下一条微指令的地址为时,下一条微指令的地址为0001;若;若Cy=1时,下一条微指令的地址为时,下一条微指令的地址为0000。由此可。由此可见,该微指令的下址见,该微指令的下址0000并不是下一条微指令的真正地址。并不是下一条微指令的真正地址。下一条微指令的真正地址是对下址下一条微指令的真正地址是对下址0000的修改。在此假设的修改。在此假设Cy=0,则要执行的下一条微指令的地址为,则要执行的下一条微指令的地址

45、为0001,送到微,送到微地址寄存器地址寄存器AR。微程序设计举例微程序设计举例 第四条微指令是完成第四条微指令是完成a+b-6运算操作,该微指令的微地址为运算操作,该微指令的微地址为0001,其编码为:,其编码为: 010 001 001 001 00000000000 根据微地址寄存器根据微地址寄存器AR的内容的内容0001,取出第四条微指令并,取出第四条微指令并执行。执行时,一方面操作控制字段产生执行。执行时,一方面操作控制字段产生4个微命令,他们个微命令,他们分别是分别是R2X、R3Y、-、LDR2 。于是,运算器完成。于是,运算器完成R2-R3R2的操作。另一方面,顺序控制字段中判断

46、测试的操作。另一方面,顺序控制字段中判断测试字段字段P1和和P2均为均为0,表示不进行测试,于是,该微指令的,表示不进行测试,于是,该微指令的下址字段下址字段0000直接作为下一条微指令的地址,并传送到微直接作为下一条微指令的地址,并传送到微地址寄存器地址寄存器AR,按该地址取出的微指令为,按该地址取出的微指令为“取指取指”微指令。微指令。 如果第三条微指令进行测试时Cy=1,那么,下一条微指令的地址为0000,将不执行第四条微指令,而是直接由第三条微指令就转向“取指”微指令,便开始从内存中取第二条机器指令,再转去执行该机器指令相应的微程序。 五、五、CPUCPU周期与微指令周期的关系周期与微

47、指令周期的关系 n在串行方式的微程序控制器中,在串行方式的微程序控制器中, 微指令周期微指令周期 = = 读出微指令的时间读出微指令的时间 + + 执行该条微指令的时间执行该条微指令的时间n为了保证整个机器控制信号的同步为了保证整个机器控制信号的同步, ,一般将一般将一个微指令周期一个微指令周期时间设计得恰好和时间设计得恰好和CPUCPU周期时间相等周期时间相等。 六、机器指令与微程序的关系六、机器指令与微程序的关系 图图5.275.27很好地说明了机器指令和微指令之间的关系,也方便很好地说明了机器指令和微指令之间的关系,也方便深层次地解释程序的执行过程:取指令入深层次地解释程序的执行过程:取

48、指令入IRIR后通过微程序后通过微程序执行指令。执行指令。小结小结: :l一条机器指令的功能是由若干条微指令组成的序列来实现一条机器指令的功能是由若干条微指令组成的序列来实现的。的。l从指令与微指令,程序与微程序,地址与微地址的一一对从指令与微指令,程序与微程序,地址与微地址的一一对应关系来看,应关系来看,前者前者与内存储器有关,与内存储器有关,后者后者与控制存储器有与控制存储器有关。关。 l每一个每一个CPUCPU周期就对应一条微指令。周期就对应一条微指令。6.6 硬布线控制器 硬布线控制器硬布线控制器:把控制部件看做产生专门固定时序控制信号的:把控制部件看做产生专门固定时序控制信号的逻辑电

49、路。由逻辑电路。由门电路和触发器构成门电路和触发器构成复杂树形网络。与微程序复杂树形网络。与微程序控制相比,硬布线控制的速度较快。其原因是微程序控制中控制相比,硬布线控制的速度较快。其原因是微程序控制中每条微指令都要从控存中读取一次,影响了速度,而硬布线每条微指令都要从控存中读取一次,影响了速度,而硬布线控制主要取决于电路延迟。由于硬布线控制器的电路结构很控制主要取决于电路延迟。由于硬布线控制器的电路结构很复杂,设计和调试都非常困难,后来就被微程序控制器所替复杂,设计和调试都非常困难,后来就被微程序控制器所替代。但是随着新一代机器及代。但是随着新一代机器及VLSIVLSI技术的发展,硬布线逻辑

50、设技术的发展,硬布线逻辑设计思想又得到了重视。因此,近年来在某些超高速新型计算计思想又得到了重视。因此,近年来在某些超高速新型计算机结构中,又选用了硬布线控制,或与微程序控制器混合使机结构中,又选用了硬布线控制,或与微程序控制器混合使用。用。 硬布线控制器设计(1)n组合逻辑控制器由组合逻辑线路、模组合逻辑控制器由组合逻辑线路、模k时序产生器和时序产生器和1/k译译码器等部件组成,其原理如图所示。码器等部件组成,其原理如图所示。 硬布线控制器设计(2)例例4 图图6.32中五条指令的微操作控制信号的产生。中五条指令的微操作控制信号的产生。回顾指令流程回顾指令流程写出逻辑函数写出逻辑函数LDAR

51、 = M1T2+M2(ADD+STA)T2LDDR = M1T3+M3(ADD+STA)T3LDIR = M1T4RD = M1+M3ADDWE = M3STA其中:其中:M1、M2、M3是三个节拍电位信号是三个节拍电位信号;T3、T4为时钟周期为时钟周期信号;信号;ADD、STA、JMP是指令是指令OP字段译码器的输出信号。字段译码器的输出信号。6.7 门阵列控制器n采用通用可编程逻辑器件可以实现组合逻辑,也可以实现时序逻辑,由于通用可编程逻辑器件由大量的与门、或门阵列等电路构成,所以简称为门阵列器件。为了与早期的组合逻辑控制器相区别,用门阵列设计的操作控制器称为门阵列控制器。n可编程逻辑器

52、件可编程逻辑器件PLA PLA是多个“与”门电路的集合,并且它可以在任何一个输出端上进行“或”运算。如下的PLA器件有四个输入变量x1、x2、x3、x4,每个变量有原码和反码两个输出;三个和项f1f3(“或”逻辑)中每一个可以包含8个乘积项y1y8(“与”逻辑),每一个和项fi控制一个输出函数,它可用外界电脉冲编制程序。交叉线上的圆点在矩阵上部相当于“与”门,而在矩阵下部的则相当于“或”门。输入变量的每一行可以被地址矩阵的每一列识别为逻辑“1”、“0”或者任意值(用d表示)。 门阵列控制器门阵列控制器n门阵列控制器基本思想门阵列控制器基本思想 我们知道微操作控制信号既是操作码的函数,又是节拍电

53、位、节拍脉冲和反馈条件等因素的函数。因此,在设计门阵列控制器时,通常把指令的操作码、节拍电位、节拍脉冲和反馈条件作为门阵列的输入,再按一定的“与或”关系来编排逻辑阵列的输出,便是所需要的微操作控制信号。假设某一微操作控制信号C6发生在指令A(设OP为I1I2)的节拍电位M2、节拍脉冲T4时间,也发生在指令B(设OP为I1I2)的节拍电位M3、节拍脉冲T2时间,且进位触发位Cy为“1”,那么C6的逻辑表达式如下: C6=I1I2M2T4+I1I2M3T2Cy 将上述输入变量送入门阵列电路进行编排,就可产生所需要的微操作控制信号。 6.8 流水线处理技术n指令执行方式指令执行方式 指令执行方式是指

54、令执行过程之间的衔接关系。由于一条指令的执行过程大体上可分为取指令、分析指令和执行指令三个阶段,所以,指令执行方式可以分为顺序、重叠和流水三种方式n 顺序执行方式顺序执行方式 顺序执行方式是指各条指令执行过程之间是顺序串行执行的。n 重叠执行方式重叠执行方式 重叠执行方式是指在前一条指令执行完成之前,就开始取下一重叠执行方式是指在前一条指令执行完成之前,就开始取下一条指令并执行。即相邻两条指令的执行过程在时间上发生重叠条指令并执行。即相邻两条指令的执行过程在时间上发生重叠n 流水执行方式流水执行方式 流水执行方式是对重叠执行方式的进一步发展,采用类似生产流水执行方式是对重叠执行方式的进一步发展

55、,采用类似生产流水线方式来控制指令的执行过程。流水线方式来控制指令的执行过程。 流水线处理技术流水线处理技术n线性流水线线性流水线 线性流水线在执行多个任务时,多个任务从线性流水线的入口鱼贯而入,经各个功能部件处理,到达一定的时间后,线性流水线的出口就会每经过一个时间片完成一个任务。对于四段线性指令流水线而言,在经过4个t之后,每一个t就会执行完一条指令,这个过程可以用线性流水线时空图进行描述流水线处理技术n流水线技术指标流水线处理技术n高级流水线高级流水线 为了提高流水线的处理速度,目前主要采取的措施有:超流水技术、超长指令字技术和超标量技术,有关详细内容请参考“计算机系统结构” (1)超流

56、水技术 超流水技术主要体现在时间上的进一步重叠,即进一步细化流水线的功能段,增加功能段数量。(2)超长指令字技术 超长指令字技术简称VLIW,用于指令系统的进一步重叠,即通过增加超长指令来改善流水性能。具体而言,超长指令字技术经过编译优化,将多条能够并行执行的指令合并成一条具有多个操作码的超长指令。(3)超标量技术 超标量技术是通过重复设置流水线,来进一步加快流水处理速度。如Pentium微处理器,内部采用了2套流水线(U、V流水线),从而进一步提高了运算器的运算速度。 流水线处理技术n流水线中的相关问题流水线中的相关问题 1、资源相关、资源相关 资源相关是指多条指令进入流水线后,在同一机器时

57、钟周期内争用同一个功能部件所发生的冲突。假定一条指令流水线由五段组成。由表6-5可以看出,在时钟4,I1与I4两条指令发生争用存储器资源的相关冲突。解决资源相关冲突的办法:一是第I4条指令停顿一拍后再启动;二是增设一个存储器,将指令和数据分别放在两个存储器中。 流水线处理技术n数据相关数据相关 在一个程序中,如果必须等前一条指令执行完毕后,才能执行后一条指令,那么这两条指令就是数据相关的。在流水计算机中,指令的处理是重叠进行的,前一条指令还没有结束,第二、三条指令就陆续地开始工作。由于多条指令的重叠处理,当后继指令所需的操作数,刚好是前一指令的运算结果时,便发生数据相关冲突。如ADD指令与SU

58、B指令发生了数据相关冲突 解决数据相关冲突的办法:在流水CPU的运算器中设置若干运算结果缓冲寄存器,暂时保留运算结果,以便于后继指令直接使用,这称为“向前”或“定向”传送技术。 流水线处理技术n控制相关控制相关 控制相关是由转移指令引起的,所以也称控制转移相关。当CPU执行转移取指令时,依据转移条件的产生结果,可能为顺序取下条指令;也可能转移到新的目标地址取指令,从而使流水线发生断流。为了减小转移指令对流水线性能的影响,常用以下两种转移处理技术:(1)延迟转移法 由编译程序重排指令序列来实现,其基本思想是“先执行再转移”,即发生转移时并不排空指令流水线,而是让紧跟在转移指令Ib之后已进入流水线

59、的少数几条指令继续完成,如果这些指令是与Ib结果无关的有用指令,那么延迟损失时间片正好得到了有效的利用。(2)转移预测法 用硬件方法来实现,依据指令过去的行为来预测将来的行为。通过使用转移取和顺序取两路指令预取队列器以及目标指令cache,可将转移预测提前到取指阶段进行,以获得良好的效果。 6.9 典型CPUCPU简介简介nIntel 8088/8086 CPU Intel 8088/8086 CPU 典型CPUCPU简介简介nIntel 80486 CPUIntel 80486 CPU(3232位位DBDB、3232位位ABAB)l使用了使用了流水线流水线技术。技术。 l片内片内8K 8K

60、cachecachel包含增强性包含增强性8038780387协处理器协处理器(浮点运算器(浮点运算器FPUFPU) Pentium 4 处理器的逻辑结构处理器的逻辑结构 指令译码器指令译码器整整 数数 寄寄 存存 器器 组组L2cache(48GB/s) L1数据数据cache(8KB) 浮浮 点点 寄寄 存存 器器 组组慢慢ALU复杂指令复杂指令2xALU简单指令简单指令2xALU简单指令简单指令2xAGU存地址存地址浮点存浮点存浮浮 点点 取取2xAGU取地址取地址MMXSSE/SSE2浮点加浮点加浮点乘浮点乘浮点除浮点除跟踪跟踪cache分支预测器分支预测器执行跟踪执行跟踪cache(

温馨提示

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

评论

0/150

提交评论