计算机组成原理:中央处理器(1)

一、中央处理器

1.CPU的任务与功能

中央处理器简称CPU,是控制计算机自动完成取指令执行指令的部件,是计算机的核心部件
CPU的任务是:
● 取指令:CPU从存储器中读取指令。
● 分析指令:对取得的指令进行译码,确定需要完成的操作。
● 取操作数:根据指令的地址码字段,到存储器、寄存器或IO设备中读取数据。
● 执行指令:对取出的操作数做指令规定的操作,并把结果写入存储器、寄存器或IO设备中。

由此可以得知,CPU的功能是:
● 指令控制:控制程序的执行顺序。
● 操作控制:产生每条指令所需的操作信号,并把信号送往各个部件,控制部件按要求进行操作。
● 时间控制:对各种操作实施时间上的控制。
● 数据加工:对数据进行算术和逻辑运算,完成数据的加工处理。(这是CPU最根本的任务)

2.CPU的组成

CPU主要由4个部分组成:
● 算术逻辑运算单元:简称ALU,负责完成数据的算术逻辑运算。
● 控制单元:简称CU,用于产生各种控制信号。
● 寄存器组:用于存取指令和数据等信息。
● 中断系统:用于处理异常情况和特殊请求。

有时,也将寄存器组中的寄存器分为控制单元用ALU用两类,从而将CPU笼统地分成运算器控制器两部分。
CPU的组成

3.主要技术参数

  1. 字长:是指在单位时间内同时处理的二进制数据的位数。CPU根据字长可分为8位、16位、32位和64位CPU。
  2. 主频:又称内部工作频率,是CPU内时钟信号震荡的速度。其倒数是时钟周期,是CPU最小的时间元素。
  3. 外部工作频率:主板为CPU提供的基准时钟频率。
  4. 前端总线频率:表示前端总线的数据传输能力。**前端总线(FSB)**是CPU与外界交换数据的主要通道。
  5. QPI数据传输速率:**快速通道互联(QPI)**是取代FSB的包传输高速点到点连接技术,QUI数据包为80位。
  6. 工作电压:CPU正常工作的电压。
  7. 地址总线宽度:决定CPU能够访问的最大物理地址空间,即CPU能使用多大的主存。
  8. 数据总线宽度:决定CPU与主存、Cache和IO设备一次数据传输的信息量。

二、寄存器

1.寄存器的分类

计算机中的寄存器主要可以分为两类:

  1. 用户可见寄存器:允许机器语言和汇编语言的编程人员访问的寄存器。
    ● 通用寄存器:可由程序员指定功能,可存放操作数或地址。
    ● 数据寄存器:仅可用于保持数据,不能用于操作数地址计算。
    ● 地址寄存器:用于存放地址或特殊寻址方式,如段指针、变址寄存器等。
    ● 标志寄存器:用于保存状态标志的寄存器。(如溢出标志)
  2. 控制和状态寄存器:对用户透明,由控制器直接控制的寄存器。
    ● 程序计数器PC:存放下一条待取指令的地址。
    ● 指令寄存器IR:存放最近取得的指令。
    ● 存储器地址寄存器MAR:存有存储器位置的地址。
    ● 存储器数据寄存器MDR:存有最近读出的数据字或将要写入的数据字。

2.六大典型寄存器

下面是六种常见的典型寄存器:

  1. 指令寄存器IR:存放当前执行的指令。
  2. 程序计数器PC:存放下一条要执行的指令在内存中的地址。
  3. 地址寄存器AR:存放将要访问的内存单元的地址。
  4. 数据缓冲寄存器DR:存放从内存中读出、或将要写入内存的数据。
  5. 通用寄存器:用于存放运算结果或取出操作数。
  6. 程序状态字寄存器PSW:存放一些状态标志位。

三、控制器

1.控制器的功能

控制器是计算机系统的指挥中心,把运算器、存储器和输入输出设备等部件组成一个整体,根据指令的要求指挥全机。
控制器的主要功能是:

  1. 取指令:根据程序计数器PC的值,取出将要执行的指令存入指令寄存器IR,并指出下一条地址的位置。
  2. 分析指令:对指令进行译码或测试,产生相应的操作控制信号,启动规定的动作。
  3. 执行指令:指挥并控制CPU、内存和IO设备之间数据流动的方向。
  4. 控制程序数据的输入输出:根据程序安排或人工干预,在适当时向输入输出设备发出命令,完成IO功能。
  5. 处理异常和请求:(1)中断请求中止当前执行的程序,执行中断程序;(2)DMA请求暂停工作,为IO设备让出总线。

2.控制器的组成

控制器主要由以下四个部件组成:

  1. 指令部件:从内存取指令、并对指令进行译码;主要有:
    程序计数器PC
    指令寄存器IR
    指令译码器:对暂存在IR中的指令进行译码;
    地址形成部件:根据指令的寻址方式,形成有效地址。
  2. 时序部件:产生时序信号,保证各功能部件有节奏地进行信息传送、加工和存储;主要有:
    脉冲源:产生具有一定频率和宽度的时钟脉冲信号,为整个机器提供基准信号;
    启停控制逻辑:根据需要开放或封锁脉冲,控制时序信号的发生和停止;
    节拍发生器:也称脉冲分配器,产生各个机器周期的节拍信号。
  3. 微操作信号发生器:根据指令操作码的译码和时序信号,产生微操作控制信号;
    主要功能是根据指令译码和时序信号产生控制信号,正确选择数据通路,把数据打入寄存器,完成取/执行指令控制。
  4. 中断控制逻辑:控制中断的逻辑
    控制器示意图

