Sunteți pe pagina 1din 49

CUPRINS

CUPRINS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1 INTRODUCERE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2 METODE DE CRETERE A FIABILIT^II I DISPONIBILIT^II


. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.1 Indicatori pentru caracterizarea fiabilit_ii i disponibilit_ii . 11

2.1.1 Clasificarea defeciunilor . . . . . . . . . . . . . . . . . . . . . 11

2.1.2 Estimarea fiabilit_ii . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.1.3 Disponibilitatea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2.1.4 Dependabilitatea . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2.1.5 Mentenabilitate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.1.6 Cerinele fiabilit_ii aplicate . . . . . . . . . . . . . . . . . . . 17

2.1.7 Tehnici de redundan_ . . . . . . . . . . . . . . . . . . . . . . . . 19

5
2.2 Metode de autocontrol, implementate hardware . . . . . . . . . . 20

2.2.1 Controlul prin copii . . . . . . . . . . . . . . . . . . . . . . . . . . 22

2.2.2 Controale de codificare . . . . . . . . . . . . . . . . . . . . . . . 23

2.2.3 Controale de temporizare . . . . . . . . . . . . . . . . . . . . . . 23

2.2.4 Controale de excepie . . . . . . . . . . . . . . . . . . . . . . . . 24

2.2.5 Restabilirea erorii . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

2.2.5.1 Clasificarea procedurilor de restabilire . . . . 26

2.2.5.2 Reconfigurarea . . . . . . . . . . . . . . . . . . . . . . . 28

2.3 Metode de autocontrol implementate software . . . . . . . . . . . . 29

2.3.1 Funcia unui proces . . . . . . . . . . . . . . . . . . . . . . . . . . 29

2.3.2 Secvena de comand_ a unui proces . . . . . . . . . . . . . 30

2.3.3 Date de proces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

2.3.4 Restabilirea software . . . . . . . . . . . . . . . . . . . . . . . . . 30

2.3.5 Diagnosticarea erorii . . . . . . . . . . . . . . . . . . . . . . . . . 31

2.3.6 Validarea fiabilit_ii . . . . . . . . . . . . . . . . . . . . . . . . . . 31

3 AUTOCONTROLUL CA MIJLOC DE CRETERE A FIABILIT^II I


DISPONIBILIT^II SISTEMELOR DE CALCUL . . . . . . . . . . 33

3.1 Metode de autocontrol aplicate la diferite niveluri de structur_


. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

6
3.1.1 Caracteristicile metodelor de proiectare structurat_ la nivel
de bistabil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

3.1.2 Caracteristicile metodelor de proiectare structurat_ la nivel


de registru . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

3.1.3 Proiectarea structurat_ la nivel de bloc . . . . . . . . . . . 40

3.1.3.1 Autocontrolul bazat pe principiul BILBO . . 42

3.1.3.2 Modulul comutator de testare, ncorporat, pentru


izolarea defectelor . . . . . . . . . . . . . . . . . . . . . 43

3.1.4 Controlul erorilor la nivel de procesor . . . . . . . . . . . 44

3.2 Problematica construciei checker-elor de erori . . . . . . . . . . . 45

3.2.1 Circuite de verificare dubl_ cale . . . . . . . . . . . . . . . . 46

3.2.1.1 Checker de egalitate . . . . . . . . . . . . . . . . . . . 46

3.2.1.2 Checker M din N . . . . . . . . . . . . . . . . . . . . . 46

3.2.2 Circuite cu autoverificare total_, ncorporate . . . . . . 47

BIBLIOGRAFIE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

7
8
1 INTRODUCERE

Fiabilitatea unui sistem a fost o preocupare major_ nc_ din momentul apariiei
calculatoarelor electronice numerice. Exist_ preocup_ri legate de analiza de
fiabilitate, constnd n evaluarea de indicatori numerici, att previzional ct
i experimental, pentru dezideratul siguranei n funcionare. Pe lng_ aceast_
arie de preocup_ri, fiabilitatea implic_ sinteza unor sisteme de calcul care, prin
proiectare, s_ ndeplineasc_ anumii indicatori de fiabilitate impui. n acest
sens se apeleaz_ la metode de cretere a fiabilit_ii care, n accepiunea cea
mai larg_, sunt divizate n dou_ clase: evitarea defectelor (fault avoidance)
sinonim cu netolerarea defectelor (fault intolerance) i tolerarea defectelor
(fault tolerance). Obiectivul esenial al unui sistem fiabil este reprezentat de
c_tre defect, fie n sensul evit_rii acestuia, fie n sensul toler_rii lui, context
n care se impun unele preciz_ri legate de terminologie. Asupra acestora se
insist_ in extenso n capitolul al doilea al lucr_rii, dar, anticipnd, vom nelege
prin defect orice deviere de la funcionarea normal_ a unui sistem, aceasta
putnd fi cauzat_ fie prin erori de proiectare, fie prin anomalii ale echipa-
mentelor, fie prin erori ale operatorilor sau ale personalului de ntreinere,
acestea din urm_ fiind denumite n lucrare erori de interaciune. Prima clas_
de metode folosete componente de nalt_ fiabilitate, tehnici conservative de
proiectare i recenzii vaste n faza de proiectare, pentru eliminarea defectelor
de proiectare. Obiectivul acestor metode este reducerea posibilit_ilor de
defectare. Totui, apar eecuri chiar i n cazul celei mai atente evit_ri a
defectelor i de aici termenul de netolerare a defectelor (fault intolerance).
n mod firesc, se justific_ existena celei de-a doua clase de metode care, n
scopul de a tolera defectele, folosete componente adiionale, numite
redundante. Pentru claritate, amintim c_ indicele aproape unanim recunoscut
ca obiectiv de proiectare este raportul performan_/cost. n vederea optimiz_rii
acestuia, majoritatea tehnicilor de proiectare apeleaz_ la eliminarea redundanei.
n mod contrar, fa_ de tehnicile anterioare, noile metode introduc redundana
pentru a conferi sistemelor acest deziderat aparte al proiect_rii: fiabilitatea prin

9
tolerare la defecte. Redundana poate fi introdus_ prin soluiile eminamente
hardware, eminamente software sau prin soluii hibride (hardware/software),
dar n toate cazurile se urm_rete evitarea efectelor defectelor. Ambele tehnici
sunt uzual folosite n sistemele de nalt_ fiabilitate.

n trecut, sistemele de calcul tolerante la defeciuni ocupau doar o mic_ parte


din piaa comercial_, datorit_ costului excesiv. Multe sisteme au fost proiectate
ca s_ dea soluii unor aplicaii specializate, dar, n ultimul timp, calculul tolerant
la defeciuni ncepe s_ joace un rol important n proiectarea calculatoarelor
comerciale din mai multe motive, cum sunt: progresele deosebite n tehnologia
VLSI, posibilitatea de integrare pe tot wafer-ul (WSI), costul mare de ntreinere
al echipamentelor sofisticate, cmpul vast de aplicaii care pot fi abordate de
c_tre un sistem i preteniile utilizatorilor pentru fiabilitate superioar_. Deoarece
calculatoarele continu_ s_ preia din ce n ce mai multe servicii critice pentru
funcionarea cu succes a spitalelor, a uzinelor produc_toare, a combinatelor
energetice, a b_ncilor, a oficiilor etc., au crescut substanial preteniile
utilizatorilor, fiind imperativ necesar_ construirea i utilizarea sistemelor
tolerante la defeciuni. n acest context, prezenta lucrare abordeaz_ aspectul
creterii fiabilit_ii i disponibilit_ii sistemelor numerice de calcul, valorificnd
avantajele oferite de utilizarea autocontrolului.

10
2 METODE DE CRETERE A FIABILI-
T^II I DISPONIBILIT^II

2.1 Indicatori pentru caracterizarea fiabilit_ii i disponi-


bilit_ii

2.1.1 Clasificarea defeciunilor

ntr-un sistem exist_ trei categorii majore de surse de erori: a) greeli de


proiectare, b) defeciuni fizice i c) erori de intreaciune ale operatorului uman
(procedural errors). Aceste surse de erori contribuie la c_derile sistemului.
Pe de o parte, greelile de proiectare apar att n hardware, ct i n software.
Acestea din urm_ sunt predominante i se elimin_ greu din sistem. Pe de alt_
parte, defeciunile fizice sunt rezultatul mb_trnirii componentelor sau a
influenei mediului, care cauzeaz_ devierea unor caracteristici ale echipa-
mentului peste limitele cmpului specificat al toleranei. Se produc, astfel, erori
determinate de aa-numitele defeciuni parametrice hardware. Aciunile
improprii ale operatorului, la panourile de control i de ntreinere, pot
determina funcionarea defectuoas_ a sistemului. Ceea ce introduce operatorul
are prioritate mare, sistemele fiind foarte vulnerabile la comenzi improprii i
la erori de operare. Proiectarea unui sistem tolerant la defeciuni necesit_
g_sirea unei metode care s_ mpiedice ca o component_ hardware deteriorat_

11
s_ determine o defeciune logic_ i ca aceasta s_ determine, la rndul ei, o
eroare.

n relativ scurta istorie a designului tolerant la defecte au existat multe confuzii


ntre definiii i concepte fundamentale. De exemplu, se foloseau, n mod
interschimbabil, termeni ca: defeciune, deteriorare i eroare. Unii autori susin
c_ o deteriorare a avut loc atunci cnd calculatorul nu mai r_spunde la comenzi.
Dimpotriv_, ali autori afirm_ c_ o deteriorare este o defeciune fizic_ specific_,
mai degrab_, componentelor electronice. Datorit_ diversit_ii de p_reri n
privina nelegerii acestor noiuni i pentru a se evita echivocul n lectura
acestei lucr_ri, consider util_ definirea unor termeni, care, dei au serioase
trimiteri bibliografice, sunt nc_ departe de acceptarea universal_. Aceste
definiri sunt:

 Deteriorarea (failure) apare atunci cnd ieirea obinut_ difer_ de cea


proiectat_. Ieirea poate fi privit_ la diferite niveluri de abstrac-
tizare: la nivel de component_ electronic_, la nivel de bloc sau
la nivel de sistem;

 Defeciunea sau defectul (fault) este o stare eronat_ a mainii sau a


