计算机中央处理器

1.CPU器的功能和组成:

  • 中央处理器,通常简称CPU( Central Process unit)
    一旦把程序装入内存储器,就可以由计算机来自动完成取出指令和执行指令的任务。专门用来完成此项工作的计算机部件称为中央处理器。
    CPU的两大主要部件:
    控制器CU( Control unit)
    算术逻辑单元AU( Arithmetic logical Unit)

    取指令:Mem[PC++]→IR
    执行指令:指令字→控制信号序列,信号序列→数据通路

  • 1.1 CPU的基本功能
    指令控制
    程序的顺序控制称为指令控制。由于程序是一个指令序列,这些指令的相互顺序不能任意颠倒,必须严格按程序规定的顺序进行。

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

    时间控制
    对各种操作实施时间上的定时称为时间控制。在计算机中,各种指令的操作信号以及一条指令的整个执行过程都受到时间的严格定时。

    数据加工
    数据加工就是对数据进行算术运算和逻辑运算处理。

  • 1.2 CPU的组成
    CPU的基本部分由运算器、 cache和控制器三大部分组成。
    在这里插入图片描述

    • 运算器的组成
      由算术逻辑单元(ALU、累加寄存器、数据缓冲寄存器和状态条件寄存器组成,是数据加工处理部件。
      相对控制器而言,运算器接受控制器的命令而进行动作,即运算器所进行的全部操作都是由控制器发出的控制信号来指挥的,所以它是执行部件。
      运算器主要功能:
      (1)执行所有的算术运算;
      (2)执行所有的逻辑运算,并进行逻辑测试,如两个数值比较。

    • 控制器组成
      程序计数器、指令寄存器、指令译码器、时序产生器和操作控制器等组成。它是发布命令的“决策机构”,即完成协调和指挥整个计算机系统的操作。
      控制器三大部件:

      • 指令部件程序计数器、指令寄存器、指令译码器
      • 时序部件时序产生器
      • 操作控制部件操作控制器,控制器还包括中断系控制台等其他功能部件

      控制器主要功能有:
      (1)从内存中取出一条指令,并指出下一条指令在内存中的位置;
      (2)对指令进行译码或测试,并产生相应的操作控制信号,以便启动规定的动作;
      (3)指挥并控制CPU、内存和输入/输出设备之间数据流动的方向;

  • 1.3 CPU中的主要寄存器
    在CPU中至少要有六类寄存器。这些寄存器用来暂存一个计算机字。根据需要,可以扩充其数目。下面详细介绍这些寄存器的功能与结构:
    ①:数据缓冲寄存器(DR:Data Register)
    ②:指令寄存器(IR:Instruction Register)
    ③:程序计数器(PC:Program Counter)
    ④:地址寄存器(AR:Data Register)
    ⑤:累加寄存器(AC:Accumulate Count)
    ⑥:状态条件寄存器(PSW:Program Status Word)

    1. 数据缓冲寄存器(DR)
    数据缓冲寄存器用来暂时存放由内存读出的一条指令或一个数据字;反之,当向内存存入一条指令或一个数据字时,暂时将它们存放在数据缓冲寄存器中。
    缓冲寄存器的作用是:
    (1)作为CPU和内存、外部设备之间信息传送的中转站
    (2)补偿CPU和内存/外围设备之间操作速度上的差别
    (3)在单累加器结构的运箅器中,数据缓冲寄存器还可兼作为操作数寄存器。

    2. 指令寄存器(IR)
    指令寄存器用来保存当前正在执行的一条指令,
    当取出一条指令时:
    指令从内存→缓冲寄存器DR→指令寄存器IR指令寄存器中的操作码字段从指令寄存器IR→指令译码器操作控制器
    指令译码器对操作码进行测试,以便识别所要求的操作。操作控制器:发出具体操作的特定信号,控制各个部件的操作。

    3. 程序字计数器(PC)
    程序计数器用来存放当前要执行的指令的地址(下一条指令的地址)。
    程序计数器的结构应当是具有奇存信息和边数两种功能的结构。
    (1)在程序开始执行前,必须将它的起始地址,即程序的第条指令所在的内存单元地址送入PC,因此PC的内容即是从内存提取的第一条指令的地址。
    (2)当执行指令时,CPU将自动修改PC的内容,以便使其保持的总是将要执行的下一条指令的地址。由于大多数指令都是按顺序来执行的,所以修改的过程通常只是简单的对PC加1
    (3)当遇到转移指令如JMP指令时,那么后继指令的地址(即PC的内容)必须从指令的地址段取得。在这种情况下,下一条从内存取出的指令将由转移指令来规定,而不是像通常一样按顺序来取得。

    4. 地址寄存器(AR)
    地址寄存器用来保存当前CPU所访问的内存单元的地址。由于在内存和CPU之间存在着操作速度上的差别,所以必须使用地址寄存器来保持地址信息,直到内存的读/写操作完成为止。
    地址寄存器的结构和数据缓冲寄存器、指令寄存器一样,通常使用单纯的寄存器结构。信息的存入一般采用电位脉冲方式,即电位输入端对应数据信息位,脉冲输入端对应控制信号,在控制信号作用下,瞬时地将信息打入寄存器

    5. 累加寄存器(AC)
    累加寄存器AC通常简称为累加器,它是一个通用寄存器。
    其功能是:当运算器的算术逻辑单元ALU执行算术或逻辑运算时,为ALU提供一个工作区。累加寄存器暂时存放ALU运算的结果信息。显然,运算器中至少要有一个累加寄存器。
    目前CPU中的累加寄存器,多达16个,32个,甚至更多。当使用多个累加器时,就变成通用寄存器堆结构,其中任何一个可存放源操作数,也可存放结果操作数。在这种情况下,需要在指令格式中对寄存器号加以编址。

    6. 状态条件寄存器(PSW)
    状态条件寄存器保存由算术指令和逻辑指令运行或测试的结果建立的各种条件码内容。
    如运算结果进位标志( C ),运算结果溢出标志(V),运算结果为零标志(Z),运算结果为负标志(N)等等。这些标志位通常分别由1位触发器保存。
    除此之外,状态条件寄存器还保存中断和系统工作状态等信息,以便使CPU和系统能及时了解机器运行状态和程序运行状态。因此,状态条件寄存器是一个由各种状态条件标志拼凑而成的寄存器。

  • 1.4 操作控制器与的序产生器操作控制器的功能:
    根据指令操作码和时序信号,产生各种操作控制信号,以便正确地建立数据通路,从而完成取指令和执行指令的控制。
    数据通路是许多寄存器之间传送信息的通路,信息从什么地方开始,中间经过哪个寄存器或多路开关,最后传送到哪个寄存器,都要加以控制。在各寄存器之间建立数据通路的任务,是由称为操作控制器的部件来完成的
    操作控制器的类型可分为:
    硬布线控制器是采用时序逻辑技术来实现的;
    微程序控制器是采用存储逻辑来实现的;
    ③ 前两种方式的组合,根据设计方法不同,操作控制器的设计方法可分为时序逻辑型、存储逻辑型、时序逻辑与存储逻辑结合型三种。

2.指令周期和时序发生器

2.1 指令周期

  • 1.基本概念
    (1)指令周期:取出并执行一条指令所需的时间通常指令周期的长短与指令的复杂程度有关。
    取指令-执行指令序列:
    在这里插入图片描述
    (2)CPU周期:内存中读取一个指令字的最短时间,指令周期常用若干个CPU周期数来表示
    (3)时钟周期:节拍脉冲。处理操作的最基本单位CPU周期包括若干个时钟周期,

在定长CPU周期中,每个CPU周期含有相同的时钟周期数。
在这里插入图片描述

在不定长CPU周期中,CPU周期含有不同的时钟周期数。
在这里插入图片描述

2.2 MOV指令的指令周期

  • MOV R0,R1指令功能:将寄存器R0的内容送到R1
    MOV指令的指令周期:
    在这里插入图片描述
    ①取指周期
    (1)程序计数器PC的内容101被放到指令地址总线;
    (2)101号地址读出的MOⅤ指令通过指令总线IBUS装入指令寄存器IR
    (3)程序计数器内容加1,变成102,为取下一条指令做好准备
    (4)指令寄存器中的操作码被译码或测试
    (5)CPU识别出是指令MOV,至此,取指令阶段即告结束。

    ②MOV指令的执行周期
    (1)操作控制器送出控制信号到通用寄存器,选择R作源寄存器,选择R0作目标寄存器;
    (2)操作控制器送出控制信号到ALU,指定ALU做传送操作
    (3)操作控制器送出控制信号,打开ALU的三态门,将ALU输出送到数据总线DBUS上
    (4)操作控制器送出控制信号,将DBUS上的数据打入到数据缓冲寄存器DR(10)
    (5)操作控制器送出控制信号,将DR中的数据10打入到目标寄存器R0,R0的内容由00变为10

2.3 LDA指令的指令周期

  • LDA R1,6 指令的功能:(6)→R1
    LDA指令的指令周期:
    在这里插入图片描述
    ①取指周期(与MOVE相同)

    ②LDA指令的执行周期
    (1)操作控制器发出控制命令,打开IR输出三态门,将指令中的直接地址码6放到数据总线DBUS上
    (2)操作控制器发出控制命令,将地址码6装入到数据存储器的地址寄存器AR
    (3)操作控制器发出读命令,将数存6号单元中的数100读出到DBUS上
    (4)操作控制器发出控制命令,将DBUS上的数据100装入缓冲寄存器DR
    (5)操作控制器发出控制命令,将D中的数据100装入到通用寄存器R1,原来R1中的数10被冲掉

2.4 ADD指令的指令周期

  • ADD R1,R2;功能:R1+R2→R2
    ADD指令的指令周期:
    在这里插入图片描述
    ①取指周期(与MOVE相同)

    ②ADD指令的执行周期
    (1)操作控制器送出控制信号到通用寄存器,选择R1作源寄存器,选择R2作目标寄存器;
    (2)操作控制器送出控制命令到ALU,指定ALU做R1(100)和
    R2(20的加法操作。
    (3)操作控制器送出控制信号,打开ALU的三态门,将运算结果120放到数据总线DBUS上
    (4)操作控制器送出控制信号,将DBUS上的数据打入到数据缓冲寄存器DRAU产生的进位信号保存在状态字寄存器PSW中
    (5)操作控制器送出控制信号,将DR中的数据120打入到目标寄存器R2,R2中原来的内容20被冲掉

2.5 STO指令的指令周期

  • STO R2 , (R3);功能:R2→(R3)
    STO指令的指令周期:
    在这里插入图片描述

2.6 JMP指令的指令周期

  • 例:JMP21;无条件转移到地址为21开始的指令
    在这里插入图片描述
    JMP指令的指令周期由两个CPU周期组成。
    ①取指周期(与MOVE相同)
    ②JMP指令的执行周期
    (1)操作控制器发出控制命令,打开IR输出三态门,将IR中的地址码101发送到数据总线DBUS上
    (2)操作控制器发出控制命令,将DBUS上的地址码101打入程序计数器PC中,PC中的原先内容106被更换,这样,下条指令将不从25单元读出,而是从内存21单元开始读出并执行,从而改变了程序原先的执行顺序

2.7 用方框图语言表示指令周期

  • 在进行计算机设计时,可以采用方框图语言来表示一条指令的指令周期。
    方框代表一个CPU周期,方框中的内容表示数据通路的操作或某种控制操作。
    菱形通常用来表示某种判别或测试,不过时间上它依附于紧接它的前面一个方框的CPU周期,而不单独占用一个CPU周期。
    ~:公操作
    我们把前面的五条典型指令加以归纳,用方框图语言表示的指令周期:
    在这里插入图片描述

3.时序产生器和控制方式

  • 3.1 时序信号的作用和体制
    (1)作用:为计算机各部分的协调工作提供时序标志
    (2)体制:电位-脉冲制
    在这里插入图片描述
    (1)三级时序系统的组成:主状态周期,节拍电位,节拍脉冲
    (2)二级时序系统的组成:节拍电位,节拍脉冲

  • 3.2 时序信号产生器

时序信号产生器框图:在这里插入图片描述

节拍电位与节拍脉冲时序关系图:
在这里插入图片描述启停控制逻辑:
①对启停电路的要求:
a.启动时一定要从第一个节拍电位的前沿开始工作;
b.停机时一定要在指令最末一个节拍脉冲结束后,才关闭时序产生器。
在这里插入图片描述

3.3 控制器基本控制方式

  • 控制方式:形成控制不同操作序列的时序信号的方法。

    • 1.同步控制方式
      特点:具有统一的时钟信号,每一步操作均由统一的时序信号来控制的控制方式。
      以微操作序列最长的指令为标准,确定控制微操作运行的时钟周期数(节拍数),控制器产生统一的、顺序固定的、周而复始的节拍电位(机器周期信号)和节拍脉冲(时钟周期信号);

    • (1)定长指令周期
      每条指令含有相同的CPU周期数,每个CPU周期含有相同的节拍电位数
      特点:时序简单,但时间利用率低。

    • (2)不定长指令周期、定长CPU周期
      按指令需要确定CPU周期,但每个CPU周期时间相同。
      特点:时间利用率较高。

    • (3)变长CPU周期、定长节拍电位
      指令周期和CPU周期不固定,CPU周期含有的节拍电位亦按需要确定。
      特点:时间利用率高,但控制电路复杂。

    在定长CPU周期中,每个CPU周期含有相同的时钟周期数。
    在这里插入图片描述

    在不定长CPU周期中,CPU周期含有不同的时钟周期数。
    在这里插入图片描述

  • 2.异步控制方式(可变时序)
    按实际需要确定每条指令,每个操作所需要的时间,称为异步控制方式。
    做法:由前一微操作执行完毕时产生的“结束”信号作为下微操作的“起始”信号
    特点:时间利用率高,但控制结构复杂,用器件多

  • 3.联合控制方式
    是同步和异步控制方式的结合。
    将各种指令可公共起来的微操作安排在固定的周期、节拍中,对难以公共的微操作信号,则以执行部件的“回答”信号作为本次操作的结束,部分统一,部分区别对待。

猜你喜欢

转载自blog.csdn.net/Lzy410992/article/details/106418228