Pamięć ferrytowa

Pamięć ferrytowa
Pamięć ferrytowa – zbliżenie

Pamięć ferrytowa, pamięć rdzeniowamagnetyczna pamięć nieulotna o dostępie swobodnym. W latach 1955–1975, podstawowa pamięć o dostępie swobodnym, często utożsamiana z pamięcią operacyjną.

Przechowuje dane w postaci kierunku namagnesowania rdzeni ferrytowych o prostokątnej pętli histerezy[1], a do odczytu wykorzystuje zależność napięcia wyjściowego transformatora impulsowego od kierunku wcześniejszego namagnesowania rdzenia z twardego ferromagnetyka.

Prawie wyłącznie oparta jest na rdzeniach toroidalnych. Przy próbie zastąpienia pierścieni otworami w płytce ferrytowej nie udało się uzyskać wymaganej powtarzalności właściwości magnetycznych otworów. Zastąpienie pierścieni rdzeniami wielootworowymi okazało się zbyt drogie i trudne technologicznie. Jedynie pamięci na dwuotworowych biaksach zdobyły niewielką popularność.

Dalszy opis dotyczy pamięci na pojedynczych rdzeniach toroidalnych o ile nie zaznaczono inaczej.

Pamięć ta przechowywała dane przy wyłączonym zasilaniu. Dane były kasowane przy każdym odczycie i – w razie potrzeby – ewentualnie niezwłocznie ponownie zapisywane, jeśli zachodziła potrzeba przechowania ich w dalszych cyklach pracy. Nieniszczący odczyt zapewniają pamięci ferrytowe na biaksach i transfluksorach o odmiennej zasadzie odczytu.

Budowa komórki

komórka pamięci 3D

Komórka pamięci ferrytowej zdolna przechować 1 bit składa się z jednego, rzadziej dwóch rdzeni o średnicy ok. 1 mm (od 0,2 do 2 mm), przez które zależnie od organizacji przewleczonych jest od 2 do 4 przewodów – maksymalnie: odczytu (S), zakazu (Z) i dwa adresowe (X i Y). Komórki pamięci połączone są w prostokątne płaty.

Zasada działania

W komórce na jednym rdzeniu połączono dwie funkcje znane z magnetycznych elementów logicznych:

  1. opóźniaka - opóźniającego impuls zapisujący do czasu impulsu odczytującego,
  2. selektora koincydencyjnego - ułatwiającego wybór rdzenia.

Każda komórka jest miniaturowym, impulsowym, nasycanym transformatorem dwustanowym z magnesem jako rdzeniem. Rdzeń posiada dwa stabilne stany namagnesowania Br i -Br (dodatni i ujemny), oznaczające 1 i 0.

Stan rdzenia zmieniany jest impulsami w przewodach sterujących (uzwojeniach pierwotnych):

  • ujemny impuls odczytujący zeruje komórkę,
  • dodatni impuls zapisujący 1.

Prąd sterujący I wytwarza natężenie pola magnetycznego proporcjonalne do swojej wartości, a napięcie wyjściowe Ul jest proporcjonalne do szybkości zmian indukcji magnetycznej.

Odczyt: z lewej silny sygnał od przemagnesowania rdzenia zawierającego "1", z prawej słaby sygnał od braku przemagnesowania rdzenia zawierającego "0"

Indukcja B związana jest z natężeniem pola H pętlą histerezy i zależy od początkowego namagnesowania rdzenia.

Przy odczycie, komórka zawierająca 1 jest zerowana. Przemagnesowaniu rdzenia zawierającego 1 towarzyszy duża zmiana indukcji magnetycznej od Br do -Br, indukująca napięcie w przewodzie sygnałowym. Przy braku przemagnesowania rdzenia zawierającego 0 indukowane jest jedynie niewielkie zakłócenie. W szybkich pamięciach sygnał zakłócający posiada podobną wartość jak użyteczny od przemagnesowanego rdzenia ale towarzyszy przedniemu zboczu prądu odczytu, a sygnał od przemagnesowania jest opóźniony.

