8个伟大思想
- 面向摩尔定律设计
摩尔定律指出单芯片上的集成度每18~24个月翻一番。计算机设计者必须预测其设计完成时的工艺水平,而不是设计开始时的。 - 面向抽象和封装设计
提高硬件和软件生产率的方法是使用抽象和封装来设计不同的层次,在高层次中看不到低层次的细节,只能看到接口。 - 加速大概率事件
加速大概率事件远比优化小概率事件更能提高性能。大概率事件通常比小概率事件简单。 - 并行设计
从计算的诞生开始,计算机设计者就通过并行执行操作来提高性能。 - 并行场景-流水线
例如“消防队列”——人们排成一排通过水桶接力快速将水桶从水源传至火场,而不是每个人都在来回奔跑。可以把流水线想象成一系列水管,其中每一块代表一个流水级。 - 预测提高性能
在某些情况下,如果假定从误预测恢复执行代价不高并且预测的准确率相对较高,则通过猜测的方式提前开始某些操作。 - 存储器层次结构设计
在存储器层次中,速度最快、容量最小并且每位价格最昂贵的存储器处于顶层,而速度最慢、容量最大且每位价格最便宜的存储器处于最底层。主存同时具有存储器层次中顶层的高速度和底层中的大容量和便宜的特征。可以把存储器层次想象成一个堆叠的三角形,该形状表示速度、价格和容量:越靠近顶端,存储器速度越快、每位价格越高;底层宽度越大,存储器容量越大。 - 部分冗余提高可靠性(备胎设计)
计算机不仅需要速度快,还需要工作可靠。可以通过使用冗余部件的方式提高系统的可靠性,冗余部件可以替代失效部件并可以帮助检测错误。
※CPU性能及其因素
- 某程序CPU执行时间 = 程序的CPU时间周期数 × CPU周期时间 = 程序的CPU时间周期数 / CPU时钟频率
- 程序的CPU时间周期数 = 程序指令数 × 每条指令平均时间周期数(
CPI
) - 某程序CPU执行时间 = CPI × 指令数 × CPU周期时间 = CPI × 指令数 / CPU时钟频率
相对功耗
- 处理器负载电容下降A,电压下降B,开关频率下降C,则功耗下降(1-A)(1-B)²(1-C)
加速大概率事件更有效
- 改进后的执行时间 = 受改进影响的那部分时间/改进量 + 不受影响的那部分时间
- MIPS(每秒百万指令) = 指令数/(执行时间×10^6) = 时钟频率/(CPI * 10^6)