60年代的计算机体系结构:堆栈与复杂指令集

需积分: 9 5 下载量 170 浏览量 更新于2024-07-31 1 收藏 331KB PDF 举报
"麻省理工计算机体系结构课件3主要探讨了计算机体系结构中关于复杂指令集的历史发展,特别是堆栈和通用寄存器结构。在60年代,随着硬件成本的降低,计算机内存容量的增加,以及独立输入输出处理器的出现,计算机体系结构开始发生变化。在这个时期,系统软件如操作系统和输入输出装置的重要性日益凸显,编程模型与具体实现的分离成为趋势。 课件提到了由Robert Barton在1960年设计的Burroughs B5000计算机,它是一款基于Algol算法语言的机器,采用了堆栈寄存器组织结构。堆栈机制对于处理表达式求值、子程序调用、递归和中断嵌套以及块结构语言中的变量访问非常有效。B6700作为B5000的后续机型,引入了更多的创新,如标记型数据、虚拟内存和多处理器支持。 堆栈机的硬件组织结构中,堆栈是处理器状态的一部分,通常有限且位于寄存器中。表达式的求值可以通过逆波兰表示法实现,其中堆栈用于存储和操作数据。然而,由于堆栈大小有限,实际操作可能涉及到多次内存访问,这可能影响性能。为了优化,可以将一部分堆栈内容保留在寄存器中,减少内存访问,但如何确定何时加载和导出寄存器成为了一个问题。 在通用寄存器计算机中,寄存器可以直接命名,从而更有效地管理它们的使用,减少了不必要的装载和存储,但也可能导致指令变长。在B5000的过程调用中,堆栈原理被应用于储存,而显示寄存器则用来加速对堆栈帧的访问,通过自动加载提升效率。 除此之外,堆栈机的指令系统不仅包含进栈、出栈和加法等基本操作,还需要能够访问数据域的任何单一元素,以支持更复杂的计算任务。这种设计思路强调了硬件和软件之间的紧密协作,以及如何通过优化内存访问和寄存器使用来提高计算机系统的整体性能。"