计组第一章:绪论


一、冯诺依曼计算机

计组第一章:绪论

特点:

  • 二进制:信息均是用二进制编码来表示的。
  • 程序控制:在冯·诺依曼计算机工作过程中,总是一条指令接一条指令地执行,执行指令
    会产生控制流,在控制流的驱动下完成指令的功能。在此过程中,数据(流)则是
    被动地调用。
  • 程序和数据存储在一起
    当时的计算机由运算器、控制器、存储器、输入设备和输出设备五大部分构成。
    运算器用以实现算术运算和逻辑运算;
    控制器根据指令的功能产生相应的控制信号,
    控制其他部分的工作以便实现指令的功能;
    存储器用来存放数据和程序
    输入设备可将外部的信息输入到计算机中;
    输出设备可将结果显示或记录下来。

计组第一章:绪论

二、CPU时间

  • 总指令数目IC=所有指令的数量和
  • 总指令执行周期数=×\displaystyle \sum_{指令类型}{指令数量\times 指令执行周期数}
  • 一条指令执行完的平均时钟周期数CPI=÷IC总指令执行周期数\div 总指令数目IC
  • 时钟周期=1CPU\frac{1}{CPU频率}
  • 程序执行时间(单位:秒)=×总指令执行周期数\times 时钟周期
  • 每秒钟执行指令的百万条数MIPS=÷1000000÷总指令数目\div 1000000\div 程序执行时间
  • 每秒钟执行指令的百万条数MIPS=1CPI××1000000\frac{1}{CPI\times 时钟周期\times 1000000}
    计组第一章:绪论

计组第一章:绪论

三、Amdahl定律

1.部件加速比re

计组第一章:绪论
如:执行时间由原来的 20s 减少到 5s,则部件加速比 re=20/5=4

2.系统加速比Sp

(1)系统加速比Sp取决的因素

  • 可改进比例fe :可改进部分在原系统总执行时间中所占的比
  • 部件加速比re :某部件改进后性能提高的比例。

(2)改进后的系统总执行时间 Tn为

若假设改进前的系统总执行时间为 T0,可以得出改进后的系统总执行时间 Tn为:
Tn=T0(1fe)+T0re×fe=T0(1fe+fere)T_n=T_0(1-f_e)+\frac{T_0}{r_e}\times f_e=T_0(1-f_e+\frac{f_e}{r_e})

公式理解是T0(1-fe)是没有改进部分的执行时间就是原来的执行时间(T0(1fe)T_0(1-f_e)),改进部分的执行时间就是改进的部分乘以缩短后的时间(T0re×fe\frac{T_0}{r_e}\times f_e)。

若有多个改进的部件则:
Tn=T0(1fe)+(T0re×fe)=T0(1fe+fere)T_n=T_0(1-\sum{f_e})+\sum{(\frac{T_0}{r_e}\times f_e)}=T_0(1-\sum{f_e}+\sum{\frac{f_e}{r_e}})

(3)系统加速比Sp

(2)中的式子两边同时除以T0或Tn。

Sp=11fe+fereSp=\frac{1}{1-f_e+\frac{f_e}{r_e}}
Sp=11fe+fereSp=\frac{1}{1-\sum{f_e}+\sum{\frac{f_e}{r_e}}}

例:
若计算机系统有三个部件 a、b、c 是可改进的,它们的部件加速比分别为30、30、20。若部件 a 和 b 在总执行时间中所占的比例分别是 30%、30%。若要使整个系统的加速比达到 10,部件 c 在总执行时间中所占的比例应为多少?
解:设部件 c 在总执行时间中所占的比例应为X.
1(10.30.3X)+(0.330+0.330+0.330)=10\frac{1}{(1-0.3-0.3-X)+(\frac{0.3}{30}+\frac{0.3}{30}+\frac{0.3}{30})}=10
X=33.7%
计算结果要求C部件的执行时间为33.7%