第5章 计算机、微型计算机的组成及工作过程

课程:1A003 计算机组织与系统结构(第二部分) 来源:田浩然上传的资料

本章概述

本章从冯·诺依曼计算机基本结构出发,系统介绍计算机五大组成部件(运算器、控制器、存储器、输入设备、输出设备)的功能与工作原理,深入讲解指令执行的完整过程(取指-译码-执行),对比硬布线控制器与微程序控制器两种实现方式,最后介绍微型计算机的特点、分类和主要技术指标。


5.1 计算机的产生与发展

计算机发展的关键里程碑

  • ENIAC(Electronic Numerical Integrator And Computer):第一台电子数字积分计算机,概念产生的重要意义
  • EDVAC(Electronic Discrete Variable Automatic Computer):冯·诺依曼结构(stored-program computer,存储程序计算机),首次采用存储程序概念,开创了程序设计时代
  • 4004 微处理器(1971):世界上第一个微处理器,2250 晶体管,4.2mm × 3.2mm
  • 8008 微处理器(1973):3500 晶体管
  • Pentium 微处理器(1993):320 万晶体管
  • Itanium 2:2.14 亿晶体管,1GHz 主频,0.18 微米线宽,328 个寄存器

冯·诺依曼结构的核心贡献:存储程序——将指令和数据一同存入存储器,计算机自动依次取出执行。在此之前的计算机(如 ENIAC)不具备存储程序的功能,需要通过手动接线来编程。


5.2 计算机的组成

5.2.1 冯·诺依曼计算机五大部件

冯·诺依曼计算机由五大部件组成:

输入设备 → 存储器 ↔ 运算器
              ↕
            控制器
              ↕
          输出设备
部件功能
运算器算术运算(加减乘除)和逻辑运算(非与或等)
控制器取指令、分析指令、执行指令,控制各部件协同工作
存储器存放指令和数据
输入设备程序和数据输入
输出设备输出结果

各部件之间通过三组信号连接:

  • 命令和应答信号
  • 状态和请求信号
  • 数据通路(程序数据输入 / 结果输出)

5.2.2 存储器

核心概念区分:地址 vs 内容

  • 计算机中的指令和数据都表现为二进制数码,必须存入存储器的不同区域才能被区分
  • 以字节(或字)为单位将存储器划分为存储单元,每个单元赋予一个序号(从零开始的无符号整数),称为存储单元的地址
  • 存储单元中存放的数据或指令称为存储单元的内容
  • 地址是识别不同存储单元的唯一标识

关键要点:

  • 地址的位数由控制器地址线的位数确定
  • 如果控制器有 n 条地址线,最多能管理 2ⁿ 个存储单元
  • 按字节编址时,每个存储单元存放 8 位二进制数
  • 每个存储单元的地址都是唯一的
  • 读写存储器时必须先给出地址,然后才能访问内容
  • 地址和内容都是二进制码,但完全是两个不同概念——类比高级语言中的变量名和变量值

5.2.3 运算器

组成结构:

  • ALU(Arithmetic Logic Unit,算术逻辑部件):核心部件,完成算术运算和逻辑运算
  • X、Y 寄存器:ALU 的输入寄存器(数据暂存器)
  • Z 寄存器:ALU 的输出寄存器
  • 累加器
  • 通用寄存器组:R0、R1、…、Rn-1
  • 标志寄存器 F(Flags):存放运算结果状态
    • 结果是否为零(ZF)
    • 是正还是负(SF)
    • 有无进位(CF)
    • 是否溢出(OF)
    • 等等

工作过程:

  • ALU 对 X、Y 中的数据进行运算,结果送到 Z
  • X、Y 中的数据可来自通用寄存器,也可来自存储器
  • Z 中的数据可送往通用寄存器,也可送往存储器

5.2.4 控制器

六大组成部分:

部件全称功能
IRInstruction Register 指令寄存器存放正在执行或即将执行的指令
PCProgram Counter 程序计数器存放下一条指令的存储单元地址,具有自动增量计数功能
MARMemory Address Register 存储器地址寄存器访存时缓存存储单元的地址
MDRMemory Data Register 存储器数据寄存器访存时缓存对存储单元读/写的数据
IDInstruction Decoder 指令译码器对 IR 中的指令进行译码,确定是哪一条指令
控制电路—产生时序脉冲信号,在时序脉冲同步下发出操作控制命令

5.2.5 微型计算机的组成

微型计算机 = CPU + 存储器 + I/O 接口 + 输入/输出设备
  • 主机:包含除输入/输出设备以外的所有部件,能独立工作

三大系统总线:

总线全称方向功能
ABAddress Bus 地址总线单向(CPU→其他)传输地址,选择要访问的存储单元或 I/O 端口
DBData Bus 数据总线双向传输数据,CPU↔存储器/IO 之间双向流动
CBControl Bus 控制总线部分单向部分双向传输控制信号、时序信号、状态信号等

