奇怪的记忆,电脑过去的记忆

2021-08-05 20:53:03

在本文中花费大量时间来惊叹计算机存储与过去相比变得多么小巧和廉价,这很诱人。 1980 年代,我在 Digital Equipment Corporation 工作时,我的第一份工作是为大型计算机设计存储器。我们正在构建的系统理论上最多可以有 1GB 的内存,但当时我们嘲笑这个想法,因为它需要多个冰箱大小的机柜和数百万美元来构建它,而且谁需要 1GB 的内存,无论如何?当然,现在你办公桌抽屉后面的一个只有 1GB 的 USB 驱动器因为太小而被扔掉了,在超市收银台可以找到合适的替代品,价格低于 10 美元。我认为尽管这是我将致力于谈论这一非凡进步的所有时间。尽管每次想到比较时它仍然让我感到困惑,但这是一个彻底涵盖的主题。相反,我想回溯到更远的地方,看看比我通常写的(无可否认的旧)东西更古老的存储系统。其中一些是我实际使用过的,但有些是我多年来才刚刚了解到的。纸张作为存储介质已经存在很长时间了。控制钢琴等乐器的纸卷可以追溯到 19 世纪中叶。 IBM 开始制造机器,该机器改进了 1800 年代更老的纸卡制表机,将现有 22 列卡片的尺寸和存储量扩大到 80。他们还将沿途的孔从圆形改为矩形,并且IBM 打孔卡诞生了。 (另外,有趣的事实,旧的 CRT 终端有 80 列文本字符的原因)这种格式统治了从 1920 年代一直到 1970 年代的早期信息时代。 (IBM 在上面的链接中说这些卡片存储了 20 世纪上半叶的所有世界信息,但我认为他们忘记了书籍。)我在 COBOL 课程中曾短暂地在这些卡片上编写程序在我们高中的 70 年代。到那时,使用卡片作为编程存储介质已经过时了,但在我所在的不太先进的公立学校系统中仍然存在。我记得的两件事是,首先,犯了一个错误,不允许删除键来打孔,你刚开始一张新卡。第二个是如果你放下你的卡片组会发生什么。程序的每一行都以随机顺序散布到地板上,重新排序它们是一种痛苦。每个程序语句都会在卡片上有一个行号,因此可以计算出来,但是阅读数百张卡片并将它们洗牌是乏味的。

如果幸运的话,您可以使用 IBM 卡片分类机之类的设备来完成这项工作,但这种关键的数据处理中心设备不太可能用于您重新组装卡片组。因此,专业人士拿了一个巨大的魔法记号笔,在牌组的侧面画了一条斜条纹,这样你就可以直观地发现乱序的牌。我在 70 年代花了更多时间使用另一种纸张格式,即纸带。纸带打孔机是一种常见的外围设备,它连接到电传打字机,例如我在学校用来编写 BASIC 程序的 Model 33。打孔器和读取器都显示为相当于 /dev 的设备,并且与 UNIX 非常相似,您可以将程序重定向到纸带上或从纸带上重定向。由于机械速度限制以及使用的相当基本的编码(6 位 ASCII),打孔和读取速度非常慢。但它是一种真正的读/写格式,即使您无法擦除和重复使用介质。由于不涉及打字,因此比卡片更容易管理。我要提到的最后一个纸张存储设备是打印机。您可能不会将打印机视为存储设备,但在 70 年代甚至 80 年代,通过打印来共享程序非常普遍。打印机是“作家”,而“读者”是必须重新输入的人,这当然很慢。但当时的许多杂志和书籍都会出版印刷版程序与读者分享,我花了几个小时从印刷版中输入 BASIC 程序,然后试图找出所有错别字。我最近发现了我 17 岁时写的一个程序的打印输出,它被困在 80 年代的旧计算机游戏世界杂志中。这是我写的一个游戏,我决定复活它,看看我能不能让它运行。 (剧透是,我做到了 - 但我将在另一篇文章中介绍那个。)我觉得纸张存储格式令人惊奇的是它的长寿。几十年前打孔的卡片组和纸带仍然非常可行,只要您能找到一种阅读方式,并且任何时候都不会弄湿。纸作为机械计算机时代的存储介质非常好,但是当 1940 年代电子计算机出现时,需要更快的解决方案,至少对于主存储器或“存储”,因为它通常被称为“存储”然后。如果您认为穿孔卡是当今的大容量“磁盘存储”,那么它仍然需要一个更小、更快的存储设备来存储可以跟上处理器的程序和数据(例如今天的动态内存系统) )。机械解决方案已经过时,而电子解决方案出现了。但是存在规模问题,因为集成电路还有 20 年的时间,甚至晶体管还没有发明出来。可以构建由管制成的寄存器电路,但至少需要 4-5 个管和相关的分立元件来存储单个位。这速度很快,但需要大量空间和大量功率。数以万计的管子只是为了存储 1 千字节的数据,造成各种成本、功率、散热和可靠性问题。

