第1章 计算机抽象及相关技术
KB 和 KiB,前者为 ,后者为 ,其它单位以此类推。
计算机体系结构中的 8 个重要思想:
- 面向摩尔定律设计:架构师必须预测其设计完成时的工艺水平,而不是设计开始时的工艺水平。
- 使用抽象简化设计:隐藏低层次的细节,提供给高层次更简单的模型。
- 加速经常性事件(而不是优化罕见情形):这意味着设计者需要知道经常性事件是什么。
- 通过并行提高性能。
- 通过流水线提高性能。
- 通过预测提高性能。
- 关注存储层次。
- 通过冗余提供可靠性。
使用高级程序语言的好处:
- 使用更自然的语言来思考:用英文和代数符号表示。
- 提高了程序员的生产率:使用较少行数即可表示出设计用意,则可加速程序的开发。
- 提高了程序相对于计算机的独立性:编译器核汇编程序能把高级语言程序翻译成任何计算机的二进制指令。
度量计算机运行的性能(主要的衡量标准是时间):响应时间(运行时间,挂钟事件,表示完成某项任务的总时间),CPU 时间(只表示在 CPU 上花费的时间,不包括等待 I/O 或者运行其它程序的时间,还可以进一步分为用于用户程序的时间和操作系统为用户程序执行相关任务花费的时间)。术语系统性能表示空载系统的响应时间,CPU 性能表示用户 CPU 时间。
时钟周期(时钟频率):计算机设计者关注的度量。
CPU 性能的度量:CPU 执行时间,为程序 CPU 时钟周期数和时钟周期长度的乘积。设计者经常要面对这两者的权衡,许多技术在减少时钟周期数的同时会增加时钟周期长度。
指令平均时钟周期数 CPI :执行每条指令所需时钟周期的平均数。不同指令所需的时间可能不同。
经典 CPU 性能公式:CPU 时间 = 指令数 时钟周期长度