【计算机基础】CPU基本组成

电子计算机CPU基本组成

0.学习目标

在学习本文之前,需要读者了解冯诺伊曼结构的现代电子计算机的基本组成:运算器、控制器、存储器、输入与输出。这可能听起来略微陌生,因为这是较为原始的概念。如今,随着电子技术的发展,运算器、控制器及部分存储器都集成在一个芯片中——我们耳熟能详的CPU。因此,如今的计算机基本组成结构我们可以抽象成:CPU、存储器及I/O设备:
cpu-00

本文我们将学习CPU的基本组成原理。即便我们并不是直接参与硬件研发的工程师,但了解CPU结构及原理,多少总能为我们拓展视野。下面我们开始!

学习目标

  • 学习并了解CPU的基本组成:ALU、CU、寄存器
  • 学习并了解各部件的基本原理

参考教程

注:
本文中出现的图片均来自参考教程,侵删

1.CPU 基本组成

中央处理器(Central Processing Unit),即CPU。

1.1功能与组成概述

CPU的功能

  • 程序控制:重要职能,通过执行指令来控制程序的执行顺序
  • 时间控制:对各种操作进行时间上的控制,对整个执行时间、操作信号的出现时间、持续时间及出现的时间顺序都进行严格控制
  • 操作控制:一条指令需要若干操作信号,CPU产生每条指令的操作信号,并将操作信号送往不同的部件,控制相应的部件按指令的功能要求进行操作
  • 数据处理:根本任务,对数据进行逻辑运算、加工等处理。数据处理主要由ALU实现。

CPU基本组成
CPU主要由 运算器控制器组成。为了存储临时变量以及部件之间进行数据通信,CPU也带有寄存器组以及内部总线等其他结构。

cpu-01

运算器基本组成

  • 算术逻辑单元ALU
  • 累加寄存器AC
  • 数据缓冲寄存器DR
  • 状态条件寄存器PSW

控制器基本组成

  • 指令寄存器IR
  • 程序计数器PC
  • 地址寄存器AR
  • 指令译码器ID

cpu-00

1.2 运算器各部件功能概述

  • 算术逻辑单元ALU
    Arithmetic and Logic Unit, ALU,
    负责算数运算与逻辑运算

  • 累加寄存器AC
    Accumulator register,简称累加器;
    通用寄存器,当ALU执行运算时,为ALU提供工作区;
    例如,ALU进行 a - b 运算,先将 a 暂时取出存放在AC,再从内存中取出 b ,然后执行 a - b 算出结果,将结果存放回AC中。运算的结果是放在AC中的。

  • 数据缓冲寄存器DR:
    Data Register, DR,
    主要作用:作为CPU和内存、外部设备之间数据传送的中转站,以及缓冲;
    例如,在对内存进行读写时操作时,DR暂时存放内存的一条指令或一个数据,将不同时间段内读写的数据隔离;
    在单累加器结构的运算器中,DR还能兼作为操作数寄存器。

  • 状态条件寄存器PSW:
    Program Status Word,PSW
    保存一些运算过程中产生的状态,以条件码保存,例如要进位保存一个(C),
    条件码内容主要分为 状态标志控制标志
    例如:

      • 运算结果进位标志(C)
      • 运算结果溢出标志(V)
      • 运算结果为0标志(Z)
      • 运算结果为负标志(N)
      • 中断标志(I)
      • 方向标志(D)
      • 单步标志等等;
        这些标志通常由一位触发器保存,通常,一个算数操作产生一个运算结果,一个逻辑操作产生一个判决。

1.3 控制器各部件功能概述

  • 指令寄存器IR
    Instruction Register,IR
    当CPU执行一条指令时,先把它从内存取到缓冲寄存器DR,再送入IR暂存,指令译码器,根据IR的内容产生各种微操作指令,控制其他组成部件工作,完成所需功能。

  • 程序计数器PC
    Program Counter,PC
    具有寄存信息和计数两种功能,又称为指令计数器;
    程序执行有两种顺序:顺序执行转移执行
    在程序开始执行前,将程序的起始地址送入PC,在程序加载到内存时确定。执行指令时,CPU将修改PC的内容,使其的内容总是将要执行的下一条指令地址;

      • 顺序执行:修改的地址只是简单地+1
      • 转移执行:后继的指令地址根据当前指令地址加上一个位移量;或者根据转移指令给出的直接转移地址得到;
  • 地址寄存器AR
    Address Register,AR
    保存当前CPU访问的内存单元地址;
    内存和CPU存在速度差异,需要AR保存地址信息,直到内存读写操作完成为止。

  • 指令译码器ID
    Instruction Decoder,ID
    指令分为 操作码地址码两部分;
    指令译码器对指令中的操作码字段进行分析解释,识别该指令规定的操作,向操作控制器发出具体的控制信号,控制各部件工作,完成所需功能。

2.ALU 算术逻辑单元

算术逻辑单元(Arithmetic and Logic Unit),简称ALU。
ALU 是运算器的重要组成部件。

功能
负责算术运算与逻辑运算。

基本原理
ALU的算数计算功能,是由多个由门电路组成的电路实现的,例如,一个ALU里就有可以实现1+1的半加器:
cpu-02

然后我们可以通过半加器做出全加器,例如:
cpu-04

通过全加器,我们就可以实现一定精度范围内的加法运算了。其它绝大部分运算也是通过这些经过组合的门电路完成的。

至于逻辑运算,我们也可通过门电路来完成,例如:
cpu-05

基于以上示例的原理,我们就有了能实现算术运算与逻辑运算的ALU。

3.CU 控制单元

ControlUnit,CU

功能

控制器用于控制整个CPU的工作,决定计算机运行过程的自动化。

保证程序正确执行,处理异常事件。

一般包括:
指令控制逻辑,时序控制逻辑,总线控制逻辑 和 中断控制逻辑等几个部分。

指令控制逻辑要完成取指令、分析指令、执行指令的操作。这个过程可描述为:
取指令、指令译码、按指令操作码执行、形成下一条指令地址等步骤。

时序控制逻辑:要为每条指令按时间顺序提供应有的控制信号;
总线逻辑:多个功能部件服务的信息通路的控制电路
中断控制逻辑:用于控制各种中断请求,并根据优先级的高低对中断请求进行排队,逐个交给CPU处理

基本原理
控制器的基本原理依然是门电路,如图所示:
cpu-05

4.寄存器

功能
存储指令、数据及其它信息。

分为专用寄存器和通用寄存器。

运算器和控制器中的寄存器是专用寄存器,其作用是固定的。通用寄存器用途广泛并可由程序员规定其用途,数目因处理器不同有所差异。

基本原理
寄存器实际上是一种RAM,其原理也是门电路,例如:
cpu-06

至于其它存储器及存储介质,如ROM只读存储器、Flash、磁盘等等,虽然功能不同,材料与实现细节也不同,但也是基于门电路的,读者可自行查阅其它资料了解。

拓展
在计算机中,指令和数据都是以二进制的形式存储的,指令与数据以同等地位保存在存储器中。

指令分为操作码地址码

  • 操作码:指令序列号,告诉CPU需要执行哪一条指令
  • 地址码:参与操作数的地址码
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值