组成原理课程第六章(2013版)_第1页
组成原理课程第六章(2013版)_第2页
组成原理课程第六章(2013版)_第3页
组成原理课程第六章(2013版)_第4页
组成原理课程第六章(2013版)_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

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

文档简介

第六章中央处理器1本章知识点6.1CPU的功能和基本结构

CPU的基本功能和常见的CPU基本结构6.2指令执行的过程

1)数据通路的概念及组成

2)指令周期流程图6.3时序与控制器6.4微程序控制器的工作原理

1)微程序控制的基本概念

2)微程序控制器的组成原理

3)微指令的编码方法

4)微程序设计举例6.5硬布线控制器的工作原理

1)硬布线控制器的模型

2)硬布线控制器的基本原理与设计方法26.1CPU的功能和基本结构(1)指令执行顺序的控制:控制程序中的指令按事先规定的顺序自动地执行。(2)指令的操作控制:

产生指令执行过程中所需要的信号,以控制执行部件按指令规定的操作运行。(3)时间控制:对各控制信号进行定时,以便按规定的时间顺序启动各操作。(4)异常和中断处理:

处理运算中的异常及处理外部设备的中断服务请求等。(5)数据加工处理:对数据进行算术、逻辑运算,或将数据在相关部件之间传送。1.CPU的基本功能32.CPU的基本结构451)控制器中各主要功能部件的作用:程序计数器PC•给出并指示下一条指令的地址•完成顺序控制的功能•内容在取指完成后即可改变•转移指令直接修改PC值•保存当前正执行的指令•指令的操作码字段和寻址方式送译码2)控制器中各主要功能部件的作用:指令寄存器IR7•对指令的OP字段和寻址方式译码,指出指令的操作方式•译码的结果是找到与该指令相关的微程序的入口3)控制器中各主要功能部件的作用:指令译码器ID8•产生指令执行过程中所需要的控制信号•实现指令的操作控制功能4)控制器中各主要功能部件的作用:操作控制器OC9

5)控制器中各主要功能部件的作用:时序产生器•对操作控制信号进行同步•实现控制器的时间控制功能6)控制器中各主要功能部件的作用:数据缓冲寄存器DR•保存与主存之间交换的数据117)控制器中各主要功能部件的作用:地址寄存器AR•存放CPU将要访问的主存单元地址126.2指令执行的过程1.数据通路的概念及组成数据通路:数据在功能部件之间传送的路径;数据在数据通路中的传送操作是在控制信号的控制下进行的;数据通路的建立可用总线或专用通路两种方法来构建;不同功能的指令及同一指令在执行的不同阶段的数据通路可不同;数据通路的结构直接影响CPU内各种信息的传送路径、指令执行流程、所需要的微操作控制信号及其时序安排和控制器的设计;132.指令周期流程1)程序控制的过程,本质上是由控制器根据程序所包含的指令序列,逐条执行指令的过程。

2)指令周期一条指令从取出到执行完成所需时间3)指令周期划分(1)取指令周期:

根据PC的值取去主存储取指令;如何形成后续指令地址。

(a)顺序执行指令时,将PC内容加当前指令所占用的主存单元数

(b)当出现转移时,根据寻址方式、转移条件、转移的目标地址等内容计算得到。

14(2)译码/取操作数周期对指令寄存器中的操作码字段进行译码并识别指令类型根据指令地址码和寻址方式,从寄存器或存储器中读取操作数。不同的寻址方式可能具有不同的取操作数周期。算术运算类指令大都要求双操作数,因此,取操作数流程要经历两次,第一次取源操作数,操作流程由源寻址方式字段确定,第二次取目的操作数,操作流程由目的寻址字段确定。15(3)执行周期控制器向算术逻辑运算单元及数据通路中的其它相关部件发送操作控制命令,完成由指令操作码规定的动作,包括传送结果及记录状态信息。操作结果送到哪里由寻址方式确定;状态信息(如溢出)记录在PSW中;对转移指令还需在执行周期内计算机移地址。(4)写回将运算结果写到结果寄存器或存储器。写回存储器时间较长,一般需要多个时钟周期。163.寄存器级传送语言RTL(RegisterTransferLanguage)为统一表示指令执行流程,采用寄存器描述语言表示指令执行过程中的操作,使用RTL的规则如下:1)用()表示读取寄存器或主存地址的内容,如(PC)表示读取PC寄存器中的内容;2)用[]表示主存单元地址或寄存器堆中寄存器的编号,则:M[6]表示主存6号单元,(M[6])表示读取主存6号单元的数据;R[6]表示寄存器堆中6号寄存器,(R[6])表示读取寄存器堆中6号寄存器的数据;M[(R[6])]表示寄存器堆中6寄存器内容所指主存单元;(M[(R[6])])表示读取寄存器堆中6寄存器内容所指主存单元的内容。为简化对主存单元的表示和访问,将它们分别简化成M[R[6]]和(M[R[6]])。3)用“AB”表示数据传送,其中B为数据源,A为目的端;174.指令操作流程:基于单总线结构的处理器

