文章摘要
“特殊寄存器组”这一术语在半个世纪前首次出现在“CPU”定义中,并沿用至今。文章追溯了这一术语从Honeywell 800大型机的冷门功能到被广泛引用的过程,揭示了其在计算机词典中的长期存在及其来源。
文章总结
“特殊寄存器组”如何入侵计算机词典数十年
半个世纪前,“特殊寄存器组”这一令人费解的短语开始出现在“CPU”的定义中,并且至今仍然存在。本文揭示了“特殊寄存器组”如何从Honeywell 800大型机中的一个冷门功能,逐渐出现在《华盛顿邮报》等主流媒体中。
在研究旧计算机时,我发现了一个关于“中央处理器(CPU)”的奇怪定义,该定义在不同来源中反复出现。例如,2017年重印的一本书中写道:“中央处理器(CPU)——计算机系统的一部分,包含主存储器、算术单元和特殊寄存器组。它执行算术运算,控制指令处理并提供定时信号。”乍一看,这个定义似乎没有问题,但仔细思考后会发现一些问题:存储器并不属于CPU的一部分,而“特殊寄存器组”这一短语也并非CPU的常见术语。
事实上,这个定义在过去半个世纪中被广泛使用,尽管它并不合理,却从一份资料被复制和修改到另一份资料中。“特殊寄存器组”是1959年推出的Honeywell 800大型机的一个功能。尽管这台计算机早已被遗忘,但其影响却莫名其妙地保留在许多词典中。Honeywell 800允许在单个处理器上运行八个程序,每条指令后切换程序。为了支持这一点,每个程序在硬件中都有一个“特殊寄存器组”,即其独立的32个寄存器组(包括程序计数器、通用寄存器、索引寄存器等)。
值得注意的是,在那个时代,中央处理器是一个大型物理机箱,也称为“主框架”。因此,根据Honeywell 800的特性,Honeywell词典中的CPU定义在当时是合理的。然而,这个定义在用于一般计算机时并不合理,因为它们并不具备“特殊寄存器组”。
这个定义最初出现在美国农业部的《自动数据处理术语表》(1960年)中,随后通过政府机构传播。1962年,预算局发布的《自动数据处理术语表》也采用了类似的定义,并在空军、海军等部门的培训课程和手册中广泛使用。
此后,这个定义传播到数十本书籍和词典中。“特殊寄存器组”出现在众多计算机术语表中,如《计算术语表》(1972年)、《医学与健康科学计算机术语表》(1973年)、《工程师与科学家计算机术语表》(1973年)等。甚至计算机制造商也使用了这个定义,尽管他们的系统并不具备“特殊寄存器组”。
这个定义一直延续到微型计算机时代,尽管存储器显然不再是CPU的一部分,而“特殊寄存器组”也早已成为历史。1983年,MICRO杂志的《初学者计算机术语表》仍然使用了这个定义。甚至在2006年,美国国家消防规范中也包含了“特殊寄存器组”的定义。
如今,“特殊寄存器组”仍然被教授给新一代学生。2017年的一本计算机组织与编程书籍中,仍然出现了关于“特殊寄存器组”的测验题。
结论
1960年,“中央处理器”的定义中包含了“特殊寄存器组”,这是Honeywell 800大型机中的一个冷门功能。尽管这个定义并不合理,但它被复制和修改了数十年。这表明,一旦某个术语出现在权威词典中,人们可能会重复使用它数十年,而过时的术语可能永远不会消失。
这项研究还展示了计算机术语的含义如何随时间发生巨大变化。1960年,“主框架”和“CPU”是同义词,但如今它们已经走向了相反的方向:“主框架”指的是大型计算机系统,而“CPU”通常指处理器芯片。
评论总结
关于“特殊寄存器”的讨论:
- 作者Liftyee认为,程序计数器、内存寄存器等因其特定功能,可以被称为“特殊寄存器”,并建议将这些寄存器的集合称为“特殊寄存器组”。
- 引用:“It doesn't seem too unreasonable to call the program counter, memory registers, etc. 'special registers' since they have specific functions beyond simply storing data.”
- 用户userbinator提到Honeywell 800的寄存器组,并惊讶于没有将其与超线程技术类比。
- 引用:“I'm surprised that the analogy to hyperthreading wasn't made here.”
- 作者Liftyee认为,程序计数器、内存寄存器等因其特定功能,可以被称为“特殊寄存器”,并建议将这些寄存器的集合称为“特殊寄存器组”。
关于术语和行话的讨论:
- 用户dlcarrier对技术术语中的奇怪行话表示喜爱,并举例说明了BLDC和VFD等术语的复杂性。
- 引用:“I love weird jargon. There's plenty of it in the terms we normally use, like despite ROM being a type of RAM, everyone knows when you say RAM you are excluding ROM.”
- 引用:“BLDCs are Brushless not Brush Less and, AC not DC.”
- 用户dlcarrier对技术术语中的奇怪行话表示喜爱,并举例说明了BLDC和VFD等术语的复杂性。
关于教科书和知识的传播问题:
- 用户bbanyc批评了教科书中的错误信息,并以“舌图”为例,指出这些错误信息因易于教学而被长期保留。
- 引用:“My favorite example is the 'tongue map' - decades of schoolchildren have been taught that different parts of the tongue are responsible for tasting sweetness and saltiness and so on.”
- 引用:“As long as the kids can regurgitate what they're told, who cares if anything they're learning is true?”
- 用户bbanyc批评了教科书中的错误信息,并以“舌图”为例,指出这些错误信息因易于教学而被长期保留。
关于CPU定义的讨论:
- 用户adrian_b详细解释了CPU的定义及其历史演变,指出IBM 704的CPU定义至今仍然有效,并解释了“CPU”术语的混淆来源。
- 引用:“The term CPU has been introduced by IBM in 1954, in the manual of operation of IBM 704, and it was defined thus: 'The central processing unit accomplishes all arithmetic and control functions'.”
- 引用:“Whoever has copied that CPU definition, presumably from a manual of Honeywell 800, has confused the description of the content of the 'CPU cabinet' of that particular computer with the definition of the term 'CPU' as the name of a block used in the description of computer architectures.”
- 用户adrian_b详细解释了CPU的定义及其历史演变,指出IBM 704的CPU定义至今仍然有效,并解释了“CPU”术语的混淆来源。
总结:评论主要围绕“特殊寄存器”、技术术语的复杂性、教科书中的错误信息以及CPU定义的演变展开讨论。不同观点之间保持了平衡,既有对术语的深入探讨,也有对知识传播问题的批评。