sistemului de programe, stare generat_ de: deterior_ri ale
componentelor, interferene fizice cu mediul, erori ale operato-
rului uman sau proiectare incorect_;

 Eroarea (error) este manifestarea unei defeciuni ntr-un program sau


ntr-o structur_ de date. Ea poate ap_rea la o anumit_ distan_ n
spaiu i timp fa_ de locul, respectiv momentul, defect_rii;

Definiiile de mai sus pot fi caracterizate de urm_toarele adjective:

 Adjectivul permanent (idem n englez_) descrie o deteriorare, o


defeciune sau o eroare cu caracter continuu i stabil. Dac_ este
vorba despre echipament, atunci o deteriorare permanent_ reflect_
o schimbare fizic_ ireversibil_;

12
 Adjectivul intermitent (intermittent) descrie o defeciune sau o
eroare care se repet_ ocazional;

 Adjectivul tranzitoriu (transient) descrie o defeciune sau o eroare


non-repetitiv_, cauzat_ de condiii temporare. Exemple sunt
aciunea particulelor . asupra memoriilor semiconductoare sau
variaia tensiunii de alimentare a echipamentelor. Astfel de erori
sunt nereparabile, pentru c_ nu exist_ defect fizic al echipamen-
tului. Evitarea lor se poate face doar printr-o proiectare mai
riguroas_.

Deterior_rile sistemului sunt clasificate, funcional vorbind, n defeciuni


hardware, erori software i erori de procedur_. Exist_ relaii strnse ntre cele
trei tipuri de deterior_ri de sistem categoriile surselor de defeciuni.
Defeciunile fizice apar numai la echipament. Erorile de proiectare, chiar dac_
apar n hardware, produc, n majoritatea lor, erori de tip software. Erorile de
interaciune sunt cauzate, de obicei, de greelile f_cute de operator.

n afara deterior_rilor normale ale dispozitivelor, la defeciunile hardware mai


contribuie condiiile mediului nconjur_tor (perturbaiile), erorile de proiectare
(greelile) i cronografiile improprii (timing problems). Greelile de proiectare,
ca n cazul erorilor software, sunt foarte greu de apreciat cantitativ. Calculele
de fiabilitate se bazeaz_ mai mult pe defeciunile dispozitivelor.

2.1.2 Estimarea fiabilit_ii

Estimarea fiabilit_ii este un proces de apreciere a fiabilit_ii realizabile de un


articol (element, subsistem sau sistem), avnd disponibile datele ratei de
defectare, adic_, prin estimarea fiabilit_ii, se apreciaz_ probabilitatea
ndeplinirii obiectivelor articolului respectiv pentru o aplicaie specific_. Aceste
calcule sunt utile n stadiile de nceput ale unui proiect.

13
Dup_ ndep_rtarea defeciunilor timpurii, componentele se menin pe o perioad_
lung_ la o rat_ de defectare aproximativ constant_. n timpul acestei perioade,
rata de defectare este, de obicei, sc_zut_ i este puin probabil ca defeciunile
s_ provin_ de la o singur_ cauz_. Rata constant_ de defectare, reprezentat_ n
poriunea de via_ util_, scoate n eviden_ faptul c_ probabilitatea de defectare
este independent_ de vrst_. Pentru orice rat_ constant_ de defectare, valoarea
fiabilit_ii depinde numai de timp. Funcia fiabilit_ii R (t) (reliability), care
este caracterizat_ de o rat_ constant_ de defectare este o distribuie negativ_
exponenial_ i are forma:

R (t)
e  t

unde  este rata de defectare, iar t este timpul.

Timpul mediu dintre defect_ri (Mean Time Between Failures; MTBF) este
timpul mediu, exprimat, de obicei, n ore, n care un articol ar putea s_
funcioneze corect nainte de a se deteriora i reprezint_ m_sura cantitativ_
a fiabilit_ii. n general, MTBF-ul unui sistem ar putea fi tratat ca integrala
funciei de fiabilitate a ntregului sistem:


R (t) d t
20

n cteva c_ri de literatur_, intervalul este definit ca timp mediu de defectare


(Mean Time To Failure; MTTF). Din punct de vedere tehnic, MTTF i MTBF
nu sunt identici, MTBF-ul poate fi definit, ntr-o form_ alternativ_, astfel

MTBF
MTTF  MTTR

unde MTTR este timpul mediu de reparaie (Mean Time To Repair).

Rata de reparaie (repair rate) sau inversul timpului mediu de reparaie, adic_

MTTR

14
este un alt factor care afecteaz_ substanial fiabilitatea i mentenabilitatea unui
sistem. Cnd o unitate dintr-un sistem duplicat este defect_, sistemul este
dependent de a doua unitate pentru a-i continua operaia. Dac_ unitatea defect_
este reparat_ repede, riscul deterior_rii ntregului sistemului este mic deoarece
unitatea a doua va opera astfel nct s_ p_streze integritatea funcion_rii
sistemului. ntruct sistemul este vulnerabil numai pn_ la reparaia unit_ii
defecte, un timp scurt de reparaie poate crete foarte mult fiabilitatea
sistemului.

2.1.3 Disponibilitatea

Disponibilitatea A(t) (availability) unui echipament este o funcie de timp. Ea


se poate defini ca probabilitate de funcionare a echipamentului la momentul t ,
att timp ct este folosit conform specificaiilor. Conceptul de disponibilitate
este utilizat n m_surarea eficacit_ii sistemului. Att fiabilitatea, ct i mentena-
bilitatea, i aduc aportul la definirea conceptului de disponibilitate. Aceast_
conexiune poate fi exprimat_ n felul urm_tor:

MTTF
A(t)

MTTF  MTTR

unde funcia fiabilit_ii se presupune c_ este distribuia exponenial_ R


e  t .
Deoarece MTTF-ul este o m_sur_ a fiabilit_ii, iar MTTR-ul este o m_sur_ a
mentenabilit_ii, ele se pot negocia astfel nct s_ se obin_ o disponibilitate
dat_.

2.1.4 Dependabilitatea

Laprie i Coste au definit formal dependabilitatea ca un cadru de specificaii


de nivel nalt, care include m_rimi ca fiabilitatea i disponibilitatea, ca dou_

15
faete distincte ale specificaiilor sistemului. Pe baza caracteristicilor unui
sistem, dependabilitatea lui se descrie fie prin fiabilitate, fie prin disponibilitate.
De exemplu, putem caracteriza mai bine un sistem nereparabil prin fiabilitatea
lui, iar un sistem reparabil prin disponibilitatea lui.

n literatura mai recent_, se menioneaz_ c_ termenul de dependabilitate


include, pe lng_ conceptele de fiabilitate i disponibilitate menionate anterior,
i pe cele de siguran_ n funcionare, mentenabilitate, performabilitate i
testabilitate. Dependabilitatea reprezint_ calitatea deservirii furnizate de c_tre
un anumit sistem. Fiabilitatea, disponibilitatea, sigurana, mentenabilitatea,
performabilitatea i, n fine, testabilitatea sunt m_rimi utilizate pentru estimarea
cantitativ_ a dependabilit_ii unui sistem. inta proiect_rii tolerante la
defeciuni este mbun_t_irea dependabilit_ii prin narmarea unui sistem pentru
realizarea funciei cerute, n prezena unui num_r dat de defecte. Totui, este
de notat c_ un sistem tolerant la defeciuni nu este neap_rat de nalt_
dependabilitate i nici nalta dependabilitate nu necesit_ neap_rat tolerana
la defectare.

2.1.5 Mentenabilitate

Sistemele de calcul, ca orice alte produse, se pot clasifica n dou_ categorii:


a) sistemele cu funcie unic_ (simpl_), la care prima defectare constituie i
finalul vieii lor i b) sistemele cu funcie repetat_ sau sistemele cu rennoire
(restabilire), la care elementele defecte pot fi nlocuite cu altele bune, caz n
care aceste produse au caracter reparabil. Prin mentenan_ se nelege ansamblul
tuturor aciunilor tehnico-organizatorice necesare, efectuate n scopul
meninerii sau restabilirii unui produs n starea necesar_ ndeplinirii funciei
cerute. Aceste aciuni pot avea caracter corectiv (depistarea cauzei unei
defeciuni, repararea defectului prin nlocuirea elementelor defecte, verificarea
corectitudinii operaiilor de mentenan_ ntreprinse) sau caracter preventiv

16
(revizii, reglaje, verific_ri i reparaii planificate, executate n vederea evit_rii
unor viitoare defeciuni).

n aceste condiii, este necesar s_ se exprime cantitativ aptitudinea unui produs


de a fi repus n funciune n urma unui defect. Exprimarea se face, ca i n cazul
fiabilit_ii, printr-o probabilitate n funcie de timp. Mentenabilitatea este,
aadar, aptitudinea unui produs ca, n condiii date, s_ fie meninut sau restabilit
n starea de a-i ndeplini funcia specificat_, atunci cnd aciunile de
mentenan_ se efectueaz_ n condiii precizate i ntr-un timp dat, cu procedee
i remedii prescrise. Corespunz_tor acestei definiii, leg_tura dintre aspectul
probabilistic i cel funcional se exprim_ astfel:

M (tr )
Prob (t rTr )

unde tr este timpul de restabilire, Tr este o limit_ impus_ duratei de restabilire,


iar M (tr ) este funcia de mentenabilitate.

Relaia ntre mentenabilitatea M i rata de reparaie sau timpul mediu de


reparaie MTTR este urm_toarea:

tr
( t r )
M (tr )
1 e
1 e MTTR

La fel ca fiabilitatea, testabilitatea, dependabilitatea etc., mentenabilitatea


trebuie planificat_ i estimat_ sau evaluat_ nc_ din fazele cele mai timpurii
ale conceperii unui produs.

2.1.6 Cerinele fiabilit_ii aplicate

Cerinele fiabilit_ii variaz_ considerabil de la o aplicaie la alta. De exemplu,


obiectivele fiabilit_ii unui oficiu telefonic cu comutare digital_, proiectat
pentru aplicaii telefonice, sunt:

