在阅读了大卫·M·布尔曼的“堆叠计算机入门”(Introduction To Stack Computers)一书后,我觉得有必要对那些对该系统的设计和架构做出贡献的人进行澄清,这本书对Burroughs B5000进行了大量的介绍。从1959年1月到1961年4月,我是Burroughs Product Planning Group的经理-由大约20名专业人员组成,位于帕萨迪纳-负责B200和B5000系统的体系结构设计和指定。尽管这个团队规模不大,但它拥有一批非凡的人才,特别是保罗·金(Paul King)(与业内的计算机专业人士一样才华横溢)和杰克·默纳(Jack Merner)(一个有点古怪但极具天赋的程序员),他们都是我的员工。此外,当唐纳德·努斯(Donald Knuth)选择从加州理工大学(Cal Tech)获得博士学位,戴夫·达姆(Dave Dahm)作为兼职员工或顾问时,我们聘请了他作为顾问。鲍勃·伯顿(Bob Burton)已经在为Burroughs工作,担任一项软件活动的经理。大约是在我接手产品计划组的时候。鲍勃从一名员工变成了一名顾问-我认为这种关系更适合他的性格和工作风格-并成为我们集团的一名顾问。保罗·金是产品规划部门B5000项目的经理,如果该系统的架构可以说在任何一个地方都得到了发展和成熟,那它一定是保罗·金的黑板。除了对系统做出重大贡献-其中一些将在下面描述-保罗还对鲍勃·巴顿的想法提供了必要的、但不受欢迎的过滤功能。就像许多极具创造力的人一样。鲍勃有一些非常好的想法,也有一些不太好的想法。诀窍是使用前者,拒绝后者。在B5000的设计过程中,鲍勃的一些想法出现在保罗的黑板上,而另一些则没有。以下是B5000中的一些主要创新(至少是美国的创新),以及它们的来源和主要负责人:虚拟内存:1960年5月,加州大学洛杉矶分校(UCLA)举办了一场为期两周的研讨会,题为使用和利用巨型计算机。该计划涵盖了IBM Stretch计算机、Univac LARC、Ferranti ATLAS 1和Orion计算机、本迪克斯G-20计算机和其他几台计算机。与会者名单显示,有14人来自IBM,7人来自Univac。我们派来了保罗·金和两名来自伯罗斯的设计工程师。保罗和我经常若有所思地说,IBM的14个人显然是如此沉迷于伸展,以至于他们没有领会已故的斯坦·吉尔(Stan Gill)关于ATLAS I虚拟内存组织的言论的意义。保罗·金确实理解它的重要性,并对这个概念非常兴奋地回到了帕萨迪纳。在经过相对短暂的回顾和讨论之后,如何才是最好的。为了合并它,在B5000系统中定义了分段虚拟内存(在产品计划中,它当时的项目名称是4000系统)。在美国机器上首次使用虚拟内存显然要归功于保罗·金,而不是鲍勃·巴顿。(在这一点上值得注意的是,到目前为止,虚拟机的概念已经成为Burroughs Pasadena设施的一个热门话题。我相信这个概念起源于泰德·格拉泽,早在1950年代,泰德就在帕萨迪纳工程小组工作,从1956年到1959年中期。)B5000的其他几个设计特点可以追溯到1960年5月加州大学洛杉矶分校的研讨会。独立的、模块化的输入输出控制器的想法可以追溯到LARC,而单一数字形式可以追溯到G-20。波兰语表示法:毫无疑问,生产一台直接在波兰语字符串上操作并使用下推操作符/操作数堆栈的机器的概念是由Bob Barton提出的,上下文寻址的概念也是如此。基于ALGOL的设计:设计系统以高效处理给定语言ALGOL的概念是Bob Burton提出的。然而,Jack Merner是我们的常驻语言专家,他贡献了实现这一概念的大部分设计想法。当然,Donald Knuth在这一领域进行了咨询。程序控制:保罗·金看到了慕尼黑大学制造的危险计算机的描述。它有一种高度复杂的子例程控制方法,包括允许递归使用它们。Paul在B5000中加入了该思想的一个更通用的版本,它成为了过程控制栈(Procedure Control Stack)。随后,Jack Merrier建议将上述两个堆栈合并为一个堆栈概念,并实现了这一点。人物操纵:在B5000项目(1959年)之前,帕萨迪纳有一个2111个计算机设计项目。在泰德·格拉泽的架构师领导下,211