计算机结构
计算机五大件
计算机五大件:运算器,控制器,存储器,输入设备,输出设备
存储器:主存储器,辅存储器
运算器包括:
算数逻辑单元ALU: 数据的算术运算和逻辑运算
累加寄存器AC:通用寄存器,为ALU提供一个工作区,用于暂存数据
数据缓冲寄存器DR:写内存时,暂存指令或者数据
状态条件寄存器PSW:存储状态标志和控制状态(也有其归类于控制器的)
控制器包括:
程序计数器PC:存储下一条要执行指令的地址
指令寄存器IR:存储即将要执行的指令
指令译码器ID:对指令中的操作码字段进行分析解释
时序部件:提供时序控制信号
计算机体系结构Flynn
| 体系结构类型 | 结构 | 关键特征 | 代表 | |||
|---|---|---|---|---|---|---|
| 单指令流单数据流SISD | 控制器:一个 处理器:一个 主存模块:一个 |
单处理器系统 | ||||
| 单指令流多数据流SIMD | 控制器:一个 处理器:多个 主存模块:多个 |
各处理器以异步的形式执行同一条指令 | 并行处理器 阵列计算机 超级向量处理机 |
控制器:一个 处理器:一个 主存模块:一个 |
单处理器系统 | |
| 多指令流单数据流MISD | 控制器:多个 处理器:一个 主存模块:多个 |
被证明不可能,至少不切实际 | 目前没有,有文献称流水线计算机为此类 | |||
| 多指令流多数据流MIMD | 控制器:多个 处理器:多个 主存模块:多个 |
能够实现作业,任务,指令等各级全面并行 | 多处理机系统 多计算机 |
指令的基本概念
一条指令就是机器语言的一个语言,它是一组有意义的二进制代码,指令的基本格式如下:
操作码字段
| 操作码字段 | 地址码字段 |
|---|---|
操作码部分指出了计算机要执行什么性质的操作,如加法,减法,取数,存数等。
地址码字段需要包含操作数的地址及操作结果的存放地址等,从其地址结构的角度可以分为三地址指令,二地址指令,一地址指令和零地址指令。
OP 表示操作符,地址分别表示数值的地址
| OP | A | B | C |
|---|---|---|---|
| + | — | — | — |
| OP | A | B |
|---|---|---|
| += | — | — |
| OP | A |
|---|---|
| 宕机 | — |
寻址方式
立即寻址:操作数直接在指令中,速度快,灵活性差。
直接寻址:指令中寻放的是操作数的地址。
间接寻址:指令中存放了一个地址,这个地址对应的内容是操作数的地址。
寄存器寻址:寄存器存放操作数。
寄存器间接寻址:寄存器存放的是操作数的地址。
CISC与RISC
| 指令系统类型 | 指令 | 寻址方式 | 实现方式 | 其他 |
|---|---|---|---|---|
| CISC(复杂) | 数量多,使用频率差别大,可变长格式 | 支持多种 | 微程序控制技术(微码) | 研制周期长 |
| RISC(精简) | 数量少,使用频率接近,定长格式,大部分为单周指令,操作寄存器,只有 load/Store操作内存 | 支持方式少 | 增加了通用寄存器,硬布线控制为主适合采用流水线 | 优化编译,有效支持高级语言 |
它们之间的区别:
CISC: 复杂,指令数量多,频率差别大,多寻址。
RISC:精简,指令数量少,操作寄存器,单周期,少寻址,多通用寄存器,流水线。