17
a) timpul total n care sistemul r_mne neoperativ s_ nu dep_easc_ trei
minute pe an, cu un timp mediu de reparaie (MTTR) de patru
ore;

b) n timpul funcion_rii s_ nu se piard_ sau s_ nu se trateze incorect


mai mult de 0,01% dintre apeluri.

Funcionarea satisf_c_toare nu nseamn_, n acest caz, o fiabilitate de 100%.


Sunt permise, totui, cteva apeluri incorecte, avndu-se in vedere c_
utilizatorul va forma din nou num_rul dorit, obinnd corecia erorii. Pe de alt_
parte, o defeciune ntr-un echipament critic, cum ar fi transponderele de
telecomunicaii de pe sateliii artificiali, ar determina c_derea unor ntregi
sisteme, ceea ce este inadmisibil. n astfel de cazuri, funcionarea satisf_c_toare
impune o fiabilitate de 100%.

Durata timpului de funcionare pentru un sistem de comutare telefonic_ este,


pur i simplu, durata de de via_ a echipamentului care a fost folosit n sistem.
Sistemul de comutare trebuie s_ funcioneze continuu, f_r_ ntreruperi, pn_
cnd echipamentul este nlocuit la sfritul vieii lui sau este ndep_rtat pentru
orice alt motiv. Deoarece servirea trebuie s_ fie asigurat_ 24 de ore pe zi, nu
poate s_ existe timp programat pentru reparaii sau pentru ntreinere, timp n
care sistemul s_ fie neoperaional. Obiectivul fiabilit_ii de trei minute de
neoperare pe an (dou_ ore de nefuncionare n patruzeci de ani) i MTTR-ul
de patru ore pot fi tradui ntr-o disponibilitate de sistem de 99,9995%.

n contrast, aplicaii critice pentru controlul avioanelor, ca n cazul lui SIFT


(Software-Implemented Fault Tolerance) i FTMP (Fault-Tolerant MultiPro-
cessor), pretind fiabilitate ultranalt_. Parametrii proiect_rii cer ca sistemul
s_ treac_ prin mai puin de 10-9 deterior_ri n timpul unei misiuni de 10 ore
cu un MTTR de 10 ore. Factorul de disponibilitate este egal, n aceast_ situaie,
cu 99,9999999%.

Cerinele fiabilit_ii determin_ ntr-un grad mai mare arhitectura sistemului,


tipul i cantitatea de redundan_ precum i costul sistemului. Redundana dual_
se dovedete a fi adecvat_ aplicaiilor telefonice. Pe de alt_ parte, pentru

18
controlul critic al avioanelor, triplarea cu rezerv_ este necesar_ pentru a achita
un grad mare de fiabilitate.

2.1.7 Tehnici de redundan_

Defeciunile hardware pot afecta secvenele de comand_ sau cuvintele de date


care se afl_ n interiorul mainii. Acest lucru duce la dou_ tipuri de erori:

a) secvena programului este neschimbat_, dar defeciunea a afectat


rezultatele finale;

b) secvena programului este schimbat_, iar programul nu mai execut_


algoritmul specificat.

Erorile software sunt rezultatul unor traduceri (translat_ri) greite sau ale unor
implement_ri improprii ale algoritmilor originali i, de asemenea, deviaz_
execuia instruciunilor de la secvena corect_. n multe situaii, din p_cate,
defeciunile hardware nu pot fi distinse de cele software. Din acest motiv,
sistemele trebuie s_ fie tolerante la defeciuni, indiferent de sursa acestora.

O modalitate bun_ de a produce calculatoare tolerante la defecte este aceea


de a introduce redundana prin multiplicarea p_rilor lor. Redundana permite
calculatoarelor s_ ocoleasc_ erorile, n felul acesta rezultatele fiind corecte.
Aceast_ metod_ este cunoscut_ ca redundan_ de protecie, fiind compus_ din
redundane hardware, software i de timp.

Redundana hardware este constituit_ din componente adiionale, care


detecteaz_ i corecteaz_ erorile. Performana este superioar_ celorlaltor dou_
tipuri de redundan_, ns_ i costurile implement_rii sunt sensibil mai mari.

Redundana software conine programe adiionale, care au capacitatea de a


restabili funcionalitatea sistemului, n condiii problematice. De asemenea,

19
mai poate conine programe de detecie a erorilor, de diagnoz_ i de
autocontrol, prin care s_ testeze periodic toate circuitele logice ale calcula-
torului.

Redundana temporal_ este obinut_ prin repetarea unei operaii eronate, imediat
dup_ repetarea unei erori. Redundana temporal_ se implementeaz_ adesea prin
hardware. De exemplu, logica hardware poate iniia recitirea automat_ a unei
locaii de memorie n care s-a detectat o eroare de paritate.

Chiar dac_ redundana de protecie este clasificat_ funcional n trei tipuri


diferite, n practic_ ele se contopesc adesea, pentru asigurarea unei fiabilit_i
sporite. n cazul redundanei software, programul de control are nevoie att
de spaiu de memorie (hardware), ct i de timp de execuie

Fiecare dintre aceste tipuri de redundan_, precum i diferitele lor combinaii,


au fost folosite n proiectarea calculatoarelor tolerante la defeciuni. Prioritatea
acordat_ la implementare unuia dintre tipurile de redundan_ enumerate mai
sus se face n funcie de tipul aplicaiei i de restriciile impuse de costuri, de
cerinele de timp i de cerinele de fiabilitate.

2.2 Metode de autocontrol, implementate hardware

Att structura redundanei dinamice ct i cea a redundanei statice, descrise


mai sus, sunt metode care folosesc p_ri de rezerv_ pentru a face sistemul
capabil s_ tolereze defeciunile. Atunci cnd se folosete redundana static_,
unit_ile de rezerv_ (circuite, componente sau subsisteme) sunt p_ri permanent
active ale sistemului. Ele corecteaz_ erorile sau le mascheaz_ mpiedicnd,
astfel, propagarea lor n sistem. Funcia masc_rii intervine automat, iar aciunea
de corectare este imediat_ i ncorporat_ (wired in). Tipuri statice de redundan_
au fost folosite, mai nti, n aplicaiile militare care pretindeau o nalt_
fiabilitate pentru o perioad_ scurt_ de timp, iar, mai recent, n aplicaiile

20
comerciale. Redundana dinamic_, la care subsistemele adiionale servesc ca
rezerve n interiorul sistemului, s-a folosit n aplicaiile comerciale.

Componentele majore ale toler_rii defeciunilor sunt: detectarea erorii,


diagnosticarea erorii (izolarea), restabilirea i repararea. n cazul redundanei
dinamice, cea mai important_ component_ este detectarea erorii. Dac_ toate
erorile ar fi detectate i s-ar aplica tehnicile corespunz_toare de restabilire,
atunci nici o defeciune n-ar conduce sistemul la deteriorare. Din p_cate,
aceast_ acoperire nu se poate realiza n practic_.

Viteza detect_rii erorii influeneaz_ procesul de localizare a defeciunii i


st_pnirea ei. De asemenea, este important s_ se realizeze ct mai repede
urm_torul pas, mnuirea sau izolarea defeciunii, astfel nct defeciunea s_
nu se propage. Detectarea ntrziat_ poate deforma date importante n tot
sistemul. Viteza detect_rii este, de asemenea, important_ pentru localizarea
sursei de erori: cu ct ntrzierea este mai mare, cu att este mai greu s_ se
g_seasc_ sursa. Diagnosticarea incorect_ mpiedic_ rezervele funcionale de
la nlocuirea corect_ a unit_ilor defecte. Mai mult dect att, viteza de detectare
afecteaz_ direct revenirea sistemului.

n general, detecia erorii este realizat_ prin utilizarea de hardware, firmware


i software. Tipul schemelor de control utilizate depinde att de structura logic_
a mainii ct i de utilizarea operaional_ i funcional_ a datelor i a semnalelor
de comand_.

Schemele hardware de detectare a erorii ncorporate ntr-un sistem de calcul


pot avea mai multe forme. Majoritatea acestor tehnici se ncadreaz_ n
clasificarea urm_toare:

a) controale prin copii (replication checks);

b) controale de codificare (coding checks);

c) controale de temporizare (timing checks);

21
d) controale de excepii (exception checks).

Detectarea erorii poate fi amplasat_ strategic n interiorul unei unit_i


funcionale sau la interfa_. Este mai avantajos dac_ detecia erorii se face
intern, la stadiul ei timpuriu, n timpul funcion_rii sistemului care genereaz_
rezultatele.

Controalele interne sau timpurii minimizeaz_ cantitatea activit_ii sistemului


i tranziiile eronate cauzate de o defeciune. Astfel, nu este timp suficient
pentru a se propaga defeciunea n interiorul sistemului, iar aciunile necesare
pentru izolarea ei i pentru revenire la normal vor fi, probabil, mai simple. Pe
de alt_ parte controalele de interfa_ sau cele de ultimul moment sunt activate
nainte de a se transmite orice fel de rezultat de la o unitate funcional_ la alta.
Acest fapt mpiedic_ propagarea erorilor n exterior spre o alt_ unitate
funcional_ i simplific_ cea mai dificil_ problem_, i anume revenirea global_.
Eroarea este coninut_ n interiorul nivelului n care a fost detectat_.

2.2.1 Controlul prin copii

Controlul prin copii este una dintre cele mai complete metode de detectare
a erorilor dintr-un sistem de calcul. Din cauza echipamentului hardware
necesar, aceast_ metod_ este, de asemenea, i cea mai costisitoare tehnic_ de
redundan_. Num_rul copiilor dintr-un sistem nu trebuie s_ fie limitat la doi.
Atunci cnd trei sau mai multe copii ale unui sistem sunt implicate, controlul
compar_rii este referit ca votare. Votarea asigur_ suprimarea unei ieiri eronate
prin mascarea n favoarea majorit_ii ieirilor. Un exemplu de controlare prin
copii ntr-un sistem de redundan_ tripl_, modular_ este FTMP (Fault Tolerant
Multiple Processor) dezvoltat pentru calculatoarele avioanelor.

Controalele prin copii bazate pe copii identice ale unui sistem nu detecteaz_
consecinele greelilor de proiectare, deoarece sunt afectate toate copiile