地址总线、数据总线、控制总线通常统称为系统总线(System Bus)。


5.3 指令系统与程序示例

指令格式示例(简化模型)

每条机器指令 2 个字节:

  • 第一个字节:高 4 位 = 操作码,低 4 位 = 寄存器号(或 0000)
  • 第二个字节:存储单元地址

四条示例指令

汇编指令操作码功能
LOAD R1, M10000将 M1 的内容送入 R1
ADD R1, M20001R1 的内容加上 M2 的内容,结果送回 R1
STORE M3, R10010将 R1 的内容送入 M3 中
JMP L0011无条件转向 L 处继续执行

程序示例:(M1) + (M2) → (M3),然后跳转到 L

汇编语言程序        机器语言程序(二进制)        功能
─────────────────────────────────────────────────────
LOAD R1, M1      00001011 00000101       (M1)→R1
ADD R1, M2       00011011 00000110       (R1)+(M2)→R1
STORE M3, R1     00101011 00000111       (R1)→M3
JMP L            00110000 00010001       转 L 处

假设:M1、M2、M3 地址分别为 5、6、7;内容分别为 12、34、0;地址 L 为 17;R1 编号为 1011。


5.4 计算机的工作过程

5.4.1 指令执行的五大步骤

计算机执行程序的过程,就是不断重复”取指令→执行指令”的循环:

  1. 取指令:控制器把 PC 中的指令地址送往 MAR,发读命令;存储器读出指令,经 MDR 送往控制器,保存在 IR 中
  2. 指令译码:ID 对 IR 中的指令进行译码,分析操作性质;控制电路向有关部件发出微命令
  3. 取操作数(如需):控制器根据指令地址字段形成数据地址,送 MAR,发读命令;数据经 MDR 送往运算器
  4. 执行运算并存结果(如需):运算器执行运算,结果如需写回存储器,则送地址到 MAR、数据到 MDR,发写命令
  5. 形成下一条指令地址:一条指令执行完毕后,PC 增量形成下一条指令地址(顺序执行),或根据转移指令修改 PC

控制器不断重复上述过程,每重复一次,就执行了一条指令,直到整个程序执行完毕。


5.4.2 机器周期的概念

机器周期定义:计算机通过内部总线进行一次信息传输,从而完成一个或几个微操作所需要的时间。

取指令的两个机器周期:

以 LOAD 指令为例,取指阶段:

周期步骤操作是否占用内部总线
T1(i)控制器发 PCOUT、MARIN,PC→MAR是
T1(ii)控制器发 M读,存储器→MDR(通过 DBUS)否(走外部数据总线)
T1(iii)控制器发 PC加,PC 自增否
T2(iv)控制器发 MDROUT、IRIN,MDR→IR是

第(i)(ii)(iii)步可在同一个机器周期内完成(前三步不冲突),第(iv)步占用内部总线,需要另一个机器周期。 取指令共需要 2 个机器周期。


5.4.3 各指令的执行过程分析

LOAD R1, M1 执行阶段(2 个机器周期):

  • T3:IR 地址段→MAR(发 IROUT、MARIN),发 M读,M1→MDR
  • T4:MDR→R1(发 MDROUT、R1IN)

ADD R1, M2 执行阶段(4 个机器周期):

  • T3:M2→Y
  • T4:R1→内部总线(ALU 的 B 端),ALU 执行加法
  • T5:结果→Z
  • T6:Z→R1

STORE M3, R1 执行阶段(2 个机器周期):

  • T3:IR 地址段→MAR,R1→MDR
  • T4:发 M写,MDR→M3

JMP L 执行阶段(1 个机器周期):

  • T3:IR 地址段→PC(即 L→PC)

5.5 控制器的两种实现方式

5.5.1 硬布线控制器(Hardwired Control)

组成:

  • 环形脉冲发生器:循环产生节拍脉冲信号(T1, T2, T3, …)
  • 指令译码器:确定 IR 中存放的是哪一条指令
  • 微命令编码器:在不同节拍脉冲同步下产生相应的微命令信号

工作原理:

  • 用 T_i 表示第 i 个机器周期的节拍脉冲
  • 用操作码编码(如 00、01、10、11 对应 LOAD、ADD、STORE、JMP)
  • 每个微命令 = 若干个 (T_i × 指令操作码) 的逻辑或

示例:MARIN 微命令的逻辑表达式

MARIN = T1 + T3 · (LOAD + ADD + STORE)

即:所有指令的 T1 周期都需要 MARIN,LOAD/ADD/STORE 三条指令的 T3 周期也需要 MARIN。

特点:

  • 优点:指令执行速度快(无需访问控制存储器)
  • 缺点:规整性差、灵活性差(修改指令系统需要重新设计电路)
  • 常用于 RISC 结构的机器中

5.5.2 微程序控制器(Microprogrammed Control)

