Skip to content

4.8 运算器的基本组成

本节从整体结构上介绍运算器的组成部件及其数据通路,并以经典的ALU芯片为例进行说明。

核心概念

1. 运算器基本结构

一个基本的运算器由以下几部分组成:

  • 算术逻辑单元 (ALU):核心部件,负责执行算术运算和逻辑运算。
  • 寄存器组:用于暂存操作数和中间结果。
    • 通用寄存器:可由程序员访问,用途灵活。
    • 专用寄存器:如累加器(AC)、暂存寄存器(DR)、状态寄存器(PSW)等,有特定功能。
  • 内部数据通路 (内部总线):连接ALU和各寄存器,是数据流动的路径。

2. 数据通路结构

根据内部总线的数量和连接方式,运算器结构可分为:

单总线结构

  • 结构:所有部件(寄存器、ALU)都连接到一条公共的内部总线上。
  • 特点:结构简单,但数据传输存在冲突。一次双操作数运算(如 R1 + R2 -> R0)需要多个时钟周期:
    1. 先将一个操作数送入ALU的暂存器
    2. 再将另一个操作数送入ALU
    3. 最后将结果写回目标寄存器

双总线/三总线结构

  • 结构:ALU的两个输入端和输出端分别连接到不同的总线。
  • 特点:可以同时为ALU提供两个操作数,并在一个时钟周期内完成运算和结果回送,速度快。但结构复杂,控制也更复杂。

3. 算术逻辑部件 (ALU) 简介

  • 功能:ALU 是一个组合逻辑电路,能够根据输入的控制信号,对输入的数据执行多种算术或逻辑运算。

典型芯片: 74181

  • 功能:是一个经典的4位ALU芯片。
  • 控制线:
    • 功能选择线 (S0-S3):用于选择16种不同的功能。
    • 模式控制线 (M):用于切换算术运算 (M=0) 和逻辑运算 (M=1)。
    • 进位输入 (Cn):算术运算时的初始进位。
  • 级联:多个74181芯片可以级联(如通过74182进位先行部件)构成更高位数的ALU(如16位、32位)。

4. 浮点运算单元 (FPU)

  • 组成:由于浮点运算的复杂性,通常由独立的硬件单元实现,主要包括阶码运算部件尾数运算部件
  • 特点:内部结构复杂,包含独立的加法器、乘法器和移位器,以流水线方式工作来提高效率。在现代CPU中,FPU通常与整数运算单元集成在一起。

易考点与难点

易考点:

  • 理解运算器的基本组成(ALU、寄存器、总线)。
  • 区分单总线和多总线结构的优缺点(结构简单/复杂 vs 速度慢/快)。

难点:

  • 阅读和分析数据通路图,能够根据给定的操作(如 (R1) + (R2) -> R0),写出完成该操作所需的控制信号序列和数据流动路径。
  • 对74181这类ALU芯片的功能要有所了解,知道它是如何通过控制信号来选择不同运算的。