22
unit_ii. Din acest motiv, este necesar_ apelarea la tehnici formale de verificare
a proiect_rii astfel nct s_ se asigure c_ nu exist_ greeli de proiectare n
structur_ care ar putea ocoli protecia realizat_ de copiere.

Mahmood i McCluskey prezint_ cteva tehnici de detecie a erorilor bazate


pe utilizarea unui procesor watchdog. Acest procesor, care poate fi numit
coprocesor de control, este mai puin complex dect procesorul principal i
detecteaz_ erorile prin monitorizarea comportamentului sistemului. Informaia
furnizat_ c_tre coprocesorul de control poate fi legat_ de comportamentul
acceselor la memorie, cursul comenzilor, semnalele de comand_ sau chiar de
justificarea rezultatelor. Asemenea duplic_rii, pentru detecia erorilor, aceast_
tehnic_ nu depinde de modelul de defeciuni adoptat i are, n schimb, avantajul
c_ necesit_ mai puin hardware.

2.2.2 Controale de codificare

Codurile detectoarelor de erori se formeaz_ prin ad_ugarea unor bii de control


la un cuvnt de date. n acest caz, capacitatea de detecie a erorilor este direct
proporional_ cu num_rul de bii de control inclui ntr-un cuvnt. Exist_ dou_
tipuri de controale de codificare: separabile i neseparabile. n literatura de
specialitate, ele mai poart_ denumirea de controale de codificare sistematice
i nesistematice. Controalele separabile (separable checks), cum sunt controlul
de paritate i codurile aritmetice, sunt caracterizate prin ad_ugarea biilor de
control la cuvintele de date. Controalele neseparabile (nonseparable checks),
cum este codul m-din-n, sunt codificate n formate specializate.

2.2.3 Controale de temporizare

Controlul de temporizare este o form_ eficace de a controla software-ul pentru


detecia erorilor n programele duplicate, atunci cnd specificaia unei
componente include constrngeri de timp.

23
Un temporizator hardware, numit i watch-dog timer, este folosit n sisteme
de comutare telefonic_ pentru ap_rarea mpotriva erorilor de programare din
cauza c_rora sistemul nu-i mai poate reveni. Conceptul este relativ simplu.
Un ceas hardware merge continuu n procesor i este resetat periodic de c_tre
programul principal dac_ nu se ntmpl_ nimic neobinuit care s_ devieze
programul din secvena lui normal_ de execuie.

Dac_ dintr-un anumit motiv (eroare software sau defeciune hardware) secvena
execuiei nu se mai ntoarce la programul principal, ceasul nu se reseteaz_.
n aceast_ situaie, ceasul pune n circulaie o cerere de ntrerupere de nalt_
prioritate i ntreprinde aciunile necesare reiniializ_rii sistemului. n cazul
n care exist_ n sistem nc_ un procesor stand-by, ntreruperea ceasului poate
produce comutarea automat_ a controlului pe main_ stand-by, ntr-o tentativ_
de revenire din eroarea de time-out.

Controalele de temporizare asupra funcion_rii unui circuit nu sunt controale


complete pentru sistem. Ele relev_ prezena defeciunilor (erorilor), dar nu i
absena lor. Ca urmare, arhitecii calculatoarelor folosesc controalele de
temporizare ca s_ suplimenteze alte controale i ca s_ acopere un procent mai
mare de defeciuni ale unui sistem.

2.2.4 Controale de excepie

Programele ruleaz_ n medii protejate folosind seturi de constrngeri


prestabilite. Dac_ programele nu conin erori, ele in cont de aceste constrngeri
i i realizeaz_ n mod corespunz_tor funciile specificate. Totui, greelile
de proiectare din software violeaz_, adesea, aceste constrngeri, influennd,
n mod nefavorabil, ntregul sistem. Unele circuite hardware de detecie sunt
adesea proiectate n sistem pentru a recunoate erorile de proiectare i pentru
a le trata ca excepii. Deci, tratarea excepiilor se refer_ la detectarea i
mnuirea evenimentelor anormale i nedorite.

24
Constrngerile pot fi atribuite structurii hardware sau celei software. Exemple
de constrngeri hardware sunt: alinierea improprie de adrese, locaii de
memorii neechipate, opcod neutilizat, dep_irea stivei etc. Structura software
pune, de asemenea, cteva constrngeri sistemului pentru a-i mbun_t_i
rezistena i pentru a furniza un mediu protejat programelor de aplicaii.

Cteva controale software de excepie sunt: execuia ilegal_ a instruciunilor


privilegiate, dep_irea de adres_ (out of range), violarea memoriei (memory
acces violation), operanzi ilegali, operaii aritmetice necorespunz_toare,
dep_irea sau mp_rirea cu zero.

Detectarea unei erori iniiaz_ o excepie care este urmat_ de invocarea automat_
a subrutinei de mnuire a excepiei respective. n multe cazuri, excepia este
atribuit_ unei greeli de proiectare a programului.

2.2.5 Restabilirea erorii

Restabilirea este cea mai complex_ i mai dificil_ funcie pentru toate sistemele
din cauza multitudinii st_rilor posibile ale sistemului care pot s_ apar_ sub
condiii problematice. Neajunsurile proiect_rii hardware sau software de a
detecta erorile atunci cnd apar au un efect direct asupra abilit_ii sistemului
de a se restabili. Cnd erorile continu_ s_ fie nedetectate, sistemul r_mne
defect pn_ cnd problema este recunoscut_. Un alt tip de restabilire apare
atunci cnd sistemul nu este capabil s_ izoleze corespunz_tor un subsistem
defect i s_ reconfigureze, n jurul lui, un sistem operaional. Detectarea ct
mai rapid_ a unei erori uureaz_ determinarea componentei defecte i
restabilirea sistemului. Deci, detectarea rapid_ a erorii i izolarea ei sunt
condiiile fundamentale ale restabilirii.

25
2.2.5.1 Clasificarea procedurilor de restabilire

Exist_ trei clase de proceduri de restabilire: restabilirea total_ (full recovery),


restabilirea degradat_ (degraded recovery) i nchiderea pentru salvare (safe
shutdown). Procedurile de restabilire pot fi invocate automat (f_r_ nici o
interaciune ntre operatorul de ntreinere i sistem) sau manual. Restabilirile
iniiate manual fac uz de secvene vaste, controlate prin program.

2.2.5.1.1 Restabilirea total_

ntr-o facilitate de timp real, sistemul care furnizeaz_ servicii n mod continuu
trebuie s_ r_mn_ operaional chiar i ntr-un mediu defect. Aceasta nseamn_
c_ simptomele trebuie s_ fie recunoscute repede i unit_ile defecte trebuie
s_ fie reparate cu puin_ sau chiar f_r_ intervenie din partea utilizatorului.

Pentru a dispune de sistem tot timpul i la ntreaga capacitate


subsistemele corespunz_toare de schimb trebuie s_ fie disponibile ca unit_i
de nlocuire pentru cele defecte.

O procedur_ de restabilire total_ are nevoie, n mod obinuit, de toate cele cinci
aspecte ale calcul_rii tolerante la defecte: detectarea erorii, izolarea erorii,
restabilirea sistemului, diagnosticarea erorii i repararea ei. Perioada de
ntrerupere a servirii, n timpul procesului de restabilire, este minimizat_ i,
de obicei, nu este observat_ de c_tre utilizator.

Diagnosticarea i repararea, care consum_ cel mai mult timp n cadrul


procedurii de restabilire, pot fi amnate i intercalate printre operaiunile
normale ale sistemului.

26
2.2.5.1.2 Restabilirea degradat_

Ca i n cazul restabilirii totale, toi paii implicai n tolerarea defeciunii


(detectare, izolare, restabilirea sistemului, diagnoz_ i reparare) trebuie s_ fie
inclui n procedur_. Aceeai secven_ de evenimente apare la procedura
degradat_, exceptnd faptul c_, n acest caz, nu se cupleaz_ alt subsistem n
locul celui defect. n schimb, componenta defect_ este scoas_ din funcie i
sistemul se ntoarce la o stare operaional_ f_r_ defeciuni. Funciile de
calculare selectate sunt l_sate s_ opereze n sisteme care utilizeaz_ proceduri
de restabilire degradat_, iar din aceast_ cauz_ caracteristicile performanei lor
n timp real scad sub un standard normal acceptat pn_ cnd se realizeaz_
reparaiile corespunz_toare.

2.2.5.1.3 nchiderea pentru salvare

Aceasta este, adesea, denumit_ i operaie de salvare din malfuncionare


(fail-safe operation). Ea apare ca un caz limit_ al restabilirii degradate, cnd
capacitatea de calcul a sistemului a sc_zut sub limita minim_ acceptabil_ a
operaiei. Scopurile nchiderii pentru salvare sunt:

a) evitarea distrugerii elementelor sistemului sau a modulelor software


stocate (programe sau date) care mai pot fi compromise dup_ ce
a intervenit operaia de restabilire degradat_;

b) ncetarea interaciunii cu orice sistem asociat (utilizator) ntr-un mod


ordonat;

c) distribuirea diagnosticului i a mesajelor de nchidere la utilizatori,


la anumite sisteme i la personalul de ntreinere.

27
Categoria procedurii de nchidere pentru salvare este similar_ unui sistem f_r_
redundan_. Aciunea de izolare a defeciunii trebuie s_ fie iniiat_ pentru a
se determina identitatea ei i locul n care se afl_. Funcionarea normal_ a
sistemului, care a fost ntrerupt_ la momentul derect_rii defeciunii, trebuie
s_ fie, acum, suspendat_ datorit_ diagnozei i repar_rii. Sistemul trebuie s_
fie restabilit, att din punct de vedere hardware, ct i software, astfel nct
s_-i poat_ relua procesarea normal_.

2.2.5.2 Reconfigurarea

n sistemele redundante, un ansamblu de piese de schimb sau de unit_i


