Sunteți pe pagina 1din 8

1.

1 Reprezentarea informaţiei în sistemele digitale


Odată cu lucrarea lui Claude Shannon, "O teorie matematică a comunicaţiilor", din
1948, a apărut Teoria informaţiei. Aceasta este o ramură a matematicii aplicate şi a ingineriei
electrice, care se ocupă cu cuantificarea informaţiei.
Având un mesaj e cu probabilitatea de apariţie pe, informaţia asociată mesajului e,
notată cu I, se calculează cu relaţia:
I  log a (1 / p e )   log a ( p e )
Dacă baza logaritmului a este 2, informaţia se măsoară în cifre binare (binary digit), sau
biţi.

Unitatea de măsură elementară a cantității de informație este bitul. O grupare de 8 biţi


formează un octet (numit şi byte). Doi octeţi (16 biţi) formează un cuvânt (word), iar din patru
octeţi (32 biţi) se constituie un cuvând dublu.
Fiecare bit poate avea două valori: 0 sau 1. Într-un circuit electric, acestor valori le
corespund două niveluri de tensiune (de exemplu 0 şi 5 volţi).
Un element fizic (circuit) cu două stări stabile poate memora o cantitate de informaţie
egală cu un bit. Prin alăturarea mai multor elemente fizice bistabile, fiecare fiind asociat cu un
bit, se poate memora o cantitate superioară de informaţie. Fiecare bit adăugat determină
dublarea cantităţii de informaţie.
Astfel, un număr de 2 circuite bistabile (2 biţi) poate avea în total 4 stări; cu patru
circuite (4 biţi) se pot obţine 8 stări şi aşa mai departe. Deci un număr de n circuite bistabile
(n biţi) determină un număr total de 2n stări.
Un octet (8 biţi) poate descrie în total 256 de stări, adică poate avea 256 de valori. Pe 9
biţi (un cuvânt) pot fi transmise 512 stări diferite, iar pe 10 biţi (210) se pot transmite 1024
biţi, adică un kilobit (nu un kilobyte!).
Un octet poate fi reprezentat ca în figura de mai jos:

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.

1.2 Porţi logice


1.2.1 Poarta inversoare
Este poarta logică a cărei ieşire este inversă faţă de intrare (intrare 0, ieşire 1 sau intrare
1, ieşire 0).

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.

1.2.2 Poarta logică ŞI (AND)

2
Tabela de adevăr:
Intrare A Intrare B Ieşire
0 0 0
0 1 0
1 0 0
1 1 1

Denumirea de poartă ŞI vine de la faptul că ieşirea porţii va fi 1 dacă şi numai dacă


toate intrările sunt 1.
Exemplu de circuit:

1.2.3 Poarta logică ŞI-negat (NAND)

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.

1.2.4 Poarta logică SAU (OR)

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.

1.2.5 Poarta logică SAU-exclusiv (XOR)

1.2.6 Poarta logică SAU-negat-exclusiv (XNOR)

1.2.7 Porţi logice combinate


Principiul universalităţii: porţile logice ŞI-negat şi SAU-negat posedă o proprietate
specială - sunt universale. Cu alte cuvinte, având un număr suficient de astfel de porţi, fiecare
din ele poate simula modul de funcţionare al oricărei alte porţi. De exemplu, putem construi
un circuit care să se comporte precum o poartă SAU, folosind trei porţi ŞI-negat
interconectate. Această abilitate este caracteristică doar acestor două tipuri de porţi. Practic,
multe sisteme de control digital sunt construite doar cu ajutorul porţilor ŞI-negat şi SAU-
negat, toate funcţiile logice necesare fiind derivate prin interconectarea acestor tipuri de porţi.
Exemplu:
Realizarea funcţiei SAU-negat

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.

1.3 Circuitele logice combinaţionale


Circuitele logice combinaţionale (CLC) – sunt circuite alcătuite din porţi logice de bază
a căror operare poate fi descrisă cu ajutorul algebrei Booleene. Aceste circuite se
caracterizează prin faptul că în fiecare moment starea logică a ieşirii depinde de modul în care
se combină nivelurile logice ale intrărilor în acel moment.
CLC nu au capacitatea de memorare a informaţiei (sunt independente de propriile stări
anterioare). Problema esenţială care trebuie rezolvată cu ajutorul CLC este implementarea
unor funcţii logice cu ajutorul unui număr minim de porţi logice.
Pentru prelucrarea datelor în sistemele digitale şi pentru citirea şi afişarea rezultatelor
prelucrării, este necesară parcurgerea următoarelor etape:
Codarea şi decodarea – transformarea datelor dintr-un cod în altul
Multiplexarea – transmiterea către o ieşire a unei singure informaţii dintr-un grup de
informaţii
Demultiplexarea – introducerea succesivă a datelor la diferite adrese posibile.
Pentru efectuarea operaţiilor aritmetice se utilizează circuite logice combinaţionale
special construite pentru acest scop numite circuite numerice (comparatoare, sumatoare,
convertoare de cod).
Codificatoarele sunt circuite logice combinaţionale cu n intrări şi m ieşiri de adresă,
folosite pentru a realiza conversia unui număr zecimal în cod binar sau BCD.
Codificatorul de adresă simplu furnizează la ieşire un cuvânt binar de m biţi atunci când
numai una din cele n intrări ale sale este activată. Numărul de cuvinte rezultate la ieşire este
n=2m-1 şi este egal cu numărul de intrări.
Schema bloc a unui codificator cu n intrări şi m ieşiri este:

Decodificatoarele sunt circuite logice combinaţionale cu n intrări şi m ieşiri, care


activează una sau mai multe ieşiri în funcţie de cuvântul de cod aplicat la intrare (m=2n).
Schema bloc a unui decodificator cu n intrări şi m ieşiri este:

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:

Demultiplexorul este un circuit combinaţional care dispune, în cazul general, de o


intrare de date D, n intrări de selecţie şi 2n ieşiri. Intrările de selecţie determină apariţia
semnalului de la intrare la una din cele 2n ieşiri. Se mai numeşte circuit distribuitor.
Schema bloc este următoarea:

1.4 Adresarea memoriei


Într-un sistem informatic, modul de adresare a memoriei reprezintă felul în care se
calculează adresa (de memorie) unui operand în momentul execuției unei instrucțiuni de către
procesor, folosind informația aflată în registrele procesorului sau chiar în codul mașină al
instrucțiunii.
Codul operației reprezintă doar o parte din dimensiunea totală a unei instrucțiuni; restul
spațiului este folosit pentru a preciza operanzii, adică acele date necesare executării operației,
fie că operațiile se efectuează asupra lor, fie că reprezintă o valoare ce controlează fluxul
ulterior al programului (în cazul instrucțiunilor de salt).

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).

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