版權(quán)歸原作者所有,如有侵權(quán),請聯(lián)系我們

[科普中國]-磁芯存儲器

科學(xué)百科
原創(chuàng)
科學(xué)百科為用戶提供權(quán)威科普內(nèi)容,打造知識科普陣地
收藏

磁芯存儲器是隨機存取計算機存儲器的主要形式,存在20年。這種存儲器通常被稱為核心存儲器,或者非正式地稱為核心存儲器。

核心使用微小的磁環(huán)(環(huán)),核心通過線程來寫入和讀取信息。 每個核心代表一點信息。 磁芯可以以兩種不同的方式(順時針或逆時針)磁化,存儲在磁芯中的位為零或一,取決于磁芯的磁化方向。 布線被布置成允許單個芯被設(shè)置為1或0,并且通過向所選擇的導(dǎo)線發(fā)送適當?shù)碾娏髅}沖來改變其磁化。 讀取內(nèi)核的過程會導(dǎo)致內(nèi)核重置為零,從而將其擦除。 這稱為破壞性讀數(shù)。 在不進行讀寫操作時,即使關(guān)閉電源,內(nèi)核也會保持最后的值。 這使它們成為非易失性的。

介紹早期的計算機最常見的存儲器是各種磁芯制成的。這種磁芯存儲器已被微型集成電路塊上的半導(dǎo)體存儲器所取代。磁芯存儲器是華裔王安于1948年發(fā)明的(注)。最初的磁芯存儲器只有幾百個字節(jié)的容量。磁芯的英文名稱就是core,磁芯存儲器就叫作core memory。如今,雖然磁芯存儲器已經(jīng)被淘汰,但一些人還是出于習(xí)慣把內(nèi)存叫做core。

在鐵氧體磁環(huán)里穿進一根導(dǎo)線,導(dǎo)線中流過不同方向的電流時,可使磁環(huán)按兩種不同方向磁化,代表“1”或“0”的信息便以磁場形式儲存下來。

原理磁芯在導(dǎo)線上流過一定電流下會被磁化或者改變磁化方向,事先可以通過實驗和材料的工藝控制得到這個能夠讓磁芯磁化的電流最小閾值。每個磁芯都有XY互相垂直的兩個方向的導(dǎo)線穿過,另外還有一條斜穿的讀出線,上面的照片中可以清楚地看到這些線,這些線組成陣列,XY分別做兩個不同方向的尋址。磁芯根據(jù)磁化時電流的方向可以產(chǎn)生兩個相反方向的磁化,這就可以作為0和1的狀態(tài)來記錄數(shù)據(jù)。

寫入的時候在需要寫入的磁芯所對應(yīng)的XY坐標線上各輸入稍高于50%磁環(huán)磁化閾值的電流,所以這樣只有XY坐標對應(yīng)的那個磁芯上會同時在兩條線中都有電流,疊加之后會超過閾值的電流,磁芯因而磁化或者改變磁化方向從而寫入一位數(shù)據(jù),而其他所有的磁芯內(nèi)通過的電流或者是0,或者是50%磁化閾值,都達不到磁化電流不能被磁化,所以沒有數(shù)據(jù)寫入。

