计算机系统解密:从理解计算机到编写高效代码
上QQ阅读APP看书,第一时间看更新

第5章 计算机架构

第4章介绍了简单计算机系统的设计,并讨论了CPU如何通过地址和数据总线与内存和I/O设备互通信息。然而,这还没有结束。这些年来的改进使计算机的运行速度更快、功耗更小,也更容易编程。这些改进增加了设计上的复杂性。

计算机架构指的是计算机中各种组件的排列,而不是指盒子上是否有多立克柱或爱奥尼柱,也不是像美国企业家史蒂夫·乔布斯(1955—2011)为最初的Macintosh电脑设计的定制米色阴影。多年来,人们尝试了许多不同的架构。什么样的架构有效,什么样的架构无效,都值得人们探讨,而且关于这些主题的书已经出版了很多。

本章主要关注涉及内存的架构改进。现代微处理器的显微照片显示,绝大部分的芯片面积都用于内存处理。内存处理太重要了,它应该自成一章。还将讨论架构中的一些其他差异,例如指令集设计、附加寄存器、功率控制和更高级的执行单元。我们将讨论对多任务处理(即同时运行多个程序的能力,或者至少提供一个这样做的假象)的支持。同时运行多个程序意味着存在某种称为操作系统(Operating System, OS)的监控程序来控制它们的执行。