18根据指令周期的概念,任何指令第一个CPU周期都是取指周期,取指周期中CPU要完成以下三件事:(1)根据PC的内容取出指令并送指令寄存器IR中保存(本书假定程序首地址已存放在PC中);(2)修改PC的值;(这里假定计算机字长8位,采用单字长指令,主存按字节编址);(3)对指令的操作码进行译码或测试,以确定指令在执行阶段将要具体进行何种操作。19(1)

LOAD指令周期流程R[0](M[6]):将主存6号单元内容送R0,RS型指令取指阶段的操作MAR(PC)X(PC)ZALUPC(Z)MDR(M[MAR])IR(MDR)各操作对应的控制信号PCout=ARin=1Xin=1+1Zout=PCin=1Read=DREin=1DRIout=IRin=1(a)取指CPU周期用到两条数据通路:PC→MAR→MEM→MDR→IR

PC→X→ALU→Z→PC(b)执行阶段用到的数据通路:IRA→MAR→MEM→MDR→R020(1)

LOAD指令周期流程R[0](M[6]):将主存6号单元内容送R0,RS型指令执行阶段用到的数据通路:IRA→MAR→MEM→MDR→R0执行阶段的操作

MAR(IRA)MDR(M[MAR])R[0](MDR)各操作对应的控制信号IRout=ARin=1Read=DREin=1

DRIout=R0in=1

21(2)MOVE

指令周期流程R[1](IRA):将来自于IR形式地址字段的立即数10送R1,RR型指令执行阶段的操作R[1](IRA)

对应的控制信号IRout=R1in=1

执行CPU周期用到的数据通路:IR→R1指令中的立即数送R1。22(3)ADD

指令周期流程R[0](R[0])+(R[1]):将R0和R1相加,结果送R0,RR型指令

执行阶段的操作X(R[0])ZALUR[0](Z)

对应的控制信号R0out=Xin=1R1out=1=

ADD=1Zout=R0in=1

执行CPU周期用到的数据通路:R0→X→ALU;R1→ALU

加数和被加数送ALU输入端ALU→Z→R0

运算结果经Z写回寄存器R0。23(4)STORE

指令周期流程M[R[2]](R[0]):将R0内容送R2内容所指主存单元保存

,RS型指令

执行阶段的操作MAR(R[2])MDR(R[0])M[R[2]](MDR)

对应的控制信号R2out=ARin=1

R0out=DRIin=1DREout=Write=1

执行CPU周期用到的数据通路:R2→MAR传送地址;R0→MDR→MEM往主存存数据。指令的执行需要两个CPU周期,执行阶段的第一个CPU送地址,即将寄存器R2的内容MAR;执行阶段第二个CPU周期内将R0的值送MDR,然后存入MAR指向的内存单元24(5)JMP

指令周期流程PC(IRA):将1000送入PC,实现无条件转移

执行阶段的操作

PC(IRA)对应的控制信号IRout=PCin=1

执行CPU周期用到的数据通路:

IRA→PC256.3时序与控制器1.中央处理器的时序

过去的计算机采用主状态周期、节拍电位和节拍脉冲三级时序体制来对操作控制信号进行定时控制.

主状态周期:一般对应指令的执行时间节拍电位:对应指令执行的不同周期,如取指周期,以主存的工作周期为基础节拍脉冲:完成一次微操作所需要的时间

262.启停控制电路

启停控制逻辑的作用是保证节拍和脉冲信号的完整性。即启动从第一个CPU周期的第一个节拍脉冲前沿开始工作,停机在一个CPU周期的最后一个节拍脉冲的下降沿结束。只有这样才能保证时序信号脉冲的完整性和指令功能的完整性。