制造更小的存储设备的动机很高,因此他们对可以将所有部分保留一段时间的地方进行了创意。最早的解决方案之一是使用电线。稍微复杂一点,但基本上是一根电线。这个想法是基于波传播的原理,其中电脉冲沿着导体传播需要时间,如果导体足够长,代表比特的几个脉冲可以在它们行进时存储在导线中。这个技术领域也被称为传输线理论,它后来困扰着像我这样的系统工程师,因为信号在电线中传播的影响会导致延迟甚至反射,从而导致快速电路的时序和信号完整性问题。虽然 1940 年代的计算机足够慢,但当时许多这些问题都不是问题。这并不是说所谓的延迟线存储器很容易设计。有很多问题,首先是连线,即使是长连线,也不能长时间存储信息。他们通过构建更慢的传播电路来解决这个问题,使用电容器链来形成电延迟线。它不能存储很多位,但比机械存储相对便宜且速度更快。然后事情变得很奇怪。这个领域的下一个发明是一种叫做水银延迟线的东西,它基本上是一个大罐的液态水银,一端是压电晶体,另一端是麦克风。晶体会产生会通过水银传播的紧束声波,水银对声音与空气或水的传播速率非常高(1450 m/s 对空气的 340 m/s)。声音脉冲将作为串行流传输到罐中,并读出另一端,放大、修改、反馈。必须仔细选择管的长度,使系统的循环时间符合CPU 时钟频率,并且需要多个管来存储超过一百位左右的任何内容。到 1950 年代初,计算机变得足够复杂,需要更多的存储空间和更快的存储空间。延迟线的容量相当有限,并且通过某种介质传播的电波或声波的延迟造成了基本的访问时间限制,这阻碍了 CPU 的吞吐量。再加上内存访问的串行方面的问题,甚至不要开始考虑拥有所有汞的毒性问题。长话短说,当时的计算机工程师还不满意(他们永远不会满意,相信我),并继续寻找其他奇怪而古怪的方式来存储数据,即使没有半导体。

