磁芯存儲器是隨機存取計算機存儲器的主要形式,存在20年。這種存儲器通常被稱為核心存儲器,或者非正式地稱為核心存儲器。核心使用微小的磁環(huán)(環(huán)),核心通過線程來寫入和讀取信息。 每個核心代表一點信息。 磁芯可以以兩種不同的方式(順時針或逆時針)磁化,存儲在磁芯中的位為零或一,取決于磁芯的磁化方向。 布線被布置成允許單個芯被設置為1或0,并且通過向所選擇的導線發(fā)送適當?shù)碾娏髅}沖來改變其磁化。 讀取內核的過程會導致內核重置為零,從而將其擦除。 這稱為破壞性讀數(shù)。 在不進行讀寫操作時,即使關閉電源,內核也會保持最后的值。 這使它們成為非易失性的。
早期的計算機最常見的存儲器是各種磁芯制成的。這種磁芯存儲器已被微型集成電路塊上的半導體存儲器所取代。磁芯存儲器是華裔王安于1948年發(fā)明的(注)。最初的磁芯存儲器只有幾百個字節(jié)的容量。磁芯的英文名稱就是core,磁芯存儲器就叫作core memory。如今,雖然磁芯存儲器已經(jīng)被淘汰,但一些人還是出于習慣把內存叫做core。在鐵氧體磁環(huán)里穿進一根導線,導線中流過不同方向的電流時,可使磁環(huán)按兩種不同方向磁化,代表“1”或“0”的信息便以磁場形式儲存下來。
磁芯在導線上流過一定電流下會被磁化或者改變磁化方向,事先可以通過實驗和材料的工藝控制得到這個能夠讓磁芯磁化的電流最小閾值。每個磁芯都有XY互相垂直的兩個方向的導線穿過,另外還有一條斜穿的讀出線,上面的照片中可以清楚地看到這些線,這些線組成陣列,XY分別做兩個不同方向的尋址。磁芯根據(jù)磁化時電流的方向可以產(chǎn)生兩個相反方向的磁化,這就可以作為0和1的狀態(tài)來記錄數(shù)據(jù)。寫入的時候在需要寫入的磁芯所對應的XY坐標線上各輸入稍高于50%磁環(huán)磁化閾值的電流,所以這樣只有XY坐標對應的那個磁芯上會同時在兩條線中都有電流,疊加之后會超過閾值的電流,磁芯因而磁化或者改變磁化方向從而寫入一位數(shù)據(jù),而其他所有的磁芯內通過的電流或者是0,或者是50%磁化閾值,都達不到磁化電流不能被磁化,所以沒有數(shù)據(jù)寫入。讀出的時候比較復雜,分別在XY送入讀出電流,讀出電流的大小和寫入的時候一樣也是略大于50%磁化閾值的電流,讀出電流的方向我們是事先知道的,這樣在XY尋址坐標所對應的那個磁芯里就會有超過閾值的電流,如果它的本來磁場方向和讀出電流所對應的磁場方向相反的話,那么由于磁芯的磁性狀態(tài)發(fā)生翻轉,有巨大的磁通量變化,在斜穿的讀出線上就會有大的感應電流,所以我們就知道這個磁芯存儲的是和讀出信號相反的數(shù)據(jù)。如果它的本來磁場方向和讀出電流所對應的磁場方向一樣的話,那么由于磁芯的磁性狀態(tài)沒有發(fā)生變化,在斜穿的讀出線上就不會有感應電流,所以我們就知道這個磁芯存儲的是和讀出信號相同的數(shù)據(jù)。磁芯中的數(shù)據(jù)就這樣被讀出了,不過這還沒有完,因為值得注意的是這時候在讀完數(shù)據(jù)之后顯然無論原來磁芯上存的是什么數(shù)據(jù),讀過之后就都被寫成同樣的讀出數(shù)據(jù)了,也就是這個讀出是破壞性的,所以必須有個辦法在讀出之后恢復存儲的數(shù)據(jù)。所以讀完之后還需要立即另外重新再寫一遍原先的數(shù)據(jù)進去,恢復本來的數(shù)據(jù),方法就是前述的寫入數(shù)據(jù)的方法,用放在緩存中的磁環(huán)中原來存儲的數(shù)據(jù)寫回去。所以磁芯存儲器的讀相當麻煩,也比較慢。讀出時沒被選中的磁芯和寫入時一樣,都不會改變磁性狀態(tài)而產(chǎn)生感應電流,所以不會被讀出也不會干擾被選中的磁芯讀出數(shù)據(jù)。磁芯存儲器有個和一般我們的存儲概念不同的地方,就是通常情況下一個存儲器的寫入總是比讀出要慢,但是磁芯存儲器恰恰相反,它是讀出比寫入慢,因為它的讀出是破壞性的,所以讀出必須包括一個寫入的過程以恢復數(shù)據(jù)。