讀出的時候比較復(fù)雜,分別在XY送入讀出電流,讀出電流的大小和寫入的時候一樣也是略大于50%磁化閾值的電流,讀出電流的方向我們是事先知道的,這樣在XY尋址坐標所對應(yīng)的那個磁芯里就會有超過閾值的電流,如果它的本來磁場方向和讀出電流所對應(yīng)的磁場方向相反的話,那么由于磁芯的磁性狀態(tài)發(fā)生翻轉(zhuǎn),有巨大的磁通量變化,在斜穿的讀出線上就會有大的感應(yīng)電流,所以我們就知道這個磁芯存儲的是和讀出信號相反的數(shù)據(jù)。如果它的本來磁場方向和讀出電流所對應(yīng)的磁場方向一樣的話,那么由于磁芯的磁性狀態(tài)沒有發(fā)生變化,在斜穿的讀出線上就不會有感應(yīng)電流,所以我們就知道這個磁芯存儲的是和讀出信號相同的數(shù)據(jù)。磁芯中的數(shù)據(jù)就這樣被讀出了,不過這還沒有完,因為值得注意的是這時候在讀完數(shù)據(jù)之后顯然無論原來磁芯上存的是什么數(shù)據(jù),讀過之后就都被寫成同樣的讀出數(shù)據(jù)了,也就是這個讀出是破壞性的,所以必須有個辦法在讀出之后恢復(fù)存儲的數(shù)據(jù)。所以讀完之后還需要立即另外重新再寫一遍原先的數(shù)據(jù)進去,恢復(fù)本來的數(shù)據(jù),方法就是前述的寫入數(shù)據(jù)的方法,用放在緩存中的磁環(huán)中原來存儲的數(shù)據(jù)寫回去。所以磁芯存儲器的讀相當麻煩,也比較慢。讀出時沒被選中的磁芯和寫入時一樣,都不會改變磁性狀態(tài)而產(chǎn)生感應(yīng)電流,所以不會被讀出也不會干擾被選中的磁芯讀出數(shù)據(jù)。

磁芯存儲器有個和一般我們的存儲概念不同的地方,就是通常情況下一個存儲器的寫入總是比讀出要慢,但是磁芯存儲器恰恰相反,它是讀出比寫入慢,因為它的讀出是破壞性的,所以讀出必須包括一個寫入的過程以恢復(fù)數(shù)據(jù)。

描述術(shù)語“核心”來自傳統(tǒng)的變壓器,其繞組環(huán)繞磁芯。 在核心存儲器中,導(dǎo)線通過任何給定的核心 - 它們是單圈設(shè)備。 用于存儲器核心的材料的性質(zhì)與用于電力變壓器的材料的性質(zhì)顯著不同。 用于核心存儲器的磁性材料需要高度的磁剩磁,保持高度磁化的能力和低矯頑力,從而需要更少的能量來改變磁化方向。 核心可以采用兩種狀態(tài),編碼一位,當“感應(yīng)線”“選擇”時可以讀取。 即使存儲器系統(tǒng)斷電(非易失性存儲器),核心存儲器內(nèi)容也會保留。 但是,當讀取內(nèi)核時,它會重置為“零”值。 然后,計算機存儲器系統(tǒng)中的電路在立即重寫周期中恢復(fù)信息。

運作最常見的核心存儲器形式,X / Y線重合電流,用于計算機的主存儲器,由大量小環(huán)形亞鐵磁陶瓷鐵氧體(磁芯)組成網(wǎng)格結(jié)構(gòu)(組織為“堆疊“稱為平面的層”,電線穿過核心中心的孔。在早期系統(tǒng)中有四條線:X,Y,Sense和Inhibit,但后來的核心將后兩條線組合成一條Sense / Inhibit線。每個環(huán)形線圈存儲一位(0或1)。每個平面中的一個位可以在一個周期內(nèi)被訪問,因此一個字數(shù)組中的每個機器字被分布在一堆“平面”上。每個平面將并行操作一個字的一位,允許在一個周期內(nèi)讀取或?qū)懭胪暾淖帧?/p>

核心依賴于用于制造環(huán)形的鐵氧體材料的“方形環(huán)”特性。穿過芯的導(dǎo)線中的電流產(chǎn)生磁場。只有大于某一強度的磁場(“選擇”)才能使磁芯改變其磁極性。為了選擇存儲器位置,X和Y中的一條線被驅(qū)動一半的電流(“半選擇”)以引起這種改變。只有在X和Y線交叉處產(chǎn)生的組合磁場(邏輯AND功能)足以改變狀態(tài);其他核心只能看到所需字段的一半(“半選”),或根本沒有。通過沿特定方向驅(qū)動電流通過導(dǎo)線,所產(chǎn)生的感應(yīng)場迫使所選擇的磁芯的磁通量沿一個方向或另一個方向(順時針或逆時針)循環(huán)。一個方向是存儲的1,而另一個是存儲的0。

