软件通过指令集架构(Instruction Set Architecture,ISA)实现与硬件交互。在20世纪60年代初,IBM共推出了四个彼此不兼容的计算机系列,每个系列都有自己的ISA、软件栈和I/O系统,分别针对小型企业、大型企业、科研单位和实时运算。IBM的工程师们,包括ACM图灵奖得主弗雷德·布鲁克斯(Fred Brooks)在内,都认为能够创建一套新的ISA,将这四套ISA有效统一起来。
这需要一套技术解决方案,让数据位宽(bit-width)为8位的廉价计算机和位宽为64位的昂贵计算机可以共享一个ISA。此外,计算机设计人员共同面临的另一个挑战是处理器的控制硬件。受软件编程设计的启发,计算机先驱人物、图灵奖获得者莫里斯·威尔克斯(Maurice wilkes)提出了简化控制器的思路。控制器被指定为一个二维数组,他称之为“控制存储(control store)”。数组的每一列对应一条控制线,每一行对应一条微指令,写微指令的操作称为微编程例。控制存储包含使用微指令编写的ISA解释器,因此执行一个传统指令需要多个微指令完成。控制存储通过内存实现,这比使用逻辑门的成本要低得多。
IBM于1964年4月7日发布的采用System/360指令集的四种型号计算机。四种型号之间数据位宽相差8倍,内存容量相差16倍,时钟频率相差近4倍,而性能相差50倍,其中M65具有最大的控制存储空间和更复杂的控制线,价格也更加昂贵。而成本最低的机型M30控制硬件简单,控制存储空间最小,但由于需要更多的时钟周期来执行系统指令,因此需要更多的微指令。
通过微程序设计,IBM认为新的ISA将能够彻底底改变计算行业,诹的未来。IBM统治了当时的计算机市场,55年前诞生的IBM大型机,其后代产品现在每年仍能为IBM带来100亿美元的收入。现在看来,尽管市场对技术问题作出的评判还不够完善,但由于硬件系统架构与商用计算机之间的密切联系,市场最终成为计算机体系结构创新是否成功的关键性因素,这些创新往往需要工程人员的大量投入。
领取专属 10元无门槛券
私享最新 技术干货