基本思想(M.V.Wilkes,1951 年提出):

  • 将指令执行所需的微命令以代码形式编成微指令
  • 微指令事先存放在 CPU 内部的控制存储器(Control Memory,一般为 ROM)中
  • 若干条微指令组成一段微程序,解释执行一条机器指令
  • CPU 执行程序时,从控制存储器中取出微指令,由其包含的微命令控制相关操作

关键概念:

  • 微指令:一条控制信号序列 + 下址字段
  • 微程序:若干条微指令组成,对应一条机器指令的执行
  • 控制存储器:存放全部微程序的 ROM,在 CPU 内部

微指令格式示例(16 位控制信号):

控制信号排列:

PCOUT MARIN M读 PC加 MDROUT IRIN IROUT PCIN R1IN YIN R1OUT MDRIN M写 add ZOUT End

T1 周期微指令(取指第 1 步):

1  1  1  1  0  0  0  0  0  0  0  0  0  0  0  0

(发出 PCOUT、MARIN、M读、PC加 四个微命令)

T2 周期微指令(取指第 2 步):

0  0  0  0  1  1  0  0  0  0  0  0  0  0  0  0

(发出 MDROUT、IRIN 两个微命令)

特点:

  • 优点:规整性好、灵活性强(修改控制存储器内容即可改变指令系统)
  • 缺点:指令执行速度较慢(每条指令都要启动一串微指令,多次访问控制存储器)
  • 实质:用程序方法产生和组织微命令信号(将程序技术引入 CPU),用存储逻辑控制代替组合逻辑控制(将存储逻辑引入 CPU)

5.6 微型计算机的特点、分类与技术指标

5.6.1 微型计算机的特点

  1. 体积小、重量轻、功耗低
    • 50 年代占地上百平方米、耗电上百千瓦的计算机能力 ≈ 如今一片大规模集成电路
    • MC 68000(16位):6.25 × 7.14 mm²,功耗 1.2W,功能媲美过去的小型机 CPU
    • Pentium II:750 万晶体管,203 mm²,266 MHz,功耗 38.2W
  2. 可靠性高,使用环境要求低
  3. 软件丰富
  4. 结构设计灵活、便于组装
  5. 价格便宜

5.6.2 微型计算机的分类

按微处理器位数(字长)分类:

  • 4 位机、8 位机、16 位机、32 位机 等
  • 位片式微型计算机:若干个位片组合而成,一片=一位,不同位片数组成不同字长。结构灵活。
    • 典型产品:MC 10800(4位)、AM2900 系列(4位)、F100220 系列(8位)

按组装形式分类:

类型特点典型产品
单片机(Microcontroller)CPU + 存储器 + I/O 接口全部在一块芯片上;容量不大,I/O 不多;嵌入到仪器仪表、家电中实现智能化MCS-51 系列(8031/8051/8751)、MCS-96 系列(8096/8796/8098)、MC 6805、Z8
单板机CPU + 存储器 + I/O 接口全部安装在一块 PCB 上;配有小键盘和数码管;ROM 中装有监控程序TP 801 (Z80)、ET3400 (6800)、KD86 (8086)
多板机各部件在不同 PCB 上,组装在机箱内;可配多种外设和丰富软件;形成完整系统台式 PC 机

5.6.3 主要技术指标

1. 字长

  • 计算机一次最多能处理的二进制数的位数
  • 通常与 CPU 内部寄存器、加法器的位数一致
  • 常见:4位、8位、16位、32位 等
  • 直接影响计算机的规模、造价和运算精度

2. 主存容量

  • 主存储器所能存储的信息总量,一般以字节为单位
  • 微型机主存容量一般可达 512MB,最大允许容量可达 4GB(32位地址空间)

3. 运算速度

  • 早期:综合折算法(加减乘除各占比例折算)
  • 现在普遍采用:MIPS(Million Instructions Per Second,每秒百万条指令)
    • 以加减运算这类短指令为基准
    • 高性能微处理器已达 1000 MIPS 以上

4. 主频率(主频)

  • 主时钟信号的频率,倒数 = 时钟周期
  • 一般来说主频高的计算机运算速度也快
  • 高性能微型机主频已达 3.0 GHz 以上

5. 平均无故障运行时间(MTBF)

  • Mean Time Between Failures
  • 机器工作时间 ÷ 故障次数(统计平均值)
  • 该值越大,可靠性越高
  • 微型机 MTBF 已可达数千甚至上万小时

知识关联

学习要点

  • 冯·诺依曼结构五大部件必须熟记
  • 取指令-执行指令的循环过程是理解计算机工作原理的核心
  • 硬布线 vs 微程序两种控制器的对比是常考点
  • 地址 vs 内容的区别是理解存储器的基础
  • 三大总线(地址/数据/控制)的方向和功能需要明确区分
  • 微程序控制器的本质:用软件思想来做硬件控制