第5章中央处理机_第1页
第5章中央处理机_第2页
第5章中央处理机_第3页
第5章中央处理机_第4页
第5章中央处理机_第5页
已阅读5页,还剩75页未读 继续免费阅读

下载本文档

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

文档简介

1、本章主要学习本章主要学习CPU的功能和基本组成、微程序控制器及其设计的功能和基本组成、微程序控制器及其设计技术、流水技术、流水CPU等。等。本章有以下本章有以下10节组成:节组成: 5.1 CPU的组成和功能的组成和功能 5.2 指令周期指令周期 5.3 时序产生器和控制方式时序产生器和控制方式 5.4 微程序控制器微程序控制器 5.5 硬布线控制器硬布线控制器 5.6 传统的传统的CPU 5.7 流水流水CPU 5.8 RISC CPU 5.9 多媒体多媒体CPU 5.1 CPU的组成和功能的组成和功能-5.1.1 CPU器的功能器的功能程序是一个指令序列,一旦把程序装入内存储器,就可以由计

2、程序是一个指令序列,一旦把程序装入内存储器,就可以由计算机来自动完成取出指令和执行指令的任务。专门用来完成此算机来自动完成取出指令和执行指令的任务。专门用来完成此项工作的计算机部件称为中央处理器,通常简称项工作的计算机部件称为中央处理器,通常简称CPU。 CPU具有如下四方面的基本功能:具有如下四方面的基本功能:指令控制指令控制: 程序的顺序控制称为指令控制。程序的顺序控制称为指令控制。操作控制操作控制: 一条指令的功能往往是由若干个操作信号的组合一条指令的功能往往是由若干个操作信号的组合来实现的,来实现的,CPU管理并产生对应于每条指令的操作信号,管理并产生对应于每条指令的操作信号,把各种操

3、作信号送往相应的部件,从而控制这些部件按指把各种操作信号送往相应的部件,从而控制这些部件按指令的要求进行动作。令的要求进行动作。时间控制时间控制: 对各种操作实施时间上的定时称为时间控制。对各种操作实施时间上的定时称为时间控制。数据加工数据加工: 数据加工就是对数据进行算术运算和逻辑运算处数据加工就是对数据进行算术运算和逻辑运算处理。理。5.1 CPU的组成和功能的组成和功能 - 5.1.2 CPU的基本组成的基本组成 CPU的基本部分由运算器、的基本部分由运算器、cache和控制器三大部分组成。和控制器三大部分组成。115.1 CPU的组成和功能的组成和功能 - 5.1.2 CPU的基本组成