276.4微程序控制器的工作原理1.微程序控制的基本概念

•微程序设计技术是利用软件方法来设计硬件的技术•微程序控制的基本思想仿照程序设计的方法,把完成每条指令所需要的操作控制信号编写成微指令,存放到一个只读存储器(控存)中。每条机器指令对应一段微程序,当机器执行程序时依次读出每条指令所对应的微指令,执行每条微指令中规定的微操作,从而完成指令的功能,重复这一过程,直到该程序的所有指令完成.

微程序控制器的设计采用了存储技术和程序设计技术,使复杂的控制逻辑得到简化,从而推动了微程序控制器的广泛应用.28程序微指令微程序291)微命令和微操作•控制部件与执行部件之间的联系控制部件执行部件控制线反馈线•微命令控制部件通过控制线向执行部件发出的各种控制信号(打开和关闭控制门)•微操作执行部件接受微命令后所进行的操作•反馈线的作用向控制部件反馈执行的状态信息,以便控制部件进行状态测试302)微操作的分类微操作是计算机中最基本的操作,由于数据通路、逻辑功能的关系,微操作可以分为相容性的和相斥性的微操作:•相容性的微操作能同时并行执行的微操作•相斥性的微操作不能同时并行执行的微操作31图中相斥性的微操作有:(+、–

、M)(4、6、8)(5、7、9)图中相容性的微操作有:1、2、3(4、6、8)与(5、7、9)两组中各取一个任意组合321)控制存储器:存放用来实现全部指令的所有微程序,是一种只读存储器,微程序固化在其中,其容量取决于机器指令和每条指令微程序的长度,字长取决于微指令的字长,也与容量有一定关系(!)。要求控制存储器快速。2.微程序控制器的组成原理

332)微指令寄存器(IR)•存放从控存中读出的微指令•是图中的哪部分?3)微地址寄存器(AR)存储访问CM的微地址344)微地址产生逻辑用于产生后续微指令地址。能作为后继微指令地址的有下列形式:•微程序的入口地址•顺序地址•转移地址353.微指令的的格式与微命令编码

1)微指令的格式操作控制字段是微指令的主体,由若干微命令位组成。控制字段中的每一位通常表示一个特定的微命令,微指令是否含某个微命令,由该位的状态1或0决定。判别测试字段指出微指令执行过程中需要测试的外部条件,如进位、运算结果是否为零等;下地址字段给出的地址是下条微指令地址,最终是否按照该地址执行下一条微指令与是否进行条件测试及测试条件是否成立等有关。36•微命令编码就是微指令中的操作控制字段采用的表示方法(1)直接表示法•操作字段的每一位表示一个微命令•优点:简单、直观,•缺点:微指令字长、不利于减少控存容量2)微指令的格式37(2)编码表示法•把一组互斥的信号组成一个小组,然后通过小组译码器译码,译码输出将作为操作控制信号。每次每个小组最多只能有一个有效。译码译码译码译码字段1字段2字段3P字段下地址字段微命令•若某小组有4个微命令,则微指令中该字段需要多少位?需要3位,为什么?因为每字段经过译码后,要有一个状态表示不使用本组中的微命令。38•编码表示法的优点:大大缩短微指令字的长度,从而减少控存的容量。•编码表示法的缺点:增加的译码电路降低了微指令的执行速度。(3)混合表示法综合前面的直接表示法和编码表示法.关于微命令编码的结论:目前一般使用字段直接表示法.394.微程序设计举例LOAD指令取指周期的操作及控制信号404.微程序设计举例MOVE指令取指周期的操作及控制信号414.微程序设计举例ADD指令取指周期的操作及控制信号424.微程序设计举例STORE指令取指周期的操作及控制信号434.微程序设计举例JMP指令取指周期的操作及控制信号444.微程序设计举例各指令操作系列顺序的安排必须保证指令功能的正确实现。如取指令阶段MAR(PC)操作一定要在IR(MDR)之前完成,否则取出出错;同一节拍内不能同时有两个或两个以上的部件向公共总线输出信息。如取指阶段PCout、Zout和DRIout必须被分别安排在不同的节拍内;上述指令微操作序列实现,重在描述实现方法,并不是优化;指令执行不同周期所需要的节拍数可能不同,上述安排采用了同步控制方法,每个周期都分配了四个节拍,因此,部分指令有些周期中存在一些空节拍,没有任何微操作。455.微命令的同步微程序存放在控存中,每条指令的微程序包含几条微指令(包括取指令微指令)就表示该指令的执行需要几个CPU周期。微命令自从控存中取出并送入微指令寄存器后就开始生效,直到新的微指令送入微指令寄存器(一个CPU周期的时间)一条微指令的若干个微命令中,

