Sunteți pe pagina 1din 188

CURSURI LA DISCIPLINA CALCULATOARE DE BORD

Sistem de automatizare cu microprocesoare

Sistemul de calcul este un echipament care transformă datele de intrare în


rezultate de ieşire pe baza unui algoritm - program de calcul numeric.

1
Sisteme de intrare iesire pentru calculatoarele de bord

Subsistemul de intrare-ieşire este destinat realizării interfeţei om-maşină


sau proces-maşină.

- tastatura, mouse
- touch-screen, joystick
- camera video, microfon
- display-uri (CRT, LED),
afisoare cu LED
- afisaje HUD (Head Up
Display);
- afisaje DASH
- difuzoare

2
HUD - Head Up Display

un ecran din sticlă


transparentă dispus în
partea superioară a
panoului frontal al
cabinei, prin care
pilotul poate vedea şi
spaţiul exterior din
faţa avionului şi pe
care se proiectează
informaţiile
considerate
importante într-o
anumită etapă a
zborului
McDonnell Douglas F/A-18 Hornet - HUD

3
PZL TS-11 Iskra (Polish
jet trainer) - HUD

DISPLAY AND SIGHT HELMET – CASCA DE


AFIŞARE SI OCHIRE (DASH)

Sistemul DASH este un sistem de ochire, montat


pe casca pilotului, asigurând posibilitatea ochirii
bazate pe linia de vedere (LOS - Line of Sight) a
piloţilor
4
Sistem de achiziţie şi conducere

În domeniul automaticii, interfeţele de proces se mai numesc generic


plăci de achiziţie, nume datorat faptului că prin intermediul interfeţei de
proces se realizează şi achiziţia de date. Trebuie precizat faptul că
interfaţa de proces are nu numai funcţia de achiziţie ci şi funcţia de
prelucrare şi transmitere către exterior a semnalelor generate de
calculator.
Plăcile de achiziţie fac parte din categoria generală a plăcilor de extensie
(denumite şi plăci utilizator). Prin completarea configuraţiei unui
calculator cu elemente din categoria interfeţelor de proces (plăci de
achiziţie) şi cu software specializat se obţine un sistem de achiziţie a
datelor. Datorită existenţei funcţiilor de conducere, o denumire mai
apropiată de realitate este cea de sistem de achiziţie şi conducere.

5
O interfaţă de proces este alcătuită din trei componente de bază: conectorul,
care asigură legătura mecanică/electrică între cablajul calculatorului şi
cablajul exterior, dispozitivul de cuplare care joacă rolul de interfaţă
electrică cu senzorii şi elementele de execuţie şi adaptorul de interfaţă care
asigură conectarea la magistrala calculatorului.

Calculator cu unitate integrată de interfaţă de proces


6
Structura generală a unei interfeţe de proces definiție

O unitate de interfaţă este alcătuită din plăci şi module detaşabile care pot
realiza diferite tipuri de cuplare la proces. În principiu, fiecare dintre aceste
plăci sau module asigură funcţii care permit adaptarea sistemului de calcul la
proces.
Prin alegerea corespunzătoare a acestor module se realizează aplicaţia
concretă de achiziţie şi conducere. Aceste module flexibile asigură
funcţionalitatea interfeţei prin implementarea următoarelor subsisteme:
- intrări analogice
- ieşiri analogice
- intrări/ieşiri numerice
- numărare, temporizare (generator de intervale de timp)

7
Structura generală a unei interfeţe de proces

Structura generală a unei interfeţe de proces

8
Structura sistemului ieşirilor analogice

Sistemul de ieşiri analogice este o componentă a interfeţelor de proces


destinată transmiterii spre proces a comenzilor în formă analogică, elaborate
în urma rulării unor programe care implementează algoritmii de conducere.
Sistemul de ieşiri analogice conţine în mod necesar convertoare numeric-
analogice (CNA sau DAC – Digital to Analog Converter).
Zonele tampon T (buffere) păstrează valoarea numerică a comenzii. În unele
cazuri ieşirea CNA (semnal de tip tensiune) este convertită în semnal de
curent prin convertoare tensiune/curent U/I.

9
Sistemul de interfaţă ieşiri numerice
Acest sistem este o componentă a interfeţei de proces care este destinată
transmiterii spre proces a comenzilor numerice. Comenzile sunt de obicei în
formă binară, de tip tren de impulsuri, frecvenţă de impulsuri, durată de
impuls. Sistemul ieşirilor numerice conţine şi amplificatoare de putere şi
circuite de separare galvanică.

Sistemul de interfaţă intrări analogice


Este o componentă a interfeţei de proces destinată interfaţării sistemului
de conducere cu semnalele analogice din proces. Acestea se prezintă de
regulă sub formă de semnale de curent continuu: intensitate (0-20 mA, 2-
10 mA, 4-20 mA etc.) sau tensiune (de nivel mic: 10-20 mV, -10 – +10
mV, de nivel mediu: 0 – 10 V, 2 – 10 V, 0 – 20 V, de nivel mare 0–100 V).

10
Componentele sistemului analogic sunt:
• elementul de conectare (EC) care are rolul de a conecta la sistem
conductoarele care transportă semnalul analogic de la proces;
• elementele de tratare primară a informaţiei (ETP) destinate unor prelucrări
care nu necesită amplificare (conversii curent/tensiune, filtrare);

11
• multiplexorul (MUX) care permite selectarea unuia din cele n canale
analogice;
• amplificatorul (A) care adaptează nivelul semnalului de intrare selectat de
multiplexor şi impedanţa canalului la elementul următor;
• elementul de eşantionare şi reţinere (EER) (sau circuit Sample/Hold) care
are rolul de a păstra constantă valoarea eşantionului de tensiune pe durata
conversiei analog-numerice;

12
• convertorul analogic-numeric (CAN sau ADC – Analog to Digital
Converter) care converteşte în formă numerică valoarea analogică a
informaţiei pe canalul selectat;
• bufferul T care este necesar conectării ieşirii CAN la magistrala sistemului
de conducere;
• blocul de comandă BC care asigură coordonarea operaţiilor care se
desfăşoară în sistem.

13
Sistemul de interfaţă intrări numerice
Sistemul intrărilor numerice este un subsistem al interfeţelor de proces care
are rolul de a colecta din proces informaţiile de formă numerică (semnale
binare, tren de impulsuri) sau cvasinumerică (durată de impuls, frecvenţa
impulsurilor).

14
Principalele elemente componente ale sistemului sunt:
• elementul de conectare (EC);
• elementele de tratare primară a informaţiei (ETP) - izolare galvanică, filtrări
şi protecţii
• multiplexorul (MUX) cu ajutorul căruia se selectează un semnal sau un grup
de semnale
• bufferul de conectare la magistrală (T);
• blocul de comandă BC care asigură secvenţializarea corectă a operaţiilor din
sistemul de intrări numerice

15
A350 XWB Slat Flap Control Computer

PU-3000 series of Avionics Computers


16
Noțiuni de Arhitectura Calculatoarelor

Stocarea datelor
Calculatoarele utilizate în prezent reprezintă informaţiile ca şiruri de biţi.
Un bit (binary unit - cifră binară) reprezintă una din cifrele 0 sau 1, pe care
în acest context le vom considera mai degrabă simboluri decât numere.

Stocarea unui bit într-un calculator necesită un dispozitiv care să poată să se


afle într-una din cele două stări, ca de exemplu un întrerupător (pornit sau
oprit), un releu (deschis sau închis) sau un steag de start (ridicat sau
coborât). Una dintre cele două stări este utilizată pentru reprezentarea
simbolului 0, iar cealaltă pentru reprezentarea simbolului 1.

17
Porţi logice şi circuite basculante bistabile Definiție

Operaţiile care lucrează cu valorile adevărat/fals sunt denumite operaţii


booleene (Boolean operations), după numele matematicianului George
Boole.

Un dispozitiv care produce rezultatul unei operaţii booleene atunci când i se


aplică intrările operaţiei este denumit poartă logică (gate). Porţile logice pot
fi realizate utilizându-se o largă varietate de tehnologii, cum ar fi dispozitive
mecanice, relee sau dispozitive optice. Calculatoarele de astăzi
implementează de obicei porţile logice prin intermediul unor circuite
electronice de mici dimensiuni în care valorile 0 şi 1 sunt reprezentate prin
niveluri diferite de tensiune electrică.

18
Porţi logice şi circuite basculante bistabile scheme

19
Circuit basculant bistabil simplu

Un circuit basculant bistabil (flip-flop) este un circuit care are la


ieşire una din două valori posibile; ieşirea lui rămâne stabilă până când
un impuls temporar de la alt circuit are ca efect comutarea lui la
cealaltă valoare.

20
Circuit basculant bistabil simplu

Atâta timp cât ambele intrări ale circuitului rămân la valoarea 0, ieşirea
(fie 0 sau 1) nu se va modifica. În schimb plasarea temporară a unui 1 pe
intrarea de sus va forţa ieşirea să treacă în 1, în timp ce plasarea unui 1 pe
intrarea de jos va forţa ieşirea în 0.

21
Setarea ieşirii circuitului basculant bistabil la valoarea 1

Intrarea de sus este trecută în 1

Aceasta provoacă trecerea


ieşirii porţii OR în 1 şi astfel
ieşirea porţii AND devine 1

22
Valoarea 1 de la ieşirea porţii
AND menţine poarta OR în
starea precedentă, după ce
intrarea de sus revine la 0

Ieşirea circuitului basculant bistabil devine 1 şi această valoare va fi


menţinută şi după ce intrarea de sus revine la 0. Similar, plasarea temporară a
valorii 1 pe intrarea de jos va forţa ieşirea circuitului basculant bistabil la
valoarea 0, ieşirea rămânând în această stare şi după ce intrarea revine la
valoarea 0.

23
Importanţa unui circuit basculant bistabil : constă în faptul că acesta este
ideal pentru stocarea unui bit în calculator. Valoarea stocată într-un circuit
basculant bistabil poate fi citită şi modificată cu uşurinţă prin intermediul
altor circuite electronice.

Altă metodă de realizare a unui circuit basculant bistabil

24
Sistemul de notaţie hexazecimal

Atunci când ne referim la activităţile din interiorul unui calculator, trebuie să


lucrăm cu şiruri de biţi, care pot fi uneori foarte lungi. Din nefericire mintea
umană întâmpină dificultăţi la manevrarea unor asemenea lucruri. Chiar şi
numai transcrierea şirului 101100101100011 este propice erorilor. De aceea,
pentru a simplifica reprezentarea şirurilor de biţi, vom utiliza o notaţie
prescurtată denumită notaţie hexazecimală (hexadecimal notation).

Notaţia hexazecimală utilizează un singur simbol pentru a reprezenta patru


biţi, ceea ce înseamnă că, de exemplu un şir de doisprezece biţi poate fi scris
utilizând numai trei simboluri.

25
• şirul de 16 biţi 1010010011001000 poate fi redus la mult mai acceptabila
formă A4C8

26
În scopul stocării datelor, un calculator conţine un mare număr de circuite,
fiecare dintre ele fiind capabil să stocheze un bit. Acest rezervor de biţi este
cunoscut sub numele de memorie principală a calculatorului (main
memory).

Circuitele de stocare din memoria principală a calculatorului sunt organizate


în unităţi denumite celule (sau cuvinte), dimensiunea uzuală a unei celule
fiind de opt biţi. De fapt, şirul de biţi de lungime opt a devenit atât de
popular încât pe de o parte a dus la apariţia termenului octet, iar pe de altă a
impus pentru cuvântul byte sensul de şir de biţi de această lungime.

Pentru identificarea celulelor individuale din memoria principală a unui


calculator, fiecare are atribuit un nume unic, denumit adresă.

27
Semnificatia celulei este aceea că este cea mai mică unitate adresabilă. În
ultimii ani, producatorii de calculatoare au standardizat locaţia la 8 biţi şi
au denumit-o byte. Bytes sunt grupaţi în words.

Un calculator cu 32 bit/word are 4 bytes/ word, iar un calculator cu 64


bit/word are 8 bytes/word. Semnificaţia unui cuvant (word) este aceea că
majoritatea instrucţiunilor operează pe un numar întreg de cuvinte (words),
de exemplu grupând două cuvinte împreună.

Deci o maşină pe 32 biţi va avea regiştrii de 32 biţi şi instrucţiuni pentru


manipularea cuvintelor de 32 biţi, iar una pe 64 biţi va avea regiştrii pe 64
biţi şi instrucţiuni pentru mutarea, adunarea, scăderea şi alte manipulari pe
cuvinte de 64 biţi.

28
Octet ordonat

Un octet într-un cuvânt poate fi numărat de la stânga la dreapta sau de


la dreapta la stânga.