3.控制器的分类

根据微操作控制信号产生方式的不同,可以将控制器分为:

  1. 组合逻辑型(组合逻辑控制器或硬布线控制器)
    采用组合逻辑技术实现,控制单元是门电路组成的复杂树形网络
  2. 存储逻辑型(微程序控制器)
    采用存储逻辑实现。将微操作信号代码化,使每一条机器指令转化为一段微程序存入专门的控制器中。其中微操作信号由微指令产生。
  3. 组合逻辑和存储逻辑结合型(可编程逻辑阵列(PLA)控制器)
    PLA控制器实际上也是一种组合逻辑控制器,但它又与常规的组合逻辑控制器的硬联结构不同。是可编程序的,某一微操作控制信号由PLA的某一输出函数产生。

四、时序系统与控制方式

1.时序系统的基本概念

  1. 指令周期:从取指令、分析指令到执行指令所需要的全部时间;不同指令的指令周期不同。
  2. 机器周期(CPU周期):所有指令执行的一个基准时间,通常是访问一次内存所需时间;一个指令周期划分为若干机器周期,每个机器周期完成一个基本操作。
  3. 时钟周期:又称节拍状态;一个机器周期分为若干个时钟周期,每个节拍的宽度对应一个时钟周期;每个节拍内机器完成一个或多个同时进行的微操作。

指令周期、机器周期和时钟周期组成多级时序系统
一个指令周期包含若干个机器周期一个机器周期包含若干个时钟周期
多级时序系统示意

2.控制方式的分类

  1. 同步控制方式
    固定时序的控制方式,任何一条指令或指令中任何一个微操作的执行,都由一个统一的时序信号控制。
    最复杂指令的操作时间作为统一的时间间隔。
    特点:设计简单、容易实现、效率低。
  2. 异步控制方式
    各操作不采用同一时序信号控制,而根据指令或部件的具体情况决定,需要多少时间就占用多少时间。
    操作间采用结束-起始信号的应答方式实现衔接。前一项操作结束后发出结束信号,下一个操作接收信号后给出应答信号
    特点:提高了机器效率,但控制复杂。
  3. 联合控制方式
    同步方式与异步方式的结合。
    功能部件内部采用同步方式(或同步方式为主),而在功能部件之间采用异步方式
    通常,CPU内部采用同步方式CPU通过总线访问外存或外设时采用异步方式

五、指令周期

1.指令的执行过程

一般情况下,一条指令的执行要经过取指令取操作数执行指令三个阶段。对应取指周期取操作数周期执行周期
取指阶段

  1. 根据PC的值从内存中取出指令送往指令寄存器IR;
  2. PC自增1,形成下一指令的地址;
  3. 进行指令译码,确定该指令执行的操作。

取操作数阶段:主要根据操作数的寻址方式,计算操作数有效地址并取出操作数。

  1. 取源操作数
  2. 取目的操作数

执行阶段:完成指令规定的操作,形成稳定的运算结果,并存入存储器。

指令执行完成后,要检查是否有中断请求,有中断请求需进入中断周期,处理中断;否则继续取指令,执行指令。
取指阶段和执行阶段是每条指令执行的必经阶段。
取操作数阶段并不是所有指令都经过的阶段。

2.五个典型指令的指令周期

● MOV指令
  1. CPU周期1:取指周期,共三项操作
    ● 取出指令
    ● PC++
    ● 操作码译码
  2. CPU周期2:根据译码结果,执行指令规定的操作。
    MOV指令
● LDA指令
  1. CPU周期1:取指周期。
  2. CPU周期2:完成送操作数地址的操作;
  3. CPU周期3:取出操作数并装入通用寄存器。
    LDA指令
● ADD指令
  1. CPU周期1:取指周期。
  2. CPU周期2:将寄存器的数据送往ALU做加法计算,结果写入寄存器。
    ADD指令
● STO指令
  1. CPU周期1:取指周期。
  2. CPU周期2:送操作数地址;
  3. CPU周期3:取出操作数并写入数存。
    STO指令
● JMP指令
  1. CPU周期1:取指周期。
  2. CPU周期2:直接指令寄存器中的地址码写入程序计数器PC。
    JMP指令

由上面的指令对比可以知道,所有指令的取指阶段都是完全相同的,并且只使用一个CPU周期;但指令的执行阶段,由于不同指令的功能不同,所用的CPU周期也不同。

3.方框图语言

计算机设计时,可以采用方框图语言表示指令的指令周期。
具体符号:

  1. 方框:一个方框代表一个CPU周期;
  2. 方框内内容:数据通路的操作或控制操作;
  3. 菱形:判别或测试,时间依附于上一个CPU周期;
  4. ~符号:公操作。

上面的五个典型指令可以用方框图语言表示:
方框图语言

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章