multifuncionale asigur_ continuitatea funcion_rii sistemului. Structura cea
mai simpl_ este configuraia duplex, n care fiecare unitate funcional_ este
duplicat_. Dac_ una dintre unit_i se defecteaz_, unitatea duplicat_ se cupleaz_
p_strnd, astfel, continuitatea funcion_rii, n timp ce unitatea defect_ se repar_.
n timpul perioadei de reparaie poate s_ apar_ o defeciune n unitatea
duplicat_, caz n care ntregul sistem se va deteriora. Dac_ intervalul de
reparaie este scurt, atunci probabilitatea de defectare, simultan_, a dou_ unit_i
identice este foarte mic_.

Configuraia duplex cu o singur_ unitate poate fi partiionat_ ntr-o configuraie


duplex multi-unitate. n acest aranjament, fiecare subunitate conine un num_r
mic de componente care pot fi comutate ntr-un sistem n lucru. Sistemul va
pica numai dac_ o eroare apare n subunitatea redundant_, n timp ce
subunitatea original_ este supus_ reparaiei. Din moment ce fiecare subunitate
conine cteva componente, probabilitatea de apariie a defeciunilor simultane
ntr-o pereche dubl_ de subunit_i este redus_.

28
2.3 Metode de autocontrol implementate software

Necesitatea dezvolt_rii mecanismelor software pentru detectarea erorilor de


programare este foarte acut_ atunci cnd se pune problema construirii unor
sisteme fiabile. Mecanismele hardware, chiar dac_ sunt foarte avansate din
punct de vedere tehnologic, nu sunt specializate n analiza erorilor software.

Spre deosebire de ratele de deteriorare ale componentelor hardware, despre


comportamentul i distribuia erorilor de programare nu exist_ statistici de
ncredere. Detecia erorilor software se poate realiza numai prin recunoaterea
comportamentului anormal al sistemului.

Pentru detectarea eventualelor devieri, este nevoie de un set de standarde pentru


descrierea comportamentului normal. Prin controlarea motivaiilor comport_rii
programului n anumite stadii ale calcul_rii, se reuete detectarea rapid_ a
erorilor i limitarea propag_rii detelor eronate.

Exist_ mai multe tehnici generale pentru urm_rirea comportamentului unui


sistem de calcul i detectarea devierilor de la comportamentul normal. Printre
acestea sunt: funcia unui proces, secvena de comand_ a unui proces, date de
proces. Un proces este definit, aici, ca fiind o poriune de calcule de sine
st_t_toare, care, o dat_ iniiat_, se realizeaz_ complet f_r_ a mai avea nevoie
de intr_ri adiionale.

2.3.1 Funcia unui proces

Motivarea ieirilor pentru un set dat de intr_ri este controlat_ la nivelul blocului
funcional. Anumite m_suri de performan_ pot fi folosite pentru a se indica
funcionarea corespunz_toare. Atunci cnd nc_rcarea aplicat_ este normal_,

29
dar m_sur_torile care caracterizeaz_ performana sistemului (timpul de r_spuns,
debitul i timpul necesar pentru a se realiza o funcie standard) sunt n afara
valorilor limit_, sistemul are, probabil, una sau mai multe erori.

2.3.2 Secvena de comand_ a unui proces

Calculele f_cute de c_tre un proces aflat n execuie sunt denumite secven_


de comand_ (control sequence). Fiecare calcul schimb_ multe st_ri ale
sistemului i detecteaz_ multe dintre neregulile acestuia. Este evident c_ logica
necesar_ calcului secvenei de comand_ trebuie s_ fie ct mai fiabil_, pentru
a nu constitui ea ns_i o surs_ suplimentar_ de erori.

2.3.3 Date de proces

Integritatea datelor unui sistem i structura lui pot fi observate n timp ce


sistemul execut_ secvena programului, adic_ n timpul funcion_rii normale
a sistemului. Deteriorarea datelor poate fi cauzat_ att de o defeciune
hardware, ct i de o eroare software.

2.3.4 Restabilirea software

Obiectivul restabilirii dup_ o eroare este revenirea sistemului la o stare


consecvent_ i la o funcionare corespunz_toare.

30
Exist_ trei strategii de restabilire:

a) restabilirea cu ntoarcere (backward error recovery);

b) restabilirea cu salt nainte (forward error recovery);

c) reiniializarea (reset-ul).

2.3.5 Diagnosticarea erorii

innd cont c_ detectarea erorii determin_ corectitudinea funcion_rii unui


circuit, diagnoza erorii localizeaz_ defeciunea la o unitate nlocuibil_. Unitatea
nlocuibil_ poate fi o component_, un circuit sau un subsistem. Rutina de
diagnosticare a erorii utilizeaz_ hardware pentru detectarea erorii i secvene
de test n scopul localiz_rii unit_ii defecte. Dac_ sursa erorii o constituie o
singur_ entitate, atunci defeciunea este corectat_, simplu, prin nlocuirea
entit_ii respective, f_r_ s_ mai fie necesar_ diagnoza. Dac_ circuitul de detecie
este mai puin specializat, atunci rutina de diagnosticare a erorii poate fi
solicitat_ la izolarea, n continuare, a unit_ii afectate.

2.3.6 Validarea fiabilit_ii

Cele mai dificile sarcini ale proiect_rii ntreinerii sunt: restabilirea sistemului
i diagnosticarea. Eficacitatea lor poate fi determinat_ prin simularea modului
de comportare a sistemului n prezena unei anumite defeciuni. Prin
intermediul simul_rii deficienele proiect_rii pot fi identificate i corectate
nainte de a se da sistemul spre utilizare. Este necesar s_ se evalueze abilitatea
sistemului la detectarea erorilor, la revenirea automat_ la funcionarea normal_

31
i la furnizarea informaiei de diagnoz_ (de exemplu: locaia defeciunii).
Simularea, fizic_ sau digital_, a defeciunii este un aspect important al
proiect_rii ntreinerii.

32
3 AUTOCONTROLUL CA MIJLOC DE
CRETERE A FIABILIT^II I
DISPONIBILIT^II SISTEMELOR DE
CALCUL

3.1 Metode de autocontrol aplicate la diferite niveluri de


structur_

3.1.1 Caracteristicile metodelor de proiectare structurat_ la nivel de


bistabil

Progresele recente din tehnologia VLSI au avut o mare influen_ asupra test_rii
sistemelor digitale (numerice). Sistemele digitale de ast_zi au de la o sut_ de
mii pn_ la un milion de pori de logic_ aleatoare i de celule de memorie, ceea
ce face ca generarea testului i simularea defeciunilor s_ fie extrem de dificile.
Chiar dac_ se pot folosi maini hardware dedicate sau super-computere pentru
a genera teste eficace, costul acestora face imposibil_ aplicarea lor n practic_.
Pentru a se dep_i aceast_ problem_, cercetarea s-a ndreptat c_tre g_sirea altor
metode de testare a sistemelor digitale, incluznd proiectarea pentru testabilitate
i generarea de test la nivel funcional (simularea defeciunilor).

33
Figura 1. Modelul Huffman al tehnicii SCAN.

Dintre toate tehnicile propuse pn_ n prezent, proiectarea pentru testabilitate


(DFT, Design For Testability) este cea mai renumit_, iar dintre toate tehnicile
DFT, cea mai folosit_ este tehnica scan_rii (scan-design). n tehnica scan_rii
(i se mai spune tehnic_ sau metod_ SCAN), bistabilele sunt conectate ntr-un
circuit serial i sunt folosite ca terminale de tip I/O. Prin aplicarea tehnicii de
scanare putem transforma un circuit secvenial n unul combinaional, f_cnd
astfel mai simpl_ generarea pattern-urilor de test pentru circuit. De asemenea,
se poate partiiona logic circuitul n cteva subcircuite i se pot genera, pentru
fiecare n parte, pattern-urile de test.

Firma NEC a aplicat cu succes tehnica proiect_rii de scanare la sistemele


comerciale de calcul. Tehnica numit_ cale de scanare (scan-path) a fost
implementat_ de la nivel de capsul_ la nivel de sistem i a devenit o ustensil_
puternic_ pentru testarea i diagnoza sistemelor de calcul VLSI. Conceptul
scan in/scan out, care st_ la baza tehnicii de scanare, a fost introdus pentru
prima dat_ de c_tre Carter s.a. pentru dezvoltarea testelor de localizare a

34
defeciunilor la sisteme IBM 360. NEC a dezvoltat metoda c_ii de scanare
pentru a rezolva unele probleme, cum ar fi utilizarea intensiv_ a MSI/LSI din
sistemele comerciale de calcul, precum i num_rul mare de pori aflate pe
pl_cile acestor sisteme.

Metoda c_ii de scanare pare s_ fie o soluie promi_toare pentru rezolvarea


acestor probleme, deoarece permite mai mult_ controlabilitate i observabilitate
asupra circuitului supus test_rii. n plus, se pot testa att circuitele combina-
ionale ct i cele secveniale. Conceptele de controlabilitate i observabilitate
se definesc n felul urm_tor:

a) Controlabilitatea arat_ ct de uor se poate produce un semnal


arbitrar, valid la intr_rile unei componente (subcircuit) prin
excitarea intr_rilor primare ale circuitului. De fapt, ea reprezint_
abilitatea de a comanda un semnal doar prin intermediul intr_rilor
primare. O linie care poate fi poziionat_ pe 1 logic se numete
1-controlabil_, alt_ linie care poate fi poziionat_ pe 0 logic se
numete 0-controlabil_, iar linia care poate avea ambele st_ri
logice se numete complet controlabil_;

b) Observabilitatea arat_ ct de uor se poate determina la ieirile


primare ale circuitului ceea ce se ntmpl_ la ieirile unei compo-
nente (subcircuit). Cu alte cuvinte, ea este abilitatea activ_rii unei
c_i de la semnalul cercetat pn_ la un punct m_surabil.

Prin componente se neleg fie circuite integrate standard (SSI i MSI) pentru
circuite la nivel de plac_, fie celule standard de module de bibliotec_ pentru
circuite LSI i VLSI. De asemenea, se presupune c_ mai multe componente
sunt conectate cu leg_turi unidirecionale.

Circuitul testat prin metoda c_ii de scanare poate fi partiionat logic n mai
multe subcircuite, iar programele de test pot fi generate, independent pentru
fiecare subcircuit. Costul total al ntregului circuit scade la .2 / n , unde n este
num_rul de subcircuite, iar . este rata de suprapunere. Tabelul urm_tor arat_
o comparaie ntre m_rime i cost.

