体系结构/组成/实现技术
计算机体系结构
- 对设计者
设计思想 逻辑结构 - 对程序员
概念结构 功能特征
计算机组成
- 功能单元逻辑设计
- 物理实现
- 部件的互联组织
计算机实现技术
- 集成电路设计
- 结构设计
- 组装工艺
- 电源技术
- 冷却措施
- …
微程序
一条指令功能->微程序(多条微指令有序排列)
- 简化数字逻辑
- 减小硬件规模
- 增加系统可靠性
增加了微体系结构层
RISC/CISC
通过微程序,很容易通过扩加微程序扩加指令数量
导致设计中加入了过多指令
这些设计被称为CISC(复杂指令集计算机)
后来为了突破性能瓶颈
提出了应减小指令集数量
复杂指令由多条简单指令代替
简单指令直接由硬核层实现
这种设计称为RISC
存储器组织
可以通过字节选择信号控制传输32位/16位/8位数据
字对齐
为了访问数据效率更高,数据存放时一般会按字对齐
读写流程
- 读
- 写
分级
模型机CPU子系统
运算器
运算器有定点浮点之分
ALU包括先行进位全加器,移位寄存器,可以实现所有二进制运算
ACC送入操作数,存储ALU运算结果,其实任意寄存器都能完成ACC工作
暂存器对程序员透明,暂时存放送入ALU的操作数
标志寄存器
如ARM中的PSR(程序状态寄存器)
存储PSW(程序状态字)分为状态标志位和控制标志位
控制器
根据指令和时序信号产生控制信号
指令分为操作码和地址码,操作码送入指令译码器译码,再由操作控制器确定操作时序,产生控制信号到相关部件,完成指定操作。
地址码送入地址生成部件,转换为有效地址送入地址缓冲器或程序计数器
每次取址操作,控制器会自动修改程序计数器
微程序控制器
微操作
控制器对指令操作码分析,生成一系列微操作,和对应微操作码,微操作码控制硬件逻辑产生控制信号
由于一条指令有多条微操作,可以在微操作码后加执行顺序控制位,构成微指令,编排成微程序,存储在控制ROM中
硬连线控制器
硬布线控制器/组合逻辑控制器
复杂,不标准
寄存器阵列
- 通用寄存器
- 专用寄存器
模型机指令集
指令字
- 指令操作码
长度由操作码数量决定 - 指令地址码
用于描述操作数(操作数也可以以立即数形式给出)
指令中的操作数可以为0个到3个
不能直接给出地址,只能给出地址偏移量
RISC只能对寄存器运算,CISC还可以让储存器参与运算
RISC解决方法是Load/Store体系结构
指令周期
循环直到停机,一个循环称一个指令周期
有些处理器不同指令的指令周期不同
采用流水线的RISC处理器所有指令周期相同,称单周期处理器
一个指令周期分为若干个机器周期(CPU周期,总线周期),通常为CPU读取一个指令字的时间
一个总线周期包含若干个T周期,T周期是最基本的时间单位,又称时钟周期,节拍脉冲
CISC/RISC
CISC
- 指令长短不一
- 非Load/Store体系
寄存器-寄存器和寄存器-存储器数据转移都可以用Move操作实现 - 寻址方式多样
- 通常是两操作数
- 简洁
RISC
反过来就是了
流水线
对下面流程分割,在独立模块中并行执行,中间加缓冲器隔离
缺陷
由于中间的缓冲器产生时延,单条指令执行时间更长
整体速度取决于最慢的步骤
会产生冲突(冒险)
资源
Load/Storet同一寄存器,可以插入气泡
使用哈佛结构,隔绝数据与指令
数据
”写后读“
“写后写”
“读后写”
控制
转移指令引起,产生转移代价,解决方法是动态转移预测
改进
- 超标量处理器
多条流水线同时执行
需要多发射技术发配 - 超线程处理器
一颗处理器可以执行多个线程 - 多处理器计算机/多计算机系统
- 多核处理器
同构/异构
性能指标
- 字长
- 存储容量
- 总线带宽/吞吐率
- 能耗
- RASIS
- 可靠 可用 可维护 完整 安全 运算速度