1.层次结构
2.翻译-解释
翻译:先把N+1级程序全部转换成N级程序后,再去执行新产生的N级程序,在执行过程中N+1级程序不再被访问。
解释:每当一条N+1级指令被译码后,就直接去执行一串等效的N级指令,然后再去取下一条N+1级的指令,依次重复进行。
解释执行比编译后再执行所花的时间多,但占用的存储空间较少。
3.透明性概念
透明性:本来存在的事物或属性,从某种角度看似不同。
例如:浮点数表示、乘法指令等对高级语言程序员是透明的,但是对汇编语言程序员是不透明的。
4.组成和实现
体系结构、计算机组成、计算机实现
(1)各自的研究范畴
以乘法运算为例,试说明计算机系统结构、计算机组成、计算机实现各考虑什么?
答:体系结构:机器语言是否设计有乘法指令;
组成:乘法指令在机器内部是用加法器实现、移位器实现或者还是直接用乘法器部件实现,它是机器语言乘法指令的逻辑实现;
计算机实现:而逻辑部件的物理实现,如是否采用超大规模集成电路以及采取的微组装技术等硬件实现。
(2)三者相互影响
5.分类法
(1)按性能和价格:句型、大型、中型、小型、微型机。
(2)佛林分类法:按照指令流和数据流的多倍性特征。
指令流:机器执行的指令序列
数据流:由指令流调用的数据序列
多倍性:在系统性能瓶颈部件上同时处于同一执行阶段的指令或数据的最大可能个数。
可分为四类:
SISD:顺序处理机。
SIMD:并行处理机、阵列处理机,,
MISD:几条指令对同一个数据进行不同的处理。
MIMD:紧密偶合,松散偶合
(4)冯泽云分类法:按照最大并行度
最大并行度:单位时间内能处理的最大二进制位数。
字宽n: 一个字中同时处理的二进制位数
位片宽度m: 一个位片中能处理的字数
同时处理的字宽为𝑛,位片宽为𝑚,则最大并行度定义为:𝑃𝑚 = 𝑚 × 𝑛
平均并行度:假设每个时钟周期 𝑡𝑖 内能同时处理的二进制位数为𝐵𝑖, 则T个时钟周期内的平均并行度为:
可分为如下几类:
字串位串WSBS:位串处理方式,每次只处理一个字中的一个位,即串行计算机,m=1,n=1
字并位串WPBS:位(片)处理方式,一次处理m个字中的1位,即传统并行单处理机,m>1,n=1
字串位并WSBP:字(片)处理方式,一次处理一个字中的n位,即并行计算机,m=1,n>1
字并位并WPBP:全并处理机,一次处理n个字,每个字为m位,m>1,n>1
6.定量原理
哈夫曼、Amadahl、局部性原理、CPU性能公式
1.Amadahl
可改进部分的比例:Fe=
可
改
进
部
分
的
执
行
时
间
改
进
前
整
个
任
务
的
执
行
时
间
\frac{可改进部分的执行时间}{改进前整个任务的执行时间}
改进前整个任务的执行时间可改进部分的执行时间
改进部分的加速比:Se= 改 进 前 改 进 部 分 的 执 行 时 间 改 进 后 改 进 部 分 的 执 行 时 间 \frac{改进前改进部分的执行时间}{改进后改进部分的执行时间} 改进后改进部分的执行时间改进前改进部分的执行时间
假设
T
0
T_0
T0为改进前整个任务的执行时间,则改进后整个任务的执行时间为:
T
n
=
T
0
∗
(
1
−
F
e
+
F
e
S
e
)
T_n=T_0*(1-Fe+\frac{Fe}{Se})
Tn=T0∗(1−Fe+SeFe)
改进后整个系统的加速比为: S n = T 0 T n = 1 1 − F e + F e S e S_n=\frac{T_0}{T_n}=\frac{1}{1-Fe+\frac{Fe}{Se}} Sn=TnT0=1−Fe+SeFe1
2.CPU性能公式
程序执行的总指令条数IC
平均每条指令的时钟周期数CPI
时钟主频
f
c
f_c
fc
n种指令,每种指令的时钟周期数
C
P
I
i
CPI_i
CPIi,出现次数
I
i
I_i
Ii,CPU的程序执行时间
T
c
p
u
T_{cpu}
Tcpu
平均指令时钟周期数(总的时钟周期数除以指令总条数):
3.局部性原理
时间局部性:程序中近期被访问的信息项很可能马上将再次访问。
空间局部性:在访问地址上相邻近的信息项很可能会被一起访问。
4.哈夫曼原理
在计算机系统的设计中经常要在不同的方法之间进行折中,尽可能加速处理高概率事件远比加速处理低概率事件对性能的提高要显著。
7.MIPS、MFLOPS、性能平均值
MIPS、MFLOPS、算数性能平均值、几何性能平均值、调和性能平均值
1.MIPS:单位时间可以执行几百万条指令
MIPS= 指 令 条 数 执 行 时 间 ∗ 1 0 6 \frac{指令条数}{执行时间*10^{6}} 执行时间∗106指令条数= F z C P I \frac{Fz}{CPI} CPIFz= I P C ∗ F z IPC*Fz IPC∗Fz
Fz为处理机的工作主频
CPI (Cycles Per Instruction)为每条指令所需的平均时钟周期数
IPC (Instruction Per Cycle)为每个时钟周期平均执行的指令条数。
特点:直观、方便。但是依赖于指令集,用这个来比较指令集在不同机器的性能好坏是不准确的。
2.MFLOPS
一般认为 1 MFLOPS ≈ 13MIPS
3.算数性能平均值
A
m
A_m
Am是n道程序运算速度或运算时间的算数平均值。
以速度评价:
以执行时间评价:
加权算数平均(各个程序出现的比例不同)
4.调和性能平均值
这和算数平均值中以时间评价很相似,只是分子分母互换了位置。这里
H
m
H_m
Hm的值与运行全部程序所需的时间
∑
i
=
1
n
\sum_{i=1}^{n}
∑i=1n成反比,以此来衡量计算机的时间(速度)性能比较准确。
加权平均值:
5.几何性能平均值
没看懂。。。