Zapis następuje po wyzerowaniu w czasie odczytu. Polega na namagnesowaniu rdzeni odpowiadających 1 w przeciwnym kierunku do namagnesowania w czasie odczytu.

W podstawowej organizacji cykl pracy zawsze składa się z odczytu i następującego bezpośrednio po nim zapisu. W pamięciach z dzielonym cyklem po odczycie pamięć może czekać z zapisem na nową wartość z procesora czytając i zapisując w międzyczasie inne komórki.

Do wyboru rdzenia wykorzystuje się koincydencje dzieląc prąd sterujący na kilka przewodów. Prądy w przewodach dobiera się tak aby przemagnesowaniu uległy tylko wybrane rdzenie. Pozwala to sterować dużą ilością rdzeni za pomocą małej ilości przewodów i elementów elektronicznych.

Występowała w wersjach

  • 3D – koincydencyjnej (duża pojemność, prosta elektronika, skomplikowane płaty, wolna)
    • 3D3W – trzyprzewodowa (pamięć koincydencyjna o organizacji 3D wykorzystująca do odczytu przewód zakazu)
    • H – hybrydowej (pamięć o organizacji 3D wykonana w postaci płaskiej)
  • 2D – liniowej (mała pojemność, proste płaty, skomplikowana elektronika, szybka)
    • 2,5D – koincydencyjno-liniowej (rozwinięcie pamięci 2D o długim słowie, zawierające dodatkowe elementy selekcji bitów w słowie).

Pamięć koincydencyjna (3D)

Rdzenie komórek 3D o średnicy 1 mm.

Coincident-current magnetic core.svg

Przez każdy przebiegają cztery przewody:

  • X pionowy i Y poziomy przewód adresujący
  • S skośny przewód sygnałowy (odczytu)
  • Z poziomy, ciemny przewód zakazu.

Nazwa 3D pochodzi od przestrzennego rozmieszczenia rdzeni ferrytowych.

Pamięć składa się z bloku ułożonych jeden na drugim płatów pamięci. Każdy płat odpowiada jednemu bitowi słowa maszynowego.

Płat składa się z siatki prostopadłych przewodów adresowych przewleczonych przez znajdujące się na ich skrzyżowaniach rdzenie. Odpowiadające sobie przewody adresowe wszystkich płatów są połączone szeregowo. Dodatkowo każdy płat posiada dwa swoje indywidualne przewody przewleczone przez wszystkie rdzenie danego płatu – poziomo przebiegający przewód zakazu i skośnie przewód odczytu.

Przewody są tak wszyte aby zakłócenia indukowane między przewodami o różnych funkcjach znosiły się. Stąd szczególny przebieg przewodu odczytu, a w pamięciach trójprzewodowych krzyżowanie jego w połowie długości przewodów adresowych.

W dużych płatach ich wielkość (pojemność) ogranicza długość przewodów odczytu i zakazu dlatego płat jest dzielony na 4 części z oddzielnymi przewodami odczytu i zakazu.

Charakterystyczną cechą pamięci koincydencyjnej jest wzbudzanie wybranego rdzenia przez jednoczesne wzbudzenie dwoma prostopadłymi przewodami adresowymi X i Y. Prąd w nich płynący jest tak dobrany, że pojedynczy przewód nie jest w stanie przemagnesować rdzenia (przemagnesowanie rdzenia następuje tylko na przecięciu wybranych przewodów adresowych).

                             Odczyt                   Zapis
                           __________
Prąd w linii X i Y    ____/          \_____________            ________
                                                   \__________/
                                                   ___________
Prąd w linii zakazu  _____________________________/           \________
                                ___
Sygnał wyjściowy     __________/   \___________________________________

