文章17
标签2
分类9

系统结构-第一章笔记

计算机系统结构的分类

Flynn分类法、冯氏分类法和Handler分类法

Flynn分类法

  • 单指令流单数据流SISD(Single Instruction stream Single Data stream)
  • 单指令流多数据流SIMD(Single Instruction stream Multiple Data stream)
  • 多指令流单数据流MISD(Multiple Instruction stream Single Data stream)
  • 多指令流多数据流MIMD(Multiple Instruction stream Multiple Data stream)

    冯氏分类法

最大并行度:计算机系统在单位时间内能够处理的最大的二进制位数。

用平面直角坐标系中的一个点代表一个计算机系统,其横坐标表示字宽($n位$),纵坐标表示一次能同时处理的字数($m字$)。$m×n$就表示了其最大并行度。

4类不同最大并行度的计算机系统结构

  • 字串位串:n=1,m=1。(第一代计算机发展初期的纯串行计算机)
  • 字串位并: n>1,m=1。这是传统的单处理机,同时处理单个字的多个位,如16位、32位等。
  • 字并位串:n=1,m>1。同时处理多个字的同一位(位片)。
  • 字并位并:n>1,m>1。同时处理多个字的多个位。

平均并行度

与最大并行度密切相关的一个指标。取决于系统的运用程度,与应用程序有关。

  • 假设每个时钟周期内能同时处理的二进制位数为$P_i$,则$T$个时钟周期内的平均并行度为

$$P_a=\frac{\sum_{i=1}^{T}{P_i}}{T}$$

  • 系统在T个时钟周期内的平均利用率定义为:

$$\mu = \frac{P_a}{P_m} = \frac{\sum_{i=1}^{T}{P_i}}{TP_m}$$

Handler分类法

把计算机的硬件结构分成3个层次

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

公式表示

$$t(系统型号)=(k,d,w)$$

改进版

$$t (系统型号)=(k×k’,d×d’,w×w’)$$

Amdahl定律

系统性能加速比:

$$加速比=\frac{系统性能_{改进后}}{系统性能_{改进前}}=\frac{总执行时间_{改进后}}{总执行时间_{改进前}}$$

依赖项

可改进比例($F_e$):

在改进前的系统中,可改进部分的执行时间在总的执行时间中所占的比例。

部件加速比($S_e$):

可改进部分改进以后性能提高的倍数。它是改进前所需的执行时间与改进后执行时间的比。

改进后程序的总执行时间$T_n$:

$$T_n=T_0(1-F_e+\frac{F_e}{S_e})$$

  • $T_0$:改进前整个程序的执行时间
  • $1-F_e$:不可改进比例

系统加速比$S_n$:

为改进前与改进后总执行时间之比

$$S_n=\frac{T_0}{T_n}=\frac{1}{(1-F_e)+\frac{F_e}{S_e}}$$

CPU性能公式

  • CPU时间

$$CPU时间=执行程序所需的时钟周期数×时钟周期时间$$

时钟周期时间是系统时钟频率的倒数

  • 每条指令执行的平均时钟周期数CPI

$$CPI = \frac{执行程序所需的时钟周期数}{IC}$$
IC:所执行的指令条数

  • 程序执行的CPU时间可以写成

$$CPU时间= IC ×CPI ×时钟周期时间$$

影响cpu性能的参数

  • 时钟周期时间:取决于硬件实现技术和计算机组成;
  • CPI:取决于计算机组成和指令系统的结构;
  • IC:取决于指令系统的结构和编译技术。

细分

计算机系统有n种指令;
$CPI_i$ :第i种指令的处理时间;
$IC_i$ :在程序中第i种指令出现的次数;
则:
$$CPU时钟周期数= \sum_{i=2}^{n} (CPI_i \times IC_i)$$

$$CPU时间=执行程序所需的时钟周期数×时钟周期时间=\sum_{i=1}^{n}(CPI_i\times IC_i)\times 时钟周期时间$$

$$CPI=\frac{时钟周期数}{IC}=\frac{\sum_{i=1}{n}(CPI_i\times IC_i)}{IC}=\sum_{i=1}^{n}(CPI_i\times \frac{IC_i}{IC})$$

$$\frac{IC_i}{IC}反映了第i种指令在程序中所占的比例。$$

性能评测

总执行时间

机器执行所有测试程序的总时间

平时执行时间

各测试程序执行时间的算术平均值

$$S_m = \frac{1}{n}\sum_{i=1}^{n}{T_i}$$

加权执行时间

各测试程序执行时间的加权平均值

$$A_m = \sum_{i=1}^{n}{W_i}\times{T_i}$$

$W_i$:比重

调和平均值法

$$H_m=\frac{n}{\sum_{i=1}^{n}\frac{1}{R_i}}=\frac{n}{\sum_{i=1}^{n}{T_i}}$$

$R_i$:由$n$程序组成的工作负荷中执行第$i$个程序的速度

$R_i=\frac{1}{T_i}$

加权调和平均值公式

$$H_m=(\sum_{i=1}^{n}\frac{W_i}{R_i})^{-1}=(\sum_{i=1}^{n}W_iT_i)^{-1}$$

几何平均值法

以某台计算机的性能作为参考标准,其他计算机性能则除以该参考标准而获得一个比值。

$$G_m=\sqrt[n]{\prod_{i=1}^{n}R_i}=\sqrt[n]{\prod_{i=1}^{n}\frac{1}{T_i}}$$

加权几何平均值

$$G_m=\prod_{i=1}^{n}(R_i)^{W_i}=(R_1)^{W_1}\times(R_2)^{W_2}\times\dots\times(R_n)^{W_n}$$

$G_m$的特性

几何平均值的比等于比的几何平均值

$$\frac{G_m(x_i)}{G_m(y_I)}=G_m\frac{x_i}{y_i}$$

本文作者:admin
本文链接:https://blog.banned.top/archives/40/
版权声明:本文采用 CC BY-NC-SA 3.0 CN 协议进行许可

0 评论

'