35
Denumire M_rime Cost
Circuit original 1 1
Subcircuit . /n (. / n )2

Circuit expandat . .2 / n

Evident c_ . depinde de n i, din acest motiv, proiectanii trebuie s_ decid_


cu atenie num_rul de subcircuite necesare. Pentru un circuit bine proiectat,
care este preg_tit pentru partiionare, valoarea lui . este sub 1,7. Calea de
scanare poate facilita localizarea defeciunii pentru c_ procesorul de diagnoz_
poate s_ urm_reasc_ uor starea intern_ a sistemului. Hardware-ul adiional
este foarte puin (de la 4% la 10%) i este potrivit pentru un calculator VLSI
deoarece necesit_ relativ puini pini adiionali de I/O.

Figura 2. Tehnic_ SCAN bazat_ pe registre


de deplasare.

Bistabilul transformat cu cale de scanare, utilizat ca i circuitul de baz_, include


dou_ tipuri de semnale de clock, C1 pentru operaia normal_ i C2 pentru

36
operaia de deplasare. Astfel, bistabilele unei pl_ci logice sunt conectate n
serie printr-o cale de scanare i opereaz_ ca un registru serial de deplasare
utiliznd Clock II, intrarea de test (scan in) i ieirea de test (scan out).
Utiliznd o adres_ de selecie a pl_cii logice, putem selecta o anumit_ plac_
dintr-o unitate logic_.

Chiar dac_ tehnica scan_rii este o tehnic_ DFT puternic_, pentru testarea logicii
aleatoare, aplicarea ei poate pune probleme n diferite tipuri de circuite. Un
astfel de tip sunt irurile de memorie ncorporate n circuite de logic_ aleatoare.
Aplicarea direct_ a tehnicii de scanare la fiecare celul_ de memorie din ir cost_
foarte mult. O soluie posibil_ este aplicarea tehnicii de scanare la un anumit
cuvnt din irul de memorie i accesarea cuvntului fixat n timpul test_rii
circuitului. Oricum, din moment ce, n timpul test_rii, memoria funcioneaz_
ca un registru, ea trebuie testat_ utiliznd alt_ procedur_.

Tehnica scan_rii s-a dovedit foarte eficace pentru proiectarea circuitelor


bipolare, dar este greu de aplicat la un circuit MOS i mai ales la un circuit
MOS dinamic. Dificultatea apare, n primul rnd, din cauza hardware-ului
adiional. Un bistabil MOS dinamic este limitat la cteva tranzistoare i
supranc_rcarea hardware-ului adiional este mare pentru un circuit VLSI MOS.

Figura 3. Element SRL n


tehnica LSSD.

IBM introduce tehnica LSSD (Level Sensitive Scan Design) care include
tehnica scan_rii i, n plus, impune ca toate schimb_rile de stare s_ fie controlate
de nivelul semnalului de ceas i nu de frontul s_u (Level Sensitive Design).
Aceast_ abordare reduce dependena funcion_rii de timpii de propagare,
eliminnd cursele sau hazardul. Celula de baz_ este elementul de memorare

37
a informaiei, dependent de nivel, care asigur_ i tratarea semnalului de scan
n modul test, element numit SRL (Shift Register Latch).

3.1.2 Caracteristicile metodelor de proiectare structurat_ la nivel de


registru

Dei s-au scris foarte multe despre standardul de test boundary-scan


(IEEE 1149.1 Standard Test Acces Port and Boundary-Scan Architecture),
doar ctorva dispozitive li s-a implementat aceast_ arhitectur_. Acordarea
complet_ cu acest standard, ceea ce nseamn_ c_ proiectanii ar putea s_
foloseasc_ orice dispozitiv, cu asigurarea c_ este compatibil cu boundary-scan,
va ap_rea numai dup_ civa ani. Pn_ atunci, pl_cile cu cablaj imprimat vor
fi hibride, coninnd circuite (dispozitive) scanabile (dup_ standardul IEEE)
i dispozitive nescanabile. Aceste pl_ci necesit_ metodologii de testare bazate
pe ambele tehnici: pat de cuie (bed of nails) i boundary-scan.

Figura 4. Principiul Boundary Scan.

Testarea cu boundary-scan poate micora drastic timpul de dezvoltare al


sistemelor complexe. De asemenea, ea ofer_ posibilitatea test_rii sistemelor
care utilizeaz_ componente cu montare la suprafa_ de mare densitate i pl_ci
multistrat complexe. Ast_zi, aceste sisteme se pot testa cu ajutorul tehnicii
patului de cuie, dar exist_ probleme din cauza geometriei micorate a pinilor,
geometrie impus_ de tehnologia mont_rii la suprafa_. i n acest caz, avnd

38
unelte potrivite i dispozitive de susinere pentru boundary-scan, toat_ placa
poate fi testat_ complet, folosind numai calea boundary-scan.

Figura 5. Schema celulei Boundary Scan.


Pe de alt_ parte, patul de cuie i, n general, metodele de testare n circuit
(in-circuit) ofer_ cteva avantaje importante spre deosebire de boundary-scan.
Un astfel de avantaj cheie al test_rii n circuit este abilitatea diagnozei
deterior_rilor multiple la o singur_ trecere prin test. n plus, detectarea
scurt-circuitelor poate fi realizat_ nainte de punerea sub tensiune a pl_cii,
reducnd posibilitatea deterior_rii catastrofale cauzate de acestea ntre pini
i tensiunea de alimentare. De asemenea, testele n circuit permit realizarea
simultan_ a test_rii parametrice cu cea digital_.

Figura 6. Testarea interconect_rii


cu Boundary Scan.

Boundary-scan, n general, nu se refer_ la testarea dispozitivelor analogice


sau pasive. Contrar impresiei larg r_spndite, boundary-scan este compatibil

39
cu testarea n circuit i folosind o combinaie a celor dou_ se poate simplifica
semnificativ testarea pl_cilor.

Dispozitivul XC4005 FPGA este primul dintr-o familie de circuite compatibile


cu standardul boundary-scan. Fiecare pin de I/O al acestui dispozitiv poate
fi complet controlat i observat prin utilizarea unor abloane (pattern) de date
introduse serial n registrul de boundary-scan al lui XC4005 prin pinul TDI
(Test Data Input) i prin controlul prin pinii TMS (Test Mode Select) i TCK
(Test Clock) provenii din canalele ATE (Automatic Test Equipment). Acest
lucru este echivalent cu stimularea complex_ a intr_rilor pentru a obine aceeai
acoperire de test f_r_ boundary-scan.

Figura 7. Testarea
Boundary Scan la
nivel de cip.

3.1.3 Proiectarea structurat_ la nivel de bloc

ncorporarea facilit_ilor de test (BIT, Built-In Test) poate micora considerabil


timpul de ntreinere i costurile pentru sistemele electronice complexe prin
accelerarea deteciei i izol_rii defeciunilor. La nivel de plac_, testul ncorporat
(BIT) se realizeaz_, de obicei, prin aplicarea unui set de pattern-uri
pseudo-aleatoare pentru a se verifica existena defeciunilor i prin compri-
marea informaiei r_spunsului de test pentru a se obine o semn_tur_. Aceste
tehnici sunt eficace pentru pl_cile utilizate n scopuri generale att timp ct

40
seturile de cipuri care se testeaz_ reacioneaz_ la cele dou_ tehnici, dnd rar
semn_turi identice pentru pl_ci bune sau defecte.

Figura 8. Principiul unui circuit autotestabil.

Not_: McCluskey precizeaz_ c_ nu este recomandat_ utilizarea expresiei


test-response compression ca un sinonim al expresiei test-res-
ponse compaction, deoarece prin compactare se pierde din
informaie, n timp ce prin comprimare se elimin_ doar redun-
dana, f_r_ pierderea informaiei. n majoritatea literaturii de
specialitate pe care am consultat-o nu este respectat_ aceast_
opinie. Din aceast_ cauz_, precum i datorit_ faptului c_ n limba
romn_, cnd este vorba despre reducerea volumului secvenelor
binare r_spuns, este consacrat termenul de comprimare, n
continuare voi folosi denumirea comprimare.

41
3.1.3.1 Autocontrolul bazat pe principiul BILBO

Tehnica de determinare a st_rii unui cip sau a unei pl_ci prin folosirea
informaiei comprimate a r_spunsului de test se numete analiza semn_turii.
n general, metodele de analiz_ a semn_turii pentru testarea pl_cilor utilizeaz_
circuite cu observatori logici, de bloc, ncorporai (BILBO, Built-In-Logic
Block Observers) pentru a genera abloane pseudoaleatoare i pentru a
comprima r_spunsurile. BILBO este, deci, o schem_ ncorporat_ de generare
a testului care utilizeaz_, n conjuncie scan-designul cu analiza de semn_turi.
Componenta de baz_ a acestei tehnici de autotest este un registru de deplasare
numit registru BILBO care are patru moduri de funcionare.

Figura 9. Principiul BILBO.

Aceast_ tehnic_ elimin_ nevoia gener_rii i aplic_rii din exterior a abloanelor


de test. Totui, este nevoie de simularea defeciunilor pentru a se determina
acoperirea de defeciuni, realizat_ de secvene de vectori pseudoaleatorii. Mai
mult dect att, circuitul trebuie s_ fie simulat pentru a se obine valorile
semn_turilor n cazul funcion_rii corecte. Cantitatea datelor de test care trebuie
stocate i analizate este redus_ din moment ce r_spunsul circuitului la N
abloane de test este comprimat la un singur cuvnt.

42
Figura 10. Utilizarea principiului BILBO.

3.1.3.2 Modulul comutator de testare, ncorporat, pentru izolarea


defectelor

n unele aplicaii, n timpul operaiei normale, circuitele BILBO suprancarc_,


n mod nejustificat, schema din punct de vedere al consumului de energie, iar
izolarea defeciunilor dureaz_, de obicei, mult. n locul registrului BILBO,
s-a propus o alt_ variant_ de analiz_ a semn_turii, care utilizeaz_ un modul
numit comutator de testare SW (testing switch). Modulele SW pot mbun_t_i,
la nivel de plac_, timpul de testare i supranc_rcarea de putere a schemelor
de analiz_ a semn_turii implementate utiliznd circuitele BILBO.

