【文章标题】:太空中的磁芯:1980年太空实验室计算机的磁芯存储器模块

【文章正文】: Spacelab was a reusable laboratory that could be carried in the Space Shuttle’s cargo bay, providing lab space for astronauts and experiments.1 太空实验室是一个可重复使用的实验室,可装载在航天飞机的货舱中,为宇航员和实验提供工作空间。1

Because Spacelab was a European project, it used a French-built minicomputer, the Mitra 125 MS,2 rather than the Shuttle’s main computers, IBM-built AP-101 systems. 由于太空实验室是欧洲项目,它使用了法国制造的Mitra 125 MS小型计算机2,而非航天飞机主控的IBM AP-101系统。

For storage, the Spacelab computer contained 128 kilobytes of RAM. Rather than silicon memory, the computer used magnetic core memory, with each bit stored in a tiny ferrite ring. 其存储系统采用128KB内存,但并非硅芯片存储器,而是使用磁芯存储器——每个比特都存储在一个微型铁氧体磁环中。

In this article, I take a close look at this computer’s core memory system. 本文将详细解析该计算机的磁芯存储系统。

The illustration below shows how Spacelab fit inside the Shuttle’s cargo bay. 下图展示了太空实验室在航天飞机货舱中的布局。

The pressurized laboratory is the cylindrical module in the front of the cargo bay, connected to the Shuttle by a tunnel. 加压实验室是货舱前部的圆柱形模块,通过隧道与航天飞机连接。

Experiments were mounted on pallets behind the laboratory. 实验设备安装在实验室后部的托盘上。

The laboratory held three identical Mitra computers.3 实验舱内配备了三台相同的Mitra计算机3。

One computer managed Spacelab itself, while the second computer managed the experiments. 第一台管理太空实验室本体,第二台控制实验设备。

The third computer provided a backup in case of failures. 第三台作为故障备用机。

The photo below shows the core memory stack, removed from the computer. 下图展示了从计算机中取出的磁芯存储器堆栈。

The core memory stack takes up roughly a third of the computer. 磁芯存储器约占计算机体积的三分之一。

The entire side panel of the computer detaches, and the core memory unit slides out. 计算机的整个侧板可拆卸,磁芯存储单元可滑动取出。

Since the computer is cooled by conduction, firmly attaching the core memory stack to the side panel kept it cool. 由于采用传导冷却设计,将磁芯存储器紧密固定在侧板上可确保散热。

The core memory stack consists of seven boards: a driver board, four core plane boards, a second driver board, and an interface board. 磁芯存储器由七块电路板组成:驱动板、四块磁芯平面板、第二驱动板和接口板。

Each board has two 160-pin connectors that plug into a large daughter board on each side, providing extensive connectivity between the boards. 每块板配有两个160针连接器,插入两侧的大型子板,实现板间全面互联。

The daughter board on the right has another 160-pin connector that links the memory stack to the rest of the computer. (These connectors are the long blue connectors in the photo.) 右侧子板另有160针连接器将存储器与计算机其他部分相连(图中蓝色长条连接器)。

How core memory works 磁芯存储器工作原理

One of the hardest problems for early computers was storage. 早期计算机最棘手的问题之一是存储。

Computers of the late 1940s and early 1950s stored data through techniques such as sound waves in mercury, spots on a CRT screen, or spinning magnetic drums, but these all had limitations. 1940年代末至1950年代初,计算机采用水银声波、CRT屏幕光点或旋转磁鼓等技术存储数据,但均存在局限。

What computers needed was dense, inexpensive storage that was fast, reliable, and could be accessed randomly. 计算机需要的是高密度、低成本、快速可靠且支持随机访问的存储器。

During World War II, Germany developed special magnetic alloys that could “flip” from one magnetic state to another. 二战期间,德国研发出能在两种磁态间”翻转”的特殊磁性合金。

After the war, American researchers realized that these materials could be used for storing binary data: “It was completely obvious that you could make a memory with this material,” in the words of Jan Rajchman. 战后美国研究者意识到这些材料可存储二进制数据,Jan Rajchman称:“用这种材料制造存储器是显而易见的。”

Different aspects of core memory were patented by various inventors (including independent inventor Frederick Viehe, An Wang at Harvard, Jan Rajchman at RCA, and Jay Forrester at MIT), leading to expensive patent battles. 多位发明者(包括独立发明人Frederick Viehe、哈佛大学王安、RCA公司Jan Rajchman和MIT的Jay Forrester)分别获得磁芯存储器不同方面的专利,引发昂贵专利战。

(IBM ended up paying 13,000,000 to MIT.) (IBM最终向王安支付40万美元——他以此创立王安电脑公司——并向MIT支付1300万美元。)

I view Jay Forester as the most important inventor, developing the design of practical core memory, researching magnetic materials, and building the first core memory in 1953 for the groundbreaking Whirlwind computer. 笔者认为Jay Forester是最重要的发明者,他开发了实用化磁芯存储器设计,研究磁性材料,并于1953年为划时代的Whirlwind计算机制造出首个磁芯存储器。

Core memory is based around a tiny toroidal magnetic core, one per bit.4 磁芯存储器的核心是微型环形磁芯,每个比特对应一个4。

A core can be magnetized clockwise or counterclockwise to store a bit. 磁芯可通过顺时针或逆时针磁化来存储比特。

The core can be magnetized by threading a wire through the core: running a current through the wire produces a magnetic field that magnetizes the core, while running a current in the opposite direction produces the opposite magnetization. 穿过磁芯的导线通电时会产生磁化场:正向电流产生一种磁化方向,反向电流则产生相反磁化。

A key problem with core memory was how to wire the cores without an absurd number of wires: if each core had a separate wire, just 16 KB of storage would require over 100,000 wires. 磁芯存储器的关键难题是如何避免海量导线:若每个磁芯单独接线,16KB存储就需要超10万根导线。

The solution was called “coincident current addressing”. 解决方案称为”电流重合寻址法”。

The cores are arranged in a grid, with horizontal and vertical wires, as shown below. 如图示,磁芯排列成网格状,布设纵横导线。

By running a current through one horizontal wire and one vertical wire, the single core at the intersection was selected. 通过同时给一条横线和一条纵线通电,可选择交叉点的单个磁芯。

But wouldn’t that magnetize all the cores along the horizontal and vertical wires? 但这不会磁化所有纵横导线上的磁芯吗?

The key was that the cores were constructed from special magnetic materials with a property called hysteresis: a small current leaves the core completely unchanged, while a larger current flips the core’s magnetic state. 关键在于磁芯采用具有磁滞特性的特殊材料:小电流不改变磁芯状态,大电流才会翻转磁化方向。

The currents through the horizontal and vertical wires were carefully selected so each wire had half the current necessary to flip the core; where the wires intersected, the two currents provided sufficient magnetic field to flip the core. 精心设计的电流值使单根导线电流仅为翻转阈值的一半;导线交叉处,两个半电流叠加形成足够磁场实现翻转。

The next step was reading the core. 读取磁芯需另设感应线。

A sense wire was threaded through all the cores in the two-dimensional plane. 二维平面上所有磁芯都穿过同一根感应线。

To read a core, the X and Y select wires were driven to flip the desired core to the 0 state. 读取时,X/Y选择线通电将目标磁芯翻转为0状态。

If the core was already in the 0 state, nothing happened. 若磁芯原本为0状态,则无变化。

But if the core was originally in the 1 state, the magnetic field changed as the core changed state. 若原为1状态,磁芯状态变化会产生磁场变化。

This induced a small current in the sense line, indicating that the core 感应线上会感应出微小电流,由此可判断磁芯原存信息为1。