磁芯的環(huán)形形狀是優(yōu)選的,因為磁路是閉合的,沒有磁極,因此外部磁通很少。這允許核心緊密堆積在一起而不允許它們的磁場相互作用。核心陣列中的交替45度定位有助于減少任何雜散耦合。

讀寫為了讀取一些核心存儲器,電路通過驅(qū)動在該核心處相交的所選X和Y線,試圖將該位翻轉(zhuǎn)到指定為0狀態(tài)的極性。

1、如果該位已經(jīng)為0,則核心的物理狀態(tài)不受影響。

2、如果該位先前為1,則核心改變磁極性。在延遲之后,這種變化會將電壓脈沖感應(yīng)到Sense線。

檢測到這種脈沖意味著該位最近包含1.脈沖的缺失意味著該位包含0.檢測電壓脈沖的延遲稱為核心存儲器的訪問時間。

在任何這樣的讀取之后,該位包含0.這說明了為什么核心存儲器訪問被稱為破壞性讀?。鹤x取核心內(nèi)容的任何操作都會擦除這些內(nèi)容,并且必須立即重新創(chuàng)建它們。

為了寫入一些核心存儲器,該電路假定存在讀操作并且該位處于0狀態(tài)。

要寫入1位,驅(qū)動選定的X和Y線,電流方向與讀操作方向相反。與讀取一樣,X和Y線交叉處的磁芯改變磁極性。

要寫入0位(換句話說,禁止寫入1位),也會通過Inhibit線發(fā)送相同數(shù)量的電流。這將流過相應(yīng)磁芯的凈電流減小到選擇電流的一半,從而抑制極性的變化。

訪問時間加上重寫時間是內(nèi)存循環(huán)時間。

其他形式的核心記憶字線核心存儲器通常用于提供寄存器存儲器。此類型的其他名稱是線性選擇和2-D。這種形式的核心存儲器通常在平面上通過每個核心,字讀取,字寫入和位感測/寫入編織三條線。為了讀取或清除字,將全電流施加到一個或多個字讀取線;這會清除所選擇的內(nèi)核,并且任何觸發(fā)都會在其位讀/寫線中產(chǎn)生電壓脈沖。對于讀取,通常只選擇一個字讀取線;但是為了清楚,可以選擇多個字讀取線,同時忽略位感測/寫入行。為了寫入字,將半電流施加到一個或多個字寫入線,并且將半電流施加到每個位感測/寫入線以用于要設(shè)置的位。在一些設(shè)計中,讀取字和字寫入行被組合成單個導(dǎo)線,從而產(chǎn)生每位只有兩個導(dǎo)線的存儲器陣列。對于寫入,可以選擇多個字寫入行。這提供了優(yōu)于X / Y線重合電流的性能優(yōu)勢,因為在單個周期中可以清除或?qū)懭刖哂邢嗤档亩鄠€字。典型的機器寄存器組通常只使用這種形式的核心存儲器的一個小平面。使用這種技術(shù)構(gòu)建了一些非常大的存儲器,例如CDC 6600中的擴展核心存儲(ECS)輔助存儲器,其高達200萬個60位字。

另一種稱為核心繩索內(nèi)存的核心內(nèi)存提供了只讀存儲。在這種情況下,具有更多線性磁性材料的磁芯僅用作變壓器;沒有信息實際上存儲在各個核心內(nèi)。這個詞的每個部分都有一個核心。讀取給定存儲器地址的內(nèi)容在對應(yīng)于該地址的導(dǎo)線中產(chǎn)生電流脈沖。每條地址線都穿過一個核心來表示二進制,或者在該核心的外部,以表示二進制。正如所料,內(nèi)核比讀寫內(nèi)核的內(nèi)核要大得多。這種類型的內(nèi)存非常可靠。一個例子是用于月球著陸的阿波羅指導(dǎo)計算機。

