1.计算机系统
1.3 复杂指令集系统与精简指令集系统
| 指令系统类型 | 指令 | 寻址方式 | 实现方式 | 其他 |
|---|---|---|---|---|
| CISC(复杂) | 数量多,使用频率差别大,可变长格式 | 支持多种 | 微程序控制技术 | 研制周期长 |
| RISC(精简) | 数量少,使用频率接近,定长格式,大部分为单周期指令,操作寄存器,只有Load/Store | 支持方式少 | 增加了通用寄存器;硬布线逻辑控制为主;适合采用流水线 | 优化编译,有效支持高级语言 |
2.存储器系统
2.3 Cache存储器
Cache的性能是计算机系统性能的重要方面。命中率是cache的一个重要指标,但不是最重要的指标。cache设计的主要目标是在成本允许的情况下达到较高的命中率,使存储系统具有最短的平均访问时间。cache的命中率和cache容量的关系是:cache容量越大,则命中率越高,随着容量的增加,其失效率接近0%(命中率接近100%)。但是,增加cache容量意味着增加cache的成本和增加cache的命中时间。
计算机系统中的存储部件通常组织成层次结构,越接近CPU的存储部件访问速度越快。寄存器组是CPU中的暂存器件,访问速度是最快的。目前也通常把cache(分为多级)集成在CPU中。
3.流水线
流水线技术把一个任务分解为若干顺序执行的子任务,不同的子任务由不同的执行机构复杂执行,而这些机构可以同时并行工作。在任一时刻,任一任务只占用其中一个执行机构,这个就可以实现多个任务的重叠执行,以提高工作效率。
3.1 流水线周期
流水线应用过程中,会将需要处理的工作分为 N 个阶段,最耗时的那一段所消耗的时间为流水线周期。
3.2 计算流水线执行时间
以流水线的执行时间可通俗的表达为:
流水线执行时间=第 1 条指令的执行时间+(n-1)*流水线周期
n 代表需要处理的任务数量。
而实际上,真正做流水线处理时,考虑到处理的复杂性,会将指令的每个执行阶段的时
间都统一为流水线周期,即 1 条指令的执行时间为:4ms+4ms+4ms=12ms。
所以:实际流水线执行时间=4ms+4ms+4ms+(100-1)*4=408ms。
考试时 80%以上的概率采用理论公式计算,所以考试时需要以理论公式计算,若计算的结果无正确选项才考虑采用实际公式计算。
3.3 流水线的吞吐率
流水线的吞吐率(Though Put rate,TP)是指在单位时间内流水线所完成的任务数量或输出的结果数量。有些文献也称为平均吞吐率、实际吞吐率。计算流水线吞吐率的最基本的公式如下:
$$
TP = \frac{n}{T_k}
$$
其中n为任务数,$T_k$是处理完成n个任务所用的时间。
流水线的最大吞吐率为:
$$
TP_{max} = \lim_{n\to\infty}\frac{n}{(k+n-1)\Delta{t}} = \frac{1}{\Delta{t}}
$$
3.4 流水线的加速比
加速比:不使用流水线的执行时间/使用流水线的执行时间
如果不使用流水线,即顺序执行所用的时间为 $T_0$ ,使用流水线的执行时间为$T_k$,则计算流水线加速比的基本公