【连载】计算机组成原理 --- 第五章 中央处理器

来源:互联网 发布:完美循证医学数据 编辑:程序博客网 时间:2024/06/09 14:01

本章主要内容:

(一)CPU的功能和基本结构

(二)指令执行过程

(三)数据通路的功能和基本结构

(四)控制器的功能和工作原理

       1. 硬布线控制器

       2. 微程序控制器

       微程序,微指令和微命令,微指令格式,微命令的编码方式,微地址的形成方式

(五)指令流水线

指令流水线的基本概念,指令流水线的基本实现

超标量和动态流水线的基本概念

5.1 CPU的功能和基本结构

5.1.1 CPU的功能

       中央处理器(CPU)由运算器和控制器组成。其中,控制器的功能是负责协调并控制计算机各部件执行程序的指令序列,包括取指令,分析指令和执行指令;运算器的功能是对数据进行加工。CPU的具体功能包括:

       CPU控制整个程序的执行,它具有以下基本功能:

(1)程序控制

程序控制就是控制指令的执行顺序。

程序是指令的有序集合,这些指令的相互顺序不能任意颠倒,必须严格按程序规定的顺序执行。

保证计算机按一定顺序执行程序是CPU的首要任务。

(2)操作控制

操作控制就是控制指令进行操作。

一条指令的功能往往由若干个操作信号的组合来实现。因此,CPU管理并产生每条指令的操作信号,把各种操作信号送往相应的部件,从而控制这些部件按指令的要求进行操作。

(3)时间控制

时间控制就是对各种操作实施定时控制。

在计算机中,各种指令的操作信号和一条指令的整个执行过程都受到严格定时。只有这样,计算机才能有条不紊地工作。

(4)数据加工

数据加工就是对数据进行算术、逻辑运算。

完成数据的加工处理,是CPU的根本任务。

(5)中断处理

对计算机运行过程中出现的异常情况和特殊请求进行处理。

5.1.2 CPU的基本结构

       处理器一般指中央处理器,中央处理器(CPU,CentralProcessing Unit)是一块超大规模的集成电路,是一台计算机的运算核心(Core)(运算器)和控制核心( Control Unit)(控制器)。它的功能主要是解释计算机指令以及处理计算机软件中的数据。

       其中,

1:运算器接收从控制器送来的命令并执行相应的动作。对数据进行加工和处理。运算器是计算机对数据进行加工处理的中心。主要包括

(1)算术逻辑单元(ALU):进行算术,逻辑运算。

(2)暂存寄存器:用来暂存从主存读来的数据,这个数据不能存放在通用寄存器中,否则会破坏原有内容。

(3)累加寄存器(ACC),:是一个通用寄存器,用来暂时存放ALU运算的结果信息,用来实现运算。

(4)通用寄存器组:用来存放操作数(包括原操作数,目的操作数及中间结果)和各种地址信息。

(5)程序状态寄存器(PSW):保留由算术逻辑运算指令或测试指令的结果而建立的各种状态信息,如溢出标志(OP),符号标志(SF),零标志(ZF),进位标志(CF)等。PSW汇总这些位参与并决定微操作的形成。

(6)移位器:对运算结果进行移位操作。

(7)计数器(CT):控制乘除运算的操作数。

       控制器是整个系统的指挥中枢,在控制器的控制下,使运算器,存储器和输入输出设备等功能部件构成一个有机整体,根据指令的要求指挥全机协调工作。控制器的基本功能就是执行指令,每条指令的执行是由控制器发出的一组微操作实现的。

其中包括

(1)程序计数器(PC):用于指出下一条指令在主存中的存放地址。CPU就是根据PC 的内容去主存中取指令的。因程序中指令是顺序执行的,所以PC具有自增功能。

(2)指令寄存器:用于保存当前正在执行的那条指令。

(3)指令译码器:仅对操作码字段进行译码,向控制器提供特定的操作信号。

(4)存储器地址寄存器(MAR):用来存放所要访问的主存单元的地址。

(5)存储器数据寄存器等(MDR):用来存放向主存写入的信息或从主存中读出的信息。

(6)时序系统:用来产生各种时序信号,它们都是由统一时钟(CLOCK)分频得到。

(7)微操作信号发生器:根据IR的内容(指令),PSW的内容(状态信息)及时序信号,产生控制整个计算机系统所需的各种控制信号,其结构有组合逻辑型和存储逻辑型两种。

控制器的工作原理是根据操作码,指令的执行步骤(微命令序列)和条件信号来形成当前计算机各部件要用到的控制信号。计算机整机各硬件系统在这些控制信号的控制下协同运行,产生预期的执行效果。