特征早期核心存儲器的性能在今天的術(shù)語中可以表征為與1 MHz的時鐘速率非常相似(相當于20世紀80年代早期的家用計算機,如Apple II和Commodore 64)。早期的核心存儲器系統(tǒng)的周期時間約為6μs,到20世紀70年代早期已降至1.2μs,到70年代中期則降至600 ns(0.6μs)。一些設(shè)計具有更高的性能:CDC 6600在1964年的存儲器周期時間為1.0μs,使用的核心需要200 mA的半選擇電流。盡可能地完成所有工作以減少訪問時間并提高數(shù)據(jù)速率(帶寬),包括同時使用多個核心網(wǎng)格,每個網(wǎng)格存儲一位數(shù)據(jù)字。例如,一臺機器可能使用32個核心網(wǎng)絡(luò),每個核心具有32位字的一位,并且控制器可以在單個讀/寫周期中訪問整個32位字。

核心存儲器是非易失性存儲器 - 它可以在沒有電源的情況下無限期地保留其內(nèi)容。它也相對不受EMP和輻射的影響。這些是第一代工業(yè)可編程控制器,軍事裝置和戰(zhàn)斗機等飛行器以及航天器等應(yīng)用的重要優(yōu)勢,并導(dǎo)致核心在半導(dǎo)體MOS存儲器可用后使用多年(另見MOSFET) 。例如,航天飛機IBM AP-101B飛行計算機最初使用核心存儲器,即使在1986年挑戰(zhàn)者解體并隨后陷入海中時也保留了記憶內(nèi)容。[16]早期核心的另一個特征是矯頑力對溫度非常敏感;在一個溫度下適當?shù)陌脒x擇電流不是另一個溫度下的適當半選擇電流。因此,存儲器控制器將包括溫度傳感器(通常是熱敏電阻器)以針對溫度變化正確地調(diào)節(jié)電流水平。這方面的一個例子是Digital Equipment Corporation用于其PDP-1計算機的核心存儲器;這種策略繼續(xù)通過DEC為其PDP風(fēng)冷計算機系列構(gòu)建的所有后續(xù)核心存儲系統(tǒng)。處理溫度靈敏度的另一種方法是將磁芯“疊層”封閉在溫控烘箱中。這方面的例子是IBM 1620的加熱空氣核心存儲器(可能需要30分鐘才能達到工作溫度,大約106°F(41°C))和IBM 7090的加熱油浴核心存儲器,早期IBM 7094s和IBM 7030。

核心被加熱而不是冷卻,因為主要要求是一致的溫度,并且更容易(和更便宜)將溫度保持在遠高于室溫的溫度而不是等于或低于室溫。

1980年,安裝在DEC Q-bus計算機中的16 kW(千瓦,相當于32 kB)核心內(nèi)存板的價格約為3,000美元。那時,核心陣列和支持電子元件安裝在尺寸約為25×20厘米的單個印刷電路板上,核心陣列安裝在PCB上方幾毫米處,并用金屬或塑料板保護1。

診斷核心內(nèi)存中的硬件問題需要運行耗時的診斷程序。雖然快速測試檢查了每個位是否包含1和0,但這些診斷程序使用最壞情況模式測試核心內(nèi)存并且必須運行幾個小時。由于大多數(shù)計算機只有一個核心內(nèi)存板,因此這些診斷程序也會在內(nèi)存中移動,從而可以測試每一位。高級測試稱為“Schmoo測試”,其中半選擇電流隨著測試感測線的測試時間(“選通”)而被修改。這個測試的數(shù)據(jù)圖看起來像一個名為“Schmoo”的卡通人物,名字卡住了。在許多情況下,可以通過在桌面上輕輕敲擊帶有芯陣列的印刷電路板來解決錯誤。這略微改變了核心沿著貫穿它們的導(dǎo)線的位置,并且可以解決問題。這個過程很少需要,因為與當時的其他計算機組件相比,核心內(nèi)存被證明是非常可靠的。

本詞條內(nèi)容貢獻者為:

吳晨濤 - 副研究員 - 上海交通大學(xué)