n multe probleme de izolare a defeciunii este mai convenabil_ izolarea


defeciunii la un grup de cipuri dect la un singur circuit. Aceste grupuri se
numesc grupuri de ambiguitate (AG). Modulul SW genereaz_ abloane
pseudoaleatorii de test pentru a fi aplicate la intr_rile unui set AG, n timp ce,
simultan, comprim_ datele r_spunsului de test de la ieirile unui alt set AG.
Aceast_ caracteristic_ poate minimiza timpul total al testului de izolare a
defeciunii.

43
Utilizarea modulelor SW pentru izolarea defeciunilor introduce ntrzieri
adiionale ntre AG-uri, n timpul modului normal de operare. Totui, dac_
proiectanii implementeaz_ cipuri cu comutatorul de testare utiliznd tehnici
de mpachetare i tehnologii avansate, pot minimiza ntrzierile adiionale.
Se pare c_, n cazul multor aplicaii, aceast_ ntrziere va avea un efect
neglijabil asupra performanelor sistemului.

3.1.4 Controlul erorilor la nivel de procesor

Pradhan i Reddy au ar_tat c_, utiliznd redundana de ordinul duplic_rii, codul


de paritate poate realiza cu eficacitate controlarea erorilor. Conceptul este deja
utilizat ca un produs comercial, prin sistemul de comutare Philips S2500.
Acesta utilizeaz_ patru perechi procesor-memorie, fiecare procesor fiind pe
16 bii, iar memoria pe 8 bii. De aceea, exist_ redundan_ de ordinul patru
pentru procesoare i de ordinul doi pentru memorie. Ieirea pe 16 bii a fiec_rui
procesor este codificat_ ntr-o versiune (4,2) GF (28) de cod R-S, producnd
un cod de 32 de bii. Acest cod poate corecta orice bloc singular de 8 bii.
Fiecare codificator al ieirii procesorului produce doar 8 bii din cei 32 de bii
ai cuvntului de cod. Memoria asociat_ a celui de-al i -lea procesor stocheaz_
al i -lea octet. De aceea, codificatorul pentru procesorul i produce 8 bii care
corespund celui de-al i -lea octet.

La operaiunea de citire, toi cei patru octei sunt adui din memorie i
decodificai de c_tre decodificator, care poate corecta orice octet singular eronat
sau orice eroare de doi bii n doi octei diferii. Este de notat faptul c_
deteriorarea unui singur procesor sau a unei singure memorii afecteaz_ doar
un singur octet din cuvntul de cod. Din acest motiv, sistemul poate tolera
deteriorarea oric_rei perechi singulare procesor-memorie.

n plus, codul poate corecta tergerea unui octet singular precum i erorile
singulare de bit. Astfel, dac_ se demonteaz_ o pereche procesor-memorie pentru

44
reparaie, sistemul continu_ s_ opereze utiliz_nd decodificarea de erori-tergeri
(error-erasure decoding). La nivel de bit poate fi corectat_ orice subsecven_
de eroare singular_.

Aceast_ utilizare a codific_rii pentru controlarea erorii de procesor este


atractiv_. Singurul dezavantaj real este acela c_, datorit_ necodific_rii liniilor
de adrese la memorie, nu are loc corecia de eroare la operaia de scriere. n
general, prin utilizarea c_ilor netradiionale descrise mai sus, codul controlului
de paritate poate furniza un control eficace al erorilor procesorului. Utilizarea
lor va elimina necesitatea de conversie a codului i ntrzierea asociat_ n
transfer procesor-memorie, furniznd astfel controlul uniform al erorii.

3.2 Problematica construciei checker-elor de erori

Multe sisteme digitale includ detectoare de erori, adic_ circuite care detecteaz_
i semnalizeaz_ apariia erorilor. Exist_ dou_ motive principale pentru
includerea detectoarelor de erori ntr-un sistem i aceste motive sunt: prevenirea
ajungerii erorii pn_ la ieirea sistemului i localizarea poziiei erorii.

O cale pentru a preveni propagarea erorii este verificarea datelor recepionate


dup_ transferul de date i, dac_ se detecteaz_ o eroare, atunci fie se cere
retransmisia, fie se corecteaz_ datele utiliznd un cod corector de erori (ca n
memoriile RAM).

O alt_ cale este verificarea rezultatului unei operaii aritmetice i repetarea


operaiei dac_ rezultatul conine o eroare detectat_. Sistemele mari includ, de
obicei, detectoare de erori mpreun_ cu circuite pentru nregistrarea locaiei
i frecvenei evenimentelor de eroare. Aceast_ informaie este utilizat_ pentru
a facilita ntreinerea rapid_ i exact_.

45
3.2.1 Circuite de verificare dubl_ cale

Un circuit de verificare dubl_ cale (two-rail checker), adic_ un circuit care


controleaz_ dac_ fiecare pereche de intr_ri are valori complementare, este
utilizat pentru a converti cele n perechi de semnale ntr-o singur_ pereche de
semnale complementare dac_ i numai dac_ toate cele n perechi de intrare au
semnale complementare.

3.2.1.1 Checker de egalitate

Un tip foarte important de checker este cel care verific_ egalitatea, adic_ acela
care compar_ dou_ cuvinte de intrare pentru a determina dac_ biii cores-
punz_tori din ambele cuvinte au aceeai valoare. Checker-ul de egalitate este
componenta cheie n checker-ele pentru coduri separabile i pentru compararea
ieirilor circuitelor duplicate.

Un checker de egalitate cu autotestare poate fi obinut prin complementarea


tuturor biilor din unul dintre cuvintele care trebuie s_ fie comparate pentru
a forma un cod dubl_ cale (two-rail code). Checker-ele dubl_ cale discutate
mai sus pot fi utilizate pentru a realiza un checker testabil de egalitate. O alt_
posibilitate este aceea de a concatena cuvntul complementat i cel necomple-
mentat pentru a forma un cuvnt de cod care are jum_tate din biii lui egali
cu 1. Un checker k din 2k poate fi utilizat pentru a forma un checker testabil
de egalitate.

3.2.1.2 Checker M din N

Checker-ele M din N formeaz_ o alt_ clas_ de checker-e ncorporate. Dei sunt


mai puin importante dect celelalte, totui sunt utilizate. Checker-ul 1 din n

46
este folosit pentru a monitoriza operarea corect_ a reelelor complete de
decodificare.

O implementare cu autotestare a acestui checker este format_ prin conectarea


tuturor ieirilor decodificate care corespund intr_rilor cu paritate par_ la o
poart_ SAU i tuturor ieirilor care corespund intr_rilor cu paritate impar_ la
o alt_ poart_ SAU.

Ieirile celor dou_ pori au fie 10, fie 01, atunci cnd decodificatorul opereaz_
corect. Schema este cu autotestare deoarece porile SAU recepioneaz_ toate
configuraiile de intrare (00, 10, 01) necesare test_rii lor pentru defeciuni
singulare de tip punere pe (stuck-at) n timpul oper_rii normale. Aceast_ schem_
poate fi convertit_ ntr-un circuit testabil cu o singur_ ieire.

Codurile cu ponderea fix_ m-din-n se utilizeaz_ atunci cnd se dorete att


detectarea tuturor defectelor singulare de tip stuck-at, ct i a celor unidireci-
onale.

Codul zecimal 2 din 5 este cel mai cunoscut exemplu al unui cod M din N.
Codurile k din 2k sau k din 2k 1 sunt implement_rile uzuale deoarece conin
num_rul maxim de cuvinte de cod pentru o lungime cunoscut_ a cuvntului.

3.2.2 Circuite cu autoverificare total_, ncorporate

Carter i Schneider au ridicat obiectivele autoverific_rii (self-checking) i au


dezvoltat circuitul TSC (Totally Self-Checking), care are mai multe intr_ri i
ieiri. n timpul oper_rii normale (f_r_ defeciuni) un circuit TSC nu recepi-
oneaz_ toate combinaiile posibile la intr_ri, ci numai un subset al tuturor
combinaiilor posibile numit spaiul codului de intrare (input-code space). De
asemenea, el nu produce toate combinaiile posibile de ieire, ci numai un
subset numit spaiul codului de ieire (output-code space).

47
Checker-ul TSC este un circuit combinaional care simplific_ sarcina unui
observator. Dac_ unitatea funcional_ TSC produce o ieire care aparine
spaiului codului de ieire, checker-ul TSC indic_ faptul c_ nu exist_ nici o
eroare. O ieire care nu aparine spaiului codului de ieire se numete ieire
ilegal_ (noncode) i, dac_ checker-ul g_sete o astfel de ieire la unitatea
funcional_, atunci indic_ existena unei erori.

O situaie interesant_ apare atunci cnd checker-ul are o defeciune. Din


moment ce se presupune c_ unitatea are numai o singur_ defeciune la un
moment dat, se poate considera c_, dac_ checker-ul are o defeciune, unitatea
funcional_ nu are nici o defeciune i, deci, nu va produce nici o ieire ilegal_.
Astfel, este nevoie de un mecanism prin care fiecare defect din interiorul
checker-ului s_ se releve ca o eroare la ieirea lui. Este necesar, de asemenea,
s_ se codifice ieirile checker-ului printr-un cod detector de erori unidirec-
ionale. Checker-ul trebuie s_ produc_ un num_r ct mai mic de ieiri deoarece
acestea vor fi monitorizate din exterior. Cel mai mic cod nesistematic cunoscut,
numit i cod dubl_ cale (dual-rail code) este {01, 10}. O eroare unidirecional_
transform_ acest cod n {00 sau 11} i astfel ieirile checker-ului vor indica
o eroare. Deci, se poate detecta o defeciune/eroare prin observarea unei ieiri
ilegale la un checker, iar pentru a detecta o defeciune n interior este nevoie
de aplicarea unor intr_ri specifice (configuraii de bii, vectori) numite intr_ri
de test. Astfel, se presupune, n mod implicit, c_ toate intr_rile de test ale unui
sistem TSC sunt aplicate n modul oper_rii normale.