Prąd zakazu dla wartości 0, dla 1 nie występuje.
Sygnał wyjściowy dla wartości 1, dla 0 nie występuje.

W czasie odczytu zeruje się wszystkie bity wybranego słowa. Rdzenie bitów zawierające 1 zostają przemagnesowane. Przemagnesowanie wzbudza napięcie w przewodzie odczytu sygnalizując 1.

Rdzenie ferrytów koincydencyjnej pamięci trzyprzewodowej z widocznymi przewodami adresowymi i zakazu.

W czasie zapisu do przewodów adresowych doprowadza się prąd o przeciwnym kierunku zapisując do komórek 1. Na płatach wymagających pozostawienia 0, zapisowi 1 zapobiega podanie na przewód zakazu prądu kompensującego prąd w przewodzie adresowym.

Trzyprzewodowa pamięć koincydencyjna (3D3W)

Przewód odczytu jest wykorzystywany tylko w czasie odczytu, a zakazu tylko w czasie zapisu. W nowszych pamięciach 3D zrezygnowano z najbardziej kłopotliwego przy szyciu przewodu odczytu. Do odczytu wykorzystuje się przewód zakazu rozdzielając ich funkcje w układach sterowania. Usunięcie skośnie przebiegającego przewodu odczytu pozwoliło ustawić wszystkie rdzenie równolegle i zbliżyć je do siebie zwiększając upakowanie i pojemność. W opisach wspólny przewód oznaczano “zakazu/odczytu” lub “S/Z” (sygnałowy/zakazu). Czasem w opisach w miejsce przewód używa się nazwy linia. Linia odnosi się do funkcji, a przewód do realizacji fizycznej. Mamy dwie linie: zakazu i odczytu będące jednym przewodem zakazu/odczytu.

Pamięć hybrydowa (płaska, planarna) (H)

Płyta hybrydowej pamięci ferrytowej FJP, stosowana w komputerze RIAD R-32

Rozwinięcie pamięci przestrzennej 3D lub 3D3W na płaszczyznę, przy zachowaniu organizacji logicznej.

W pamięci 3D przewody adresowe składały się z krótkich odcinków na kolejnych płatach lutowanych w całość. Bardzo duża liczba połączeń lutowanych była kłopotliwa w wykonaniu i zawodna. Dodatkowo liczne przewody adresowe łączyły blok pamięci z elektroniką.

Wad tych uniknięto układając płaty poszczególnych bitów, przeważnie dziewięciu, na płaszczyźnie (płycie). Pamięć wykonywano jako jeden duży płat z wydzielonymi obszarami poszczególnych bitów o własnych przewodach zakazu/odczytu. Przewody adresowe prowadzono zygzakiem kolejno przez obszary wszystkich bitów.

Płat pamięci był montowany bezpośrednio do płytki drukowanej z elementami sterującymi.

Pamięci scalone

Pamięć ferrytowa z uzwojeniami wykonanymi w postaci obwodów drukowanych.

Ze względu na pracochłonność szycia podejmowano nieudane próby scalenia pamięci ferrytowych:

  1. Płytka ferrytowa z napylonymi przewodami i dołączonymi półprzewodnikowymi układami sterującymi[2].
  2. Wielootworowa płytka ferrytowa z przewodami wykonanymi w postaci wielowarstwowego obwodu drukowanego. Początkowo przewody były szyte ręcznie.
  3. Listew zawierających kolumnę biaksów i szytych tradycyjnie.

Scalenie powiodło się dopiero po zastąpieniu rdzeni ferrytowych cienkimi warstwami anizotropowego permaloju w pamięciach cienkowarstwowych i drutowych.

Historia

Pamięć ze sterowaniem na lampach z około 1951 r.

Pierwszy raz zastosowana została w komputerze Whirlwind w 1953. Była podstawową pamięcią o dostępie swobodnym w latach 1955-1975. Częściowo wyparta przez pamięci na cienkich warstwach anizotropowego permaloju a ostatecznie przez pamięci półprzewodnikowe.

