计算机系统多级层次结构
计算机系统体系结构的定义
经典定义
计算机体系结构是指传统机器程序员所看到的计算机属性,即概念结构与功能特效。
广义定义
系统结构定义为:指令系统结构,组成,硬件。
计算机组成和实现
计算机系统结构:计算机系统的软硬件的界面。(传统机器所具有的结构)
计算机组成:逻辑结构的实现(控制方式,功能等)
计算机实现:物理实现(引脚,电压,散热等)
翻译和解释的区别:
翻译:全部一起翻译后一起执行,占用空间大
解释:逐条解释执行,占用空间小,消耗时间大
计算机系统结构分类
Flynn分类
按照指令流和数据流分类
Single Multiple | Instruction Data
- SISD
- SIMD
- MISD 并不存在
- MIMD
冯式分类
按照系统最大并行度分类
最大并行度:能处理的最大二进制位数
- WSBS字串位串
- WSBP字串位并
- WPBS字并位串
- WPBP字并位并
Handler分类法
根据并行度和流水线分类
- 控制部件个数k
- ALU部件d
- ALU包含的基本逻辑线路ELC套数w
公式t=(k,d,w)
如果考虑流水线:
t=(k*k` ,d*d`,w*w`)加上流水线并行
例如:Cray有一个CPU,12个相当于ALU或者PE的处理部件,最多可以实现8级流水,字长为64位,可实现1~14位流水线处理。则表示为t(Cray)=(1,12*8,64*(1~14))
计算机系统设计
定量原理
4个定量原理:
- 经常性事件为重点
- Amdahl定理:系统性能加速比=系统性能改进后/系统性能改进前 =总执行时间改进前/总执行时间改进后 。
这意味着提升百分比是非直线的,改进越多总收益提升增长越慢,一般加速比不会超过1/(1-可改进比例) - CPU性能公式:执行所需时钟周期*时钟周期
CPI(执行每条指令平均时钟周期)=执行程序总时间/总指令条数 - 程序的局部性原理:程序执行时访问的存储器地址分布不是随机的而是相对的簇聚。
- 时间局部性
- 空间局部性
系统设计的主要方法
1. 由上往下
2. 由下往上
3. 从中间开始:解决前两种软硬件设计分离和脱节问题
计算机系统性能评测
执行时间和吞吐率
执行时间
CPU时间:不包含I/O等待和运行其他程序时间
- 用户程序CPU时间
- 系统CPU时间
基准测试程序:用于比较性能的测试程序(编译器等等)
计算机系统结构的发展
冯诺依曼结构及其改进
冯诺依曼结构的组成:输入设备,输出设备,运算器,存储器,控制器
冯诺依曼结构特点:
- 运算器为中心
- 指令和数据都在存储器中同等对待
- 存储器按地址访问
- 指令执行按顺序的
- 指令由操作码和地址码组成
- 指令和数据都以二进制表示使用二进制运算
对冯诺依曼的改进
输入输出改进降低CPU负担,使用 程序控制,DMA,I/O处理机采用并行处理技术存储器改进:相联存储器,通用寄存器组,Cache指令系统发展:复杂指令集,精简指令集(目前常用)
软件对系统结构的影响
实现可移植性的方法:
- 统一高级语言
- 系列机,比如Intel酷睿系列,系统结构相同。因此分为向上,向下,向前和向后兼容,重点是向后兼容
- 模拟和仿真
模拟:虚拟机(通常用解释的方法实现)
仿真:使用主机的微程序解释目标机的微程序,速度快很多但是需要系统结构差别不大的计算机。
器件发展对系统结构的影响:
1. 摩尔定律
2. 计算机分代主要以器件作为划分标准
应用发展对系统结构的影响:
应用需求是促使计算机系统结构发展的最根本的动力
计算机系统结构中并行性的发展
并行性:
同时性:同一个时刻
并发性:同一个时间间隔
提高并行性的方法
- 时间重叠:流水线技术
- 资源重复:空间取胜,比如磁盘整列
- 资源共享:软件方法,比如操作系统时间片
单机系统并行性的发展
重点是时间重叠,指令流水线技术。
在单处理机中资源共享是模拟多处理机的功能,例如分时系统。
多机系统并行性的发展
耦合性:描述各机之间物理连接紧密程度和交互作用力的强弱。
紧密耦合系统 | 松散耦合系统 |
---|---|
总线互联共享主存 | 通信互联共享文件 |
功能专用化(时间重叠)
机间互联:容错系统
Q.E.D.