磁芯存储器是随机存取计算机存储器的主要形式,存在20年。这种存储器通常被称为核心存储器,或者非正式地称为核心存储器。
介绍
早期的计算机最常见的存储器是各种磁芯制成的。这种磁芯存储器已被微型集成电路块上的
半导体存储器所取代。磁芯存储器是华裔王安于1948年发明的(注)。最初的磁芯存储器只有几百个字节的容量。磁芯的英文名称就是core,磁芯存储器就叫作core memory。如今,虽然磁芯存储器已经被淘汰,但一些人还是出于习惯把内存叫做core。
在铁氧体磁环里穿进一根导线,导线中流过不同方向的电流时,可使磁环按两种不同方向磁化,代表“1”或“0”的信息便以磁场形式储存下来。
原理
磁芯在导线上流过一定电流下会被磁化或者改变磁化方向,事先可以通过实验和材料的工艺控制得到这个能够让磁芯磁化的电流最小阈值。每个磁芯都有XY互相垂直的两个方向的导线穿过,另外还有一条斜穿的读出线,上面的照片中可以清楚地看到这些线,这些线组成阵列,XY分别做两个不同方向的寻址。磁芯根据磁化时电流的方向可以产生两个相反方向的磁化,这就可以作为0和1的状态来记录数据。
写入的时候在需要写入的磁芯所对应的XY坐标线上各输入稍高于50%磁环磁化阈值的电流,所以这样只有XY坐标对应的那个磁芯上会同时在两条线中都有电流,叠加之后会超过阈值的电流,磁芯因而磁化或者改变磁化方向从而写入一位数据,而其他所有的磁芯内通过的电流或者是0,或者是50%磁化阈值,都达不到磁化电流不能被磁化,所以没有数据写入。
读出的时候比较复杂,分别在XY送入读出电流,读出电流的大小和写入的时候一样也是略大于50%磁化阈值的电流,读出电流的方向我们是事先知道的,这样在XY寻址坐标所对应的那个磁芯里就会有超过阈值的电流,如果它的本来磁场方向和读出电流所对应的磁场方向相反的话,那么由于磁芯的磁性状态发生翻转,有巨大的磁通量变化,在斜穿的读出线上就会有大的感应电流,所以我们就知道这个磁芯存储的是和读出信号相反的数据。如果它的本来磁场方向和读出电流所对应的磁场方向一样的话,那么由于磁芯的磁性状态没有发生变化,在斜穿的读出线上就不会有感应电流,所以我们就知道这个磁芯存储的是和读出信号相同的数据。磁芯中的数据就这样被读出了,不过这还没有完,因为值得注意的是这时候在读完数据之后显然无论原来磁芯上存的是什么数据,读过之后就都被写成同样的读出数据了,也就是这个读出是破坏性的,所以必须有个办法在读出之后恢复存储的数据。所以读完之后还需要立即另外重新再写一遍原先的数据进去,恢复本来的数据,方法就是前述的写入数据的方法,用放在缓存中的磁环中原来存储的数据写回去。所以磁芯存储器的读相当麻烦,也比较慢。读出时没被选中的磁芯和写入时一样,都不会改变磁性状态而产生感应电流,所以不会被读出也不会干扰被选中的磁芯读出数据。
磁芯存储器有个和一般我们的存储概念不同的地方,就是通常情况下一个存储器的写入总是比读出要慢,但是磁芯存储器恰恰相反,它是读出比写入慢,因为它的读出是破坏性的,所以读出必须包括一个写入的过程以恢复数据。
描述
术语“核心”来自传统的变压器,其绕组环绕磁芯。 在核心存储器中,导线通过任何给定的核心 - 它们是单圈设备。 用于存储器核心的材料的性质与用于电力变压器的材料的性质显着不同。 用于核心存储器的磁性材料需要高度的磁剩磁,保持高度磁化的能力和低矫顽力,从而需要更少的能量来改变磁化方向。 核心可以采用两种状态,编码一位,当“感应线”“选择”时可以读取。 即使存储器系统断电(非易失性存储器),核心存储器内容也会保留。 但是,当读取内核时,它会重置为“零”值。 然后,计算机存储器系统中的电路在立即重写周期中恢复信息。
运作
最常见的核心存储器形式,X / Y线重合电流,用于计算机的主存储器,由大量小环形亚铁磁陶瓷铁氧体(磁芯)组成网格结构(组织为“堆叠“称为平面的层”,电线穿过核心中心的孔。在早期系统中有四条线:X,Y,Sense和Inhibit,但后来的核心将后两条线组合成一条Sense / Inhibit线。每个环形线圈存储一位(0或1)。每个平面中的一个位可以在一个周期内被访问,因此一个字数组中的每个机器字被分布在一堆“平面”上。每个平面将并行操作一个字的一位,允许在一个周期内读取或写入完整的字。
核心依赖于用于制造环形的铁氧体材料的“方形环”特性。穿过芯的导线中的电流产生磁场。只有大于某一强度的磁场(“选择”)才能使磁芯改变其磁极性。为了选择存储器位置,X和Y中的一条线被驱动一半的电流(“半选择”)以引起这种改变。只有在X和Y线交叉处产生的组合磁场(逻辑AND功能)足以改变状态;其他核心只能看到所需字段的一半(“半选”),或根本没有。通过沿特定方向驱动电流通过导线,所产生的感应场迫使所选择的磁芯的磁通量沿一个方向或另一个方向(顺时针或逆时针)循环。一个方向是存储的1,而另一个是存储的0。
磁芯的环形形状是优选的,因为磁路是闭合的,没有磁极,因此外部磁通很少。这允许核心紧密堆积在一起而不允许它们的磁场相互作用。核心阵列中的交替45度定位有助于减少任何杂散耦合。
读写
为了读取一些核心存储器,电路通过驱动在该核心处相交的所选X和Y线,试图将该位翻转到指定为0状态的极性。
1、如果该位已经为0,则核心的物理状态不受影响。
2、如果该位先前为1,则核心改变磁极性。在延迟之后,这种变化会将电压脉冲感应到Sense线。
检测到这种脉冲意味着该位最近包含1.脉冲的缺失意味着该位包含0.检测电压脉冲的延迟称为核心存储器的访问时间。
在任何这样的读取之后,该位包含0.这说明了为什么核心存储器访问被称为破坏性读取:读取核心内容的任何操作都会擦除这些内容,并且必须立即重新创建它们。
为了写入一些核心存储器,该电路假定存在读操作并且该位处于0状态。
要写入1位,驱动选定的X和Y线,电流方向与读操作方向相反。与读取一样,X和Y线交叉处的磁芯改变磁极性。
要写入0位(换句话说,禁止写入1位),也会通过Inhibit线发送相同数量的电流。这将流过相应磁芯的净电流减小到选择电流的一半,从而抑制极性的变化。
访问时间加上重写时间是内存循环时间。
其他形式的核心记忆
字线核心存储器通常用于提供寄存器存储器。此类型的其他名称是线性选择和2-D。这种形式的核心存储器通常在平面上通过每个核心,字读取,字写入和位感测/写入编织三条线。为了读取或清除字,将全电流施加到一个或多个字读取线;这会清除所选择的内核,并且任何触发都会在其位读/写线中产生电压脉冲。对于读取,通常只选择一个字读取线;但是为了清楚,可以选择多个字读取线,同时忽略位感测/写入行。为了写入字,将半电流施加到一个或多个字写入线,并且将半电流施加到每个位感测/写入线以用于要设置的位。在一些设计中,读取字和字写入行被组合成单个导线,从而产生每位只有两个导线的存储器阵列。对于写入,可以选择多个字写入行。这提供了优于X / Y线重合电流的性能优势,因为在单个周期中可以清除或写入具有相同值的多个字。典型的机器寄存器组通常只使用这种形式的核心存储器的一个小平面。使用这种技术构建了一些非常大的存储器,例如CDC 6600中的扩展核心存储(ECS)辅助存储器,其高达200万个60位字。
另一种称为核心绳索内存的核心内存提供了只读存储。在这种情况下,具有更多线性磁性材料的磁芯仅用作变压器;没有信息实际上存储在各个核心内。这个词的每个部分都有一个核心。读取给定存储器地址的内容在对应于该地址的导线中产生电流脉冲。每条地址线都穿过一个核心来表示二进制,或者在该核心的外部,以表示二进制。正如所料,内核比读写内核的内核要大得多。这种类型的内存非常可靠。一个例子是用于月球着陆的阿波罗指导计算机。
特征
早期核心存储器的性能在今天的术语中可以表征为与1 MHz的时钟速率非常相似(相当于20世纪80年代早期的家用计算机,如Apple II和Commodore 64)。早期的核心存储器系统的周期时间约为6μs,到20世纪70年代早期已降至1.2μs,到70年代中期则降至600 ns(0.6μs)。一些设计具有更高的性能:CDC 6600在1964年的存储器周期时间为1.0μs,使用的核心需要200 mA的半选择电流。尽可能地完成所有工作以减少访问时间并提高数据速率(带宽),包括同时使用多个核心网格,每个网格存储一位数据字。例如,一台机器可能使用32个核心网络,每个核心具有32位字的一位,并且控制器可以在单个读/写周期中访问整个32位字。
核心存储器是非易失性存储器 - 它可以在没有电源的情况下无限期地保留其内容。它也相对不受EMP和辐射的影响。这些是第一代工业可编程控制器,军事装置和战斗机等飞行器以及航天器等应用的重要优势,并导致核心在半导体MOS存储器可用后使用多年(另见MOSFET) 。例如,航天飞机IBM AP-101B飞行计算机最初使用核心存储器,即使在1986年挑战者解体并随后陷入海中时也保留了记忆内容。[16]早期核心的另一个特征是矫顽力对温度非常敏感;在一个温度下适当的半选择电流不是另一个温度下的适当半选择电流。因此,存储器控制器将包括温度传感器(通常是热敏电阻器)以针对温度变化正确地调节电流水平。这方面的一个例子是Digital Equipment Corporation用于其PDP-1计算机的核心存储器;这种策略继续通过DEC为其PDP风冷计算机系列构建的所有后续核心存储系统。处理温度灵敏度的另一种方法是将磁芯“叠层”封闭在温控烘箱中。这方面的例子是IBM 1620的加热空气核心存储器(可能需要30分钟才能达到工作温度,大约106°F(41°C))和IBM 7090的加热油浴核心存储器,早期IBM 7094s和IBM 7030。
核心被加热而不是冷却,因为主要要求是一致的温度,并且更容易(和更便宜)将温度保持在远高于室温的温度而不是等于或低于室温。
1980年,安装在DEC Q-bus计算机中的16 kW(千瓦,相当于32 kB)核心内存板的价格约为3,000美元。那时,核心阵列和支持电子元件安装在尺寸约为25×20厘米的单个印刷电路板上,核心阵列安装在PCB上方几毫米处,并用金属或塑料板保护。
诊断核心内存中的硬件问题需要运行耗时的诊断程序。虽然快速测试检查了每个位是否包含1和0,但这些诊断程序使用最坏情况模式测试核心内存并且必须运行几个小时。由于大多数计算机只有一个核心内存板,因此这些诊断程序也会在内存中移动,从而可以测试每一位。高级测试称为“Schmoo测试”,其中半选择电流随着测试感测线的测试时间(“选通”)而被修改。这个测试的数据图看起来像一个名为“Schmoo”的卡通人物,名字卡住了。在许多情况下,可以通过在桌面上轻轻敲击带有芯阵列的印刷电路板来解决错误。这略微改变了核心沿着贯穿它们的导线的位置,并且可以解决问题。这个过程很少需要,因为与当时的其他计算机组件相比,核心内存被证明是非常可靠的。