Pamięć ta ma dzisiaj znaczenie historyczne.

Była produkowana m.in. przez zakłady Elwro we Wrocławiu do lat 80. XX w. i stosowana np. w komputerach ZAM-21, ZAM-41, serii Odra, a także w maszynach R-32 (z rodziny RIAD).


Obecnie

Chociaż przestarzała to z racji zainteresowania istnieją zestawy do Arduino, które pozwalają na wykorzystanie pamięci ferrytowych we współczesnych projektach.[3]

Zobacz też

Przypisy

  1. "Encyklopedia techniki teleelektryka" str. 446 Wydawnictwa Naukowo-Techniczne Warszawa 1967
  2. "Młody Technik" nr 1/1969 r
  3. Core Memory Shield for Arduino from Jussi Kilpelainen on Tindie, www.tindie.com [dostęp 2019-03-07] (ang.).


Linki zewnętrzne

Media użyte na tej stronie

Project Whirlwind - core memory, circa 1951 - detail 1.JPG
Project Whirlwind - core memory, circa 1951, developed at MIT Lincoln Laboratory, Massachusetts, USA. Museum sign describes capacity as 2Kb; I do not know if this means kilobytes or kilobits, and word size is not describe. Load rate was 40,000 instructions / second. In Charles River Museum of Industry, Waltham, Massachusetts, USA, on loan from the MIT Museum.
Ringkernspeicher hysteresekurven.PNG
Autor: Wdwd, Licencja: CC BY-SA 3.0
Verhältnisse an der magnetischen Hysteresekurve bei einem Rindgkernspeicher
Coincident-current magnetic core.svg
Autor: Tetromino, Licencja: CC BY 3.0
Diagram of a 4×4 plane of magnetic core memory in an X/Y line coincident-current setup. X and Y are drive lines, S is sense, Z is inhibit. Arrows indicate the direction of current for writing.
FJP-rdzenie.jpg
Autor: Stanisław Kosiedowski, Original uploader was Stako at pl.wikipedia, Licencja: CC-BY-SA-3.0
Miniaturowe rdzenie pamięci ferrytowej (średnica ok 0,8 mm) Autor: Stanisław Kosiedowski.
FJP-R-32-ELWRO.jpg
Autor: unknown, Licencja: CC-BY-SA-3.0
Magnetic core.jpg
Autor: unknown, Licencja: CC BY 2.5
Primitive Magnetic Memory.jpg
Autor: Steve Jurvetson from Menlo Park, USA, Licencja: CC BY 2.0
Pamięć wykonana z rdzeni ferrytowych pochodząca z kolekcji hanging in our office... będąca standardem na rynku pamięci komputerowych w latach sześćdziesiątych XX wieku. Widać tutaj 18 bajtów zawartych w każdym sektorze 5 cm × 7.5 cm, utkanych ręcznie w pierścieniach ferrytowych, indywidualnie namagnesowanych, lub nie, co w dwójkowym systemie liczbowym stanowi 1 lub 0.

Dopóki nie zobaczyłem tego powiększenia, nie zauważyłem niezwykłego okablowania rdzeni po lewej stronie. Okablowanie po prawej stronie jest typowe dla macierzy pamięci ferrytowej (do odczytu i zapisu bitu magnetycznego w rdzeniu ferrytowym znajdującym się na przecięciu danego wiersza i linii adresowej).

W celu wykrywania błędów tablice pamięci ferrytowych często miały dla każdego wiersza danych bit parzystości .
Single coincident-current magnetic core.svg
A single magnetic core in an X/Y line coincident-current setup. X and Y are drive lines, S is sense, Z is inhibit.
Pamiec ferrytowa z uzwojeniami wykonanymi w postaci obwodów drukowanych.png
Pamięć ferrytowa z uzwojeniami wykonanymi w postaci obwodów drukowanych.