导航

系统结构基础

Posted on 2022-07-30 23:53  wuqiu  阅读(75)  评论(0编辑  收藏  举报

计算机系统结构的分类

20世纪60年代,Michael Flynn提出的Flynn分类法:


单指令流、单数据流 (SISD)

每个指令部件每次仅译码一条指令,而且在执行时仅为操作部件提供一份数据。

当指令、资料处理流水化/管线化时,单指令流单数据流也可以拥有并行计算的特点。 属于指令级并行

流水线、动态调度、前瞻执行、超标量、多发射

单指令流、多数据流 (SIMD)

每条指令操纵多条数据流,属于数据级并行,距离 : 向量体系结构,GPU

多指令流、单数据流 (MISD)

流式计算 片内流式计算:脉动阵列(紧密耦合) 大数据工作流:流式集群(松散耦合)

多指令流、多数据流 (MIMD)

这个就晋升到 线程级并行(紧密耦合)和进程级(松散耦合)并行了

冯诺依曼体系结构 : 控制器 运算器 存储器 输入设备 输出设备

摩尔定律 : 集成电路上可以容纳的晶体管数目在大约每经过18个月便会增加一倍

摩尔定律是由英特尔(lntel)名誉董事长戈登·摩尔( Gordon moore)经过长期观察总结的经验 。被称为计算机第一定律。

Amdahl定律

  1. 加速比的计算 :

    \[性能 = \frac{1}{执行时间} \tag{1} \]

    \[加速比 = \frac{系统性能_{改进后}}{系统性能_{改进前}} = \frac{执行时间_{改进前}}{执行时间_{改进后}} \tag{2} \]

    PS : 加速比是大于 1 的 , 所以在时间上是改进前 除以 改进后 在性能上 是改进后 除以 改进前

  2. 可改进比例与部件加速比

    \[总执行时间_{改进后} = 不可改进部分的执行时间 + 可改进部分改进后执行时间 =(1 - 可改进比例) * 总执行时间_{改进前} + \frac{可改进比例 * 总执行时间_{改进前}}{部件加速比} = 总执行时间_{改进前} * [(1 - 可改进比例) + \frac{可改进比例}{部件加速比}] \]

    \[加速比 = \frac{1}{(1 - 可改进比例) + \frac{可改进比例}{部件加速比}} \tag{3} \]

    可改进比例 : 可改进部分的执行时间在总的执行时间中所占的比例。 例如 : 一个需运行60秒的程序中有20秒的运算可以加速,那么这个比例就是20/60

    部件加速比 : 可改进部分改进以后,性能(\(\frac{1}{时间}\))提高的倍数。例如:若系统改进后,可改进部分的执行时间是2秒,而改进前其执行时间为5秒,则部件加速比为5/2。

  3. 对公式的扩展 (多个部件可加速的加速比计算公式)

    \(S_i\) 是第 i 中部件的加速比

    \(P_i\) 是第 i 中部件执行时间占总执行时间中的比例

    \[加速比 = \frac{1}{(1 - \sum Pi) + \sum \frac{P_i}{S_i} } \]

Amdahl定律表明:

加快某部件执行速度所能获得的系统性能加速比,受限于该部件的执行时间占系统中总执行时间的百分比

Amdahl定律 : 一种性能改进的递减规则

a. 如果仅仅对计算任务中的一部分做性能改进,则改进的越多,得到的总体性能的提升就越有限

b. Amdahl定律的重要推论

由公式 \((3)\) 可以推得 如果只针对整个任务的一部分进行改进和优化,那么所获得的加速比不超过 $$\frac{1}{(1 - 可改进比例)}$$

CPU性能公式

\[CPU时间 = 执行程序所需的时钟周期数 * 时钟周期时间 \]

\[CPU时间 = IC ×CPI ×时钟周期时间 \]

\[CPU时间 = IC ×CPI × \frac{1}{时钟频率} \]

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