计算机组成

Ch-1 计算机抽象及相关技术

Eight Great Ideas

(1)面向 摩尔定律 的设计,预测设计完成时的工艺水平
(2)使用 抽象 简化设计,隐藏底层细节提供给高层一个更简单的模型
(3)加速 经常性事件 ,比优化罕见情形更好提升性能
(4)通过 并行 提高性能,例如多核处理器
(5)通过 流水线 提高性能,每个流程同时进行
(6)通过 预测 提高性能,例如对 if 条件预测分支
(7)通过 存储层次 解决存储器的速度与容量的冲突需求
(8)通过 冗余 提高可靠性,在故障时替代失效组件并帮助检测故障

Performance Measure

响应时间/执行时间 response time/execution time
是计算机完成某任务所需的 总时间,包含硬盘访问、内存访问、操作系统开销等
吞吐率/带宽 bandwidth
表示 单位时间 内完成的任务数量,降低响应时间几乎总能增加吞吐率

性能 performance
执行时间的 倒数,有 $\begin{align}\mathrm{performance}=\frac{1}{\mathrm{execution\space time}}\end{align}$
相对性能 relative performance
$X$ 比 $Y$ 快了几倍,$X$ is $n$ times faster than $Y$

持续时间 elapsed time
从任务开始到任务结束所花费的时间
CPU 执行时间 CPU time
只表示在 CPU 上花费的时间,分为 用户 CPU 时间系统 CPU 时间

时钟周期 clock period/clock cycle time
即一个 时钟循环 的持续时间
时钟频率 clock rate/clock frequency
即一秒内的时钟周期数,有 $\begin{align}\mathrm{clock\space rate}=\frac{1}{\mathrm{clock\space cycle\space time}}\end{align}$
时钟周期数 clock cycles
程序所需要的周期数,有关系:

指令数 instruction count, IC
任务执行了多少条指令
周期数 clock cycles per instruction, CPI
每一条指令所需要的周期数量,一般直接指 平均周期数 Avg. CPI
对于一个指令为 $\mathrm{IC}$ 的程序,有以下关系:

Three Walls

功耗墙 Power wall
主频提高了而功耗却没有提升那么多,因为降低了工作电压,而现在工作电压不能再减低了,否则泄漏电流占比过大,因此不能再提高功率。CMOS IC technology 的功耗公式:

存储墙 Memory wall
存储的性能增长不如 CPU 的性能增长,大部分时间用于读写内存
令级并行墙 ITP wall
难以在单个进程的指令流中找到足够的并行性,使处理器核心保持忙碌

MIPS

百万指令 Millions of Instructions Per Second, MIPS)

但是只有在其它参数一致时 MIPS 才有意义,不同的 ISA 之间不能仅凭 MIPS 比较
MIPS 没有考虑指令集的复杂程度等

Amdahl’s Law

阿姆达尔定律 Amdahl’s Law 用于计算系统某一部分性能提升后对整体性能的影响,指出系统整体性能的提升受限于系统中未被改进部分的性能

Ch-3 计算机的算数运算

咸鱼暄的计组笔记-3Arithmetic

IEEE 754 standard

浮点数 的表示分为三部分:sign / exponent / fraction(or significand)

偏置 bias 对于 float 类型为 $127$ ,对于 double 为 $1023$
IEEE 754 浮点数 float
IEEE 754 浮点数 double
科学计数法第一位在二进制下 必然 为 $1$ , 故在规定时 缺省
浮点数规定
(1)第一条表示 $0$
(2)第二条表示 非规格化数 ,在一些机器中表示一些很小的值,一般不考虑

(3)第三条表示 正常的浮点数
(4)第四条表示 无穷大或无穷小 出现在 exponent overflow 或非 $0$ 除以 $0$
(5)表示 非数,出现在 $0/0,\inf/\inf,\inf-\inf,\inf\cdot0$ 的情况

单精度 浮点数的精度:$2^{-23}$ ,表示范围 $\pm1\times2^{-126}\sim\pm(2-2^{-23})\times2^{127}$
双精度 浮点数的精度:$2^{-52}$ ,表示范围 $\pm1\times2^{-1022}\sim\pm(2-2^{-52})\times2^{1023}$

Floating Point Addition

(1)对齐 alignment较小的数 向较大的数对齐,使两个数的 指数 相同
(2)将对齐后的小数部分进行相加 significand addition
(3)规格化 normalization 将其移位直到符合标准
(4)上溢 overflow下溢 underflow 检测
(5)舍入 rounding 将结果舍入到最接近的值
(6)进一步规格化,因为舍入时可能产生了进位

Word Table

单词 释义 单词 释义 单词 释义
quotient dividend 被除数 divisor 除数
remainder 余数
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!