5.2 指令执行周期

       5.2.1指令周期

       指令周期,又称读取-执行周期(fetch-and-execute cycle是指CPU要执行一条机器指令经过的步骤,由若干机器周期组成。

不同的机器分解指令周期的方式也不同,有的处理器对每条指令分解出相同数量的机器周期(即使某些简单的指令可以在更少的机器周期内完成),另一些处理器根据指令的复杂程度分解出不同数量的机器周期

    • 取得指令:CPU内有程式计数器(PC),它储存下一个要执行的指令的地址。处理器按PC储存的地址,经主内存取得指令的内容,PC加1,经资料总线将指令存入指令暂存器(IR)。
    • 解码指令:将指令寄存器(IR)内的指令译成机器语言。
    • 执行指令
    • 储存结果

一共是4步 前两步称为取指周期,后两步为执行周期

       5.2.2指令执行方案

       一个指令周期通常要包括几个时间段(执行步骤),每个步骤完成指令的一部分功能,几个依次执行的步骤完成这条指令的全部功能。出于性能和硬件成本等考虑,可选用3种不同的方案来安排指令的执行步骤。

1. 单指令周期

对所有指令都选用相同的执行时间来完成,称为单指令周期方案。此时每一条指令都在固定的时钟周期内完成,指令之间串行执行,即下一条指令只能在前一条指令执行执行结束之后才能启动。

2. 多指令周期

对不同类型的指令选用不同的执行步骤来完成,称为多指令周期方案。指令之

间串行执行,即下一条指令只能在前一条指令执行结束之后才能启动。

3. 流水线方案

指令之间可以并行执行的方案,称为流水线方案,其追求的目标是力争在每个

时钟脉冲周期完成一条指令的执行过程。

5.3 控制器的功能和工作原理

       5.3.1 硬布线控制器

       硬布线控制器是早期设计计算机的一种方法。硬布线控制器是将控制部件做成产生专门固定时序控制信号的逻辑电路,产生各种控制信号,因而又称为组合逻辑控制器。这种逻辑电路以使用最少元件和取得最高操作速度为设计目标,因为该逻辑电路由门电路和触发器构成的复杂树型网络,所以称为硬布线控制器。

       5.3.2微程序控制器

       微程序控制器是一种控制器,同组合逻辑控制器相比较,具有规整性、灵活性、可维护性等一系列优点,因而在计算机设计中逐渐取代了早期采用的组合逻辑控制器,并已被广泛地应用。在计算机系统中,微程序设计技术是利用软件方法来设计硬件的一门技术。

       采用微程序控制方式的控制器称为微程序控制器。所谓微程序控制方式是指微命令不是由组合逻辑电路产生的,而是由微指令译码产生。一条机器指令往往分成几步执行,将每一步操作所需的若干位命令以代码形式编写在一条微指令中,若干条微指令组成一段微程序,对应一条机器指令。在设计CPU时,根据指令系统的需要,事先编制好各段微程序 ,且将它们存入一个专用存储器(称为控制存储器)中。微程序控制器由指令寄存器IR、程序计数器PC、程序状态字寄存器PSW、时序系统、控制存储器CM、微指令寄存器以及微地址形成电路、微地址寄存器等部件组成。执行指令时,从控制存储器中找到相应的微程序段,逐次取出微指令,送入微指令寄存器,译码后产生所需微命令,控制各步操作完成。

 

比较

硬布线控制器与微程序控制器相比较,在操作控制信号的形成上有较大的区别外,其它没有本质的区别。对于实现相同的一条指令,不管是采用硬布线控制还是采用微程序控制技术,都可以采用多种逻辑设计方案,导致了各种不同的控制器在具体实现方法和手段上的区别,性能差异。

硬布线控制与微程序控制的主要区别归纳为如下方面:

实现方式

微程序控制器的控制功能是在存放微程序存储器和存放当前正在执行的微指令的寄存器直接控制下实现的,而硬布线控制的功能则由逻辑门组合实现。微程序控制器的电路比较规整,各条指令信号的差别集中在控制存储器内容上,因此,无论是增加或修改指令都只要增加或修改控制存储器内容即可,若控制存储器是ROM,则要更换芯片,在设计阶段可以先用RAM或EPROM来实现,验证正确后或成批生产时,再用ROM代替。硬布线控制器的控制信号先用逻辑式列出,经化简后用电路来实现,因此,显得零乱复杂,当需要修改指令或增加指令时就必须重新设计电路,非常麻烦而且有时甚至无法改变。因此,微操作控制取代了硬布线控制并得到了广泛应用,尤其是指令复杂的计算机,一般都采用微程序来实现控制功能。

性能方面

在同样的半导体工艺条件下,微程序控制的速度比硬布线控制的速度低,因为执行每条微程序指令都要从控制存储器中读取,影响了速度;而硬布线控制逻辑主要取决于电路延时,因而在超高速机器中,对影响速度的关键部分如核心部件CPU,往往采用硬布线逻辑实现。在一些新型计算机系统中,例如,RISC(精简指令系统计算机)中,一般都选用硬布线逻辑电路。

5.4 指令流水线

       5.4.1指令流水线的基本概念

       计算机的流水线是把一个重复的过程分解为若干子过程,每个子过程与其他子过程并行执行,采用流水线技术只需增加少量硬件就能把计算机的运算速度提供几倍,成为计算机中普标使用的一种并行处理技术。

       在一条简单的流水线中,完成一个指令可能需要5层。如右图所示,要在最佳性能下运算,当第一个指令被运行时,这个流水线需要运行随后4条独立的指令。如果随后4条指令依赖于第一条指令的输出,流水线控制逻辑必须插入延迟时钟频率周期到流水线内,直到依赖被解除。而转发技术能显著减少延时。

 

阅读全文
0 0
原创粉丝点击