n literatura de specialitate se ntlnesc urm_toarele definiii:

a) Un circuit se numete fault-secure (FS) pentru un set - de defeciuni,


dac_, pentru orice defeciune singular_ 2 - , circuitul produce
fie o ieire de cod, ateptat_ pentru intrarea respectiv_, fie o ieire
ilegal_ (noncode), dar nu produce un cuvnt de cod neateptat
pentru acea intrare;

b) Un circuit este numit self-testing (ST) pentru un set - de defeciuni


dac_ i numai dac_, pentru orice defeciune singular_ 2 - ,

48
circuitul produce o ieire ilegal_ (noncode) pentru cel puin o
intrare din cod;

c) Un circuit este numit totally-self-checking (TSC) dac_ este att


self-testing, ct i fault-secure pentru orice defeciune singular_
2 -;

d) Un circuit se definete drept code-disjoint (CD) dac_ n absena


defectelor, aplicnd intr_rilor primare un vector binar i valid al
codului, la ieire se obine, de asemenea, un vector binar valid
al respectivului cod, aa cum, dac_ aplicnd intr_rilor primare
un vector binar ilegal pentru codul dat, la ieire se obine, de
asemenea, un vector binar ilegal pentru al respectivului cod. Un
circuit TSC este numit TSC checker dac_ este code-disjoint.

Not_: Pentru circuitele de verificare nu este esenial_ proprietatea de


fault-secure.

Iniial, definiia circuitelor TSC a fost dat_ pentru circuitele combinaionale,


extinzndu-se, ulterior, att asupra circuitelor secveniale, ct i, n general,
asupra unor sisteme ntregi (despre care se poate spune c_ se comport_ ca i
mainile secveniale).

Revenind la checker-ul TSC, se puncteaz_ faptul c_ ieirea lui devine 00 sau 11,
dac_ i numai dac_ o eroare este detectat_ la ieirea unei unit_i funcionale
sau dac_ checker-ul are o defeciune hardware. Deci, un checker TSC trebuie
s_ fie code-disjoint.

Adesea exist_ situaii n care, chiar dac_ un checker este proiectat pentru
code-disjointness, nu sunt disponibile de la unitatea funcional_ TSC toate
intr_rile de test, necesare pentru testarea lui. Pentru a face un circuit att
self-testing, ct i code-disjoint ar trebui s_ se suspende, din cnd n cnd,
operaia normal_ pentru a alimenta (to flush) checker-ul cu intr_ri de test care
n mod normal nu sunt disponibile. Dar, n aceast_ situaie sistemul nu mai
este on line i exist_ dificult_i practice n alimentarea checker-ului. O cale

49
mai bun_ este proiectarea unor checker-e care s_ fie att self-testing, ct i
code-disjoint i care s_ nu aib_ nevoie de acces din exterior, fiind uor de
ncorporat.

n conformitate cu cele discutate anterior, un circuit TSC, ale c_rui ieiri sunt
codificate ntr-un cod detector de erori, produce ntotdeauna un cuvnt ilegal
ca prim_ ieire eronat_ din cauza unei defeciuni. Acest comportament este
foarte avantajos i este cunoscut sub denumirea de obiectivul proiect_rii TSC
(TSC goal). Exist_, totui, i alte clase de circuite logice care ndeplinesc acest
obiectiv.

Proprietatea de strongly fault-secure caracterizeaz_ o clas_ mai larg_ de circuite


logice care realizeaz_ acest obiectiv sub aceleai premize privitoare la
defeciunile care se iau n consideraie. Proprietatea se definete n felul
urm_tor: un circuit (sistem) este strongly fault-secure (SFS) pentru un set -
de defeciuni, dac_ pentru orice defeciune singular_ 2 - , circuitul poate fi:

a) TSC pentru {2} sau

b) FS pentru {2} i, dac_ defectul 2 apare, atunci circuitul (sistemul)


rezultant este tot SFS pentru - {2} .

Din punct de vedere al proiectantului, este mai avantajoas_ proiectarea


circuitelor SFS care ndeplinesc obiectivul TSC spre deosebire de proiectarea
circuitelor TSC, pentru c_ cele din urm_ impun proiect_rii mai multe restricii.
De asemenea, chiar dac_ proiectarea sistemelor fail-safe a fost studiat_ nainte
i independent de cea a circuitelor TSC i SFS, circuitele fail-safe sunt
echivalente cu circuitele fault-secure cu o anumit_ codificare.

O alt_ proprietate interesant_ se definete dup_ cum urmeaz_: un circuit este


strongly code-disjoint (SCD) pentru un set - de defeciuni, dac_ pentru orice
defeciune singular_ 2 - , circuitul este fie:

a) CD i este ST pentru {2} ,

50
fie

b) CD i, dac_ defectul 2 apare, atunci circuitul rezultant este tot SCD


pentru - {2} .

Combinaia dintre un circuit TSC (care realizeaz_ o anumit_ funcie) i un


checker TSC aparine clasei reelelor logice cu componente TSC. Aceste reele
ndeplinesc obiectivul TSC sub presupunerea defeciunilor singulare, ceea ce
nseamn_ c_ defeciunile apar una cte una, iar ntre dou_ defeciuni este timp
suficient astfel nct toate intr_rile din cod s_ fie aplicate reelei. Presupunnd
c_ exist_ defeciuni duble, reelele de mai sus nu ndeplinesc obiectivul TSC.
Prin defeciuni duble se nelege c_ ntre apariia a dou_ defeciuni care
afecteaz_ circuitul care realizeaz_ funcia dorit_ sau ntre apariia a dou_
defeciuni care afecteaz_ checker-ul, exist_ suficient timp pentru ca toate
intr_rile din cod s_ fie aplicate reelei. Gaitanis prezint_ o nou_ clas_ de circuite
de verificare TSC cu propriet_i mai puternice de autoverificare (self-checking)
pentru a ndeplini obiectivul TSC n cazul reelelor de checker-e, cnd se iau
n consideraie defeciunile duble.

Un TSC checker este strongly-self-checking (SSC) pentru un set - de


defeciuni, dac_ Fc, Fe i E sunt submulimi disjuncte ale mulimii de ieiri
ilegale, unde:

 Fc este mulimea ieirilor neateptate, cauzate de defeciuni interne 2 -


i intr_ri din cod ale checker-ului TSC;

 Fe este mulimea ieirilor neateptate, cauzate de defeciuni interne 2 -


i intr_ri (ilegale) din afara codului ale checker-ului TSC;

 E este mulimea ieirilor produse de checker-ul TSC f_r_ defeciuni


cauzate de intr_rile ilegale.

51
BIBLIOGRAFIE

[BURN94] S.W. Burns, N.K. Jha. A Totally Sel-Checking Checker for a


Parallel Unordered Coding Scheme. IEEE Transaction on Computers,
April 1994, vol. 43, pp. 490495.

[CHKA97] A. Chatterjee, B. Kaminska. Mixed Signals DFT&BIST: Practices


and Realities. 15th IEEE VLSI Test Symposium, Monterey, California,
USA, April 27 May 1, 1997.

[FUJI90a] E. Fujiwara. Logic Testing and Design for Testability. England:


MIT Press, 1990.

[FUJI90b] E. Fujiwara, K. Pradhan. Error-Control Coding in Computers. IEEE


Computer, July 1990, pp. 6371.

[JOHN89] B.W. Johnson. Design and Analysisof Fault Tolerant Digital


System. Addison-Wesley Publishing Company, 1989.

[JOHN93] B.W. Johnson. Boundary Scan Eases Test of New Technologies.


Test&Measurement Europe, Autumn 1993.

[MAHM88] A. Mahmood, E.J. McCluskey. Concurrent Error Detection Using


Watchdog Processors A Survey. IEEE Transaction on Computers,
February 1988, vol. 37, pp. 160174.

[MARC93] R. M_rculescu. Tehnici de baz_ n proiectarea pentru testabilitate.


Tempus postgraduate school of computer aided electrical engineering.
Editor Daniel Iona, Bucureti 1993.

[MCCL90] E. McCluskey. Design Techniques for Testable Embedded Error


Checkers. IEEE Computer, July 1990, pp. 8488.

52
[SING97] G. Singer. Current Trends and Future Directions in Test and DFT.
15th IEEE VLSI Test Symposium, Monterey, California, USA, Ap-
ril 27 May 1, 1997.

[STMA97] A.P. Strle, F. Mayer. Methods to Reduce Test Application Time


for Accumulator-Based Self-Test. 15th IEEE VLSI Test Symposium,
Monterey, California, USA, April 27 May 1, 1997.

[VChN97] P.N. Variyam, A. Chatterjee, N. Nagi. Low Cost and Efficient


Digital Compatible BIST for Analog Cicuits Using Pulse Response
Sampling. 15th IEEE VLSI Test Symposium, Monterey, California, USA,
April 27 May 1, 1997.

[VLAD82b] M. Vl_duiu. Contribuii la creterea coeficientului de disponi-


bilitate al echipamentelor automate de prelucrare a informaiei prin
testare neconvenional_. Tez_ de doctorat, Bucureti, 1982.

[VLAD89] M. Vl_duiu, M. Crian. Tehnica test_rii echipamentelor automate


de prelucrare a datelor. Editura Facla, Timioara, 1989.

[VLAD94a] M. Vl_duiu, N.S. Petrakis. About New Signature Generation


Techniques for Binary Sequences. International Conference on Techincal
Informatics. Proceedings Vol. 5, Timioara 1994, pp. 1115.

[VLAD94b] M. Vl_duiu, N.S. Petrakis. Adapted Combinational Array for


Exact Binary Division with Signed Operands. International Conference
on Techincal Informatics. Proceedings Vol. 5, Timioara 1994, pp. 110.

[VLAD95] M. Vl_duiu, D. Todinc_, N.S. Petrakis, I. Brnza. The Principle


of a Fuzzy Processor with Parityt Check. Buletinul tiinific al U.T. Ti-
mioara, 1994, Tomul 39 (53), Seria Automatiz_ri i Calculatoare.

[YARM90] V.N. Yarmolik. Fault Diagnostics of Digital Circuits. New York


Wiley, 1990.

53

S-ar putea să vă placă și