计算机系统多级层次结构

image

计算机系统体系结构的定义

经典定义

计算机体系结构是指传统机器程序员所看到的计算机属性,即概念结构与功能特效。

广义定义

系统结构定义为:指令系统结构,组成,硬件。

计算机组成和实现

计算机系统结构:计算机系统的软硬件的界面。(传统机器所具有的结构)

计算机组成:逻辑结构的实现(控制方式,功能等)

计算机实现:物理实现(引脚,电压,散热等)

翻译和解释的区别:
翻译:全部一起翻译后一起执行,占用空间大
解释:逐条解释执行,占用空间小,消耗时间大

计算机系统结构分类

Flynn分类

按照指令流和数据流分类
Single Multiple | Instruction Data

  1. SISD
  2. SIMD
  3. MISD 并不存在
  4. MIMD

冯式分类

按照系统最大并行度分类
最大并行度:能处理的最大二进制位数
2022-06-06

  1. WSBS字串位串
  2. WSBP字串位并
  3. WPBS字并位串
  4. WPBP字并位并

Handler分类法

根据并行度和流水线分类

  1. 控制部件个数k
  2. ALU部件d
  3. 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个定量原理:

  1. 经常性事件为重点
  2. Amdahl定理:系统性能加速比=系统性能改进后/系统性能改进前 =总执行时间改进前/总执行时间改进后 。
    这意味着提升百分比是非直线的,改进越多总收益提升增长越慢,一般加速比不会超过1/(1-可改进比例)
  3. CPU性能公式:执行所需时钟周期*时钟周期
    CPI(执行每条指令平均时钟周期)=执行程序总时间/总指令条数
  4. 程序的局部性原理:程序执行时访问的存储器地址分布不是随机的而是相对的簇聚。
    • 时间局部性
    • 空间局部性

系统设计的主要方法

1. 由上往下
2. 由下往上
3. 从中间开始:解决前两种软硬件设计分离和脱节问题

计算机系统性能评测
执行时间和吞吐率
执行时间
CPU时间:不包含I/O等待和运行其他程序时间
- 用户程序CPU时间
- 系统CPU时间
基准测试程序:用于比较性能的测试程序(编译器等等)

计算机系统结构的发展

冯诺依曼结构及其改进

冯诺依曼结构的组成:输入设备,输出设备,运算器,存储器,控制器
冯诺依曼结构特点:

  • 运算器为中心
  • 指令和数据都在存储器中同等对待
  • 存储器按地址访问
  • 指令执行按顺序的
  • 指令由操作码和地址码组成
  • 指令和数据都以二进制表示使用二进制运算

对冯诺依曼的改进

  • 输入输出改进降低CPU负担,使用 程序控制,DMA,I/O处理机
  • 采用并行处理技术
  • 存储器改进:相联存储器,通用寄存器组,Cache
  • 指令系统发展:复杂指令集,精简指令集(目前常用)

软件对系统结构的影响

实现可移植性的方法:

  1. 统一高级语言
  2. 系列机,比如Intel酷睿系列,系统结构相同。因此分为向上,向下,向前和向后兼容,重点是向后兼容
    image-1654596959856
  3. 模拟和仿真
    模拟:虚拟机(通常用解释的方法实现)
    image-1654597159717
    仿真:使用主机的微程序解释目标机的微程序,速度快很多但是需要系统结构差别不大的计算机。

器件发展对系统结构的影响:
1. 摩尔定律
2. 计算机分代主要以器件作为划分标准

应用发展对系统结构的影响:
应用需求是促使计算机系统结构发展的最根本的动力

计算机系统结构中并行性的发展

并行性:

同时性:同一个时刻
并发性:同一个时间间隔

提高并行性的方法

  1. 时间重叠:流水线技术
  2. 资源重复:空间取胜,比如磁盘整列
  3. 资源共享:软件方法,比如操作系统时间片

单机系统并行性的发展

重点是时间重叠,指令流水线技术。
在单处理机中资源共享是模拟多处理机的功能,例如分时系统。

多机系统并行性的发展

耦合性:描述各机之间物理连接紧密程度和交互作用力的强弱。

紧密耦合系统 松散耦合系统
总线互联共享主存 通信互联共享文件

功能专用化(时间重叠)
机间互联:容错系统

Q.E.D.


寄蜉蝣于天地,渺沧海之一粟