4.8 运算器的基本组成
本节从整体结构上介绍运算器的组成部件及其数据通路,并以经典的ALU芯片为例进行说明。
核心概念
1. 运算器基本结构
一个基本的运算器由以下几部分组成:
- 算术逻辑单元 (ALU):核心部件,负责执行算术运算和逻辑运算。
- 寄存器组:用于暂存操作数和中间结果。
- 通用寄存器:可由程序员访问,用途灵活。
- 专用寄存器:如累加器(AC)、暂存寄存器(DR)、状态寄存器(PSW)等,有特定功能。
- 内部数据通路 (内部总线):连接ALU和各寄存器,是数据流动的路径。
2. 数据通路结构
根据内部总线的数量和连接方式,运算器结构可分为:
单总线结构
- 结构:所有部件(寄存器、ALU)都连接到一条公共的内部总线上。
- 特点:结构简单,但数据传输存在冲突。一次双操作数运算(如
R1 + R2 -> R0)需要多个时钟周期:- 先将一个操作数送入ALU的暂存器
- 再将另一个操作数送入ALU
- 最后将结果写回目标寄存器
双总线/三总线结构
- 结构:ALU的两个输入端和输出端分别连接到不同的总线。
- 特点:可以同时为ALU提供两个操作数,并在一个时钟周期内完成运算和结果回送,速度快。但结构复杂,控制也更复杂。
3. 算术逻辑部件 (ALU) 简介
- 功能:ALU 是一个组合逻辑电路,能够根据输入的控制信号,对输入的数据执行多种算术或逻辑运算。
典型芯片: 74181
- 功能:是一个经典的4位ALU芯片。
- 控制线:
- 功能选择线 (S0-S3):用于选择16种不同的功能。
- 模式控制线 (M):用于切换算术运算 (
) 和逻辑运算 ( )。 - 进位输入 (Cn):算术运算时的初始进位。
- 级联:多个74181芯片可以级联(如通过74182进位先行部件)构成更高位数的ALU(如16位、32位)。
4. 浮点运算单元 (FPU)
- 组成:由于浮点运算的复杂性,通常由独立的硬件单元实现,主要包括阶码运算部件和尾数运算部件。
- 特点:内部结构复杂,包含独立的加法器、乘法器和移位器,以流水线方式工作来提高效率。在现代CPU中,FPU通常与整数运算单元集成在一起。
易考点与难点
易考点:
- 理解运算器的基本组成(ALU、寄存器、总线)。
- 区分单总线和多总线结构的优缺点(结构简单/复杂 vs 速度慢/快)。
难点:
- 阅读和分析数据通路图,能够根据给定的操作(如
(R1) + (R2) -> R0),写出完成该操作所需的控制信号序列和数据流动路径。- 对74181这类ALU芯片的功能要有所了解,知道它是如何通过控制信号来选择不同运算的。