Sistemele în care număratoarea începe cu 'big', adică cu ponderea mare, este


denumit generic big endian, iar celelalte little endian. Se face trimitere la
gluma din Gulliver legată de disputa “la care cap trebuie spart oul?”!

29
Vom considera biţii dintr-o celulă de memorie ca fiind aranjaţi pe un rând.
Vom denumi un capăt al acestui rând marginea superioară şi celălalt capăt
marginea inferioară. Cu toate că într-un calculator nu există stânga sau
dreapta, ne vom imagina biţii aranjaţi într-un rând orientat de la stânga la
dreapta cu marginea superioară plasată la stânga. Bitul de la acest capăt este
adesea denumit cel mai semnificant bit; similar, bitul de la celălalt capăt este
denumit bitul de la marginea inferioară sau cel mai puţin semnificativ bit.

30
O consecinţă importantă a ordonării celulelor în memoria principală,
precum şi a biţilor în interiorul fiecărei celule este aceea că toţi biţii din
principală a unui calculator sunt ordonaţi într-un unic şir lung. Astfel, părţi
din acest şir pot fi utilizate pentru stocarea de şiruri de biţi care pot fi mai
mari decât lungimea unei singure celule. În particular, dacă memoria este
împărţită în celule de dimensiunea unui octet, putem stoca un şir de 16 biţi
utilizând pur şi simplu două celule de memorie consecutive.

31
Reprezentarea caracterelor alfanumerice

Reprezentarea caracterelor alfanumerice in calculatoarelor a evoluat de-a


lungul timpului si pe masura ce aplicatiile s-au diversificat s-a realizat si o
standardizare a acesteia.

Institutul American Naţional pentru Standarde (American National Standards


Institute - ANSI) a adoptat codul American Standard Code for Information
Interchange (ASCII)

Codul Unicode - A fost creat de consortiul Unicode in scopul de a extinde


