介紹
早期的計算機最常見的存儲器是各種磁芯制成的。這種磁芯存儲器已被微型集成電路塊上的半導體存儲器所取代。磁芯存儲器是華裔王安于1948年發明的(注)。最初的磁芯存儲器隻有幾百個字節的容量。磁芯的英文名稱就是core,磁芯存儲器就叫作core memory。如今,雖然磁芯存儲器已經被淘汰,但一些人還是出于習慣把内存叫做core。
在鐵氧體磁環裡穿進一根導線,導線中流過不同方向的電流時,可使磁環按兩種不同方向磁化,代表“1”或“0”的信息便以磁場形式儲存下來。美籍華人王安博士利用這一思想研制的“脈沖傳輸控制裝置(Pulse transfer controlling device)”于1949年獲得了美國專利,開創了磁芯存儲器時代。
原理
原理是這樣的,磁芯在導線上流過一定電流下會被磁化或者改變磁化方向,事先可以通過實驗和材料的工藝控制得到這個能夠讓磁芯磁化的電流最小阈值。每個磁芯都有XY互相垂直的兩個方向的導線穿過,另外還有一條斜穿的讀出線,上面的照片中可以清楚地看到這些線,這些線組成陣列,XY分别做兩個不同方向的尋址。磁芯根據磁化時電流的方向可以産生兩個相反方向的磁化,這就可以作為0和1的狀态來記錄數據。
寫入的時候在需要寫入的磁芯所對應的XY坐标線上各輸入稍高于50%磁環磁化阈值的電流,所以這樣隻有XY坐标對應的那個磁芯上會同時在兩條線中都有電流,疊加之後會超過阈值的電流,磁芯因而磁化或者改變磁化方向從而寫入一位數據,而其他所有的磁芯内通過的電流或者是0,或者是50%磁化阈值,都達不到磁化電流不能被磁化,所以沒有數據寫入。
讀出的時候比較複雜,分别在XY送入讀出電流,讀出電流的大小和寫入的時候一樣也是略大于50%磁化阈值的電流,讀出電流的方向我們是事先知道的,這樣在XY尋址坐标所對應的那個磁芯裡就會有超過阈值的電流,如果它的本來磁場方向和讀出電流所對應的磁場方向相反的話,那麼由于磁芯的磁性狀态發生翻轉,有巨大的磁通量變化,在斜穿的讀出線上就會有大的感應電流,所以我們就知道這個磁芯存儲的是和讀出信号相反的數據。
如果它的本來磁場方向和讀出電流所對應的磁場方向一樣的話,那麼由于磁芯的磁性狀态沒有發生變化,在斜穿的讀出線上就不會有感應電流,所以我們就知道這個磁芯存儲的是和讀出信号相同的數據。磁芯中的數據就這樣被讀出了,不過這還沒有完,因為值得注意的是這時候在讀完數據之後顯然無論原來磁芯上存的是什麼數據,讀過之後就都被寫成同樣的讀出數據了,也就是這個讀出是破壞性的,所以必須有個辦法在讀出之後恢複存儲的數據。
所以讀完之後還需要立即另外重新再寫一遍原先的數據進去,恢複本來的數據,方法就是前述的寫入數據的方法,用放在緩存中的磁環中原來存儲的數據寫回去。所以磁芯存儲器的讀相當麻煩,也比較慢。讀出時沒被選中的磁芯和寫入時一樣,都不會改變磁性狀态而産生感應電流,所以不會被讀出也不會幹擾被選中的磁芯讀出數據。
磁芯存儲器有個和一般我們的存儲概念不同的地方,就是通常情況下一個存儲器的寫入總是比讀出要慢,但是磁芯存儲器恰恰相反,它是讀出比寫入慢,因為它的讀出是破壞性的,所以讀出必須包括一個寫入的過程以恢複數據。