计算机系统结构 期末复习(未完

计算机系统结构

  • 计算机系统结构的基础知识
    • 基本概念
      • 计算机系统的层次结构
      • 计算机系统结构的定义
      • 计算机系统结构分类法(重点)
        • Flynn分类法
        • 冯氏分类法
        • Handler分类法
    • 计算机系统的设计
      • 定量原理(重点)
    • 计算机系统的性能评测
    • 计算机系统结构的发展
    • 并行性
      • 并行性
      • 技术途径
      • 多处理机
      • 发展历史
  • 指令系统
    • 指令系统结构的分类
    • 寻址方式 addressing mode
    • 指令系统的设计和优化
      • 基本原则
      • 控制指令
      • 指令操作码的优化(重点)
      • 指令字格式的优化
    • 指令系统的发展和改进
      • CISC方向
      • RISC方向
    • 操作数的类型和大小
      • MIPS指令系统结构(自学)
  • 流水线技术 pipelining
    • 基本概念
      • 分类
    • 性能指标
      • 吞吐率
      • 加速比 speedup
      • 效率efficiency
    • 非线性流水线的调度(重点)
    • 流水线的相关与冲突
      • 经典的五段RISC流水线
      • 相关 dependence
      • 冲突hazard
    • 流水线的实现(MIPS)

计算机系统结构的基础知识

基本概念

计算机技术的飞速发展得益于

  1. 计算机制造技术的发展(集成电路)
  2. 计算机系统结构的创新:20c80s RISC(指令级并行)& 2004年 多处理器(线程级并行、数据级并行)

计算机系统的层次结构

层次 语言 备注
微程序机器 微指令系统 物理机 解释
传统机器语言机器 传统的机器指令系统 仿真emulation 物理机 解释
操作系统机器 传统机器级指令&操作系统级指令 虚拟机 解释
汇编语言机器 汇编语言 虚拟机 翻译
高级语言机器 C等 虚拟机 翻译
应用语言机器 面向具体应用问题的语言 虚拟机 翻译

语言的实现:翻译 translation /解释 interpretation,解释花时间多,但占空间少。
固件 firmware :具有软件功能的硬件。

计算机系统结构的定义

经典定义:指传统机器程序员所看到的计算机属性,即概念性结构与功能特性。
透明性 transparency
广义定义:指令系统结构、组成、硬件。
计算机组成 organization:逻辑实现,包括物理机器级的数据流和控制流的组成以及逻辑设计。
计算机实现 implementation:计算机组成的物理实现。
也就是说,确定有什么底层功能,属于计算机系统结构,而逻辑上如何实现,属于计算机组成,硬件上如何实现属于计算机实现。
系列机:同一厂家生产的系统结构相同但组成和实现不同的一系列不同型号的计算机。

计算机系统结构分类法(重点)

Flynn分类法

S:single M:multiplicity I: instruction stream D:data

  • SISD 顺序处理计算机
  • SIMD 阵列处理机
  • MISD 没有这种机器
  • MIMD 多处理机
冯氏分类法

最大并行度 P m P_m Pm为计算机在单位时间内能够处理的最大二进制位数。字宽n x 位片宽度m

  • 字串位串
  • 字串位并 单处理机
  • 字并位串
  • 字并位并

平均并行度 P a = ∑ i = 1 T P i T P_a=\frac{\sum_{i=1}^TP_i}{T} Pa=Ti=1TPi
平均利用率 μ = P a P m \mu =\frac{P_a}{P_m} μ=PmPa

Handler分类法

程序控制部件PCU的个数k
算术逻辑部件ALU或处理部件PE的个数d
基本逻辑线路ELC的套数w
t=(k,d,w)

计算机系统的设计

定量原理(重点)

1.以经常性时间为重点
2.Amdahl定律 (考)
加速比 = 改进前的执行时间 改进后的执行时间 加速比=\frac{改进前的执行时间}{改进后的执行时间} 加速比=改进后的执行时间改进前的执行时间
改进后的执行时间 T n = T 0 ( 1 − F e + F e S e ) T_n=T_0(1-Fe+\frac{Fe}{Se}) Tn=T0(1Fe+SeFe)
3.CPU性能公式
CPU时间=时钟周期数x时钟周期时间=指令条数xCPIx时钟周期时间
时钟周期数也可不用平均计算,而是加权和。
4.程序的局部性原理 principle of locality
时间局部性、空间局部性

计算机系统的性能评测

1.执行时间和吞吐率
吞吐率:单位时间内完成任务数
执行时间=IO时间+CPU时间(用户CPU时间、系统CPU时间)
2.基准测试程序
benchmark suites 基准测试程序套件
3.性能比较
总执行时间、算术平均值、调和平均值、几何平均值

计算机系统结构的发展

冯诺依曼结构:

  • 以运算器为中心
  • 指令和数据同等对待
  • 存储器按地址访问、按顺序线性编址
  • 指令执行顺序是顺序,分支由转移指令实现,PC指明当前执行指令在存储器中的地址
  • 指令由操作码+地址码组成
  • 二进制

改进:

  • 输入输出方式的改进
    程序等待
    程序中断
    DMA direct memory access 直接存储器访问方式:增设DMA控制器
    I/O处理机:通道、外围处理机
  • 并行
    不同级别的并行:微操作级、指令级、线程级、进程级、任务级
    实例:向量计算机、阵列处理机、多处理机、大规模并行处理机
  • 存储器组织结构
    按内容访问的相联存储器CAM
    Cache
  • 指令系统
    复杂指令集CISC
    精简指令级RISC

软件兼容、可移植性的实现:
1.统一高级语言,如java
2.采用系列机
向上、下、前、后兼容
兼容机:不同公司产的,但是系统结构一样的计算机。
3.模拟和仿真
模拟:用机器语言解释执行
仿真:用微程序解释执行,更快,更局限

器件发展
应用发展

并行性

并行性

包含同时性+并发性
等级1:字串位串、字串位并、字并位串、全并行
等级2:指令内部并行、指令级并行(流水线技术、超标量)、线程级、任务级、作业级
在多处理机系统中,其并行性是通过硬件实现的,而非软件(操作系统的进程管理、作业管理等)。

技术途径

1.时间重叠:流水线技术
2.资源重复
3.资源共享

多处理机

耦合度:紧密耦合(直接耦合)、松散耦合(简介耦合)

发展历史

萌芽->向量机的发展和鼎盛阶段->MPP->各种体系结构并存->机群

指令系统

指令系统结构的分类

根据存储单元,分为:

  • 堆栈型:只能访问栈顶、次栈顶
  • 累加器型:有一个累加器,另外从存储器取数
  • 通用寄存器型:快,多用
    • 寄存器-存储器型RM
    • 寄存器-寄存器型RR load-store结构
    • 存储器-存储器型MM(已淘汰)

ALU指令中的操作数个数:0~3
三种分型各有优缺点

寻址方式 addressing mode

寄存器寻址、立即数寻址、偏移寻址、寄存器间接寻址、索引寻址、直接寻址或绝对寻址、存储器间接寻址、自增寻址、自减寻址、缩放寻址、PC相对寻址
表示寻址方式的方法:

  • 隐含在指令的操作码中
  • 在指令字中设置专门的寻址字段

按整数边界存储信息

指令系统的设计和优化

基本原则

完整性、规整性(对称性、均匀性)、正交性、高效率、兼容性

控制指令

无条件:跳转 jump
有条件:分支 branch
过程调用call
过程返回return PC相对寻址

三种表示分支的方法:

  • 条件码CC
  • 条件寄存器
  • 比较与分支

指令操作码的优化(重点)

指令的优化就是确定指令字的编码方式,包括操作码和地址码。
1.哈夫曼编码
优化程度用信息熵衡量,这是理论最短平均编码长度。
但哈夫曼编码是变长的,采用【扩展操作码】改进。
2.等长扩展码
15/15/15法和8/64/512法等
只要遵守短码不能是长码的前缀即可。
3.定长操作码
RISC

指令字格式的优化

可变长度编码格式
固定长度编码格式 RISC
混合型

指令系统的发展和改进

CISC方向

RISC方向

指令格式简单统一,在单周期完成

操作数的类型和大小

数据表示:基本数据类型,硬件实现
数据结构:软件实现的结构

操作数类型的表示方法:

  • 由指令中的操作码指定
  • 给数据加上标识,让数据本身给出操作数类型

MIPS指令系统结构(自学)

实验一:MIPS指令系统和MIPS体系结构
32个64位通用寄存器,32个64位浮点数寄存器。
只有立即数和偏移量寻址两种方式。

流水线技术 pipelining

基本概念

每个流水线的子过程称为流水线的级或段stage。段与段相互连接形成流水线,段数称为流水线的深度depth。

  • 用时空图描述工作过程。
  • 每个段后面有一个缓冲寄存器(流水寄存器)
  • 通过时间:第一个任务进入流水线到流出的时间
  • 排空时间:最后一个任务进入流水线到流出的时间

设计问题:

  • 时间最长的段会成为流水线的瓶颈。
  • 额外开销=流水寄存器延迟+时钟偏移开销,限制了流水线段数的增加。
  • 存在冲突问题。

分类

计算机系统等级不同划分:

  • 部件级流水线=运算操作流水线
  • 处理机级流水线=指令流水线
  • 系统级流水线=宏流水线

功能划分:

  • 单功能流水线
  • 多功能流水线

同一时间内多功能流水线中的各段是否只能按一种功能连接方式工作:

  • 静态流水线
  • 动态流水线(控制复杂)

是否存在反馈回路:

  • 线性流水线
  • 非线性流水线 有调度问题

任务流入流出顺序是否相同:

  • 顺序流水线
  • 乱序(无序)流水线-异步流水线

采用了流水线技术的处理机称为:流水线处理机
如果具有向量数据表示和指令,则称:向量(流水处理)机
否则称:标量流水处理机

性能指标

吞吐率

T P = n T k TP=\frac{n}{T_k} TP=Tkn,n是任务数, T k T_k Tk是处理n个任务所用的时间
1.各段时间相等的流水线
T P = n ( k + n − 1 ) Δ t TP=\frac{n}{(k+n-1)\Delta t} TP=(k+n1)Δtn
T P m a x = 1 Δ t TP_{max}=\frac{1}{\Delta t} TPmax=Δt1 很难达到,需要极限
2.各段时间不相等的流水线
任务必须按最大时间间隔进入流水线
T P = n ( n − 1 ) m a x ( Δ t 1 , Δ t 2 , . . . , Δ t k ) + ∑ i = 1 k Δ t i TP=\frac{n}{(n-1)max(\Delta t_1,\Delta t_2,...,\Delta t_k)+\sum_{i=1}^k\Delta t_i} TP=(n1)max(Δt1,Δt2,...,Δtk)+i=1kΔtin
T P m a x = n m a x ( Δ t 1 , Δ t 2 , . . . , Δ t k ) TP_{max}=\frac{n}{max(\Delta t_1,\Delta t_2,...,\Delta t_k)} TPmax=max(Δt1,Δt2,...,Δtk)n
消除瓶颈段方式:

  • 细分瓶颈段
  • 重复设置瓶颈段

加速比 speedup

S = 顺序执行时间 流水处理时间 S=\frac{顺序执行时间}{流水处理时间} S=流水处理时间顺序执行时间
各段时间相等的流水线 S = n k k + n − 1 S=\frac{nk}{k+n-1} S=k+n1nk,n>>k时,S=k

效率efficiency

利用率 = 设备实际使用时间 整个运行时间 利用率=\frac{设备实际使用时间}{整个运行时间} 利用率=整个运行时间设备实际使用时间
e = n k + n − 1 = E e=\frac{n}{k+n-1}=E e=k+n1n=E ,最高效率=1
E = T P ∗ Δ t = S k E=TP*\Delta t=\frac{S}{k} E=TPΔt=kS,即实际加速比/最大加速比
E = n 个任务实际占用的时空图的面积 k 个段总的时空图的面积 E=\frac{n个任务实际占用的时空图的面积}{k个段总的时空图的面积} E=k个段总的时空图的面积n个任务实际占用的时空图的面积

非线性流水线的调度(重点)

单功能非线性流水线的最优调度
启动距离,预约表->禁止表->冲突向量->状态转换图->最优调度方案

多功能非线性流水线的最优调度
n个功能,则有n个初始冲突矩阵,冲突向量有 n 2 n^2 n2个,状态图也更复杂

流水线的相关与冲突

经典的五段RISC流水线

取指周期IF
指令译码/读寄存器周期ID
执行/有效地址计算周期EX
存储器访问/分支完成周期MEM
写回周期WB

另一种时空图

相关 dependence

两指令存在依赖关系

  • 数据相关
  • 名相关:换名技术
    • 反相关
    • 输出相关
  • 控制相关:分支指令引起

冲突hazard

  • 结构冲突 硬件资源不足

    • 采取分别的指令存储器和数据存储器
    • 采用两个分离的cache
  • 数据冲突

    • 写后读冲突 数据相关
      • 定向技术
    • 写后写冲突 输出相关
    • 读后写冲突 反相关

    解决:

    • 停顿 流水线互锁机制
    • 指令调度/流水线调度
  • 控制冲突
    冻结/排空流水线,出现分支延迟
    解决方法:

    • 预测分支失败
    • 预测分支成功
    • 延迟分支
      • 从前调度
      • 从目标处调度(预测成功)
      • 从失败处调度 (预测失败)

流水线的实现(MIPS)

实验二:流水线和流水线中的冲突

你可能感兴趣的:(计算机系统结构,计算机系统结构)