Sari la conținut

Memorie cu ferite

De la Wikipedia, enciclopedia liberă
O memorie cu 32 × 32 ferite, care permit stocarea a 1024 de biți de date (128 de octeți).

Memoria cu ferite a fost forma predominată de memorie pentru sistemele de calcul în perioada 19551975. Era un tip de memorie cu acces direct. Era formată din ferite, mici inele din materiale magnetice (ferită). Fiecare inel se putea polariza magnetic în cele două sensuri, asociate stărilor „0” și „1”, putând astfel stoca un bit de informație. Magnetizarea, numită operație de scriere, respectiv testarea polarizării magnetice, numită operație de citire, se făcea prin fire (linii) care treceau prin inele, fire prin care circulau impulsuri de curent electric. Prin impulsuri corespunzătoare inelele puteau fi magnetizate într-un sens sau altul. Impulsul de citire distrugea starea inelului respectiv, astfel că după citire polarizarea trebuia refăcută printr-o operație de scriere. Cât timp feritele nu erau citite sau scrise ele își mențineau polarizarea existentă, astfel că o asemenea memorie era, în principiu, nevolatilă.

Folosind inele mici și fire subțiri densitatea memoriei (en) a crescut în timp, asfel că la sfârșitul anilor 1960 densitatea era de circa 32 Kibiți pe metru cub. Însă obținerea acestei densități a reclamat o manoperă extrem de îngrijită, efectuată sub microscop, care a tot fost necesară, în pofida încercărilor repetate de automatizare a fabricației.[1] Totuși, în timp costul a scăzut de la circa 1 USD pe bit la circa 1 cent pe bit. Apariția la sfîrșitul anilor 1960 a memoriilor cu semiconductori de tip SRAM, respectiv a memoriilor DRAM, ca INTEL 1103, apărute în 1972 la un cost de 1 cent pe bit[2] au diminuat drastic după 1974 aplicațiile pentru memoriile cu ferite.

Schemă de dispunere a unei matrice de 4 × 4 ferite în planul XY. X și Y sunt firele (liniile) de selecție, S este firul de citire iar Z este firul de inhibare. Săgețile indică sensul curenților la scriere.
Detaliu al unei matrice de ferite. Distanța dintre inele este ce circa 1 mm. Firele verzi orizontale sunt liniile X; cele maro verticale din spate liniile Y, cele portocalii diagonale sunt linia de citire S, iar cele portocalii verticale duble răsucite liniile Z.

Forma toroidală a feritelor este preferată deoarece circuitul magnetic este închis (fără întrefier), ceea ce face ca fluxul magnetic exterior să fie foarte mic. Asta permite plasarea inelelor unul lângă altul, fără ca fluxurile lor să interacționeze. De asemenea, o dispunere alternativă la 45° a inelelor este favorabilă pentru reducerea cuplajului dintre ele.

Inelele de ferită sunt dispuse într-un plan (o matrice rectangulară, nu neapărat pătrată), iar prin ele trec firele de selecție X și Y, cel de citire S, și, la începuturi, și firele de inhibare Z. Materialul din care sunt făcute trebuie să aibă o remanență magnetică (en) înaltă, capacitatea de a-și păstra starea de magnetizare și o coercivitate mică, ca energia de schimbare a sensului magnetizării să fie mică.

Într-un ciclu de memorie se poate accesa un singur bit (inel de ferită) dintr-un plan. Pentru a accesa un cuvânt (format din 2 octeți, mod de acces al memoriei obișnuit în epocă), cei 16 biți corespunzători sunt plasați în 16 planuri diferite (așa-zisa structură 2½ D), planurile fiind accesate simultan, rezultând accesul „paralel” al biților din cuvânt.

Modul de funcționare

[modificare | modificare sursă]

Schimbarea sau nu a polarizării unui inel se bazează pe fenomenul de histerezis al feritelor. Împulsurile de curent prin fire generează un câmp magnetic, însă doar un câmp magnetic de intensitate suficientă poate schimba sensul magnetizării. Prin fire se transmit impulsuri având intensitatea la jumătate față de cea necesară polarizării. Un câmp suficient pentru polarizare este generat prin acțiunea combinată a unui fir de selecție de tip X și a altuia de selecție de tip Y. La un impuls printr-un anumit fir „de selecție” X simultan cu unul în același sens printr-un anumit fir „de selecție” Y doar inelul prin care trec ambele fire va fi „scris”, celelalte inele prin care trec firele X sau Y, fiind supuse doar unui câmp magnetic cu intensitatea la jumătate din cea necesară, nu-și vor schimba polarizarea. Inelele prin care nu trec nici firul X respectiv, nici cel Y nu vor fi supuse niciunui câmp magnetic, ca urmare nici ele nu-și vor schimba polarizarea. Sensul impulsurilor prin firele X și Y determină sensul fluxului magnetic prin inelul „selectat”, respectiv polarizarea sa în stările „0” sau „1”.

