Documente Academic
Documente Profesional
Documente Cultură
În acest curs vom analiza o structură de memorie RAM redundantă, reconfigurabilă care să
permită testarea cvasipermanentă a circuitelor de memorie şi, în caz de defectare a unui circuit,
înlocuirea circuitului defect cu altul de rezervă. Aşadar, vom analiza o structură de memorie RAM
cu redundanţă activă sau de comutaţie.
Testarea memoriei RAM poate fi realizată prin programe de test, care să fie executate de
procesor în perioadele de pauză, sau de relaxare în funcţionarea sistemului. În engleză, această
tehnică este numită 𝑛𝑜𝑛 − 𝑐𝑜𝑛𝑐𝑢𝑟𝑟𝑒𝑛𝑡 𝑜𝑛𝑙𝑖𝑛𝑒 𝑡𝑒𝑠𝑡𝑖𝑛𝑔 şi urmăreşte detectarea cât mai rapidă a
defectelor permanente de memorie. În aplicaţiile critice, această verificare este încă insuficientă,
impunându-se o testare cvasipermanentă a memoriei, în timpul funcţionării normale – tehnică
numită 𝑐𝑜𝑛𝑐𝑢𝑟𝑟𝑒𝑛𝑡 𝑜𝑛𝑙𝑖𝑛𝑒 𝑡𝑒𝑠𝑡𝑖𝑛𝑔. O problemă a testării 𝑜𝑛𝑙𝑖𝑛𝑒 a memoriei RAM este aceea că
prin testare conţinutul memoriei se pierde. De aceea, testarea 𝑜𝑛𝑙𝑖𝑛𝑒 necesită circuite suplimentare
pentru salvarea datelor pe durata procesului de testare.
1
modul defect modul în curs de testare modul disponibil
registru de
stare (SR) 0 1 ∙∙∙ 1 ∙∙∙ 0 0 ∙∙∙ 0
adrese logice
Structură combinaţională de selecţie şi reconfigurare
A1 ÷ Am S1 S2 Sj Sm Sm+1 Sm+s
date
adrese
Fiecare circuit este verificat de două ori într-un ciclu de testare, aria circuitelor de memorie fiind
parcursă mai întâi în ordine descrescătoare, de la dreapta la stânga (+), şi apoi în ordine crescătoare,
de la stânga la dreapta (–). Pentru testarea unui modul 𝑀𝑗 sunt necesare următoarele operaţii :
• Modulul 𝑀𝑗±1 este adus în regim de funcţionare normală (𝑆𝑅𝑗±1 = 0) ;
• Datele din modulul 𝑀𝑗 sunt salvate în modulul 𝑀𝑗±1 ;
• Este lansat procesul de testare pentru modulul 𝑀𝑗 (𝑆𝑅𝑗 = 1).
În Fig. 2 este ilustrat un ciclu de testare a ariei de memorie cu 𝑚 circuite de bază şi unul
suplimentar care asigură posibilitatea testării 𝑜𝑛𝑙𝑖𝑛𝑒. Modulele logice (partiţiile) sunt numerotate
de la 1 la 𝑚. Circuitul în curs de testare este marcat cu *. Funcţionarea normală a sistemului este
întreruptă doar pe durata transferului de date, înaintea testării unui modul. Transferul de date este
însă rapid, mai ales dacă se realizează cu circuite de acces direct la memorie, şi se presupune că
poate fi tolerat în aplicaţia considerată.
Faţă de procedura de testare a circuitelor prin rotaţie, în acest caz, prin alternarea sensului de
parcurgere a ariei de memorie, numărul operaţiilor de transfer pentru salvarea datelor înaintea
testării se reduce la jumătate. Trebuie însă menţionat ca dezavantaj faptul că circuitele de memorie
nu sunt testate la intervale egale de timp. Acest aspect este evidenţiat în Fig. 3, în care se consideră
o arie de memorie cu patru circuite de bază şi unul suplimentar pentru testarea 𝑜𝑛𝑙𝑖𝑛𝑒. Circuitele
de memorie sunt numerotate de la 1 la 5. Pentru fiecare din cele cinci circuite de memorie se indică
perioada dintre două testări consecutive.
2
1 2 3 . 𝑗− 1 𝑗 j+1 . m−1 m *
1 2 3 . j−1 j j+1 . m−1 * m
1 2 3 . j−1 j j+1 . * m−1 m
. . . . . . . . . . .
1 2 3 . j−1 j * . m−2 m−1 m
1 2 3 . j−1 * j . m−2 m−1 m
1 2 3 . * j−1 j . m−2 m−1 m
. . . . . . . . . . .
1 2 * . j−2 j−1 j . m−2 m−1 m
1 * 2 . j−2 j−1 j . m−2 m−1 m
3
Aşa cum rezultă din figură, pentru un sistem de memorie cu 𝑚 module de bază şi unul
suplimentar, intervalele de timp dintre două testări consecutive sunt :
4
Fig. 4 – Structura celulară a logicii de selecţie şi reconfigurare.
1 2
𝑃𝑟𝑒𝑐𝑖𝑧𝑎𝑟𝑒: Variabilele logice 𝑥𝑚+2 şi 𝑥𝑚+2 pot fi folosite pentru testarea funcţionării corecte a
structurii combinaţionale de selecţie şi reconfigurare de către procesor. Valorile acestor variabile
trebuie să fie în concordanţă cu numărul biţilor de 1 din registrul de stare 𝑆𝑅. De asemenea, când
ambele valori sunt 1 se poate genera o întrerupere pentru a semnala faptul că nivelul de redundanţă
a fost depăşit.
Sinteza logicii de selecţie şi reconfigurae se reduce aşadar la sinteza celulelor:
𝐵𝑆1 , 𝐵𝑆2 , 𝐵𝑆𝑗 ( 𝑗 = 3 ÷ 𝑚), 𝐵𝑆𝑚+1 şi 𝐵𝑆𝑚+2 .
𝑆1 = 𝑆𝑅1 𝐴1 . (2)
2 1 2 1 2 1
𝑆𝑗 = 𝑆𝑅𝑗 (𝐴𝑗 𝑥𝑗−1 𝑥𝑗−1 + 𝐴𝑗−1 𝑥𝑗−1 𝑥𝑗−1 + 𝐴𝑗−2 𝑥𝑗−1 𝑥𝑗−1 ) , ( 𝑗 = 3, 4, . . . , 𝑚) (4)
5
2 1 2 𝑥 1 ).
𝑆𝑚+1 = 𝑆𝑅𝑚+1 (𝐴𝑚 𝑥𝑚 𝑥𝑚 + 𝐴𝑚−1 𝑥𝑚 𝑚 (5)
1 2
𝑆𝑚+2 = 𝑆𝑅𝑚+2 𝐴𝑚 𝑥𝑚+1 𝑥𝑚+1 . (6)
1 ̅̅̅̅̅ 2 ̅̅̅̅̅
𝑥𝑗1 = 𝑥𝑗−1
2 1
𝑥𝑗−1 2
𝑆𝑅𝑗 + 𝑥𝑗−1 𝑥𝑗−1 𝑆𝑅𝑗 + 𝑥𝑗−1 1
𝑥𝑗−1 2
𝑆𝑅𝑗 + 𝑥𝑗−1 1
𝑥𝑗−1 =
1 2 1 ̅̅̅̅̅ 2 1 1 1 2 2 ̅̅̅̅̅
= 𝑥𝑗−1 𝑆𝑅𝑗 + 𝑥𝑗−1 𝑥𝑗−1 𝑆𝑅𝑗 + 𝑥𝑗−1 𝑥𝑗−1 = 𝑥𝑗−1 𝑆𝑅𝑗 + 𝑥𝑗−1 (𝑥𝑗−1 + 𝑥𝑗−1 𝑆𝑅𝑗 ) =
1
= 𝑥𝑗−1 1
𝑆𝑅𝑗 + 𝑥𝑗−1 2
(𝑥𝑗−1 + ̅̅̅̅̅
𝑆𝑅𝑗 ). (9)
𝑥𝑗2 = 𝑥𝑗−1
2 1
+ 𝑥𝑗−1 2
𝑥𝑗−1 2
𝑆𝑅 = 𝑥𝑗−1 1
+ 𝑥𝑗−1 𝑆𝑅. (10)
Temă de casă:
Pentru o structură de memorie redundantă cu 4 circuite de bază şi un circuit suplimentar (𝑚 = 4
şi 𝑠 = 1), să se deseneze logica de selecţie şi reconfigurare şi să se evalueze creşterea timpului de
acces la memorie. Se ia ca referinţă timpul de propagare printr-o poartă logică cu 2 intrări (∆).
4. Eficienţa redundanţei
Fie 𝑅 = 𝑒 −𝜆𝑡 funcţia de fiabilitate a unui singur circuit, adică probabilitatea de funcţionare
corectă a acestuia în intervalul [0, 𝑡]. Probabilitea de defectare este 𝐹 = 1 − 𝑅 = 1 − 𝑒 −𝜆𝑡 . Cu 𝜆
s-a notat rata medie de defectare a unui circuit de memorie.
Relativ la sistemul neredundant, probabilitatea de funcţionare corectă a celor 𝑚 module
componente este 𝑅𝑚 , iar probabilitatea ca unul dintre module să se defecteze este
𝑃1 = 𝑚𝑅 𝑚−1 𝐹. (11)
În ceea ce priveşte sistemul redundant, probabilitatea ca din cele 𝑚 + 𝑠 module 𝑠 + 1 să se
defecteze este
𝑠+1
𝑃𝑠+1 = 𝐶𝑚+𝑠 (1 − 𝑅)𝑠+1 𝑅 𝑚−1. (12)
6
Creşterea fiabilităţii sau scăderea probabilităţii de defectare este dată de elaţia
𝑃 𝑚𝑅 𝑚−1 (1−𝑅) 𝑚
𝑟 = 𝑃 1 = 𝐶 𝑠+1 𝑅𝑚−1 (1−𝑅)𝑠+1 = 𝐶 𝑠+1 (1−𝑅)𝑠 . (13)
𝑠+1 𝑚+𝑠 𝑚+𝑠
Rezultatele numerice evidenţiază faptul că eficienţa redundanţei este cu atât mai mare cu cât
fiabiliatea circuitelor componente (𝑅 în acest caz) este mai ridicată.