numarul de caractere, astfel incat sa fie standardizate si caracterele altor
limbi decat cele latine.(https://en.wikipedia.org/wiki/Unicode)

32
Reprezentarea caracterelor alfanumerice - ASCII

33
Reprezentarea valoriilor numerice
Stocarea valorii reprezentate în baza doi (binar).

34
Decodificarea reprezentării binare 100101

35
Algoritm pentru aflarea reprezentării în binar a unui număr întreg pozitiv
Pasul 1: Se împarte valoarea la doi şi se memorează restul împărţirii.
Pasul 2: Cât timp câtul obţinut este diferit de zero, se continuă împărţirea
noului cât la doi memorându-se restul.
Pasul 3: Când s-a obţinut un cât egal cu zero, reprezentarea în binar a valorii
iniţiale constă din resturile împărţirilor, afişate de la stânga în care au fost
memorate.

36
Calculatoare de bord
Notiuni de Arhitectura Calculatoarelor

37
Reprezentarea Numerelor cu Semn

N –număr binar
N  bn1bn2 ...b1b0 , b1 ...b m
bi 0,1

Reprezentare codificată a numerelor cu semn:


1.Codificarea semnului:
bs=0 dacă N>0
bs=1 dacă N<0

2.Codificarea valorii numărului:


Codificare directă
Reprezentare în complement față de 2
Reprezentare în complement față de 1
38
codul direct
Numerele întregi se reprezintă prin mărime (valoare absolută) şi semn.
Pentru numerele negative, bitul cel mai semnificativ (de semn) este 1,
iar celalţi n-1 biţi servesc pentru reprezentarea valorii absolute a
numărului.
Ex.: N = -5 pe 8 biţi => 10000101

codul invers (complement faţă de 1)


Pentru numerele negative, bitul de semn este 1, ceilalţi n-1 biţi servind
pentru reprezentarea valorii absolute negate a numărului. Negarea se
realizează la nivel de bit: biţii 0 devin 1 şi biţii 1 devin 0.
Ex.: N = -5 pe 8 biţi => 11111010

39
codul complementar (complement faţă de 2)
Pentru reprezentarea numerelor negative se aplică următoarea regulă de
complementare: se reprezintă numărul în valoare absolută, apoi se
inversează bit cu bit, inclusiv bitul de semn (care devine 1) şi se adună 1 la
rezultatul obţinut. Deci, complementul faţă de 2 se obţine din complementul
faţă de 1, la care se adaugă 1.
Ex.: N = -5 pe 8 biţi se reprezintă astfel:
|N| = 5, adică 00000101
prin inversare devine
11111010+
1
11111011

40
Sistem de notaţie
în complement faţă
de doi utilizând
cuvinte binare de
lungime 4

41
cod în exces
Această codificare constă în adunarea unei valori constante la fiecare număr
întreg (pozitiv sau negativ) care se reprezintă. Valoarea constantă notată E
care se adună, este de regulă 2^(n-1), cu n numărul de biţi ai reprezentării.

Matematic, un număr întreg N se reprezintă în cod exces E prin: E + N.


Ex.: Numerele N1 = 5 şi N2 = -5 se reprezintă pe n = 8 biţi, în exces 2^7 =
128, prin:

128 + 5 = 133 respectiv 128 + (-5) = 123

E 10000000 10000000
N 00000101 11111011
10000101 01111011

42
Sistem de notaţie în exces care utilizează cuvinte cu lungimea de trei biţi

43
Tabelul de
conversie pentru
sistemul de notaţie
în exces cu opt

44
Fie D domeniul de numere întregi ce se pot reprezenta pe n biţi:
D = [-2^(n-1), 2^(n-1)-1].
Utilizând codul exces 2^(n-1), domeniul D se transformă în domeniul
de valori pozitive D’ = [0, 2^n-1].

Deci, codul în exces poate transforma un domeniu de numere algebrice


într-un domeniu de numere aritmetice. Avantajul este că operaţiile cu
numere aritmetice se implementează mai simplu (în hardware sau în
software) decât operaţiile cu numere algebrice.

45
Adunarea numerelor reprezentate în complement faţă de doi

Operaţiile de adunare şi scădere se reduc la operaţia de adunare a


numerelor reprezentate în cod complementar. Se adună cei doi operanzi bit
cu bit, inclusiv biţii de semn, iar eventualul transport care rezultă de la
bitul de semn se va neglija. Rezultatul este obţinut în cod complementar.

Exemple:
x = 9, y = 5
00001001+ 9 + 5 = 14
00000101
00001110

46
x = 9, y = -5
Mai întâi vom reprezenta -5 în complement faţă de doi:
-5 => 11111011
După care realizăm adunarea:
00001001+ 9-5=4
11111011
00000100

x = 5, y = -9
y = -9 în complement faţă de 2 va fi: -9 => 11110111

00000101+ 5 – 9 = -4
11110111
11111100

47
Rezultatul obţinut este negativ (bitul de semn are valoarea 1),
reprezentat în complement faţă de 2. Pentru a afla valoarea absolută a
rezultatului va trebui să îl complementăm din nou faţă de 2.
Prin inversare se obţine:

00000011+
1
00000100 = 4

48
Problema depăşirii superioare

O problemă pe care am evitat-o în problemele precedente este aceea că în oricare


dintre sistemele de numeraţie pe care le-am prezentat există o limită privind
mărimea pe care pot s-o reprezinte valorile.
Atunci când utilizăm notaţia în complement faţă de doi cu cuvinte de patru biţi,
valoarea 9 nu are asociată nici un şablon, aşa că nu este nici o şansă să obţinem
un răspuns corect la efectuarea adunării 5 + 4. De fapt, rezultatul vafi –7.

Atunci când utilizăm notaţia în complement faţă de doi, eroarea de depăşire


superioară poate apărea la adunarea a două valori pozitive sau la adunarea a două
valori negative.
În fiecare dintre cazuri, depăşirea poate fi detectată prin verificarea bitului de
semn a răspunsului.
Aceasta înseamnă că este semnalată depăşirea superioară dacă adunarea a două
valori pozitive produce ca rezultat un şablon ce corespunde unei valori negative
sau dacă rezultatul adunării a două valori negative apare ca fiind pozitiv.

49
Virgulă fixă (Fixed Point - FXP) – separatorul între partea întreagă și
partea zecimală are o poziție fixă.

Virgulă mobila (Floating Point - FLP) – când numărul este compus din
mantisă și exponent (𝑚 ∙ 𝑟𝑒).
r = baza de numerație (de obicei 2),
m = mantisa (fractie)
e = exponent (întreg)

50
In virgulă fixă (radix point): reprezentarea binară conţine un punct
care are acelaşi rol ca şi virgula utilizată în notaţia zecimală.
Decodificarea reprezentării binare 101.101

Tehnicile aplicate la sistemul de numeraţie în baza zece se pot folosi de


asemenea şi în binar.

51
52
Notaţia în virgulă mobilă

Numerele care intervin în calcule sunt numere nu neapărat întregi, unele sunt
foarte mari, altele foarte mici, şi eventual cu multe cifre semnificative.
De aceea este necesară o reprezentare a lor în care să se facă distincţie între
ordinul de mărime şi precizie (numărul de cifre semnificative).

În notaţia ştiinţifică, un număr este reprezentat astfel:


N = M * 10E, unde E este exponentul, un număr întreg pozitiv sau negativ, ce
determină ordinul de mărime al numărului, iar M este mantisa, un număr
fracţionar, ce determină precizia numărului.

Echivalentul în calculator al acestei notaţii este formatul cu virgulă mobilă,


folosit pentru reprezentarea numerelor reale din matematică.

53
Nu există o corespondenţă biunivocă între numerele reale şi numerele în
virgulă mobilă.
Cele mai importante diferenţe între numerele reale din matematică şi
numerele reprezentate în virgulă mobilă sunt domeniul finit şi mulţimea
discretă de valori.
Domeniul finit şi discret este determinat de capacitatea fizică limitată a
memoriei calculatorului.
Numerele se reprezintă în formatul cu virgulă mobilă prin bitul de semn al
numărului, exponent şi mantisă:

De remarcat faptul că informaţia care nu se modifică nu se reprezintă. Astfel


avem baza de numeraţie şi virgula, a cărei poziţie a fost stabilită prin
convenţie
54
Exemplu care utilizează numai un octet pentru efectuarea
stocării.
Vom considera cel mai semnificativ bit din cadrul octetului ca fiind bitul de
semn. Din nou, bitul de semn egal cu 0 înseamnă că valoarea stocată este
pozitivă, iar 1 înseamnă că valoarea este strict negativă.

Împărţim apoi cei şapte biţi rămaşi în două grupuri dau câmpuri, câmpul
exponentului (exponent field) şi câmpul mantisei (mantissa field). Să
considerăm cei trei biţi care urmează după bitul de semn ca fiind câmpul
exponentului, iar cei patru biţi rămaşi ca fiind câmpul mantisei.

55
Să presupunem că un octet conţine şirul de biţi 01101011.
Analizând acest cuvânt conform formatului precedent, putem vedea că bitul
de semn este 0, exponentul este 110, iar mantisa este 1011.

Pentru a decodifica octetul, extragem mai întâi mantisa şi plasăm o virgulă


(punct) zecimală la stânga ei, obţinând .1011
Apoi, extragem conţinutul câmpului exponentului (110) şi-l interpretăm ca
pe un întreg stocat utilizând metoda în exces pe trei biţi

În acest caz, cuvântul binar din câmpul exponentului reprezintă valoarea


pozitivă 2.

Acest fapt ne precizează că trebuie să mutăm virgula la dreapta cu doi biţi.


(Un exponent negativ înseamnă că virgula trebuie deplasată la stânga.)
În consecinţă, obţinem 10.11 care înseamnă 2 3/4.
Observăm apoi că bitul de semn din exemplul considerat este 0; valoarea
reprezentată este pozitivă.
Vom trage concluzia că 01101011 reprezintă valoarea 2 3/4.

56
Să luăm alt exemplu, anume octetul 10111100.
Extragem mantisa, obţinem .1100 şi mutăm virgula cu un bit la stânga,
deoarece câmpul exponentului (011) reprezintă valoarea –1.
Acum avem .01100 care reprezintă 3/8.
Deoarece bitul de semn din cuvântul iniţial este 1, valoarea stocată este
negativă.
Tragem concluzia că 10111100 reprezintă valoarea – 3/8.

57
Pentru a stoca o valoare utilizând notaţia în virgulă mobilă, vom inversa
procesul prezentat anterior.
De exemplu, pentru a codifica valoarea 1 1/8 o vom exprima mai întâi în
notaţie binară, obţinând 1.001.
Vom copia apoi cuvântul binar în câmpul rezervat mantisei de la stânga la
dreapta, începând cu primul bit diferit de zero din reprezentarea binară.
În acest moment octetul arată astfel: _ _ _ _ 1 0 0 1
Câmpul exponentului: ne vom imagina conţinutul câmpului mantisei având o
virgulă zecimală la stânga şi vom determina numărul de biţi şi direcţia în care
trebuie să fie deplasată virgula pentru a se obţine numărul binar iniţial.
În exemplul nostru, observăm că virgula din .1001 trebuie deplasată cu un bit
la dreapta pentru a se obţine 1.001.

Deoarece din această cauză exponentul trebuie să aibă valoarea pozitivă 1,


vom plasa combinaţia 101 (care este reprezentarea valorii pozitive 1 în
notaţia în exces cu patru) în câmpul exponentului. În final vom scrie 0 în
bitul de semn, deoarece valoarea stocată este zero.
La sfârşit octetul arată astfel: 0 1 0 1 1 0 0 1
58
Utilizarea notaţiei în exces reduce operaţia de comparare a mărimii relative a
două valori la simpla parcurgere a reprezentărilor de la stânga la dreapta,
până la întâlnirea primului bit care diferă.

De exemplu, dacă ambii biţi de semn sunt zero, cea mai mare dintre cele
două valori este aceea care are 1 pe poziţia primului bit care diferă la
parcurgerea de la stânga la dreapta celor două cuvinte.

Astfel, dacă 00101010 şi 00011001 sunt reprezentări în virgulă mobilă, vom


putea afirma că prima reprezentare corespunde unei valori mai mari, fără a
trebui să determinăm mai întâi valorile care corespund efectiv celor două
reprezentări.

59
Erori de rotunjire
Să studiem acum ce se întâmplă dacă încercăm să stocăm valoarea 2 5/8
utilizând sistemul în virgulă mobilă pe un octet (prezentat anterior).
Scriem mai întâi valoarea 2 5/8 în binar, cea ce conduce la 11.101.
Însă atunci când vom copia acest rezultat în câmpul mantisei, vom
descoperi că nu avem suficient spaţiu şi ca urmare ultimul 1 (cel care
corespunde ultimului 1/8) se va pierde.

60
61
Dacă ignorăm această problemă şi continuăm cu completarea câmpului
exponentului şi a bitului de semn, vom obţine cuvântul 01101010,
care reprezintă valoarea 2 1/2, în loc de 2 5/8.

Ceea ce s-a întâmplat poartă numele de eroare de rotunjire (round-off


error), cauzată în acest caz de faptul că lungimea câmpului mantisei este
de patru biţi, în timp ce pentru păstrarea preciziei de reprezentare este
necesar un câmp de cinci biţi.

Soluţia evidentă pentru evitarea acestei probleme constă în creşterea


dimensiunii câmpului mantisei, adică exact cea ce se face în cazul
calculatoarelor reale.

62
O altă sursă de erori de rotunjire este problema valorilor cu număr infinit de
zecimale (periodice), cum ar fi de exemplu situaţia în care încercăm să
exprimăm fracţia 1/3 în formă zecimală.

Diferenţa dintre notaţia zecimală utilizată de noi în mod curent şi notaţia


binară este aceea că în binar există mai multe valori care au reprezentări cu
o infinitate de cifre. De exemplu, valoarea de o zecime este periodică atunci
când este exprimată în binar (.0001100110011...).

Să presupunem că ni se cere să adunăm următoarele trei valori utilizând


notaţia în virgulă mobilă pe un bit (definită anterior): 2 1/2 + 1/8 + 1/8.

63
Dacă adunăm valorile în ordinea afişată, vom aduna mai întâi 2 1/2 şi 1/8 şi
vom obţine 2 5/8, care în binar este 10.101.

Din nefericire, deoarece această valoare nu poate fi stocată cu acurateţe (după


cum am văzut mai înainte), rezultatul primei operaţii va fi memorarea valorii 2
½ (care coincide cu primul termen al adunării). Următorul pas este să adunăm
acest rezultat cu ultimul 1/8. Va apărea din nou o eroare de rotunjire, iar
rezultatul final devine greşit 2 1/2.

Să efectuăm acum operaţiile în ordine inversă. Adunăm mai întâi 1/8 cu 1/8 şi
obţinem 1/4. În notaţia binară aceasta reprezintă .01; astfel încât rezultatul
primei adunări va fi stocat pe un octet ca 00111000, memorarea făcându-se fără
erori. Adunăm acum 1/4 cu ultima valoare rămasă, respectiv 2 1/2, şi obţinem 2
3/4, rezultat ce poate fi stocat exact pe un octet sub forma 01101011. De data
aceasta am obţinut rezultatul corect.

64
Atunci când sunt adunate valori reprezentate în notaţia în virgulă mobilă, ordinea în care se
fac operaţiile poate fi extrem de importantă.
Regula generală este ca întotdeauna să fie adunate mai întâi valorile cele mai mici; totuşi,
nici măcar acest mod de lucru nu garantează corectitudinearezultatului.

65
Calculatoare de bord
Notiuni de Arhitectura Calculatoarelor

66
Arhitectura elementară a calculatorului

Se numește sistem de calcul orice sistem care este capabil să realizeze următoarele obiective:
1. să accepte intrări care reprezintă o formă codificată de
informație(date de intrare sau operanzi);
2. să prelucreze datele conform unui algoritm;
3. să furnizeze la ieșire informațiile (date de ieșire sau rezultate) într- o
formă accesibilă omului sau altui calculator.

67
Schema celor 5 unitati

68
Manipularea datelor. Unitatea centrală de prelucrare. Regiştri. Interfaţa CPU/Memorie

Unitate centrală de prelucrare (Central Processing Unit - CPU). Această unitate constă din două
părţi: unitatea aritmetico – logică (Arithmetic/Logic Unit), care conţine circuitele care realizează
manipularea datelor, şi unitatea de comandă (Control Unit), care conţine circuitele utilizate
pentru coordonarea activităţilor maşinii.

Pentru stocarea temporară a informaţiilor, unitatea centrală de prelucrare conţine celule,


denumite regiştri (registers)/registre, care sunt similare cu celulele memoriei principale a
calculatorului.

69
Aceşti regiştri pot fi clasificaţi ca fiind regiştri de uz general(general
- purpose registers) şi regiştri speciali (special - purpose registers). Regiştrii de uz general
servesc la stocarea temporară a datelor care sunt manipulate de CPU. Ei memorează intrările
circuitelor unităţii aritmetico-logice şi furnizează spaţiu pentru memorarea rezultatelor produse
de aceasta. Pentru a putea efectua o operaţie cu nişte date stocate în memoria
principală, unitatea de comandă trebuie să transfere datele din
memorie în regiştrii de uz general, să informeze apoi unitatea aritmetico-logică în
care regiştrii anume sunt stocate datele, să activeze circuitele adecvate din
unitatea aritmetico-logică şi să-i indice acesteia în ce registru să depună rezultatul operaţiei.
Regiştrii sunt folosiţi pentru stocarea datelor imediat necesare pentru
realizarea unei operaţii;
Memoria principală este destinată stocării datelor care vor fi
necesare în scurt timp;

70
Dispozitivele de stocare de masă sunt utilizate pentru stocarea pe
termen lung a datelor.

În multe calculatoare, la această ierarhie se adaugă un nivel suplimentar, denumit memorie


cache (cache memory). Memoria cache este o memorie de mare viteză, cu timpi de răspuns
similari celor ai regiştrilor unităţii centrale de prelucrare, situată adesea în interiorul CPU.
Calculatorul stochează în această memorie o copie a acelei porţiuni din memoria pe care o
utilizează în momentul respectiv. Astfel, transferurile de date care în mod normal s-ar fi făcut
între regiştri şi memoria principală se fac de fapt între regiştri şi memoria cache. Modificările
sunt apoi transferate în bloc în memoria principală în momente libere.

71
Ierarhia Memoriei

Memoria unui calculator este acea unitate a unui calculator care permite înscrierea, păstrarea şi
redarea unor date sau programe codificate binar.
Indiferent de tehnologia în care este realizată, orice memorie prezintă câteva proprietăți
specifice și anume:
•Capacitate–cantitatea maximă de informație ce poate fi păstrată în memorie la un moment dat.
Se măsoară de obicei în biți.
•Timp de acces –timpul scurs între momentul activării comenzii de citire și momentul în care
informația este disponibilă la ieșirea din memorie.
•Prețul de cost pe unitatea de informație –prețul de cost al unui bloc de memorie /capacitatea blocului.

72
•Tendința a fost mereu de creștere a capacității și de scădere a timpului de acces și a prețului de
cost pe unitatea informațională. Un timp de acces mai mic presupune însă o creștere a prețului
de cost pe unitatea informațională, deci cerințele impuse celor trei mărimi nu pot fi satisfăcute
simultan. •Idealul ar fi o memorie cu un timp de acces care să permita citirea informației pe un
singur impuls de tact al procesorului și cu o capacitate foarte mare dar aceasta ar însemna un
preț de cost prohibitiv și probleme de disipare a căldurii foarte greu sau chiar imposibil de
rezolvat. •Din această cauză soluția realistă s-a dovedit un compromis, obținut prin
implementarea blocului de memorie sub forma unei ierarhii de nivele astfel încât nivelele
apropiate de procesor să aibă un timp de acces și o capacitate mică iar nivelele mai îndepărtate
să ofere un timp de acces mai mare dar și o capacitate din ce în ce mai mare.
•Ierarhia memoriei este o structură cu mai multe nivele organizată
astfel încât datele de la un nivel să poată fi copiate la un moment dat numai într-un nivel adiacen

73
74
75
•Registrele – sunt elementele de memorie cu cel mai mic timp de acces dar și cu cea mai mică
capacitate (sute sau mii de biți), fiind plasate în interiorul procesorului. Majoritatea
instrucțiunilor procesorului pot accesa direct un registru.

•Memoria cache – este un nivel intermediar între procesor și memoria principală cu un timp de acces
bun dar și o capacitate relativ mică. La ora actuală este divizată în trei nivele notate L1, L2, L3. L1
are cel mai bun timp de acces și capacitatea cea mai mică iar L3 cea mai mare capacitate dar și
cel mai mare timp de acces. La unele procesoare folosite în aplicații dedicate, memoria cache
poate să lipsească sau să aibe un singur nivel. Nivelul L1 poate fi plasat în procesor. Memoria
cache este realizată cu circuite integrate RAM static (SRAM).

76
•Memoria principală –Este cel mai important bloc deoarece are o capacitate foarte mare (până la
zeci de Gbiţi) și păstrează toate programele în curs de execuție și datele aferente. Timpul de
acces este mediu (zeci sau sute nanosecunde). La ora actuală se utilizează în special memorii
DRAM dar în anumite situații, dacă nu este necesară o capacitate mare se pot utiliza și memorii
RAM statice (SRAM).
Memoria cache și memoria principală sunt memorii volatile (informația se pierde dacă
memoria nu mai este alimentată cu energie).

•Memoria secundară –memorie permanentă cu acces aleator, sub formă de circuite integrate
(ROM sau flash), discuri magnetice, discuri optice, SSM (Solid State Memory), memorie în rețea
etc. Are capacitate practic nelimitată și un timp de acces foarte mare (până la ordinul
milisecundelor).

77
Regisbe Memccia

bzrds‹ate

0.25-0.Szs 0.S—2Sas d0-2S0rs Szns

<1KB <16kfB

78
Pentru transferarea cuvintelor binare între unitatea centrală a unui calculator şi memoria
principală, acestea sunt conectate printr-o magistrală (bus).
Prin intermediul magistralei, unitatea centrală de prelucrare poate să extragă (să citească) date
din memoria principală, furnizând adresa celulei de memorie dorite, împreună cu un semnal de
citire. Similar, CPU poate plasa (scrie) date în memorie indicând adresa celulei de memorie
destinaţie şi datele care trebuie stocate, împreună cu un semnal de scriere.

79
Dacă analizăm acest mecanism, constatăm că efectuarea unei operaţii cum ar fi adunarea datelor
stocate în memoria principală înseamnă mai mult decât execuţia unei simple operaţii de adunare.
Procesul presupune atât implicarea unităţii de comandă, care coordonează transferul
informaţiilor către regiştri şi memoria principală, cât şi a unităţii aritmetico-logice, care
efectuează operaţia de adunare atunci când unitatea de comandă îi cere acest lucru.

80
Instrucţiuni în cod maşină, Instrucţiuni de tranfer de date, Instrucţiuni
aritmetice şi logice, Instrucţiuni de control

Instrucţiuni pe care o unitate centrală de prelucrare uzuală trebuie să le poate executa -


asemenea instrucţiuni sunt denumite instrucţiuni
în cod maşină (machine instructions).
Atunci când ne referim la instrucţiunile cunoscute de un calculator, este util ca să observăm că
ele pot fi clasificate în trei categorii: grupul instrucţiunilor de transfer, grupul instrucţiunilor
aritmetico-logice şi grupul instrucţiunilor de control.

Primul grup de instrucţiuni conţine instrucţiunile necesare pentru deplasarea datelor dintr-un loc
în altul. Ca şi în cazul memoriei principale, nu se obişnuieşte ca datele care sunt transferate într-o
locaţie oarecare din calculator să fie şterse din locaţia iniţială. Din acest punct de vedere,
termenul de transfer (tranfer) sau mutare

81
(move), deşi utilizat frecvent, este inadecvat, mai degrabă fiind
potriviţi termeni, cum ar fi copiere (copy) sau clonare (clone). Legat de terminologie, trebuie să
menţionăm că atunci când ne referim la
transferul datelor între CPU şi memoria principală a calculatorului se utilizează termeni speciali.
Cererea de încărcare a unui registru de uz general nu conţinutul unei celule de memorie este
desemnată ca o instrucţiune LOAD; invers, transferul conţinutului unui registru într- o celulă de
memorie se face prin intermediul unei instrucţiuni STORE.
Grupul instrucţiunilor aritmetice şi logice constă din instrucţiunile care indica unităţi de
comandă să solicite unităţii aritmetico-logice efectuarea unei anumite operaţii. Aşa cum
sugerează şi numele, unitatea aritmetico-logică este capabilă să efectueze şi alte operaţii în afara
operaţiilor aritmetice elementare. Unele dintre aceste operaţii sunt operaţiile logice AND, OR şi
XOR. Un alt grup de operaţii care se pot efectua în cadrul unităţii aritmetico-logice permite
deplasarea

82
la dreapta sau la stânga a conţinutului regiştrilor. Aceste operaţii sunt denumite SHIFT sau
ROTATE, după cum sunt trataţi biţii care ies din registru prin deplasarea conţinutului:biţii sunt
pur şi simplu eliminaţi (SHIFT) sau sunt folosiţi pentru completarea golului care apare la
celălalt capăt al registrului (ROTATE).
Grupul instrucţiunilor de control conţine acele instrucţiuni care nu manipulează date, ci dirijează
modul de execuţie al programului. Această categorie de instrucţiuni conţine multe dintre cele
mai interesante instrucţiuni din limbajul calculatorului, cum ar fi familia de instrucţiuni de salt
JUMP (sau BRANCH), care sunt utilizate pentru a face ca unitatea de comandă să execute altă
instrucţiune decât cea care urmează. Există două variante de instrucţinui JUMP : salturi
necondiţionate şi salturi condiţionate. Diferenţa este aceea că o instrucţiune de salt condiţionat
efectuează saltul numai dacă este îndeplinită o anumită condiţie

83
Stocarea programelor, Instrucţiunile ca şiruri de biţi

In mod similar datelor, un program poate fi codificat şi stocat în memoria principală a


calculatorului. Dacă unitatea de comandă este proiectată astfel încât să extragă programul din
memorie, să decodifice instrucţiunile şi apoi să le execute, programul unui calculator poate fi
schimbat pur şi simplu prin modificarea conţinutului memorie Conceptul de program stocat în
memorie a devenit în prezent soluţia standard de lucru. Pentru a-l putea aplica, calculatorul este
proiectat astfel încât să recunoască anumite modele de biţi ca reprezentând diferite
instrucţiuni.Această colecţie de instrucţiuni, împreună cu sistemul de codificare, poartă numele
de limbaj maşină (machine-language) – deoarce defineşte modul în care comunicăm
calculatorului algoritmii pe care trebuie să-i execute.
Versiunea codificată a unei instrucţiuni maşină constă de obicei din două părţi: câmpul codului
de operaţie (operation code – prescurtat

84
op-code) şi câmpul operandului (operand). Şirul de biţi care apare în câmpul opcodului specifică
operaţia elementară, ce de exemplu STORE, SHIFT, XOR sau JUMP, a cărei execuţie este
solicitată de instrucţiune. Modelul de biţi din câmpul operandului oferă informaţii detaliate
asupra operaţiei respective. De exemplu, în cazul unei operaţii de tip STORE, informaţia din
câmpul operandului precizează registrul care conţine datele care trebuie stocate, precum şi care
este celula din memorie în care se vor stoca ele.

85
Fazele executarii unei instructiuni si Executia programelor. Ciclul mașinii. Programe si
Date.

Calculatorul urmăreşte un program stocat în memorie copiind instrucţiunile din memorie în


unitatea de comandă pe măsură ce are nevoie de ele. O dată ajunsă în unitatea de comandă,
fiecare instrucţiune este decodificată şi executată. Ordinea în care sunt extrase instrucţiunile din
memorie corespunde ordinii în care acestea sunt stocate, cu excepţia cazului în care o
instrucţiune JUMP specifică altceva. Pentru a înţelege cum se desfăşoară procesul de execuţie a
unui program trebuie să studiem mai amănunţit unitatea de comandă din interiorul CPU. Ea
conţine doi regiştri cu destinaţie specială: contorul programului (program counter) şi registrul de
instrucţiuni (instruction register).

86
Registrul contorului programului conţine adresa următoarei instrucţiuni care trebuie executată,
permiţând astfel calculatorului să urmărească locul în care se află în program.

87
Registrul de instrucţiuni este utilizat pentru stocarea instrucţiunii în curs de execuţie.

Unitatea de comandă îşi realizează sarcinile repetând continuu un algoritm, denumit ciclul
maşinii (machine cycle), care constă din trei paşi: extragere (fetch), decodificare şi execuţie.

În timpul pasului de extragere, unitatea de comandă solicită memoriei principale să-i furnizeze
următoarea instrucţiune care va fi executată. Unitatea ştie unde se află următoarea instrucţiune în
memorie deoarece adresa acesteia se află în registrul contorului programului. Unitatea de
comandă plasează instrucţiunea recepţionată din memorie în registrul său de instrucţiuni şi
incrementează apoi contorul programului astfel încât acesta să conţină adresa următoarei
instrucţiuni.

88
Având acum instrucţiunea în registrul de instrucţiuni, unitatea de comandă începe faza de
decodificare din ciclul maşinii. În acest punct, ea analizează câmpurile codului de operaţie şi
operanzilor pentru a determina ce acţiuni trebuie efectuate.

89
După decodificarea instrucţiunii, unitatea de comandă intră în faza de execuţie, în timpul căreia
activează circuitele adecvate pentru realizarea acţiunilor solicitate. De exemplu, dacă
instrucţiunea se referă la încărcarea datelor din memorie, unitatea de comandă face să se
efectueze operaţia de încărcare; dacă instrucţiunea se referă la o operaţie aritmetico-logică,
unitatea de comandă activează circuitele adecvate din unitatea aritmetico-logică, având ca intrări
regiştrii corespunzători.

90
Arhitecturi CISC si RISC

Proiectarea unui limbaj maşină implică luarea multor decizii, una din ele fiind dacă să construim
o structură complexă, care sa poată decodifica şi executa o largă varietate de instrucţiuni, sau o
maşină mai simplă, care să dispună de un set limitat de instrucţiuni. Ceea ce se obţine in primul
caz poarta numele de calculator cu set de complex de instrucţiuni (complex instruction set
computer CISC); a doua opţiune conduce la realizarea unui calculator cu un set restrâns de
instrucţiuni (reduced instruction set computer RISC).

Se consideră că o instrucțiune este simplă dacă realizează o operație relativ simplă, care implică un
număr mic de resurse și poate fi în general executată pe perioada unui impuls de tact.

91
Se consideră că o instrucțiune este complexă dacă nu poate fi executată pe perioada unui impuls
de tact, implică mai multe resuse diferite (procesor+memorie) și poate fi înlocuită printr-o serie
de instrucțiuni simple.

O instrucțiune simplă poate fi executată direct de către procesor folosind o unitate


specializată(ALU)

Pentru instrucțiunile complexe acest lucru este mai rar întâlnit. Aceste instrucțiuni sunt inițial
transformate în microinstrucțiuni executate de un procesor microprogramat.

92
93
Avantajele procesoarelor CISC
Micșoraea lungimii programelor;
Simplificarea compilatoarelor;
Posibilitatea de a modifica limbajul cod mașină doar prin modificarea microprogramului,fără a
modifica structura hardware a procesorului

94
Micșorarea memoriei ocupată de cod (foarte utilă în anii 60-70).

Dezavantajele procesoarelor CISC


Diferențe foarte mari în lungimea diferitelor instrucțiuni, ceea ce impune procesorului operații
logice suplimentare (numărarea octețiilor pentru citirea unei instrucțiuni, execuția secvențială a unui
număr diferit de microinstrucțiuni pe instrucțiune etc.);
Diferențe foarte mari între timpii de execuție iar viteza de execuție trebuie corelată cu timpul de
execuție al celei mai complexe instrucțiuni;
Realizarea unității microcodate ocupă mult spațiu pe pastila discului
Studiile statistice au arătat că, în aplicații, instrucțiunile complexe sunt mult mai puțin frecvente
decât cele simple (sub 10%) dar ele penalizează întregul sistem;

95
Avantajele procesoarelor RISC
Utilizarea a unui set cu mai puține instrucțiuni simple;
Eliminarea microcodului și implicit creșterea vitezei de lucru; Posibilitatea executării unei
instrucțiuni pe un singur ciclu de tact; Instrucțiuni cu aceiași lungime;
Accesarea memoriei principale prin doar două instrucțiuni simple
LOAD și STORE;
Simplificarea modurilor de adresare a memoriei prin arhitectura internă;
Creșterea numărului de registre interne, ceea ce reduce numărul acceselor la memoria
principală;
Utilizarea unui format de instrucțiune care elimină aproape complet decodificatorul de
instrucțiuni, simplificând mult structura procesorului (la procesoare pe 32 sau 64 biți);

96
Facilitarea paralelismului în activitatea procesorului (procesoare
pipeline);
Reducerea consumului de energie pe procesor.

Dezavantajele procesoarelor RISC


Sunt necesare compilatoare complexe pentru optimizarea codului; Codul obținut prin compilare
este mai mare.

97
Arhitectura von Neuman vs. Harvard PRINCIPIILE ARHITECTURII

VON NEUMANN

P1. Informațiile în calculator sunt codificate binar.


P2. Regulile de codificare binară sunt aceleași indiferent de natura informației.
P3. Pentru păstrarea datelor și programelor codificate binar calculatorul dispune de un bloc
specializat numit memorie.
P4. Comenzile codificate binar au o structură relativ rigidă, formată în principiu din două zone
numite câmpuri (câmpul codului operației (OPCODE) și câmpul de adresă) - instrucțiune cod
mașină.
P5. Toate operațiile din calculator se execute secvențial, adică una după alta. Nu se acceptă nici
un fel de paralelism în executarea diverselor tipuri de operații.

98
FUNCȚIONAREA UNUI CALCULATOR VON NEUMANN

99
Pentru a putea executa un program este necesar să fie rezolvate două probleme, și anume:
1. precizarea adresei de început a programului;
2. precizarea adresei următoarei instrucțiuni.
Se utilizeazăo component special a procesorului, numită numărător de program (program
counter-PC) sau indicator de instrucțiuni (instruction pointer-IP).
Instrucțiunile care se execute una după alta trebuie sa fie plasată în memorie la adrese
consecutive.
Conținutul numărătorului de program se poate modifica și prin instrucțiuni speciale numite
instrucțiuni de salt

100
ARHITECTURA HARVARD

Arhitectura Harvard presupune existența unor blocuri de memorie separate pentru date și pentru
instrucțiuni.
Numele provine de la calculatorul Harvard Mark I ce folosea cartele performate pentru stocarea
instrucțiunilor(reprezentate pe 24 de biți) și blocuri de relee pentru date (23 digiți)
Cele două blocuri de memorie comunică cu Procesorul prin magistrale separate – îmbunătățire a
vitezei de calcul.
Memoria de instrucțiuni poate fi numai citită în timp de memorie de date poate fi și citită, și scrisă,
în funcție de instrucțiunea executată. Fiecare bloc de memorie are propriul spațiu de adrese,
ambele începând de la valoarea 0

101
ARHITECTURA HARVARD

102
HARVARD VS VON NEUMANN

În cazul arhitecturii Von Neumann pură, procesorul se află fie in faza FETCH și citește codul
instrucțiunii, fie în faza EXECUTE și procesează sau citește/scrie date din/în memorie.
Orice paralelism între cele două faze este exclus deoarece memoria și procesorul sunt conectate
printr-o singură magistrală.
Performanța Procesorului este afectată deoarece timpul de procesare este mult mai mic decât
timpul de accesare a memoriei
La ora actuală există și memorii cu timp de acces mult mai mic decât cele uzuale dar datorită
consumului și prețului de cost nu pot fi utilizate decât la capacități foarte mici.
De aceea în aplicațiile unde viteza este o prioritate este utilizată arhitectura Harvard

103
Arhitectura Harvard permite o extensie simplă pentru prelucrări SIMD(Single Instruction,
Multiple Data), folosind o singură memorie de instrucțiuni și mai multe memorii de date

104
HARVARD VS VON NEUMANN

Într-o arhitectură von Neumann instrucțiunile pot fi prelucrate ca și orice alt operand (principiul
P2) ceea ce mărește flexibilitatea utilizării.

Păstrarea în aceeași memorie a datelor și codului executabil simplifică implantarea unor viruși
introduși sub forma unui pachet de date, deși în realitate este vorba de instrucțiuni executabile.

Din această cauză au fost create diferite arhitecturi care să combine avantajele celor două
arhitecturi pure prezentate anterior și în același timp să elimine neajunsurile specifice.

105
ARHITECTURA HARVARD MODIFICATĂ

Arhitectura Harvard modificată este orice variantă a arhitecturii Harvard care permite accesarea
conținutului memoriei de instrucțiuni ca și cum ar reprezenta date.
Modificările pot fi realizate în diverse variante, scopul fiind de fiecare dată înlăturarea barierei
stricte între cod și date, fără a pierde totuși avantajul accesului paralel la instrucțiuni și date specific
arhitecturii Harvard pure.
Unele variante păstrează spațiile de adrese separate dar oferă instrucțiuni cod mașină speciale
pentru a accesa memoria de instrucțiuni ca și cum ar conține date. Această abordare permite
păstrarea unor constante în memoria de instrucțiuni eliberând spațiul în memoria de date. De
asemenea datele inițiale pot fi transferate direct din memoria de instrucțiuni în memoria de date
care la pornirea calculatorului are un conținut aleator.
La ora actuală calculatoarele cu arhitectură Harvard folosesc din ce mai mult memorii flash pe
post de memorie de instrucțiuni ceea ce permite citirea și scrierea instrucțiunilor ca într-o memorie
RAM, dar cu viteză mai mică.

106
Calculatoare de bord
Noțiuni de Arhitectura Calculatoarelor

107
Pipelining, Prelucrare paralelă.

Creșterea frecvenței de ceas este o cale de a îmbunătăți performanțele mașinii de calcul, dar pentru
orice proiect nou există o limită în ceea ce reprezintă această posibilitate în acel moment
tehnologic.
Frecvent, majoritatea proiectanților iau în considerare paralelismul pentru a îmbunătăți și mai
mult performanta pentru o frecvență de ceas dată.

Paralelismul se manifestă în două forme generale: paralelism la nivelul instrucțiunilor și


paralelism la nivelul procesorului.

În primul caz paralelismul este exploatat cu instrucțiuni individuale pentru a obține un raport
instrucțiuni / secundă cât mai mare.

În a doua variantă paralelismul se referă la mai multe procesoare care lucrează în paralel la
aceeași problemă.

108
S-a știut de mult că preîncărcarea instrucțiunilor din memorie este un element important pentru
viteză de execuție a instrucțiunilor.

Pentru a evidenția această problemă ne întoarcem în istorie la IBM Stretch (1959) care avea
capacitate de a preîncărcat din memorie în avans instrucțiunile, așa încât ele să fie acolo când este
nevoie de ele. Instrucțiunile erau încărcate într-un set de registre denumiți 'prefect buffer'.

În acest fel când era nevoie de o instrucțiune, aceasta era luată din această memorie tampon decât
să se aștepte completarea unui ciclu de citire din memorie.

De fapt preîncărcarea împarte execuția instrucțiunilor în două faze: preîncărcarea și executarea lor.
Conceptul de pipeline oferă o strategie mult mai avantajoasă.

Decât să împartă execuția în două părți, o împarte în multiple părți, fiecărei părți fiindu-i dedicată
o componentă hardware, acestea executându-se în paralel

109
Pipeline este o metodă de implementare în care mai multe instrucțiuni se suprapun în timpul
execuției - se folosește pentru a crește viteza de procesare. Metoda pipeline este mai rapidă decât
metoda secvențială.

Blocuri implicate în execuție:


IM –Memoria de instrucțiuni
Reg –Registre
ALU –Unitatea Aritmetică și Logică
DM –Memoria de Date

110
Controlere

Comunicația dintre unitatea centrala de prelucrare a unui calculator și un dispozitiv periferic


oarecare este controlată de obicei de către un dispozitiv intermediar, denumit controler
(controller).
Fiecare controler gestionează comunicația cu un anumit tip de dispozitiv periferic.
Controlerul convertește mesajele și datele la forme compatibile cu caracteristicile interne ale
calculatorului, respectiv la cele ale dispozitivului sau dispozitivelor periferice atașate
controlerului.
Controlere sunt adesea ele însuși mici calculatoare, fiecare având propriile circuite de memorie și
unități centrale de prelucrare care execută un program ce îi gestionează activitatea.

111
Structura ierarhizată a unui sistem de calcul

112
Circuite aritmetice. Registre de deplasare. Sumatoare. ALU
Primul circuit aritmetic prezentat este un registru de deplasare cu 8 intrări și 8 ieșiri, ca în figura
următoare.

113
8 biţi de intrare sunt prezenţi pe liniile D0 ,......, D7.
Ieşirea, care este intrarea deplasată cu un bit, este disponibilă pe liniile S0 ,. ,S7.

114
Linia de control C determină direcția de deplasare, 0 pentru stânga, 1 pentru dreapta. Pentru a
vedea cum funcționează circuitul trebuie să remarcați perechile de porți AND pentru toți biți cu
excepția porților de la capete.
Când C=1, membrul drept al fiecărei perechi este activat, transferând bitul de intrare
corespunzător la ieșire. Deoarece poarta AND din dreapta este conectată la intrarea porții OR din
dreapta sa, se va realiza o deplasare spre dreapta a bitului.
115
Când C=0 membrul stâng al porții AND se va activa realizând o deplasare spre stânga.

116
Sumatoare

Tabela de adevăr a unui sumator întreg

117
Pentru a construi un sumator, să zicem pentru două cuvinte pe 16 biți, trebuie să
construim 16 replici ale circuitului din figura de mai sus.

118
Unităţi logice aritmetice

Majoritatea computerelor conțin un singur circuit pentru realizarea operațiilor AND, OR, NOT și
SUM (însumare) a două cuvinte mașină.

De obicei un astfel de circuit pentru cuvinte pe n biți este construit din n circuite identice pentru
fiecare bit individual.
Figura de mai jos este un exemplu simplu de astfel de circuit denumit ALU.

Acesta poate calcula oricare din următoarele 4 funcții:


A AND B, A OR B, A+B, not B , în funcție de combinația liniilor de intrare F0, F1: 00, 01, 10
sau 11.

De remarcat că A+B înseamnă suma aritmetică a lui A și B, nu OR boolean.

119
https://sites.google.com/site/sjsucmpe120/slides-2/micro-architecture/alu

120
Partea din stânga jos a ALU conține un decodificator pe 2 biți pentru a genera semnalele de
control F0 și F1.
În funcție de valorile lui F0 și F1 numai una din cele 4 linii este selectată.

Setarea acestei linii permite ca ieșirea din funcția selectată să ajungă la poarta OR pentru ieșire.

Partea din stânga sus conține logica de calcul pentru A AND B, A OR B și B negat, dar cel mult
unul din aceste rezultate este transferat la poarta OR finală în funcție de liniile de validare ce
provin din decodor.

Deoarece exact una din linii va fi 1, numai una din cele 4 porți AND ce conduc la poarta OR va fi
validată, celelalte trei vor fi 0, independent de A și B.

În plus pentru a putea utiliza A și B ca intrări pentru operații logice și aritmetice, este de asemenea
posibil să se forțeze la zero oricare din ele negând ENA sau ENB.
INV A – inversează A

121
În condiții normale, ENA și ENB sunt ambele 1 și INV A va fi (.În acest caz A) și
B sunt introduse în ALU fără modificări.

Colțul din dreapta jos al ALU conține un sumator complet pentru calcularea sumei dintre A și B
inclusiv manipularea biților de transport, deoarece este posibil ca astfel de circuite să fie
conectate împreună pentru a realiza operații la nivelul de cuvânt.

Circuite ca în figura de mai sus sunt cunoscute sub numele de “bit slices”. Acestea permit
proiectantului de calculatoare să construiască un ALU de orice mărime dorește.

122
Tehnici de intrare-ieșire – Porturi, Polling, Întreruperi, DMA

Transmisia datelor dinspre și spre exterior se face prin locații speciale de memorie denumite
porturi.

Fiind niște locații de memorie, porturile comunica cu microprocesorul prin magistrala de date,
magistrala de adrese si magistrala de control.

Tehnica de interogare continua (polling)


Atunci când microprocesorul are nevoie de citirea unei date de la portul de intrare trimite adresa
acestuia pe magistrala de adrese și așteaptă activarea semnalului READY de la portul respectiv.
În intervalul de timp de la lansarea operației de citire de la porturi și până când este activat
semnalul READY microprocesorul așteaptă, neputând să desfășoare nici o alta acțiune. In cazul în
care portul de intrare este lent aceasta înseamnă foarte mult timp pierdut pentru microprocesor.
Ca urmare aceasta metoda este utilizata foarte rar si pentru porturi accesate cu frecventa foarte
redusa. Nu se utilizează in aplicațiile care necesita viteza mare de lucru.

123
Tehnica întreruperilor

Marea majoritate a procesoarelor sunt prevăzute cu terminale de întrerupere. In cazul apariției


unui 1 logic pe un astfel de terminal este activata o “întrerupere”. Aceasta înseamnă ca procesorul
va încheia execuția instrucțiunii in curs, după care va lansa in execuție o procedura de deservire a
întreruperii.

Aceasta tehnica permite transferuri mai rapide de date de la porturi si este frecvent utilizata in
operațiile de intrare-ieșire pentru volume relativ mici de date. Întreruperile sunt de mai multe
tipuri si pot fi clasificate in întreruperi hardware si întreruperi software.
Întreruperile sunt ierarhizate într-o anumita ordine de prioritate. In cazul in care apar simultan
doua semnale de întrerupere, atunci este deservita întreruperea cu prioritatea cea mai mare.

124
Tehnica de acces direct la memorie (DMA)
Aceasta tehnica de intrare-ieșire este foarte frecvent utilizata pentru volume mari de date, de
exemplu trimiterea datelor către o imprimanta sau citirea datelor de la o unitate optica, etc.
Utilizarea sa mai presupune prezenta in schema alături de microprocesor a unui controller de
DMA. Acesta va coordona transferul DMA al datelor.

125
Erori de comunicație. Biți de paritate. Coduri corectoare de erori.

La transferarea informațiilor între diverse componente ale calculatorului sau în cazul simplei
stocări a datelor, există posibilitatea ca șirul de biți primiți, înapoi să nu fie identic cu cel original.

În fluxul prelucrării automate a datelor, operația de transfer a informațiilor prin intermediul unui
canal de comunicație este extrem de frecventă. Cu ocazia acestui transfer de informație, la
nivelul canalului de comunicație pot apărea perturbații. Pentru a nu se altera conținutul
informațional este necesară protejarea informațiilor împotriva acestor perturbații. Procedura
presupune adăugarea unor informații suplimentare, necesare în primul rând detectării erorilor și
ulterior corectării acestora.

Pentru a rezolva asemene probleme au fost dezvoltate diferite tehnici de codificare care permit
detectarea și chiar corectarea erorilor. În prezent datorită faptului că sunt implementate pe scară
largă în componentele interne ale sistemelor de calcul, ele sunt invizibile pentru cei care
utilizează calculatoarele.

126
Una din modalitățile practice cel mai frecvent utilizate în detectarea erorilor este reprezentată de
codurile pentru controlul parității.

La emisia unei secvențe binare de n biți se atașează o cifră binară suplimentară (parity bit), numită
cifră de control, astfel încât:
· în cazul parității pare, numărul pozițiilor binare din șir care au valoarea 1 să fie
par (inclusiv cifra de control)
· în cazul parității impare, numărul pozițiilor binare din șir (inclusiv cifra de
control) care au valoarea 1 să fie impar

La recepția unui caracter se efectuează suma cifrelor binare care au fost primite. Dacă această
sumă respectă convenția de paritate stabilită, mesajul este considerat corect recepționat. În caz
contrar se semnalează eroarea, solicitându-se reluarea transmisiei.
Acest tip de cod este implementat de regulă hardware la nivelul dispozitivelor fizice ale
sistemului de calcul.

127
Deși ne închipuim aceste sisteme ca având celule de memorie de opt biți, în realitate ele pot
utiliza celule de nouă biți, dintre care unul este folosit ca bit de paritate.

Ori de câte ori se furnizează circuitelor de memorie un cuvânt de opt biți pentru a fi stocat acestea îi
adaugă un bit de paritate și memorează apoi cuvântul de nouă biți rezultat.

Mai târziu, când se solicită acel cuvânt, circuitele de memorie verifică paritatea cuvântului de
nouă biți. În cazul în care controlul de paritate nu indică nici-o eroare, memoria elimină bitul de
paritate și furnizează în deplină siguranță cuvântul de opt biți rămas.

Astfel, memoria returnează cei opt biți de date împreună cu un semnal de avertizare care
precizează că șablonul binar rezultat s-ar putea să nu coincidă cu cuvântul stocat la început în
memorie.

128
Șirurile lungi de biți sunt adesea însoțite de un grup de biți de paritate dispuși într-un octet de
control (checkbyte). Fiecare bit din acest grup este un bit de paritate asociat unui grup de biți
împrăștiați de-a lungul șirului de biți.
129
De exemplu, un bit de paritate poate fi asociat cu fiecare al optulea bit din șir începând cu primul
bit din șir, în timp ce un alt bit de paritate poate fi asociat cu fiecare al optulea bit începând de la
al doilea bit din șir.
Procedând astfel se detectează mai ușor pachete de erori ce pot apărea în șirul de biți inițial,
deoarece ele survin în domeniile de verificare ale mai multor biți de paritate.

Printre variantele principiului de verificare cu octet de control se numără schemele de detecție a


erorilor cunoscute sub numele de sume de control (checkbyte sums) și controlul cu coduri ciclice
(cyclic redundancy check - CRC).

În anumite situații, simpla detectare a erorilor este ineficientă. În vederea eliminării, fie și numai
parțiale, a acestui neajuns, au fost proiectate coduri care, pe lângă detectarea erorilor, oferă și
posibilitatea corectării cifrelor binare eronate.
Cele mai semnificative sisteme de coduri din această categorie sunt:
Codurile de paritate încrucișată și codul HAMMING

130
· codurile de paritate încrucișată
· codul HAMMING

La codurile de paritate încrucișată succesiunea de cifre binare care se


transmit se divide într-un număr de secvențe binare de aceeași lungime n, astfel încât succesiunea va
fi formată dintr-un număr variabil de linii și un număr fix de coloane.

La emisie fiecărei linii și fiecărei coloane i se va atașa o cifră de control de paritate.


Practic se aplică LRC (control de paritate orizontal (longitudinal) pentru linii și VRC (control de
paritate vertical) pentru coloane.

La recepție, prin controlul parității, pe fiecare linie și coloană se detectează eventualele erori,
având posibilitatea de a corecta o singură eroare detectată la intersecția liniei și a coloanei care
nu respectă paritatea stabilită.

131
Desigur, nici un sistem de tratare a erorilor nu este complet sigur.
Sistemele cu paritate nu pot detecta apariția unui număr par de erori, iar apariția prea multor erori
într-un singur cuvânt al unui cod corector de erori poate avea ca rezultat decodificarea unui alt
cuvânt de cod, valid dar totuși incorect.

132
Codul Hamming : este un cod autocorector bazat pe teste de paritate.

Versiunea cea mai simplă permite corectarea unui bit eronat.


Celor m biţi de informaţie li se adaugă k biţi de control al parităţii. Deci avem n
= m + k biţi necesari pentru transmiterea informaţiei.
Deoarece trebuie indicate n + 1 posibilităţi de eroare (inclusiv absenţa erorii) prin cei k biţi
de control, trebuie ca 2k ≥ n + 1.
Cele 2k posibilităţi de codificare pe k biţi servesc la determinarea poziţiei erorii, apoi se poate
corecta bitul eronat.

Dacă se numerotează biţii de la dreapta spre stânga pornind de la 1, biţii de control (sau de
paritate) sunt plasați pe poziția puterilor lui 2 (biţii cu numărul 1 ,2, 4, 8, 16, ...).
Fiecare bit de control efectuează control de paritate (pară sau impară) asupra unui anumit număr
de biţi de date. Se determină astfel cei n biţi de transmis sau de stocat.

133
Exemplu – Codul Hamming
Dacă m = 4 se poate construi un cod Hamming pe 7 biţi (n = 7), adăugând 3 biţi de control
(k = 3).
7 6 5 4 3 2 1
m4 m3 m2 k3 m1 k2 k1
Cei trei biţi de control sunt plasaţi pe poziţia puterilor lui 2:
k1 → 1;
k2 → 2;
k3 → 4.
Vom vedea acum, pentru fiecare bit al mesajului care sunt biţii de control care permit
verificarea parităţii sale:
7 = (0111)2 = 4 + 2 + 1 → 7 este controlat de k3, k2, k1;
6 = (0110)2 = 4 + 2 → 6 este controlat de k3, k2;
5 = (0101)2 = 4 + 1 → 5 este controlat de k3, k1;
4 = (0100)2 = 4 →4 este controlat de k3;
3 = (0011)2 = 2 + 1 → 3 este controlat de k2, k1;
2 = (0010)2 = 2 →2 este controlat de k2;
1 = (0001)2 = 1 →1 este controlat de k1;

134
Problema se pune şi invers: care sunt poziţiile binare controlate de către fiecare cod?
k1 controlează biţii cu numerele 1, 3, 5, 7;
k2 controlează biţii cu numerele 2, 3, 6, 7;
k3 controlează biţii cu numerele 4, 5, 6, 7.

Când se recepţionează informaţia, se efectuează controlul de paritate.


Pentru fiecare bit de control se compară valoarea transmisă cu cea recalculată. Dacă cele două
valori sunt identice, se atribuie valoarea 0 unei variabile binare Ai asociată bitului de control ki,
altfel, Ai primeşte valoarea 1.
Valoarea zecimală a configuraţiei binare formată din variabilele Ak, Ak-1, ..., A1 furnizează poziţia
bitului eronat, care se poate corecta.

135
Presupunem că pentru k1, A1 = 1, pentru k2, A2 = 1, iar pentru
k3, A3 = 0. Eroarea se găseşte în poziţia (A3A2A1)2 = (011)2 =
3.

Într-adevăr, k1 poate detecta o eroare în poziţiile 1, 3, 5, 7, k2 poate


detecta o eroare pe poziţiile 2, 3, 6, 7, iar k3 poate specifica o eroare pe
poziţiile 4, 5, 6, 7. O eroare detectată de k1 şi k2 dar nu şi de k3 nu
poate proveni decât din bitul 3. de exemplu:
(A3A2A1)2 = (000)2 → indică
absenţa unei erori; (A3A2A1)2 =
(001)2 → indică eroare pe bitul
1; (A3A2A1)2 = (110)2 → indică
eroare pe bitul 6

Exemplu de recepţionare a unui mesaj: (1011100)2.


Ştiind că s-a utilizat un CH cu paritate pară, să se reconstituie
mesajul iniţial. n = 7, deci k = 3, m = 4.

136
7 6 5 4 3 2 1
m4 m3 m2 k3 m1 k2 k1
1 0 1 1 1 0 0

k1 = 0 controlează poziţiile 1, 3, 5, 7, nu se verifică, deci A1 = 1;


k2 = 0 controlează poziţiile 2, 3, 6, 7, se verifică, deci A2 = 0;
k3 = 0 controlează poziţiile 4, 5, 6, 7, nu se verifică, deci A3 = 1;

Adresa binară a erorii (A3A2A1)2


= (101)2 = 5. Bitul cu numărul 5,
care este egal cu 1 este eronat.
Mesajul iniţial corectat şi fără biţii de control este: (1001)2

137
Calculatoare de bord
CONVERSII NUMERIC-ANALOGICE
ŞI
ANALOG-NUMERICE

138
Informaţiile provenite din lumea fizică reală trebuie convertite într-o formă
compatibilă pentru prelucrarea lor în calculator.
De asemenea, semnalele provenite de la calculator (comenzi în cazul sistemelor de
conducere) trebuie convertite într-o formă corespunzătoare echipamentelor cuplate
la calculator.

139
Informaţiile provenite din lumea fizică reală trebuie convertite într-o formă
compatibilă pentru prelucrarea lor în calculator.
De asemenea, semnalele provenite de la calculator (comenzi în cazul sistemelor de
conducere) trebuie convertite într-o formă corespunzătoare echipamentelor cuplate
la calculator.

Conditionarea semnalului, "signal conditioning", include functii ca amplificarea


semnalului, filtrare, izolare galvanica si multiplexare.

140
Prin condiţionarea semnalelor se înţelege în sens larg adaptarea dintre
traductoare şi circuitele de conversie analog-numerică. Tipul de condiţionare
depinde evident de senzorii care sunt utilizaţi.

De exemplu, un semnal poate avea nivel mic şi necesită o amplificare, sau poate
conţine componente parazite care cer realizarea unei filtrări.

Anumite operaţii de condiţionare de semnal se realizează între circuitele de


conversie numeric-analogică şi elementele de execuţie, precum şi pe partea de
intrări/ieşiri numerice.

Condiţionarea semnalelor se realizează prin operaţii cum ar fi:


- conversii de semnal (cum ar fi conversia curent/tensiune)
- izolare galvanică
- amplificare
- filtrare
- liniarizare
- multiplexare
- alimentarea senzorilor pasivi

141
CONVERTOARE NUMERIC-ANALOGICE (CNA)

Reconstituirea (reconstructia) fizica a semnalelor este operatia utilizata atunci când


se doreste ca un semnal esantionat si eventual prelucrat numeric de catre un sistem
de calcul sa fie reconstituit din esantioanele sale si furnizat în forma analogica la
iesirea sistemului.
Într-un sistem de achizitie si conducere, reconstituirea si generarea semnalelor
analogice se realizeaza prin intermediul circuitelor de iesiri analogice.
Reconstituirea fizica se realizeaza prin intermediul unui grup de dispozitive, dintre
care rolul esential îl are convertorul numeric analogic (CNA).

Schema bloc a reconstituirii fizice a semnalelor (organizarea ieşirilor analogice)

142
CONVERTOARE NUMERIC-ANALOGICE (CNA)

CNA-ul acceptă la intrarea sa semnalul în formă numerică, registrul tampon (bufferul)


fiind utilizat pentru păstrarea datelor (numerelor binare) pentru un interval de timp egal
cu perioada de eşantionare ( ).
CNA-ul converteşte numărul binar într-o tensiune aproximativ egală cu valoarea actuală
a semnalului numeric şi o menţine constantă pentru secunde. Atunci când următorul
număr apare la ieşirea bufferului, CNA-ul va schimba tensiunea de ieşire conform noii
valori de la intrare.

Schema bloc a reconstituirii fizice a semnalelor (organizarea ieşirilor analogice)

143
CONVERTOARE NUMERIC-ANALOGICE (CNA)

Convertorul numeric-analogic realizeaza o aproximare a operatiei de extrapolare de


ordin zero.
Principial, forma semnalului la iesirea CNA este similara iesirii extrapolatorului de
ordin zero.

Forma semnalului de ieşire din CNA (răspunsul unui extrapolator de ordin zero).

Extrapolatorul de ordin zero (numit şi extrapolator cardinal), menţine ultima valoare


primită (blochează această valoare) în timpul perioadei de eşantionare care urmează,
.

144
CONVERTOARE NUMERIC-ANALOGICE (CNA)

La ieşirea CNA se utilizează un filtru de tip trece jos care are rolul de a netezi
semnalul provenit de la convertor, apoi un amplificator de putere care are rolul
adaptării de nivel şi de putere cu circuitele spre care este transmis semnalul analogic.
În unele cazuri, la ieşirea CNA se dispune un circuit de izolare galvanică.

Schema bloc a reconstituirii fizice a semnalelor (organizarea ieşirilor


analogice)

145
Structura unui CNA pe 4 biţi cu rezistenţe ponderate

Se observă că registrul care conţine biţii de intrare controlează cele 4 comutatoare,


astfel încât sunt posibile 16 configuraţii în funcţie de poziţia comutatoarelor.
Amplificatorul operaţional este conectat ca un circuit de însumare.

146
Structura unui CNA pe 4 biţi cu rezistenţe ponderate

Pentru o anumită configuraţie a comutatoarelor, tensiunea de ieşire este determinată


de produsul dintre tensiunea de referinţă şi raportul dintre rezistenţa de pe reacţie şi
rezistenţa introdusă în circuit de comutatoare.

147
Structura unui CNA pe 4 biţi cu rezistenţe ponderate

De exemplu, dacă doar MSB este 1 şi ceilalţi biţi sunt 0 vom avea:

148
Structura unui CNA pe 4 biţi cu rezistenţe ponderate

Dacă bitul 2 este 1 şi ceilalţi sunt 0 tensiunea de ieşire va fi:

149
Structura unui CNA pe 4 biţi cu rezistenţe ponderate

Dacă avem MSB egal cu 1, bitul 2 şi bitul 1 sunt 0 iar LSB este 1 atunci tensiunea de
ieşire va fi o sumă a efectelor combinate ale comutatoarelor:

150
Structura unui CNA pe 4 biţi cu rezistenţe ponderate

Cu această structură de CNA se pot obţine 16 nivele de tensiune la ieşire. Pentru


asigurarea unei dependenţe liniare intrare-ieşire este necesar ca rezistenţele să fie
precise şi stabile.

151
CONVERTOARE ANALOG-NUMERICE
Un convertor analog-numeric accepta la intrare un semnal continuu în timp x(t) sub
forma unei tensiuni electrice si furnizeaza la iesire o secventa de numere binare x(n),
care aproximeaza esantioanele corespunzatoare x(n ).

Pentru majoritatea aplicatiilor, tensiunea electrica de intrare nu este furnizata direct


CAN-ului, ci printr-un dispozitiv numit element de esantionare si retinere
(memorare) – sample-hold (S/H).

Elementul S/H este un circuit analogic care masoara semnalul de intrare în ritmul
unui tact (multiplu de ) si mentine acest semnal fixat pentru un interval de timp
suficient de mare pentru ca operatiunea de conversie analog-numerica sa se poata
realiza.

Deoarece operatiunea de conversie analog-numerica este relativ lenta, este important


ca o eventuala variatie a tensiunii de intrare sa nu perturbe procesul de conversie, si
prin urmare circuitul S/H previne aceste perturbatii prin mentinerea constanta a
tensiunii de intrare pe durata desfasurarii unei conversii.

152
153
CAN cu aproximări succesive

Este unul din cele mai utilizate CAN pentru rezoluţii medii şi mari. Acest CAN se
bazează pe aproximarea semnalului de intrare analogic cu un cod binar, convertirea
acestui cod binar cu un CNA într-un semnal analogic care este comparat cu semnalul
de intrare şi apoi revizuirea succesivă a aproximării pentru fiecare bit din cod până
când se obţine cea mai bună aproximare.

La fiecare pas din acest proces, valoarea binară curentă a aproximării este stocată într-un
registru numit registru de aproximări succesive RAS.

154
CAN cu aproximări succesive

BC este un bloc de comandă, care controlează conversia şi mărimea de intrare în CNA.


Schema de conversie se bazează pe principiul de înjumătăţire a intervalului şi poate fi prin
adăugare sau scădere.

155
CAN cu aproximări succesive

Un ciclu de conversie începe de la valoarea 000 a mărimii de intrare în CNA, apoi bitul
MSB este făcut 1.

Urmează un algoritm de testare care va verifica efectul modificării câte unui bit. Prin
urmare, la primul pas convertorul numeric-analogic va converti valoarea 100 (care
corespunde unei estimări iniţiale de jumătate din domeniul de intrare) într-o tensiune uc
care este comparată cu tensiunea de intrare.

În funcţie de rezultatul comparaţiei, bitul MSB este lăsat 1 sau este făcut 0.
La pasul al doilea (la următorul tact sau perioadă de ceas), al doilea bit este făcut 1,
urmează conversia în uc şi compararea cu tensiunea de intrare.

Se decide dacă cel de-al doilea bit este 1 sau 0 şi urmează al treilea pas.
În cazul exemplului nostru este vorba de LSB care este făcut 1, se realizează conversia şi
comparaţia şi se stabileşte valoarea finală a LSB şi prin urmare a codului de ieşire care va
aproxima cel mai bine semnalul de intrare.

156
CAN cu aproximări succesive

Schema logică a algoritmului (cu adăugare) cu toate opţiunile posibile.

157
CAN cu aproximări succesive

Deoarece deciziile pentru fiecare bit sunt luate serial, poate fi furnizată o ieşire
numerică serială la ieşirea din comparator.
Ca performanţe, aceste CAN au timpul de conversie independent de mărimea de
intrare (este o sumă dintre timpul de iniţializare şi n ⋅ Tbit −test ) şi este de ordinul 100 nsec

– 5μ sec pentru CAN pe 8 biţi şi mai mare pentru CAN pe mai mulţi biţi.
Rezoluţia este de 6 – 16biţi.

158
Indicatori de performanţă ai CAN

Convertoarele analog-numerice sunt dispozitive utilizate la conversia semnalelor din


formă analogică în formă numerică, în scopul prelucrării ulterioare prin mijloace
numerice.
Semnalele analogice de intrare în CAN sunt în mod obişnuit tensiuni continue în
gama 0 – 10 V sau -10 – +10 V.
Semnalele de ieşire din CAN sunt cuvinte care au de regulă un număr de biţi între 6
şi 22.

Cele mai des utilizate tipuri de CAN funcţionează pe baza principiului compensării
automate. Tensiunii de la intrare i se asociază o valoare numerică, care este după aceea
convertită din nou în formă analogică. Valoarea numerică este ajustată în mod automat,
astfel încât să compenseze eroarea dintre tensiunea de intrare în CAN şi corespondentul
analogic al mărimii numerice de la ieşire. Există mai multe tipuri de CAN, în funcţie de
modul de generare a valorii numerice. Printre tipurile mai des folosite se numără: CAN
cu comparare multiplă, cu aproximări succesive, cu integrare (cu pantă simplă sau cu
pantă dublă), cu conversie intermediară în frecvenţă, CAN cu filtrare digitală etc.

159
Indicatori de performanţă ai CAN

Principalele performanţe ale CAN sunt liniaritatea, precizia, rezoluţia, timpul şi


rata de conversie, domeniul (gama) tensiunii de intrare.
Conversia analog-numerică constă în convertirea unui semnal de intrare continuu
într-o fracţie y prin compararea cu un semnal de referinţă. Mărimea de ieşire
numerică din CAN este o reprezentare codificată a acestei fracţii y. Dacă ieşirea
CAN este pe n biţi, atunci numărul nivelelor de valori discrete de ieşire este de 2^n.
Prin urmare, pentru a respecta o corespondenţă, domeniul analogic de intrare trebuie
cuantificat în acelaşi număr de nivele.
Fiecare astfel de nivel sau cuantă este o valoare analogică pentru care două coduri
adiacente de ieşire diferă, şi mai este numită dimensiune a bitului LSB:

În relaţia de mai sus notaţia LSB este uşor improprie şi reprezintă valoarea analogică a
celui mai puţin semnificativ bit, iar D este domeniul mărimii de intrare (full scale).

160
Indicatori de performanţă ai CAN

Toate valorile analogice de intrare din interiorul unui nivel de dimensiune D / (2^n)
sunt reprezentate de acelaşi cod numeric de ieşire.
Deoarece semnalul de intrare poate să difere de valoarea medie a unui astfel de
subinterval analogic cu cel mult ± LSB / 2 şi să fie totuşi reprezentat de acelaşi cod de
ieşire, rezultă că există o incertitudine sau eroare de cuantificare de ± LSB / 2 în orice
CAN. Efectul acestei erori poate fi redus doar prin creşterea numărului de biţi
ai ieşirii CAN.

Aspectele prezentate mai sus pot fi analizate cu ajutorul caracteristicii statice ideale
a unui CAN pe 3 biţi.

161
Indicatori de performanţă ai CAN

Caracteristica statică a unui CAN pe trei biţi

În acest caz, dimensiunea unui nivel de cuantificare din mărimea de intrare este de D /
2^3 = D / 8 şi prin urmare domeniul de intrare este împărţit în 8 subintervale distincte
de la 0 la (7 /8) * D.
Trebuie observat faptul că ieşirea maximă, adică numărul binar 111, corespunde nu
domeniului maxim de intrare ci lui (7 /8) * D.
162
Indicatori de performanţă ai CAN

CAN-urile au caracteristici statice reale, care diferă de caracteristica ideală


prezentată anterior. Pe aceste caracteristici reale pot fi evidenţiate tipurile de erori
care pot apare la un CAN. Una dintre erori este eroarea de offset (sau eroarea de
zero) care poate fi definită ca valoarea analogică egală cu intervalul de la origine la
intersecţia caracteristicii reale cu abscisa.

163
Indicatori de performanţă ai CAN

O altă eroare este eroarea de câştig sau de pantă care apare datorită unei abateri de
pantă a caracteristicii. Aceste două erori sunt în general mici şi pot fi eliminate prin
tehnici de ajustare.

164
Indicatori de performanţă ai CAN

Erorile de liniaritate pot fi de două tipuri: eroare totală de liniaritate (deviaţia


maximă a caracteristicii reale de la caracteristica ideală, atunci când erorile de offset
şi de câştig sunt nule) sau eroare diferenţială (deviaţia unui nivel de la valoarea
analogică ideală). În cazul în care o neliniaritate de tip diferenţial este mai mare de 1
LSB, atunci ieşirea are coduri lipsă.

165
Indicatori de performanţă ai CAN

Rezoluţia poate fi definită ca cea mai mică schimbare a intrării analogice care
determină schimbarea codului de ieşire al CAN cu un nivel.
Rezoluţia este definită de regulă pe caracteristica ideală şi prin urmare defineşte
mai degrabă posibilităţile CAN decât performanţa reală. Rezoluţia se poate defini
procentual, în milivolţi pentru un domeniu de intrare dat sau pur şi simplu ca
numărul de biţi ai CAN. De exemplu, dacă avem un CAN pe 12 biţi, rezoluţia
acestuia se spune că este de 12 biţi, iar rezoluţia procentuală

Dacă avem un domeniu de intrare de 10 V, se poate defini rezoluţia în milivolţi

aceasta fiind de fapt tensiunea minimă de intrare ce poate fi reprezentată.

166
Indicatori de performanţă ai CAN

Un alt indicator de performanţă al CAN este precizia. Trebuie să remarcăm aici


că în specificaţiile tehnice şi în literatura de specialitate în limba engleză se
utilizează uneori termenul de precision pentru rezoluţie şi termenul accuracy
pentru precizie.
Precizia se defineşte ca fiind diferenţa dintre tensiunea de intrare reală şi
echivalentul analogic al codului binar de ieşire din CAN. Atunci când este
exprimată în volţi se numeşte precizie absolută, dar de multe ori se exprimă relativ
la semnalul analogic, se exprimă în LSB şi se numeşte precizie relativă. Precizia
este dată de suma maximă a tuturor erorilor de conversie, inclusiv a erorii
(incertitudinii) de cuantificare.

167
Indicatori de performanţă ai CAN

Pentru regimul dinamic al CAN se defineşte timpul de conversie tc ca fiind


intervalul de timp dintre startarea operaţiei de conversie şi momentul în care
convertorul furnizează mărimea de ieşire finală.
Inversa timpului de conversie este rata de conversie care se măsoară în
conversii/secundă.
Utilizarea circuitelor de tip Sample/Hold între intrarea analogică şi CAN conduce
la apariţia unui timp de întârziere suplimentar numit timp de deschidere (aperture
time), de care trebuie să se ţină seama în aprecierea performanţelor.

168
Selectarea unui CAN

Pentru a selecta un CAN conform aplicaţiei date trebuie cunoscute mai întâi
performanţele care se cer, cum ar fi rezoluţia, timpul de conversie, erori
permise etc.

Acestea sunt determinate de specificaţiile de proiectare ale sistemului respectiv,


cum ar fi:

- numărul canalelor analogice


- rata minimă de conversie
- localizarea traductoarelor
- precizia de conversie
- condiţiile de interfaţă (serie/paralel) şi protocoale
- mediul de lucru (interesează zgomotele electrice şi domeniul de
temperatură al mediului)
- preţul sistemului

169
Magistrale de date

170
Structura unui sistem de comunicații

Orice sistem de comunicații este alcătuit in principal din trei elemente :


S = Sursa de informații
U = Utilizatorul de informații

Informația transmisa se regăsește sub forma unui semnal, semnalul fiind suportul
material pentru informație .
Semnalele pot fi electrice, optice, acustice, pneumatice, hidraulice etc. In funcție de
natura semnalului utilizat se alege si canalul de comunicații. Canalul reprezintă
mediul de legătura intre sursa si utilizator prin care se propaga semnalul purtător de
informații.
La nivelul canalului acționează perturbațiile din mediul extern. Perturbațiile sunt
tot semnale de aceeași natura cu semnalul util dar care acționează in sensul scăderii
cantității de informație transmisa.

171
In cazul in care , fie distanta este foarte mare , fie nivelul perturbațiilor este crescut,
structura de mai sus se modifica astfel:

Prin modulare se înțelege procedeul tehnic in urma căruia informația conținuta in


semnalul de baza (semnal modulator) este transpusa la nivelul unui semnal purtător
ce are capacitatea de a proteja informația si de a se propaga eficient printr-un canal
dat.
Demodularea este procedeul invers modularii si prin intermediul sau se
reconstituie semnalul de baza .
In cazul in care se dorește ca informația sa fie sigura si sa se poată detecta erorile
structura unui sistem de comunicație devine:

Prin codificare se înțelege transpunerea informației numerice sub o forma care


sa permită receptorului detecția si eventual corecția erorilor.

172
Protocoale de comunicație: - un set de reguli care definesc înțelesul unei structuri de
cuvinte binare.
Un protocol reprezintă un set de reguli și convenții ce se stabilesc între participanții la
o comunicație în rețea în vederea asigurării bunei desfășurări a comunicației
respective. Este de fapt o înțelegere între parțile care comunică, asupra modului de
realizare a comunicării.
Topologii de reţele
Topologia magistrală: folosește un cablu de conexiune principal, la care sunt conectate toate
sistemele de calcul.
Topologia inel: Într-o topologie inel (ring), fiecare dispozitiv este conectat la următorul, de la
primul până la ultimul, ca într-un lanţ.
Topologia stea: Are un punct de conectare central, care este de obicei un echipament de reţea,
precum un hub, switch sau router.
Topologia plasă: (mesh) Într-o topologie mesh, fiecare echipament are conexiune directă cu
toate celelalte. Dacă unul din cabluri este defect, acest defect nu afectează toată rețeaua ci doar
conexiunea dintre cele două stații pe care le conectează. Altfel spus, dacă o parte a infrastructurii
de comunicație sau a nodurilor devine nefuncțională, se găsește oricând o noua cale de
comunicare.
Topologia arbore: (tree) Combină caracteristicile topologiilor magistrală și stea. Nodurile sunt
grupate în mai multe topologii stea, care, la rândul lor, sunt legate la un cablu central

173
Topologia magistrală Topologia inel Topologie de tip stea

Topologie de tip arbore

174
Toate transferurile de informaţii şi date între diverse componente ale sistemului de
calcul, care se realizează prin magistrale, se desfăşoară la nivel de bit, octet, cuvânt sau
bloc de octeţi.
Aceste transferuri de biţi se pot efectua în două feluri: prin transmisie serială sau
prin transmisie paralelă.
Transmisia paralelă este o transmisie eficientă deoarece se desfăşoară concomitent
pentru cei 8 biţi ai unui octet de exemplu, pe 8 căi distincte. Prin urmare, transferul
unui grup de octeţi are loc cu o viteză foarte mare, dar are dezavantajul unui cost
ridicat datorat interfeţei paralele şi cablului de conectare cu 8 fire (sau mai multe).
Transmisia paralelă se utilizează la echipamentele care vehiculează un volum mare de
date într-un timp scurt.
Transmisia serială este mai simplă pentru că nu necesită decât o cale de transmisie, un
octet transmiţându-se bit cu bit. Costurile sunt mici, dar dezavantajul este legat de
viteza de transmisie mică.
Deoarece trebuie introdus un mecanism de separare a logică a octeţilor transmişi, la
construcţia interfeţelor se foloseşte o altă clasificare a transmisiilor:
- transmisia sincronă, în care octeţii se transmit fără biţi fanion şi fără pauze de
transmisie între octeţi;
- transmisia asincronă, la care între octeţii transmişi sunt intercalate pauze sau se
folosesc flag-uri de indicare a începutului sau sfârşitului unui octet.
Transmisia sincronă utilizează ceasuri sincronizate pentru a transmite date, în timp ce
transmisia asincronă utilizează controlul fluxului în loc să utilizeze un ceas sincronizat
pentru a transmite date.
175
O altă clasificare a transmisiilor de date se poate face după modul în care este
folosită linia de transmisie:
Ø Simplex - întâlnit și sub numele de transmisie unidirecțională, constă în transmisia
datelor într-un singur sens.
Ø Half-duplex – constă în transmiterea datelor în ambele direcții alternativ. Datele
circulă în acest caz pe rând într-o anumită direcție. Un exemplu de transmisie half-
duplex este transmisia datelor între stațiile radio de emisie-recepţie. Sistemele sunt
formate din două sau mai multe staţii de emisie-recepţie dintre care una singură joacă
rol de emițător, în timp ce celelalte joacă rol de receptor;
Ø Full-duplex – constă în transmisia datelor simultan în ambele sensuri. Lățimea de
bandă este măsurată numai într-o singură direcție (un cablu de rețea care funcționează
în full-duplex la o viteză de 100 Mbps are o lățime de bandă de 100 Mbps).

176
Modelul de referinţă OSI

Modelul de referinţă OSI (Open System Interconection) descrie şapte nivele


funcţionale, care, împreună cu mediul fizic, asigură un set complet de servicii de
comunicaţie.

Această arhitectură poate fi concepută ca fiind compusă din două parţi diferite:
-partea de suport(1,2,3);
-partea de utilizator(5,6,7).

Cele două parţi sunt separate de nivelul de


transport, care are rolul de a ascunde detaliile
constructive ale comunicaţiei.

177
Nivelul fizic (Physical Layer): asigură mijloacele mecanice, electrice, funcţionale şi
procedurale pentru accesul la mediul fizic.
Nivelul fizic se rezumă la cabluri şi semnale electrice. Datele sunt transmise între
dispozitive prin cabluri sau sub formă de unde radio.

Nivelul Legătura de date (Data Link Layer): reprezintă partea care asigură
interconectarea fizică. La acest nivel putem vorbi despre cea mai mare grupare de biţi
care se transmite prin mediul fizic: frame-ul.

Nivelul reţea (Network Layer): se ocupă de dirijarea maselor între două noduri
intermediare folosind blocuri speciale de control, care conţin adresa destinatarului.
Acest nivel va alege ruta pe care informaţia va ajunge la destinaţie şi va adăuga
adresele nodurilor intermediare.

Nivelul transport (Transportation Layer): realizează transferul datelor de la sursă la


destinaţie pe ruta stabilită de nivelul precedent cu o integritate ridicată.
Se utilizează protocoale bazate pe confirmare, care implică transmisia, retransmisia şi
recuperarea datelor eronate. Programul de pe calculatorul sursă conversând cu un
program similar de pe calculatorul destinaţie. La acest nivel canalelor logice li se
asociază adrese fizice.

178
Nivelul sesiune (Session Layer): permite legarea utilizatorului la un calculator
central care lucrează cu divizarea timpului (time sharing) şi transmiterea fişierelor
prin funcţiile de stabilire şi eliberare de conexiuni, sincronizare, raportare,
întrerupere.Pentru a evita repetarea întregului transfer în caz de eroare, inserează
periodic puncte de control de la care poate fi reluată transmisia.

Nivelul prezentare (Presentation Layer): are rolul de a elibera aplicaţiile de


diferenţele existente în reprezentarea datelor.Asigură totodată codificarea datelor
îintr-un standard corespunzător aplicaţiei.În cazul în care la transmisie se folosesc
date comprimate pentru a reduce timpul de transfer, acest nivel rezolvă
comprimarea şi decomprimarea datelor.

Nivelul aplicaţie (Application Layer): permite funcţionarea concurentă a proceselor


în vederea realizării unui obiectiv definit de utilizator, fără ca acesta să cunoască
locul unde se află procesele. Funcţiile asigurate de acest nivel sunt:lansarea
programelor, vizualizarea şi transferul fişierelor de pe întregul system,
poşta electronică.

179
Topologia magistralei CAN

CAN foloseşte topologia liniară sau magistrală (Bus Topology). În acest caz există un
singur canal de comunicaţie la care sunt conectate toate nodurile reţelei. Cablul de
legătură formează o linie de legătură de la un capăt la altul al reţelei. Acest mediu
comun de transmisie are exact două terminaţii (EN:end points). Fiecare nod este
conectat la canalul de comunicaţie si transmite mesaje în reţea.

Această topologie are avantajul că magistrala este încă operaţionala pentru toate
celelalte noduri, chiar şi atunci când un nod devine nefunctional.

180
Topologia magistralei CAN

În cazul în care linia principală este întreruptă , întregul segment este deconectat de
restul reţelei. Segmentele rămase rămân operaţionale, iar comunicarea dincolo de locaţia
întreruperii este imposibilă.

Din cele 7 nivele ale OSI , numai cele de


culoare albastră (1, 2, şi 7) sunt implementate
in magistrala CAN

181
Topologia magistralei CAN

Mediul de transmisie (Nivelul 1 OSI)


În general doar un singur fir este necesar pentru transferul de date (single-wire cable).
Dar cu un astfel de mediu de transmisie viteza este relative scăzută. În afară de
aceasta, toate staţiile conectate la un bus single-wire trebuie să aibă parte de conectare
la masă. Prin urmare, bus-ul single-wire este mai sensibil la bruiajele electrice
exterioare.

Mediul de transmisie folosit mai des constă în doua fire (twin - wire) torsadate pe care
se transmite semnal diferenţial. Un cablu torsadat este alcătuit din două fire înfăşurate
elicoidal , fiecare fir izolat în parte. Cablul torsadat poartă numele de twisted pair în
literatura de specialitate . Prin înfăşurarea celor două fire se elimină prin diferenţiere
zgomotul .
Ecranarea (ca de exemplu în cazul cablului coaxial), nu este necesară. Din păcate, nu
există o culoare de codificare. Prin urmare, cele două tipuri de fire pot avea culori
diferite, în funcţie de producător. Cele două fire se numesc CAN high (CAN-H) şi
CAN low (CAN-L).

182
Topologia magistralei CAN
Legătura de date (Nivelul 2 OSI)

Protocolul de comunicare care stă la baza magistralei CAN este CSMA/CD (Carrier
Sense Multiple Access with Collision Detection).
Carrier Sense Multiple Access (CSMA) este un protocol Media Access Control
(MAC) în care un nod înainte de a transmite informaţia pe magistrala comună verifică
prezenţa altui trafic de pe mediul comun de transmisie.

Dispozitivele ataşate la cablul de reţea ascultă (carrier sense), înainte de a transmite. În


cazul în care canalul este în uz, nodul aşteaptă înainte de a transmite. MA (multiple
acces) indică faptul că mai multe dispozitive pot fi conectate şi împart aceeaşi reţea.

Toate nodurile reţelei au acces egal la utilizarea reţelei, atunci când aceasta este
neutilizată. Chiar dacă dispozitivele încearcă să verifice dacă reţeaua este în uz, există o
bună şansă ca două noduri să încerce să o acceseze în acelaşi timp. În reţele mari ,
timpul de transmisie între un capăt al cablului şi celălalt este suficient cât o staţie să
încerce să acceseze reţeaua, chiar dacă deja este folosită de alt nod.

183
Topologia magistralei CAN

Magistrala CAN: este proiectată pentru medii ce lucrează uneori în conditii


extreme si poate opera chiar dacă:
- un fir este întrerupt
- unul din fire este scurtcircuitat la masă
- unul din fire este scurtcircuitat la tensiunea de alimentare
- cele două fire sunt întrerupte în acelaşi loc. În acest caz cele două capete vor
funcţiona ca reţele separate.
Viteza este relativ redusa, iar limitarea este determinata de modul de arbitrare,
pe baza de prioritate a mesajelor
1 Mb/s pâna la 40 metrii
125 kb/s pâna la 500 metrii
50 kb/s pâna la 1000 metrii

184
Magistrala ARINC 429
ARINC 429 este un standard de transfer de date pentru avionica.
Firele de conectare fizica sunt perechi răsucite care poarta un semnal diferențial;
Cuvintele de date sunt de 32 de biți. Mesajele sunt transmise fie la 12 kbit/s fie la 100
kbit/s la alte elemente de sistem care monitorizează mesajele din magistrala.
Transmițătorul transmite in mod constant fie cuvinte de date pe 32 biți fie starea NULL
(0 V). Fiecare cuvânt ARINC 429 este o secvența de 32 biți care conține 5 câmpuri:
- bitul 32 este bitul de paritate; folosit pentru a verifica daca cuvântul a fost deteriorate in
timpul transmisiei;
- biți 30 si 31 , sunt matricea de Semnătura/Status (SSM - Sign/Status Matrix) acești biți
pot avea diferite codificări in funcție de reprezentarea particulara a datelor aplicata unui
cuvânt dat.
- biți 29..11, conțin datele
- biți 9 si 10 sunt Identificatori de sursa/destinație SDI si pot indica receptorul dorit sau
mai frecvent indica subsistemul de transmitere.
-biți de la 1 la 8 conțin o eticheta , identificând tipul de date

185
În această imagine, eticheta (tabel) apare în roșu, datele în albastru-ocean și bitul de paritatee în albastru.

186

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