Citire și scriere

[modificare | modificare sursă]
Curba de histerezis a unui inel de ferită în timpul operației de citire. Intensitatea pulsului de curent în firul de citire este mare (1) sau mică ("0"), în funcție de polarizarea inelului.

Pentru a citi informația dintr-un inel, circuitele vor seta starea inelului respectiv la „0” prin trimiterea impulsurilor corespunzătoare prin firele X și Y care trec prin el.

  • Dacă înainte starea inelului a fost „0”, polarizarea sa nu se schimbă, iar în firul S apare un impuls de tensiune.
  • Dacă înainte starea lui a fost „1”, atunci el își schimbă polarizarea, iar impulsul de tensiune din firul S apare după o mică întârziere.

Citirea impulsului din firul S se face în momentul când ar trebui să apară impulsul corespunzător stării „1”. Detectarea impulsului în firul S înseamnă că anterior polarizarea inelului era „1”, iar lipsa impulsului înseamnă că polarizarea sa era „0”. Întârzierea răspunsului este timpul de acces al memoriei. După citirie polarizarea inelului este în ambele cazuri „0” — prin urmare operația de citire este distructivă. Pentru a nu se pierde informația, polarizarea anterioară a inelului trebuie refăcută imediat printr-o operație de scriere. Timpul de acces plus cel de rescriere formează ciclul memoriei.

Pentru a scrie informația într-un inel, acesta trebuie să fie polarizat inițial în starea „0”, care se obține printr-o operație de citire.

  • Pentru a scrie un „1” prin firele X și Y se trimit impulsuri în sens invers față de operația de citire. Inelul de la intersecția firelor X și Y își va schimba polarizarea, trecând în starea „1”.
  • Pentru a scrie un „0” se trimite și un impuls prin firul Z, ceea ce diminuează la jumătate câmpul magnetic generat de impulsurile prin firele X și Y, rezultând un cîmp magnetic insuficient pentru a comuta inelul din starea „0” în starea „1”.

Firul de citire S este folosit doar în momentul citirii, iar firul Z doar în momentul scrierii. De aceea ulterior firul Z a fost eliminat, funcția sa fiind preluată de firul S, impulsurile prin el fiind coordonate de circuitele controlerului memoriei. Perfecționări ulterioare au scurtat la jumătate ciclul memoriei prin suprapunerea rescrierii unui inel cu citirea altuia, precum și memorarea stării unui inel într-un registru și refacerea stării lui în următorul ciclu de citire/scriere. De asemenea, au fost combinate firele, existând arhitecturi în care printr-un inel trec doar două fire.

Performanțe și utilizări

[modificare | modificare sursă]

Primele memorii cu ferite au avut un ciclu al memoriei de 6 µs, care la începutul anilor 1970 a scăzut la 1,2 µs și la 0,6 µs la mijlocul anilor 1970. Performanțe de vârf în epocă au avut calculatoarele CDC 6600 (en), care aveau un ciclu al memoriei de 1,0 µs în 1964.[3]

Atuurile acestui tip de memorie sunt fiabilitatea înaltă, nevolatilitatea, faptul că nu este nevoie de curent electric pentru a conserva informația, insensibilitatea la impulsuri electromagnetice și radiații, ceea ce le recomandă pentru aplicații militare și aerospațiale. De exemplu cu astfel de memorii a fost echipată naveta spațială Challenger, a cărei memorie a rămas funcțională chiar și după accidentul din 1986.[1]

  1. ^ a b en Magnetic Core Memory – 1949, nationalmaglab.org, 3 februarie 2015, accesat 2016-06-20
  2. ^ en Mary Bellis, The Invention of the Intel 1103 Arhivat în , la Wayback Machine.
  3. ^ en Control Data 6600 Training Manual, section 4, June 1965, document number 60147400

Legături externe

[modificare | modificare sursă]
Commons
Commons
Wikimedia Commons conține materiale multimedia legate de memorie cu ferite