4、的基本组成 若将若将 cache纳入存储系统,纳入存储系统,CPU的模型如下(第的模型如下(第3版)版)5.1 CPU的组成和功能的组成和功能 - 5.1.3CPU中的主要寄存器中的主要寄存器 1. 数据缓冲寄存器(数据缓冲寄存器(DR)2. 指令寄存器(指令寄存器(IR)3. 程序计数器(程序计数器(PC)4. 地址寄存器(地址寄存器(AR)5. 通用寄存器(通用寄存器(AC)6. 状态条件寄存器(状态条件寄存器(PSW)5.1 CPU的组成和功能的组成和功能 - 5.1.4 操作控制器与时序产生器操作控制器与时序产生器信息在信息在CPU内部各节点之间的传送通路称为内部各节点之间的传送通路称

5、为数据通路数据通路。信息从什么地方开始,中间经过哪个寄存器或多路开关,最后信息从什么地方开始,中间经过哪个寄存器或多路开关,最后传送到哪个寄存器,都由称为传送到哪个寄存器,都由称为操作控制器操作控制器的部件要加以控制。的部件要加以控制。建立数据通路的任务是由建立数据通路的任务是由操作控制器操作控制器的部件来完成的。的部件来完成的。操作控制器的功能,就是根据操作控制器的功能,就是根据指令操作码指令操作码和和时序信号时序信号,产生各,产生各种操作控制信号,以便正确地建立数据通路,从而完成取指令种操作控制信号,以便正确地建立数据通路,从而完成取指令和执行指令的控制。和执行指令的控制。 根据设计方法不

6、同,根据设计方法不同,操作控制器操作控制器可分为可分为时序逻辑型时序逻辑型、存储逻辑存储逻辑型型、时序逻辑与存储逻辑时序逻辑与存储逻辑结合型三种。结合型三种。 硬布线控制器硬布线控制器: 是采用时序逻辑技术来实现的;是采用时序逻辑技术来实现的; 微程序控制器微程序控制器: 是采用存储逻辑来实现的;是采用存储逻辑来实现的; 前两种方式的组合前两种方式的组合5.2 指令周期指令周期 - 5.2.1 指令周期的基本概念指令周期的基本概念指令周期指令周期: CPU取出一条指令并执行这条指令的时间总和。取出一条指令并执行这条指令的时间总和。CPU周期周期: 又称又称机器周期机器周期,用从内存读取一条指令

7、字的最短时,用从内存读取一条指令字的最短时间来定义。间来定义。 时钟周期时钟周期: 通常称为通常称为节拍脉冲节拍脉冲或或T周期周期。35.2 指令周期指令周期 - 5.2.2 非访内指令的指令周期非访内指令的指令周期MOV指令、指令、ADD指令的指令周期(指令的指令周期(RR型)。型)。 5.2 指令周期指令周期 - 5.2.3 取数指令的指令周期取数指令的指令周期LAD指令、指令、STO指令的指令周期(指令的指令周期(RS型)。型)。5.2 指令周期指令周期-5.2.5 空操作指令和转移指令的指令周期空操作指令和转移指令的指令周期JMP指令的指令周期指令的指令周期由两个由两个CPU周期组成周

8、期组成 (如右图所示)(如右图所示)5.2 指令周期指令周期-5.2.5 空操作指令和转移指令的指令周期空操作指令和转移指令的指令周期五条典型指令的取指和执行过程五条典型指令的取指和执行过程: 演示演示 45.2 指令周期指令周期 - 5.2.1 指令周期的基本概念指令周期的基本概念机器指令示例程序机器指令示例程序5.2 指令周期指令周期 - 5.2.7 用方框图语言表示指令周期用方框图语言表示指令周期在进行计算机设计时,常采用方框图语言来表示指令周期。在进行计算机设计时,常采用方框图语言来表示指令周期。将五条指令加以归纳,用方框图语言表示的指令周期如下:将五条指令加以归纳,用方框图语言表示的

9、指令周期如下:55.2 指令周期指令周期 - 5.2.7 用方框图语言表示指令周期用方框图语言表示指令周期【例例】教材图教材图5.15所示为双总线结构机器的数据通路所示为双总线结构机器的数据通路 (1)“ADD R2,R0”指令完成指令完成(R0)+(R2)R0的功能操作,画的功能操作,画出其指令周期流程图,假设该指令的地址已放入出其指令周期流程图,假设该指令的地址已放入PC中。并列中。并列出相应的微操作控制信号序列。出相应的微操作控制信号序列。(2)“SUB R1,R3”指令完成指令完成(R3)-(R1)R3的操作,画出其指的操作,画出其指令期流程图,并列出相应的微操作控制信号序列。令期流程

10、图,并列出相应的微操作控制信号序列。5.2 指令周期指令周期 - 5.2.7 用方框图语言表示指令周期用方框图语言表示指令周期解解5.3时序产生器和控制方式时序产生器和控制方式-5.3.1时序信号的作用和体制时序信号的作用和体制机器一旦被启动,即机器一旦被启动,即CPU开始取指令并执行指令时,操作控制开始取指令并执行指令时,操作控制器就利用定时器就利用定时脉冲的顺序脉冲的顺序和不同的和不同的脉冲间隔脉冲间隔,有条理、有节奏,有条理、有节奏地指挥机器的动作,规定在这个脉冲到来时做什么,在那个脉地指挥机器的动作,规定在这个脉冲到来时做什么,在那个脉冲到来时又做什么,给计算机冲到来时又做什么,给计算

11、机 各部分提供工作所需的时间标各部分提供工作所需的时间标志。志。 计算机的协调动作需要时间标志,而时间标志则是用计算机的协调动作需要时间标志,而时间标志则是用时时序信号序信号来体现的。来体现的。硬布线控制器中,时序信号往往采用硬布线控制器中,时序信号往往采用主状态周期主状态周期-节拍电位节拍电位-节节拍脉冲拍脉冲三级体制。三级体制。在微程序控制器中,时序信号比较简单,一般采用在微程序控制器中,时序信号比较简单,一般采用节拍电位节拍电位-节拍脉冲节拍脉冲二级体制。二级体制。5.3时序产生器和控制方式时序产生器和控制方式 - 5.3.2 时序信号产生器时序信号产生器时序信号产生器的构成时序信号产生

12、器的构成85.3时序产生器和控制方式时序产生器和控制方式 - 5.3.2 时序信号产生器时序信号产生器时序脉冲产生器时序脉冲产生器AC C1 1、C C2 2、C C3 3、C C4 4: :上跳沿置数,下跳沿清零上跳沿置数,下跳沿清零5.3时序产生器和控制方式时序产生器和控制方式 - 5.3.2 时序信号产生器时序信号产生器节拍电位和节拍脉冲时序关系图:节拍电位和节拍脉冲时序关系图: 1 2 3 4 5 6 7 8 9 10CPUCPU周期周期CPUCPU周期周期C4C1C2C3T1T2T3T45.3时序产生器和控制方式时序产生器和控制方式 - 5.3.2 时序信号产生器时序信号产生器启停控

13、制逻辑启停控制逻辑5.3时序产生器和控制方式时序产生器和控制方式 - 5.3.3 控制方式控制方式控制方式控制方式: 控制不同操作序列时序信号的方法控制不同操作序列时序信号的方法。常用的有。常用的有同步同步控制、异步控制、联合控制控制、异步控制、联合控制三种方式,其实质反映了时序信号三种方式,其实质反映了时序信号的定时方式。的定时方式。 1. 同步控制方式同步控制方式在任何情况下,已定的指令在执行时所需的机器周期数和时钟在任何情况下,已定的指令在执行时所需的机器周期数和时钟周期数都固定不变。根据不同情况,同步控制方式可选取如下周期数都固定不变。根据不同情况,同步控制方式可选取如下方案:方案:(

14、1) 采用完全统一的机器周期执行各种不同的指令。采用完全统一的机器周期执行各种不同的指令。(2) 采用不定长机器周期采用不定长机器周期 短基准周期短基准周期+延长量(按需)。延长量(按需)。(3) 中央控制与局部控制结合中央控制与局部控制结合 (1)方式方式+少数指令定制时序少数指令定制时序5.3时序产生器和控制方式时序产生器和控制方式 - 5.3.3 控制方式控制方式2. 异步控制方式异步控制方式其特点是:每条指令、每个操作控制信号需要多少时间就占用其特点是:每条指令、每个操作控制信号需要多少时间就占用多少时间。用这种方式形成的操作控制序列没有固定的多少时间。用这种方式形成的操作控制序列没有

15、固定的CPU周周期数期数(节拍电位节拍电位)或严格的时钟周期或严格的时钟周期(节拍脉冲节拍脉冲)与之同步。与之同步。3. 联合控制方式联合控制方式 联合控制同步控制和异步控制相结合的方式。联合控制同步控制和异步控制相结合的方式。(1) 大部分操作序列安排在固定的机器周大部分操作序列安排在固定的机器周 期中,对某些期中,对某些时间难以确定的操作则以执行部件的时间难以确定的操作则以执行部件的“回答回答”信号作为本信号作为本次操作的结束;次操作的结束;(2) 机器周期的节拍脉冲数固定,但是各条指令周期的机机器周期的节拍脉冲数固定,但是各条指令周期的机器周期数不固定。器周期数不固定。5.4 微程序控制

16、器微程序控制器微程序控制器的基本思想,是采用程序设计方法,将控制信号微程序控制器的基本思想,是采用程序设计方法,将控制信号编成编成“微指令微指令”,存放在一个只读存储器中,当机器运行时,存放在一个只读存储器中,当机器运行时,一条接一条地读出这些微指令,从而产生和硬部件所需的控制一条接一条地读出这些微指令,从而产生和硬部件所需的控制信号,使相应的部件执行规定的动作。信号,使相应的部件执行规定的动作。5.4 微程序控制器微程序控制器 - 5.4.1 微微程序控制器原理程序控制器原理微命令微命令:控制部件通过控制线向执行部件发出的各种控制命令。:控制部件通过控制线向执行部件发出的各种控制命令。微操作

17、微操作:执行部件接受微命令后所进行的操作。:执行部件接受微命令后所进行的操作。简单运简单运算器数算器数据通路据通路相容性相容性微操作微操作如如1 1 2 2 3 3相斥性相斥性微操作微操作如如+-M+-M5.4 微程序控制器微程序控制器 - 5.4.1 微微程序控制器原理程序控制器原理微指令微指令 在机器的一个在机器的一个CPU周期中,一组实现一定操作功能的微命周期中,一组实现一定操作功能的微命令的组合。令的组合。微程序微程序实现一条机器指令功能的许多条微指令组成的序列。实现一条机器指令功能的许多条微指令组成的序列。微指令的基本格式微指令的基本格式5.4 微程序控制器微程序控制器 - 5.4.

18、1 微微程序控制器原理程序控制器原理5.4 微程序控制器微程序控制器 - 5.4.1 微微程序控制器原理程序控制器原理节拍脉冲与节拍电位节拍脉冲与节拍电位微指令中给出的控制信号都是节拍电位,它们持续的时间都是微指令中给出的控制信号都是节拍电位,它们持续的时间都是一个一个CPU周期。周期。同一同一CPU周期中的微操作是有时序关系的,在上述的运算器模周期中的微操作是有时序关系的,在上述的运算器模型中,发给运算器的有型中,发给运算器的有12个控制信号,其中个控制信号,其中9个是节拍电位,个是节拍电位,3个是节拍脉冲(个是节拍脉冲(LDR1, LDR2, LDR3)当在一个当在一个CPU周期周期(假定

19、假定800ns,分,分4个个T周期)中,完成加法运周期)中,完成加法运算算(600ns内完成运算内完成运算),且将结果打入,且将结果打入R1-R3时,则微命令时,则微命令LDR1、LDR2、及、及LDR3应在应在T4时该发出。时该发出。CPUCPU周期周期200ns600ns800ns节拍电位节拍电位节拍脉冲节拍脉冲LDR1 LDR2 LDR3LDR1 LDR2 LDR3T45.4 微程序控制器微程序控制器 - 5.4.1 微微程序控制器原理程序控制器原理微程序控制器原理框图微程序控制器原理框图5.4 微程序控制器微程序控制器 - 5.4.1 微微程序控制器原理程序控制器原理000 000 0

20、00 000 11111100000010 100 100 100 00000001001010 001 001 100 00000010000010 001 001 001 000000000005.4 微程序控制器微程序控制器 - 5.4.1 微微程序控制器原理程序控制器原理在串行方式的微程序控制器中在串行方式的微程序控制器中:微指令周期微指令周期 = 读出微指令的时间读出微指令的时间 + 执行该条微指令的时间执行该条微指令的时间下图示出了某小型机中下图示出了某小型机中CPU周期与微指令周期的时间关系:周期与微指令周期的时间关系:5.4 微程序控制器微程序控制器 - 5.4.1 微微程序控

21、制器原理程序控制器原理一条机器指令对应一个微程序,这个微程序是由若干条微指令一条机器指令对应一个微程序,这个微程序是由若干条微指令序列组成的。序列组成的。从指令与微指令,程序与微程序,地址与微地址的一一对应关从指令与微指令,程序与微程序,地址与微地址的一一对应关系来看,前者与内存储器有关,后者与控制存储器有关。系来看,前者与内存储器有关,后者与控制存储器有关。 5.4 微程序控制器微程序控制器 - 5.4.2 微微程序设计技术程序设计技术微程序设计的关键是如何确定微指令的结构。微程序设计的关键是如何确定微指令的结构。设计微指令结构应当追求的目标是:设计微指令结构应当追求的目标是:有利于缩短微指

22、令的字长;有利于缩短微指令的字长;有利于减小控制存储器的容量;有利于减小控制存储器的容量;有利于提高微程序的执行速度;有利于提高微程序的执行速度;有利于对微指令的修改;有利于对微指令的修改;有利于提高微程序设计的灵活性。有利于提高微程序设计的灵活性。5.4 微程序控制器微程序控制器 - 5.4.2 微微程序设计技术程序设计技术 -1.1.微指令编码微指令编码 微命令编码是对微指令中的操作控制字段采用的表示方法。微命令编码是对微指令中的操作控制字段采用的表示方法。 直接表示法直接表示法:操作控制字段中的每一位代表一个微命令。:操作控制字段中的每一位代表一个微命令。 编码表示法编码表示法:将一组相

23、斥性的微命令信号组成一个小组:将一组相斥性的微命令信号组成一个小组(即即一个字段一个字段) ,然后通过小组,然后通过小组(字段)译码器对每一个微命令字段)译码器对每一个微命令信号进行译码信号进行译码 ,译码输出作为操作控制信号。,译码输出作为操作控制信号。 混合表示法:混合表示法:这种方法是把直接表示法与字段编码法混合这种方法是把直接表示法与字段编码法混合使用,以便能综合考虑指令字长、灵活性、执行微程序速使用,以便能综合考虑指令字长、灵活性、执行微程序速度等方面的要求。度等方面的要求。5.4 微程序控制器微程序控制器 - 5.4.2 微微程序设计技术程序设计技术-2.2.微地址的形成方法微地址

24、的形成方法微指令执行的顺序控制问题,实际上是如何确定下一条微指令微指令执行的顺序控制问题,实际上是如何确定下一条微指令的地址问题。的地址问题。通常,产生后继微地址有两种方法:通常,产生后继微地址有两种方法:计数器方式计数器方式l用程序器计数来产生机器指令地址的方法相类似。用程序器计数来产生机器指令地址的方法相类似。 多路转移方式多路转移方式l一条微指令具有多个转移分支的能力称为多路转移。一条微指令具有多个转移分支的能力称为多路转移。l在多路转移方式中,在多路转移方式中,当微程序不产生分支时当微程序不产生分支时,后继微地,后继微地直接由微指令的顺序控制字段给出;直接由微指令的顺序控制字段给出;当

25、微程序出现分支当微程序出现分支时,时,有若干有若干“后选后选”微地址可供选择:即按顺序控制字微地址可供选择:即按顺序控制字段的段的“判别测试判别测试”标志和标志和“状态条件状态条件”信息来选择其中信息来选择其中一个微地址。一个微地址。l“状态条件状态条件”有有n位标志,可实现微程序位标志,可实现微程序2n路转移,涉及路转移,涉及微地址寄存器的微地址寄存器的n位位 。 5.4 微程序控制器微程序控制器 - 5.4.2 微微程序设计技术程序设计技术-2.2.微地址的形成方法微地址的形成方法 【例例】微地址寄存器有微地址寄存器有6位位(A5-A0),当需修改其内容时,可,当需修改其内容时,可通过某一

26、位触发器的强置端通过某一位触发器的强置端S将其置将其置“1”。现有三种情况:。现有三种情况:执行执行“取指取指”微指令后,微程序按微指令后,微程序按IR的的OP字段字段(IR3-IR0)进进行行16路分支;路分支;执行条件转移指令微程序时,按进位标志执行条件转移指令微程序时,按进位标志C的状态进行的状态进行2路路分支;分支;执行控制台指令微程序时,按执行控制台指令微程序时,按IR4,IR5的状态进行的状态进行4 路分路分支。支。请按多路转移方法设计微地址转移逻辑。请按多路转移方法设计微地址转移逻辑。5.4 微程序控制器微程序控制器 - 5.4.2 微微程序设计技术程序设计技术-2.2.微地址的

27、形成方法微地址的形成方法 【解解】按所给设计条件,微程序有三种判别测试,分别为按所给设计条件,微程序有三种判别测试,分别为P1,P2,P3。 由于修改由于修改A5-A0内容具有很大灵活性,现分配如内容具有很大灵活性,现分配如下:下:(1) 用用P1和和IR3-IR0修改修改A3-A0;(2) 用用P2和和C修改修改A0;(3) 用用P3和和IR5,IR4修改修改A5,A4。另外还要考虑时间因素另外还要考虑时间因素T4(假设假设CPU周期最后一个节拍脉冲周期最后一个节拍脉冲),故转移逻辑表达式如下:故转移逻辑表达式如下: A5=P3IR5T4 A4=P3IR4T4 A3=P1IR3T4 A2=P

28、1IR2T4 A1=P1IR1T4 A0=P1IR0T4+P2CT4由于从触发器强置端修改,故前由于从触发器强置端修改,故前5个表达式可用个表达式可用“与非与非”门实门实现,最后一个用现,最后一个用“与或非与或非”门实现。门实现。5.4 微程序控制器微程序控制器 - 5.4.2 微微程序设计技术程序设计技术-2.2.微地址的形成方法微地址的形成方法产生微地址的逻辑图(图中仅画出低产生微地址的逻辑图(图中仅画出低3位):位):5.4 微程序控制器微程序控制器原理原理图图5.4 微程序控制器微程序控制器 - 5.4.2 微微程序设计技术程序设计技术-3 3. .微微指令格式指令格式微指令格式大体分

29、成两类:水平型微指令和垂直型微指令。微指令格式大体分成两类:水平型微指令和垂直型微指令。水平型微指令水平型微指令l一次能定义并执行多个并行操作微命令的微指令,叫做一次能定义并执行多个并行操作微命令的微指令,叫做水平型微指令。水平型微指令。l水平微指令的一般格式水平微指令的一般格式l水平微指令可分为三种水平微指令可分为三种全水平型(直接表示,不译码)全水平型(直接表示,不译码)字段译码型字段译码型直接表示和译码混合型(实验中采用的格式)直接表示和译码混合型(实验中采用的格式)控制字段控制字段判别测试字段判别测试字段直接地址字段直接地址字段5.4 微程序控制器微程序控制器 - 5.4.2 微微程序

30、设计技术程序设计技术-3 3. .微微指令格式指令格式垂直型微指令垂直型微指令l垂直型微指令的结构类似于机器指令结构。垂直型微指令的结构类似于机器指令结构。l微指令中设置微操作码字段,采用微操作码编译法,由微指令中设置微操作码字段,采用微操作码编译法,由微操作码规定微指令的功能。微操作码规定微指令的功能。l垂直型微指令示例垂直型微指令示例000原寄存器编址原寄存器编址目标寄存器编址目标寄存器编址其他其他寄存器寄存器- -寄存器传送型微指令寄存器传送型微指令15 13 12 8 7 3 2 015 13 12 8 7 3 2 0000原寄存器编址原寄存器编址目标寄存器编址目标寄存器编址ALU运算

31、控制型微指令运算控制型微指令15 13 12 8 7 3 2 015 13 12 8 7 3 2 05.4 微程序控制器微程序控制器 - 5.4.2 微微程序设计技术程序设计技术-3 3. .微微指令格式指令格式水平型微指令与垂直型微指令比较水平型微指令与垂直型微指令比较l水平型微指令并行操作能力强,效率高,灵活性强,垂水平型微指令并行操作能力强,效率高,灵活性强,垂直型微指令则较差。直型微指令则较差。l水平型微指令执行一条指令的时间短,垂直型微指令执水平型微指令执行一条指令的时间短,垂直型微指令执行时间长。行时间长。l由水平型微指令解释指令的微程序,有微指令字较长而由水平型微指令解释指令的微

32、程序,有微指令字较长而微程序短的特点。垂直型微指令则相反。微程序短的特点。垂直型微指令则相反。l水平型微指令用户难以掌握,而垂直型微指令与指令比水平型微指令用户难以掌握,而垂直型微指令与指令比较相似,相对来说,比较容易掌握。较相似,相对来说,比较容易掌握。 5.4 微程序控制器微程序控制器 - 5.4.2 微微程序设计技术程序设计技术-4 4. .动态微程序设计动态微程序设计微程序设计技术有静态微程序设计和动态微程序设计之分。微程序设计技术有静态微程序设计和动态微程序设计之分。静态微程序设计静态微程序设计l对应于一台计算机的机器指令只有一组微程序,而且这对应于一台计算机的机器指令只有一组微程序

33、,而且这一组微程序设计好之后,一般无须改变而且也不好改变,一组微程序设计好之后,一般无须改变而且也不好改变,这种微程序设计技术称为静态微程序设计。这种微程序设计技术称为静态微程序设计。 动态微程序设计动态微程序设计 l当采用当采用E2PROM作为控制存储器时,还可以通过改变微作为控制存储器时,还可以通过改变微指令和微程序来改变机器的指令系统,这种微程序设计指令和微程序来改变机器的指令系统,这种微程序设计技术称为动态微程序设计。技术称为动态微程序设计。5.1 CPU的组成和功能的组成和功能 - 5.1.2 CPU的基本组成的基本组成 CPU的基本部分由运算器、的基本部分由运算器、cache和控制

34、器三大部分组成。和控制器三大部分组成。11DR1(74273)ALU(74181)DR2(74273)R0(74374)AR(74273)PC(74161)IR(74273)微控器时序MEM(6116)OUTPUTINPUTS3S2S1S0MCNLDDR1T4LDDR2T4LDR0T4LDIRT3LDPCT4LDART3W/RLED-BCEW/RSW-BBUSCPU地址总线数据总线Y0Y1Y2W/RALU-BLOADPC-BR0-B指令周期:取一条指令并执行这条指令的时间指令周期:取一条指令并执行这条指令的时间CPU周期:用内存中读取一个字的最短时间表示周期:用内存中读取一个字的最短时间表示取

35、指令:花费一个取指令:花费一个CPU周期周期执行指令:花费若干个执行指令:花费若干个CPU周期周期5.4 微程序控制器微程序控制器 - 5.4.1 微微程序控制器原理程序控制器原理微指令微指令 在机器的一个在机器的一个CPU周期中,一组实现一定操作功能的微命周期中,一组实现一定操作功能的微命令的组合。令的组合。微程序微程序实现一条机器指令功能的许多条微指令组成的序列。实现一条机器指令功能的许多条微指令组成的序列。微指令的基本格式微指令的基本格式5.4 微程序控制器微程序控制器 - 5.4.1 微微程序控制器原理程序控制器原理微程序控制器原理框图微程序控制器原理框图字段字段字段15 14 13选

36、择000001LDRi010LDDR1011LDDR2100LDIR101LOAD110LDAR12 11 10选择000001RS-B010011100101ALU-B110987选择000001P(1)010011100P(4)101PC-B24S323S222 21 20 1918171615 14 13 12 11 10 987654321S1 S0 M CnWEA8ABCuA5 uA4 uA3 uA2 uA1A9uA0LDPC110A9A8=00INPUT 选中A9A8=01RAM(CE) 选中A9A8=10OUTPUT选中A9A8=11外部设备不选中WE=1 写WE=0 读 AND

37、 AND AND ANDLDRiI1I0RD-BGBAGBAGBARS-BI3I2RI-BR2-BR1-BR0-BLDR0LDR12:42:42:4LDR2基本模型机共有如下基本模型机共有如下5条指令条指令:助记符助记符机器指令码机器指令码说明说明IN0000 00000000 0000Input R0ADD addr0001 0000 ? ? 0001 0000 ? ? R0 + addr R0STA addr0010 0000 ? ? 0010 0000 ? ? R0 addrOUT addr0011 0000 ? ? 0011 0000 ? ? addr LEDJMP addr0100

38、0000 ? ? 0100 0000 ? ? addr PCPC-ARPC+1RAM-BUSBUS-IRP(1)SW-R0INPC-ARPC+1PC-ARPC+1PC-ARPC+1PC-ARPC+1RAM-BUSBUS-ARRAM-BUSBUS-DR2R0-DR1ADD(DR1)+(DR2)-R0RAM-BUSBUS-ARR0-BUSBUS-RAMRAM-BUSBUS-AROUTDR1-LEDRAM-BUSBUS-DR1RAM-BUSBUS-PC0101010101JMPSTA0102142613161725120715110304050610运行微程序PC-ARPC+1PC-ARPC+120

39、00(八进制微地址)PC-ARPC+1RAM-BUSBUS-DR1PC-ARPC+1DR1-LEDPC-ARPC+1PC-ARPC+1PC-ARPC+1SW-BUSBUS-DR1PC-ARPC+1DR1-RAMKWE(01)PC-ARPC+1P(4)KRD(00)RP(11)23202227302421控制台10微地址微地址S3 S2 S1 S0 M CN WE A9 A8 A BCA5A00 00 0 0 0 0 0 0 1 1 0 0 00 0 01 0 00 1 0 0 0 00 10 0 0 0 0 0 0 1 1 1 1 01 1 01 1 00 0 0 0 1 00 20 0 0

40、0 0 0 0 0 1 1 0 00 0 00 0 10 0 1 0 0 00 30 0 0 0 0 0 0 0 1 1 1 00 0 00 0 00 0 0 1 0 00 40 0 0 0 0 0 0 0 1 0 1 10 0 00 0 00 0 0 1 0 10 50 0 0 0 0 0 0 1 1 0 1 00 0 10 0 00 0 0 1 1 00 61 0 0 1 0 1 0 1 1 0 0 11 0 10 0 00 0 0 0 0 10 70 0 0 0 0 0 0 0 1 1 1 00 0 00 0 00 0 1 1 0 11 00 0 0 0 0 0 0 0 0 0 0 10

41、 0 00 0 00 0 0 0 0 11 10 0 0 0 0 0 0 1 1 1 1 01 1 01 1 00 0 0 0 1 11 20 0 0 0 0 0 0 1 1 1 1 01 1 01 1 00 0 0 1 1 11 30 0 0 0 0 0 0 1 1 1 1 01 1 01 1 00 0 1 1 1 01 40 0 0 0 0 0 0 1 1 1 1 01 1 01 1 00 1 0 1 1 01 50 0 0 0 0 0 1 0 1 0 0 00 0 10 0 00 0 0 0 0 11 60 0 0 0 0 0 0 0 1 1 1 00 0 00 0 00 0 1 1 1

42、 11 70 0 0 0 0 0 0 0 1 0 1 00 0 00 0 00 1 0 1 0 12 00 0 0 0 0 0 0 1 1 1 1 01 1 01 1 00 1 0 0 1 02 10 0 0 0 0 0 0 1 1 1 1 01 1 01 1 00 1 0 1 0 02 20 0 0 0 0 0 0 0 1 0 1 00 0 00 0 00 1 0 1 1 12 30 0 0 0 0 0 0 1 1 0 0 00 0 00 0 00 0 0 0 0 12 40 0 0 0 0 0 0 0 0 0 1 00 0 00 0 00 1 1 0 0 02 50 0 0 0 0 1 1

43、 1 0 0 0 01 0 10 0 00 0 0 0 0 12 60 0 0 0 0 0 0 0 1 1 0 10 0 01 1 00 0 0 0 0 12 70 0 0 0 0 1 1 1 0 0 0 01 0 10 0 00 1 0 0 0 03 00 0 0 0 0 1 1 0 1 0 0 01 0 10 0 00 1 0 0 0 1地址(二进制)地址(二进制)内容(二进制)内容(二进制)助记符助记符说明说明0000 00000000 0000INInput R00000 00010001 0000ADD 0AHR0+0AHR00000 00100000 10100000 001100

44、10 0000STA 0BHR0 0BH0000 01000000 10110000 01010011 0000OUT 0BH0BH LED0000 01100000 10110000 01110100 0000JMP 08H08H PC0000 10000000 00000000 10010000 10100000 00010000 1011通过二个手动开关的组合状态,设置三条控制台指令:通过二个手动开关的组合状态,设置三条控制台指令:SWBSWA控制台指令控制台指令00读内存读内存(KRD)01写内存写内存(KWE)11启动程序(启动程序(RP)5.5 硬布线控制器硬布线控制器 - 1.1

45、.基本思想基本思想硬布线控制器是早期设计计算机的一种方法。硬布线控制器是早期设计计算机的一种方法。这种方法是把控制部件看作为产生专门固定时序控制信号的逻这种方法是把控制部件看作为产生专门固定时序控制信号的逻辑电路,而此逻辑电路以使用最少元件和取得最高辑电路,而此逻辑电路以使用最少元件和取得最高 操作速度操作速度为设计目标。为设计目标。一旦控制部件构成后,除非重新设计和物理上对它重新布线,一旦控制部件构成后,除非重新设计和物理上对它重新布线,否则要否则要 想增加新的控制功能是不可能的。想增加新的控制功能是不可能的。这种逻辑电路是一种由门电路和触发器构成的复杂树形网络,这种逻辑电路是一种由门电路和

46、触发器构成的复杂树形网络,故称之为故称之为硬布线控制器硬布线控制器。5.5 硬布线控制器硬布线控制器 - 1.1.基本思想基本思想硬联线控制器的结构如图:硬联线控制器的结构如图:硬布线控制器的基本原理:硬布线控制器的基本原理:C = f ( Im,Mi,Tk,Bj ) 5.5 硬布线控制器硬布线控制器 - 2.2.指令执行流程指令执行流程5.5 硬布线控制器硬布线控制器 - 2.2.指令执行流程指令执行流程硬布线的指令周期流程图硬布线的指令周期流程图5.5 硬布线控制器硬布线控制器 - 3.3.微操作控制信号的产生微操作控制信号的产生硬布线控制器的设计方法及过程:硬布线控制器的设计方法及过程:

47、先画出硬连线控制器的指令周期流程图先画出硬连线控制器的指令周期流程图列表整理所有机器指令涉及到的微操作控制信号列表整理所有机器指令涉及到的微操作控制信号制作微操作时间表制作微操作时间表利用布尔代数写出综合逻辑表达式利用布尔代数写出综合逻辑表达式用用 门电路、可编程器件等实现门电路、可编程器件等实现 【例例】跟据上述指令周期流程图,写出以下操作控制信号跟据上述指令周期流程图,写出以下操作控制信号RD(I)、RD(D)、WE(D)、LDPC、 LDAR、LDDR、PC+1、LDR2 的逻辑表达式,每个操作信号的的逻辑表达式,每个操作信号的含义是:含义是:RD(I) - 指存读命令,指存读命令,RD

48、(D) - 数存读命令,数存读命令,WE(D) -数存写命令,数存写命令,LDPC - 打入程序计数器,打入程序计数器, LDIR - 打入指令计数器,打入指令计数器,LDAR - 打入数存地址寄存器,打入数存地址寄存器, LDDR - 打入数据缓冲寄存器,打入数据缓冲寄存器,PC+1 - 程序计数器加程序计数器加 1 ,LDR2 - 打入寄存器打入寄存器R2 【解解】按上述步骤逐步求解,过程如下:按上述步骤逐步求解,过程如下:5.5 硬布线控制器硬布线控制器 - 3.3.微操作控制信号的产生微操作控制信号的产生指令系统中所有机器指令涉及到的微操作控制信号指令系统中所有机器指令涉及到的微操作控

49、制信号 微操作微操作指令指令RD(I)RD(D)WE(D)LDPCLDIRLDARLDDRPC+1LDR2MOVLADADDSTOJMP取指取指(M1)5.5 硬布线控制器硬布线控制器 - 3.3.微操作控制信号的产生微操作控制信号的产生微操作时间表微操作时间表节拍节拍电位电位节拍节拍脉冲脉冲RD(I)RD(D)WE(D)LDPCLDIRLDARLDDRPC+1LDR2M1T1MOVLADADDSTOJMPMOVLADADDSTOJMPT2T3T4全部全部M2T1T2T3MOVADDT4JMPLAD STOADDM3T1LADT2T3STOLADT45.5 硬布线控制器硬布线控制器 - 3.3

50、.微操作控制信号的产生微操作控制信号的产生根据微操作时间表列出微操作控制信号的逻辑表达式根据微操作时间表列出微操作控制信号的逻辑表达式 RD(I) = M1 RD(D) = M3LAD WE(D) = M3T3STO (教材错为教材错为LAD) LDPC = M1T4 + M2T4JMP (多余,取指不涉及多余,取指不涉及LDPC) LDIR = M1T4 LDAR = M2T4(LAD+STO) LDDR = M2T3(MOV+ADD) + M3T3LAD PC+1 = M1 LDDR2 = M2T4ADD5.6 传统的传统的CPU - 1.Intel 8088 CPU1.Intel 808

51、8 CPU5.6 传统的传统的CPU - 2.2.IBM 370IBM 370系列系列CPUCPU5.7 流水流水CPU - 5.7.1 并行处理技术并行处理技术 计算机的并行处理技术主要有以下三种形式:计算机的并行处理技术主要有以下三种形式:时间并行时间并行 空间并行空间并行时间并行时间并行+空间并行空间并行5.7 流水流水CPU - 5.7.2 流水流水CPU的结构的结构1. 流水计算机的系统组成流水计算机的系统组成其中其中CPU按流水线方式组织,按流水线方式组织,通常由三部分组成:指令部件、通常由三部分组成:指令部件、指令队列、执行部件。这三个指令队列、执行部件。这三个功能部件可以组成一

52、个功能部件可以组成一个 3级流级流水线。水线。为了使存储器的存取时间能与为了使存储器的存取时间能与流水线的其他各过程段的速度流水线的其他各过程段的速度相匹配,一般都采用多体交叉相匹配,一般都采用多体交叉存器。存器。执行段的速度匹配问题:通常执行段的速度匹配问题:通常采用并行的运算部件以及部件采用并行的运算部件以及部件流水线的工作方式来解决。流水线的工作方式来解决。5.7 流水流水CPU - 5.7.2 流水流水CPU的结构的结构2. 流水流水CPU的时空图的时空图5.7 流水流水CPU - 5.7.2 流水流水CPU的结构的结构3. 流水线分类流水线分类指令流水线指令流水线 指指令步骤的并行。

53、将指令流的处理过程划分为指指令步骤的并行。将指令流的处理过程划分为取指令、译码、执行、写回等几个并行处理的过程段。目前,取指令、译码、执行、写回等几个并行处理的过程段。目前,几乎所有的高性能计算机都采用了指令流水线。几乎所有的高性能计算机都采用了指令流水线。算术流水线算术流水线 指运算操作步骤的并行。如流水加法器、流水乘指运算操作步骤的并行。如流水加法器、流水乘法器、流水除法等。法器、流水除法等。 现代计算机广泛采用了流水运算器。现代计算机广泛采用了流水运算器。处理机流水线处理机流水线 又称为宏流水线,是指程序步骤的并行。由一又称为宏流水线,是指程序步骤的并行。由一串级联的处理机构成流水线的各

54、个过程段,每台处理机负责某串级联的处理机构成流水线的各个过程段,每台处理机负责某一特定的任务。数据流从第一台处理机输入,经处理后被送入一特定的任务。数据流从第一台处理机输入,经处理后被送入与第二台处理机相联的缓冲存储器中。第二台处理机从该存储与第二台处理机相联的缓冲存储器中。第二台处理机从该存储器中取出数据进行处理,然后传送给第三台处理机,如此串联器中取出数据进行处理,然后传送给第三台处理机,如此串联下去。随着高档微处理器芯片的出现,下去。随着高档微处理器芯片的出现, 构造处理机流水线将构造处理机流水线将变得容易了。处理机流水线应用在多机系统中。变得容易了。处理机流水线应用在多机系统中。 5.

55、7 流水流水CPU - 5.7.3 流水线中的主要问题流水线中的主要问题1. 资源相关资源相关资源相关是指多条指令进入流水线后在同一机器时钟周期内争资源相关是指多条指令进入流水线后在同一机器时钟周期内争用同一个功能部件所发生的冲突。用同一个功能部件所发生的冲突。 假定一条指令流水线由五段组成。由下表可以看出,在时钟假定一条指令流水线由五段组成。由下表可以看出,在时钟4时,时,I1与与I4两条指令发生争用存储器资源的相关冲突。两条指令发生争用存储器资源的相关冲突。解决资源相关冲突的办法:解决资源相关冲突的办法:一是第一是第I4条指令停顿一拍后再启动;二是增设一个存储器,将条指令停顿一拍后再启动;

56、二是增设一个存储器,将指令和数据分别放在两个存储器中。指令和数据分别放在两个存储器中。5.7 流水流水CPU - 5.7.3 流水线中的主要问题流水线中的主要问题2. 数据相关数据相关在一个程序中,如果必须等前一条指令执行完毕后,才能执行后一条指令,在一个程序中,如果必须等前一条指令执行完毕后,才能执行后一条指令,那么这两条指令就是那么这两条指令就是数据相关数据相关的。的。在流水计算机中,指令的处理是重叠进行的,前一条指令还没有结束,第在流水计算机中,指令的处理是重叠进行的,前一条指令还没有结束,第二、三条指令就陆续地开始工作。二、三条指令就陆续地开始工作。由于多条指令的重叠处理,当后继指令所

57、需的操作数,刚好是前一指令的由于多条指令的重叠处理,当后继指令所需的操作数,刚好是前一指令的运算结果时,便发生数据相关冲突。如下表所示,运算结果时,便发生数据相关冲突。如下表所示,ADD指令与指令与SUB指令发指令发生了数据相关冲突。生了数据相关冲突。ADD: (R2)+(R3) R1, SUB: (R1)-(R5) R4, AND: (R1) (R7) R65.7 流水流水CPU - 5.7.3 流水线中的主要问题流水线中的主要问题解决数据相关冲突的办法:解决数据相关冲突的办法:在流水在流水CPU的运算器中设置若干运算结果缓冲寄存器,暂时保的运算器中设置若干运算结果缓冲寄存器,暂时保留运算结果,以便于后继指令直接使用,这称为留运算结果,以便于后继指令直接使用,这称为“向前向前”或定或定向传送技术。向传送技术。5.7 流水流水CPU - 5.7.3 流水线中的主要问题流水线中的主要问题3. 控制相关控制相关控制相关冲突是由

温馨提示

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

评论

0/150

提交评论