Documente Academic
Documente Profesional
Documente Cultură
Bitul cel mai din stânga se numește "cel mai semnificativ", iar cel mai din dreapta, "cel
mai puțin semnificativ". Dacă numerotăm biții cu cifre n între 0 și 7 începând de la cel mai
puțin semnificativ (de la dreapta la stânga) și notăm valorile biților respectivi (0 sau 1) cu bn,
atunci valoarea octetului este:
Un cuvânt (2 octeţi = 16 biţi) poate conţine valori între 0 şi 65535, adică 216, iar un
cuvânt dublu (32 biţi) poate conţine 232 valori.
1
Orice sistem fizic capabil să reprezinte biţi poate reprezenta de asemenea şi valori
numerice binare. Circuitele electronice sunt deci capabile să reprezinte numere binare. Un
tranzisor, atunci când funcţionează la limită, se poate afla într-una din cele două stări: fie în
stare blocată (curent de control zero), fie în stare de saturaţie (curent de control maxim). Dacă
un circuit cu tranzistor este proiectat pentru maximizarea probabilităţii de funcţionare într-una
din cele două stări (evitarea funcţionării tranzistorului în zona activă de funcţionare), acesta
poate fi folosit ca şi reprezentare fizică a unui bit. Căderea de tensiune măsurată la ieşirea
unui astfel de circuit poate fi folosită pentru reprezentarea unui singur bit. O tensiune joasă
reprezentând „0”, şi o tensiune ceva mai ridicată reprezentând „1” (de exemplu 0 şi respectiv
5 volţi).
Un circuit electronic conceput pentru acceptarea şi generarea semnalelor de tensiune ce
corespund numerelor binare 0 si 1 reprezintă o poartă logică. Porţile logice stau la baza
construcţiei circuitelor electronice digitale, de la cele mai simple (inversoare) până la
microprocesoare.
Tabela de adevăr:
Intrare Ieşire
1 0
0 1
Poarta neinversoare este poarta a cărei ieşire este identică cu intrarea (acelaşi efect se
poate obţine conectând două porţi inversoare în serie).
Având doar o intrare, singurele porţi „disponibile” sunt cele inversoare şi cele ne-
inversoare. Pentru a lucra cu mai multe posibilităţi, sunt necesare mai multe intrări.
O poartă cu o singură intrare prezintă doar două posibilităţi: fie intrarea este „înaltă” (1),
fie este „joasă” (0). În schimb, o poartă cu doua intrări are patru posibilităţi (00, 01, 10, 11). O
poartă cu trei intrări are opt combinaţii posibile (000, 001, 010, 011, 100, 101, 110 şi 111).
Numărul combinaţiilor posibile este egal cu 2n, unde n este numărul de intrări.
Întrucât există mai multe combinaţii posibile folosind doar două terminale, există mai
multe tipuri de porţi logice cu două intrări.
2
Tabela de adevăr:
Intrare A Intrare B Ieşire
0 0 0
0 1 0
1 0 0
1 1 1
Poarta ŞI negat este o variaţie a porţii ŞI. Practic, comportamentul porţii este acelaşi cu
al porţii ŞI, doar că la ieşire este conectată o poartă NU (inversoare).
Tabela de adevăr este inversa celei din cazul porţii ŞI.
Tabela de adevăr:
Intrare A Intrare B Ieşire
0 0 0
0 1 1
1 0 1
1 1 1
3
Ieşirea unei porţi logice SAU este 1 dacă oricare dintre intrări este 1. Ieşirea este 0 doar
dacă toate intrările sunt 0.
Porţi logice pot fi negative sau exclusive, prin combinarea porţilor logice elementare de
mai sus.
A B Ieşire
0 0 1
0 1 0
1 0 0
1 1 0
4
Pentru realizarea acestei funcţii folosind porţi ŞI-negat, trebuie să inversăm toate
intrările şi ieşirea. Procedeul este asemănător cu cel prin care am realizat funcţia ŞI-negat
folosind porţi logice SAU-negat.
5
Multiplexorul este un circuit combinaţional care transmite un semnal de la o intrare
selectată la o ieşire unică. Se mai numeşte circuit selector. În general, un multiplexor are 2n
intrări de date, n intrări de selecţie şi o ieşire Z.
Schema bloc este următoarea:
6
Operarea procesorului se efectuează cu o viteză controlată mai ales de ceasul
procesorului (în majoritatea PC-urilor moderne, acesta este de ordinul gigahertzilor), așa că
pentru a executa codul cât mai rapid, este de dorit ca operanzii să nu mai fie încărcați din
memorie, ci să fie direct accesibili procesorului, fie efectiv din codul instrucțiunii, fie în
registre, dar pentru aceasta este nevoie ca operanzii să fie cunoscuți în momentul scrierii
codului sau al compilării. Dacă acest lucru nu este posibil, sau dacă spațiul relativ restrâns de
memorare disponibil este insuficient pentru volumul de date prelucrat de program, atunci
operanzii trebuie să fie încărcați din memorie.
Accesul la memorie este mai lent decât accesul la spațiile de stocare din procesor. Deși
procesoarele pot dispune de o memorie cache aflată pe procesor, și în care sunt stocate câteva
date accesate frecvent din memoria principală, de regulă este de așteptat ca un acces la
memorie să fie de cel puțin un ordin de mărime mai lent decât lucrul cu registrele sau decât
prelucrarea instrucțiunii. Necesitatea de a adresa cantități mari de memorie face ca
dimensiunea adresei de memorie să devină prea mare pentru a încăpea integral în codul
mașină și astfel, tehnicile de adresare devin mai complexe.
Moduri de adresare:
Adresarea imediată - este cel mai simplu și mai rapid mod de a transmite operandul.
Operandul este transmis direct în corpul instrucțiunii, nemaifiind necesară accesarea
memoriei. Dar acest mod de adresare poate fi folosit doar în cazul în care valoarea
operandului este cunoscută la momentul scrierii programului sau poate fi determinat la
compilare. În plus, valorile transmite nu pot lua valori prea mari din cauza dimensiunii
limitate a spațiului disponibil în cadrul instrucțiunii.
Adresarea prin registre - este similară cu cea imediată, prin aceea că nu implică
accesarea memoriei, fiind un mod de adresare folosit tot pentru mărirea vitezei de execuție.
Avantajul față de adresarea directă sau față de cea imediată îl reprezintă faptul că nu mai este
necesar ca valoarea operandului să fie cunoscută la compilare, el fiind preluat dintr-un
registru al procesorului, registru precizat în codul instrucțiunii. Compilatoarele cu optimizare
caută să folosească la maximum acest mod de adresare, identificând la compilare variabile
folosite intens în anumite porțiuni de cod și aducându-le din memorie într-un registru, pentru
ca instrucțiunile ulterioare să acceseze valoarea de acolo. Astfel, se economisesc accesări ale
memoriei (care se efectuează la viteze mai mici decât viteza de operare a procesorului),
variabila fiind adusă din memorie o singură dată pentru a fi folosită ca operand de mai multe
instrucțiuni succesive.
Adresarea directă - în cadrul instrucțiunii se precizează adresa exactă de memorie a
operandului. Acest mod de adresare este util în condițiile în care adresa de memorie a
operandului este cunoscută în momentul compilării, așa cum este cazul cu variabilele globale,
a căror adresă nu se modifică pe timpul rulării unui program.
Capacitatea de adresare a memoriei depinde de dimensiunea magistralei de adrese. Dacă
un sistem informatic dispune de o memorie cu 2n celule adresabile, sunt necesare n intrări
pentru selectarea acestora. Astfel, pe o magistrală de 32 de biţi for putea fi adresate 232=4GB
(4 giga-octeţi), considerând celula elementară formată dintr-un octet.
7
1.5 Structura unui sistem informatic
Orice sistem de calcul este alcătuit din subsistemele hardware şi software. Subsistemul
hardware desemnează totalitatea echipamentelor componente şi cuprinde unitatea centrală şi
echipamentele periferice. Unitatea centrală asigură controlul echipamentelor periferice,
prelucrarea datelor şi, în acest scop, memorarea temporară a programelor şi a informaţiilor de
intrare sau ieşire. Ansamblul perifericelor permite introducerea datelor şi programelor în
calculator, extragerea rezultatelor şi memorarea îndelungată a informaţiilor.
Structura unui calculator numeric a fost definită în anul 1945 de către von Neumann.
Unitatea de intrare (UI) este destinată acceptării de informaţii din mediul extern
(tastatură, scanner, joystick, mouse etc.). 7
Memoria (M) permite stocarea datelor în scopul prelucrării.
Unitatea aritmetica logica (UAL) efectuează calcule aritmetice şi operaţii logice.
Unitatea centrala (UC) este componenta care coordonează întreaga activitate
din sistemul de calcul.
Unitatea de iesire (UE) permite transferarea informaţiilor în mediul extern
(monitorul, imprimanta, etc).