第五章 中央处理器
5.1 中央处理器的功能和组成
一、中央处理器的功能
在我们使用计算机解决问题的过程中,编写程序是第一步。正如上一章所述,程序是一系列的指令,这些指令清晰地指示计算机应当执行哪些操作以及在哪里找到执行这些操作所需的数据。程序一旦被加载到内存中,计算机就能够自动地执行取指和执行指的任务了。负责这一系列工作的计算机部件被称为中央处理器,或简称CPU。
CPU对整个计算机系统的运行至关重要,它主要承担以下四个方面的功能:
- 指令控制 - 程序的顺序控制,即指令控制。由于程序是按一定顺序排列的指令序列,这些指令的执行顺序不可随意改变,必须严格按照程序设定的顺序执行。因此,确保机器按顺序执行程序是CPU的首要任务。
- 操作控制 - 一条指令的功能通常由多个操作信号的组合来实现。因此,CPU负责管理并生成从内存中取出的每条指令所需的操作信号,并将这些操作信号发送到相应的部件,从而控制这些部件按照指令的要求进行操作。
- 时间控制 - 对各种操作进行时间上的控制称为时间控制。在计算机中,各种指令的操作信号都受到时间的严格控制。同时,一条指令的整个执行过程也受到时间的严格控制。只有这样,计算机才能条理清晰地自动工作。
- 数据加工 - 数据加工指的是对数据进行算术运算和逻辑运算处理。完成数据的加工处理是CPU的根本任务。因为,只有经过加工处理的原始信息才能对人们有用。
在下一节中,我们将详细探讨中央处理器的组成,以及这些组成部分是如何协同工作来完成上述功能的。
二、中央处理器的组成
中央处理器(CPU)是计算机的大脑,负责执行程序命令和处理数据。它由两个核心部分组成:控制器和运算器。这两部分协同工作,完成指令的解析、执行和数据的处理等任务。
控制器
控制器是CPU的决策和指挥中心,负责协调和控制计算机系统的各个部件。它主要由以下几个部件组成:
- 程序计数器:指示下一条要执行的指令的内存地址。
- 指令寄存器:存储当前正在执行的指令。
- 指令译码器:解析指令寄存器中的指令,确定需要执行的操作。
- 时序产生器:控制操作的执行顺序。
- 操作控制器:生成和发送操作控制信号,以启动特定的操作,如内存读/写、算术逻辑运算或输入/输出操作。
控制器的主要功能包括:
- 从内存中取出指令并指示下一条指令的位置。
- 对指令进行解码或测试,并产生相应的操作控制信号。
- 指挥并控制CPU、内存和输入/输出设备之间数据流动的方向。
运算器
运算器负责执行数据的算术和逻辑处理,是CPU的执行部件。它主要由以下部件构成:
- 算术逻辑单元(ALU):执行所有算术运算和逻辑运算。
- 累加寄存器:暂存运算结果或运算中间值。
- 数据缓冲寄存器:临时存储从内存读取或写入内存的数据。
- 状态条件寄存器:存储最近一次操作的状态信息,如运算结果的正负、零值等。
运算器的主要功能包括:
- 执行所有算术运算。
- 执行所有逻辑运算,并进行逻辑测试(例如,判断值是否为零或两个值的比较)。
通常,一个算术操作会产生一个运算结果,而一个逻辑操作则产生一个决策结果。运算器中的所有操作都是根据控制器发出的控制信号来执行的,这强调了控制器在CPU中的指挥作用。
虽然本章的重点是介绍控制器,但了解运算器的基本结构和功能对于全面理解CPU的工作原理同样重要。通过这两个部件的紧密配合,CPU能够高效地执行程序指令,处理数据,从而驱动整个计算机系统的运行。
三、CPU中的主要寄存器
计算机的心脏部件——中央处理单元(CPU),在其结构中至少嵌入了六种主要的寄存器,它们是计算机运行的基石。每种寄存器都扮演着特定的角色,共同确保了计算机能够高效、准确地执行各种指令。本节将深入探讨这些寄存器的功能与结构。
指令寄存器(IR)
指令寄存器是CPU的核心组成部分之一,负责存储当前正在被执行的指令。当一个指令被取出来执行时,它首先被加载到指令寄存器中。指令寄存器分解这些指令,将它们拆分为操作码和地址码,这是执行任何指令的第一步。这种分解工作是由指令解码器完成的,其输出则决定了接下来CPU应该执行的具体操作。
程序计数器(PC)
程序计数器,或称作指令计数器,确保了程序的连续执行。它存储着下一条指令的内存地址。在程序开始执行之前,程序的起始地址被加载到程序计数器中。执行指令时,程序计数器的内容会自动更新,以指向下一条将要执行的指令。对于顺序执行的指令,这通常意味着简单地将程序计数器的值加1。但是,遇到如JMP这样的跳转指令时,程序计数器的更新则会根据指令寄存器中的地址码来决定。
地址寄存器(AR)
地址寄存器用于保存CPU当前正在访问的内存单元的地址。这是因为CPU和内存操作速度之间存在差异,所以需要地址寄存器在读/写操作完成之前,保持地址信息。地址寄存器使得CPU与内存及外部设备之间的数据传输成为可能。
缓冲寄存器(DR)
缓冲寄存器在CPU和内存或外部设备之间传输信息时,起到中转站的作用。它能够补偿CPU与这些组件之间操作速度的差异,并且在单累加器计算结构中,缓冲寄存器还可以充当操作数寄存器的角色。
累加寄存器(AC)
累加寄存器或简称累加器,是执行算术和逻辑运算时不可或缺的组成部分。它提供了一个临时存储区域,用于存放运算的中间结果或最终结果。累加器的使用大大增强了CPU执行运算操作的能力。
状态条件寄存器
状态条件寄存器存储了执行算术和逻辑指令后的各种条件码,如进位标志、溢出标志、零标志和负标志等。这些标志位对于程序的逻辑决策和流程控制至关重要。此外,状态条件寄存器还记录了中断和系统工作状态信息,使CPU能够及时了解系统的运行状况。
以上六种寄存器是CPU高效执行指令所不可缺少的。它们各自独特的功能和结构保证了计算机能够准确、高效地完成用户的各项命令。
操作控制器与时序产生器
在探讨了CPU中的主要寄存器之后,接下来我们将深入了解CPU的另两个核心组件——操作控制器和时序产生器。这两部分是实现数据流动和执行指令的重要环节,确保了计算机能够按照既定的程序顺序高效运行。
操作控制器
操作控制器是CPU的指挥中心,负责协调各个寄存器之间的数据传输。它根据指令的操作码和时序信号,生成相应的操作控制信号,从而精确地建立数据通路。这包括决定信息的起点、经过的路径,以及最终的目的地。简而言之,操作控制器确保了数据能够正确、高效地在CPU内部各寄存器间流动,完成从指令提取到执行的全过程。
操作控制器的设计可以采用不同的方法,主要分为三种类型:
- 硬布线控制器:利用组合逻辑技术实现,直接通过硬件逻辑电路生成控制信号。
- 微程序控制器:采用存储逻辑实现,通过编写微指令序列来生成控制信号。这种方法提高了CPU设计的灵活性和可编程性。
- 门阵列控制器:结合了硬布线和微程序控制器的设计思想,通过可编程门阵列来实现。
尽管这三种设计各有特点,但在现代CPU设计中,微程序控制器因其灵活性和高效性而被广泛应用。
时序产生器
时序产生器是CPU的节拍器,负责为CPU中的各种操作提供精确的时序控制。在计算机中,每一个动作都必须在严格定义的时间内执行,以确保整个系统的同步运作。时序产生器产生周期性的时钟信号,用于控制CPU内部操作的开始和结束,保证数据处理的准确性和同步性。
时序产生器不仅对操作控制信号进行定时,还确保了CPU中的数据通路、算术逻辑单元(ALU)、指令解码器等各个部件能够在正确的时间完成其功能。这一过程对于提高CPU的执行效率和处理速度至关重要。
总结
构成典型CPU的不仅有六个主要寄存器,还包括算术逻辑运算电路(ALU)、指令译码器、操作控制器和时序产生器。这些组件共同工作,实现了CPU对指令的提取和执行、数据的处理及各种操作的时序控制。其中,操作控制器和时序产生器的作用尤为关键,它们确保了数据在CPU内部的正确流动和指令执行的精确时序,是计算机能够高效运行的保证。