大部分微命令只能在一个CPU周的某个T周期有效,必须对微命令进行时间同步后才能与相应执行部件的控制端相连。46微命令同步的基本方法就是列出每个微命令的逻辑表达式,并用相应的逻辑电路实现表达式的功能,电路的输入来自微指令的相关位和时序信号(包括节拍电位或节拍脉冲),对应逻辑电路的输出才能与相应执行部件的控制端相连。下面以Zout为例说明微命令的同步方法。Zout=M取指周期Zout’T2+ADDM执行周期Zout’T3。477、微程序在控存中的存放及微程序控制器的工作过程LADR0,(80)ADDR0,(81)JO75STA(R1),R000000000000010101010111010

000000000001001000000110111000

000010010000000000000000000000

001100001011000000000110111000

010000000000001001000000000000

000000000000000000010100000001

000000000000000000000000000000

011100000000000000000000000000

00000000000100100011010001010110011130

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

LDLA

LDR1

LDPC

BUS

IR(A)

WE

P2

L

R0

LDLB

LDR0

PC+1

LDIR

RD

LDAR

LDDR

P1

L

R1

L

R2

bus

L

L

bus

bus

BUS

BUS

bus

BUS

ALU

BUS

PC

BUS

DR

DR(D)

BUS

48【问】一会儿取机器指令,一会儿取微指令,它们之间到底是什么关系?【解】1.一条机器指令对应一个微程序,这个微程序是由若干条微指令序列组成的。因此,一条机器指令的功能是由若干条微指令组成的序列来实现的。简言之,一条机器指令所完成的操作划分成若干条微指令来完成,由微指令进行解释和执行。2.从指令与微指令,程序与微程序,地址与微地址的一一对应关系来看,前者与内存储器有关,后者与控制存储器有关。与此相关,也有相对应的硬设备,请参见CAI演示。3.我们在讲述本章5.2节时,曾讲述了指令与机器周期概念,并归纳了五条典型指令的指令周期,并演示了这五条指令的微程序流程图,每一个CPU周期就对应一条微指令。这就告诉我们如何设计微程序,也将使我们进一步体验到机器指令与微指令的关系。

机器指令与微指令的关系494)应用举例例1如图所示的为双总线结构机器的数据通路,IR为指令寄存器,PC为程序计数器(具有自动增加功能),M为主存(受R/W控制),AR为地址寄存器,DR为数据缓冲寄存器,ALU由加、减控制信号决定需要完成何种操作,控制信号G控制的是一个门电路,另外,线上标注有控制信号,例如yi表示y寄存器的输入控制信号,R10表示寄存器R1的输出控制信号,未标字符的线为直通线,不受控制。(1)ADDR2,R0

指令完成(R0)+(R2)R0

的功能操作,画出其指令周期流程图,假设该指令的地址已经放入PC,并列出相应的微操作控制信号序列。(2)SUBR1,R3

指令完成(R3)+(R1)R3

的操作,画出其指令周期流程图,并列出相应的微操作控制信号序列。50IRPCARMDRR0R1R2R3XYALUIROPCODROR0OR3OIRiPCiARiR/WDRiR0iR3ixiyi+_G51PCARMDRDR

IRR2

YR0

XR0+R2

R0(R0)+(R2)

R0PC0,G,

ARiR/W=RDR0,G,IRiR20,G,YiR00,G,Xi+

,G,R0i526.5硬布线控制器的工作原理

1.硬布线控制器的模型1)组合逻辑控制单元

是控制器的核心,产生指令执行所需要的控制信号(包括控制电位与打入脉冲),可采用组合逻辑电路或可编程阵列逻辑或ROM实现.输入来自:指令码译码器的输出;条件状态寄存器的状态标志信息;来自时序电路的节拍信号,包括节拍电位信号M1~Mi和节拍脉冲信号

温馨提示

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

评论

0/150

提交评论