![Thumbnail: computer](https://i.loli.net/2021/10/27/y4QFkJIBVdiUKsC.png)
计算机组成原理 PartⅠ
3 minute read
计算机组成原理 Part Ⅰ
冯·诺伊曼计算机的特点
- 计算机由五大部分组成
- 输入设备
- 将信息转化成机器能识别的形式
- 运算器 ALU
- 算术运算
- 逻辑运算
- 控制器 CU
- 指挥程序运行
- 储存器
- 存储程序和数据
- 输出设备
- 将结果转换成人熟悉的形式
- 输入设备
- 指令和数据以同等地位存于储存器,可按地址寻访 (混合存储,指令和数据不加以区分)
- 指令和数据用二进制表示
- 指令由操作码和地址码组成
- 存储程序 (核心特征)
- 以运算器为中心 (数据的输入输出必须经过运算器)
现代计算机硬件框图
系统复杂性管理的方法 (3’y)
- 层次化(Hierachy):将被设计的系统划分为多个模块或子模块
- 模块化(Modularity):有明确定义(well-defined)的功能和接口
上机前的准备
- 建立数学模型
- 确定计算方法
- 编制解题程序
- 程序——运算的全部步骤
存储器的基本组成 (存储 01 代码)
存储体
- 存储单元:存放一串二进制代码
-
存储元件:存储单元中二进制代码的组合
- 存储字长:存储单元中二进制代码的位数
- 按地址寻访:每个存储单元赋予一个地址
MAR (存储器地址寄存器)
- M: 存储器 A: 地址 R: 寄存器
- 保存存储单元的地址或编号
- 反映存储单元的个数
MDR (存储器数据寄存器)
- 反映存储字长
运算器的基本组成和操作过程
运算器的结构
- ALU 算术逻辑单元
- ACC 运算输入与保存运算结果
- X 运算输入
- MQ 保存运算结果
加法操作
- 初态下 ACC 中已有被加数
- 加数从内存中取出,放入 X 寄存器: [M]—>X
- ALU 将 ACC 中的被加数和 X 中的 加数相加,并保存到 ACC 中: [ACC] + [X] —> ACC
减法操作
- 初态下 ACC 中已有被减数
- 减数从内存中取出,放入 X 寄存器: [M]—>X
- ALU 将 ACC 中的被减数和 X 中的 减数相加,并保存到 ACC 中: [ACC] + [X] —> ACC、、
乘法操作
- 初态下 ACC 中已有被乘数
- 乘数从内存中取出,放入 MQ 寄存器中 [M] —> MQ
- 将 ACC 中的被乘数放入 X 中 [ACC] —> X
- 将 ACC 寄存器清零 0 —> ACC
- ALU 将 X 中的被乘数与 MQ 中的乘数相乘,高位放到 ACC 中,低位放到 MQ 中 [X] × [MQ] —> ACC // MQ
除法操作
- 初态下 ACC 中已有被除数
- 除数从内存中取出并放到 X 寄存器中 [M] —> X
- 除数与被除数相除,商放在 MQ 中,余数放在 ACC 中 [ACC] ÷ [X] —> MQ
控制器的基本结构
控制器的基本组成
完成一条指令
- 取指令 PC (程序计数器)
- PC 存放当前欲执行指令的地址
- 具有计数功能 (PC) + 1 —> PC
- 分析指令 IR
- 存放当前欲执行的指令
- 执行指令 CU
主机完成一条指令的过程
要执行的指令的地址放在 PC 当中,指令保存在存储体当中
取数指令
- PC 将指令的地址送给 MAR
- MAR 将地址送给存储体
- 在控制器的控制下,存储体把指定存储单元中保存的取数指令送入 MDR
- MDR 将取出的指令送入 IR
- IR 将指令的操作码部分传入 CU, CU 根据操作码完成相应操作
- 在控制器的控制下吗,将 IR 存储的地址码部分送入 MAR
- MAR 将地址送入存储体
- 存储体根据地址将取数指令需要的数送入 MDR
- MDR 将取出的数送入 ACC
存数指令
- PC 将指令的地址送给 MAR
- MAR 将地址送给存储体
- 存储体将对应地址的指令送给 MDR
- MDR 将取出的指令送给 IR
- IR 将保存指令的操作码部分送给 CU,CU 根据操作码完成相应操作
- CU 控制 IR 将地址码部分送入 MAR
- MAR 将地址码送入存储体
- ACC 将待存数送入 MDR
- 在控制器的控制之下把 MDR 中的数据保存到存储体当中
程序的运行过程
- 将程序通过输入设备送至计算机
- 程序的首地址 —> PC
- 启动程序运行
- 取指令 PC —> MAR —> M —> MDR —> IR, (PC) + 1 —> PC
- 分析指令 OP(IR) —> CU
- 执行指令 Ad(IR) —> MAR —> M —> MDR —> ACC
(程序的运行会重复进行 “取指令,分析指令和执行指令” 三步)
- 打印结果
- 停机
计算机硬件的主要技术指标
- 机器字长
- CPU 一次能处理数据的位数
- 与 CPU 中的 寄存器位数 有关
- 运算速度
- 主频
- 核数与线程数
- 吉普森法
- CPI 执行一条指令所需时钟周期数
- IPC 一个时钟周期能完成的指令数
- MIPS 每秒执行百万指令数
- 考虑到不同指令的复杂程度,还需要进一步精确
- FLOPS 每秒浮点运算次数 (更科学)
- 存储容量
- 主存容量
- 存储单元个数 × 存储字长
- 如 MAR MDR 容量
- 10 8 1K × 8 位
- 16 32 64K × 32 位 1K 表示 2 的 10 次方
- 字节数
- 存储单元个数 × 存储字长
- 辅存容量 字节数
- 主存容量