他们想出的下一件事是我个人的最爱之一,称为威廉姆斯-基尔本管——由(令人惊讶的)弗雷德·威廉姆斯和汤姆·基尔本于 1948 年发明。该设备基本上是一个 CRT 管,与您在旧电视中看到的非常相似,并且可以将数据位投影为管的 x/y 网格上的点。虽然一些管子内部涂有磷光体,但保持位状态的并不是来自点的光,而是电子枪发射时在屏幕上产生的二次电荷。写入的任何特定点的电荷都需要一段时间才能衰减,在此期间,CRT 前面的检测器板会读取点的值,并将任何逐渐消失的“1”写入满电荷耗尽前的电荷强度。如果这听起来真的像 hacky / Rube Goldberg 一样,请记住,此原理与现代动态 ram 非常相似,后者临时存储电荷,并且还需要定期进行刷新循环以重写值。无论如何,这种存储器在校准、磨损和其他方面存在各种问题,但它可以说是第一个发明的电子随机存取存储器,它比延迟线等旧方法具有巨大的优势。在 1940 年代末和 1950 年代初,威廉姆斯-基尔本管成功地用于 IBM 和其他公司制造的几台商用计算机上。半导体前存储领域真正的游戏规则改变者是在 1951 年左右,当时安王和其他人开发了磁芯存储器。核心是一种由环形铁氧体磁珠矩阵组成的技术,该磁珠可以根据通过磁珠串成的行和列线感应到每个磁珠中的磁场极性来保持状态。与威廉姆斯管一样,核心内存可以随机访问,但速度更快,通常更可靠,信息密度更大。与其前辈不同,无论大小如何,运行核心内存所需的电量通常都是持平的,并且使用该技术可以实现更大的数 KB 系统。但是有几个缺点。第一个问题是铁氧体磁珠的制造成本很高,并且必须一次一点地手工串起来。从 1950 年代开始,一直到 1970 年代中期半导体 RAM 系统接管时,工厂工人的军队,通常是女性,因为她们的手较小且运动技能好,因此一直致力于组装这些系统。那时的计算机一般都是手工制作的,但也非常昂贵 - 因此,考虑到内核提供的增强功能,为内核支付一点额外费用并不是什么大不了的事。磁芯的第二个问题是,用于读取铁氧体磁珠的过程也反转了磁场,有效地擦除了位的状态。这就是 An Wang 的用武之地,因为他为这个问题提供了一个电路解决方案,该解决方案为内核访问引入了先读后写周期,这是一种仅在读取内存时发生的离散刷新。

尽管有任何成本或怪癖,但核心还是在商业上大受欢迎,许多计算机,包括我用来打上图中纸带的大约 1974 年的 PDP-8,都在核心上运行(如果我没记错的话,是 32K 阵列)。 core 的另一个有趣的特性是它是一个非易失性系统,不像它的大多数前辈。每个铁氧体磁珠中的磁场都相当持久,除非核心系统暴露在强磁源下,否则即使没有电源,存储器的状态也应该几乎无限期地持续下去。这意味着所有存储在某个地方、博物馆、垃圾填埋场或任何地方的旧计算机,可能仍然包含它们运行过的最后一个程序。如果您能找到一种方法来启动电源,那么该代码实际上可以再次运行。核心之后是 MOS 和 CMOS 存储器,以静态和动态 RAM、EEPROMS 和一些从未流行过的磁泡存储器等奇怪的东西的形式出现。但在大多数情况下,1970 年代的记忆系统与我们今天拥有的非常相似。更小、更快,具有许多创新增强功能,但基本技术基本相同。如前所述,我在早期的硬件工程时代都在设计内存系统,我有点遗憾我没有开始研究这些在我之前出现的奇怪而奇妙的野兽中的任何一个。但我有点希望一个新的、奇怪的存储时代即将来临。量子计算之类的东西可能会为存储系统的设计带来奇怪的想法。我对量子计算或物理学几乎一无所知,只是它倾向于打破传统规则,就像事物不能同时以两种状态存在一样。听起来像我们还没有想到的很棒的新存储系统的巨大潜力。利用这样的新技术可能需要提出全新的奇怪想法。但有时,奇怪的事情会改变世界。

计算机游戏世界博物馆(完整的印刷程序问题,您可以尽情输入!)下一次:我可能会冒险进入建议专栏领域,因为我分享了在科技行业工作 30 多年所学到的一些东西。我的智慧之珠接下来出现在:一位老黑客关于保持工作的秘诀 喜欢这篇文章吗?为什么不订阅?获取有关计算机技术、过去现在和未来的奇怪而古怪的故事 - 定期发送到您的收件箱。它是免费且无广告的,您可以随时取消订阅。 Mad Ned Memo 非常重视订阅者的隐私,不会与第三方共享电子邮件地址或其他信息。有关更多详细信息,请单击此处。