You are on page 1of 52

UTILIZAREA CALCULATOARELOR

CAPITOLUL 1
Introducere
1.1. Ce este calculatorul?
Calculatorul este un sistem electronic de calcul format dintr-un
ansamblu de echipamente (hardware) care, împreună cu un anumit număr de
programe (software) realizează prelucrarea datelor furnizate de utilizatori.
La calculator sunt conectate echipamente periferice ce sunt folosite
pentru culegera, stocarea, prelucrarea, redarea şi transmiterea rezultatelor.
Un program este o secvenţă de instrucţiuni care descrie paşii urmaţi
pentru executarea unei anumite sarcini. Programele sunt de două tipuri -
programe de bază şi programe de aplicaţii. Programele de bază formează
sistemul de operare (SO) şi sunt memorate pe suporturi externe. La pornirea
calculatorului sunt încărcate în memoria internă. SO asigură transmiterea
comenzilor către echipamente. Programele de aplicaţii sunt specifice
problemelor ce trebuie rezolvate respectiv datelor ce sunt prelucrate.

1.2. Scurt istoric al calculatoarelor. Calculatorul IBM-PC


Calculatoarele au apărut în cadrul mai multor generaţii.
Generaţia 0 – calculatoarele mecanice (1642-1940)
Prima „maşină de calcul” a fost în întregime mecanică, cu roţi dinţate,
fiind realizată de cercetătorul francez Blaise Pascal în anul 1642. Maşina putea
să facă adunări şi scăderi. A fost realizată, în principal, pentru a uşura munca
de colectare a taxelor. Nu au fost vandute prea multe astfel de calculatoare.
Prima generaţie – relee şi tuburile electronice (1940-1955)
Calculatorul Atanasoff-Berry sau ABC (Atanasoff-Berry Computer),
dezvoltat în SUA între anii 1937 şi 1942 este considerat de unii a fi primul
calculator numeric electronic. Implementa calculul binar cu ajutorul tuburilor
electronice dar a fost limitat la rezolvarea sistemelor de ecuaţii liniare.
Calculatorul Z3 proiectat de Konrad Zuse în 1941 (Germania). A fost
primul calculator, electromecanic (cu relee), de uz general. A utilizat
matematica binară şi putea fi programat complet cu ajutorul unor benzi
perforate. A fost distrus în 1944 de armatele aliate în timpul bombardamentelor
efectuate asupra Berlinului.
Calculatorul Colossus a fost proiectat de Tommy Flowers în 1944
(Marea Britanie). A fost un calculator numeric, electronic, programat prin

1
UTILIZAREA CALCULATOARELOR

reconfigurarea legaturilor. În al doilea razboi mondial a fost utilizat pentru a


ajuta la decriptarea mesajelor. La sfârşitul războiului a fost distrus din ordinul
lui Winston Churchill.
Calculatorul ENIAC (Electronic Numerical Integrator and Computer) a
fost proiectat de John William Mauchly în 1946 (SUA). Folosea tuburi
electronice (~17.000), diode (7.200), relee (1.500), rezistoare (70.000),
condensatoare (10.000). Cântărea 27 de tone şi consuma 150 kWh. Pentru
reprogramarea sa trebuiau refăcute legăturile (recablat). Folosea aritmetica
zecimală. A fost utilizat în principal pentru calculul tabelelor utilizate de
artilerie. De asemenea a fost utilizat pentru proiectarea bombei cu hidrogen.
În varianta iniţială, calculatorul ENIAC nu putea memora un program.
În 1948, la propunerea lui John von Neumann a fost reproiectată utilizarea
resurselor calculatorului. Iniţial pentru calcule se utilizau 19 registre
acumulator. Dupa reconfigurarea calculatorului pentru calcule a fost utilizat un
singur acumulator, celelalte fiind utilizate în alte scopuri (contor de program
respectiv memorie de date). Acest lucru a dus la reducerea vitezei de lucru dar
şi la micşorarea timpului necesar pentru programarea calculatorului de la zile la
ore. Ideea enunţată de von Neumann reprezintă şi astăzi baza pentru cele mai
multe calculatoare numerice.
A doua generaţie – tranzistoarele (1955-1965)
Tranzistorul a fost inventat în 1948. În următorii 10 ani, tranzistoarele
au revoluţionat calculatoarele, şi la sfârşitul anilor 1950, tuburile au devenit
total depăşite. Una dintre firmele care se afirma din ce mai mult în construcţia
calculatoarelor a fost IBM (International Business Machines), în SUA.
A treia generaţie – circuitele integrate (1965-1980)
Invenţia circuitului integrat în 1958 a permis ca zeci de tranzistoare să
fie puse pe un singur cip (chip=aşchie). Au rezultat calculatoare mai mici, mai
rapide şi mai ieftine decât predecesoarele lor cu tranzistoare.
A patra generaţie – integrarea pe scară foarte largă (1980-?)
Au fost realizate circuite integrate cu mii, zeci de mii sau sute de mii de
tranzistoare pe un singur cip, numiteVLSI (Very Large Scale Integration). Mai
nou se produc circuite ULSI (Ultra Large Scale Integration) care conţin de la
sute de mii la milioane de tranzistoare pe un singur cip.
În august 1981 firma IBM realizează calculatorul numit IBM-PC, pe
baza procesorului Intel 8088, un procesor care efectua operaţiile interne pe 16
biţi, dar în exterior furniza datele pe 8 biţi, având o frecvenţă de tact de 5 MHz.
Calculatorul a fost echipat cu un sistem de operare MS-DOS, produs de
Microsoft Corporation, nu avea hard disc, iar ca suport de memorare extern
avea o unitate de casetă audio. Abia următoarea variantă, IBM-XT, apărută în
2
UTILIZAREA CALCULATOARELOR

1983 avea un hard disc de 10 MB, şi o unitate de dischetă (floppy disk). Firma
a făcut public proiectul noului calculator, pentru a da posibilitatea şi altor firme
să realizeze plăci de extensie care să fie introduse în PC, sau alte componente,
pentru a permite astfel creşterea vânzărilor sale. Efectul a fost că o mulţime de
alte firme au început să producă PC-uri, IBM nemaifiind principalul
producător. Actualmente, există şi alţi producători importanţi ca: Hewlett
Packard, Dell, Compaq. Alte calculatoare personale care se produceau în acel
moment (de ex. Apple) au pierdut competiţia cu nou creatul IBM-PC.
Ce este de fapt un PC?
Orice calculator mic, realizat în conformitate cu proiectul iniţial IBM,
pe care pot rula aceleaşi programe ca şi pe celelalte PC-uri. Sau, un calculator
de uz general care conţine o unitate centrală (procesor) compatibilă cu familia
Intel x86 şi pe care rulează una dintre versiunile Microsoft Windows.
Trebuie precizat că (totuşi) mai există şi alte calculatoare. De exemplu,
calculatoarele de tip SUN (Stanford University Network), create pentru lucru
în reţea (sunt mai puternice, se numesc „staţii de lucru”), care au la bază un
procesor diferit, numit SPARC (Scalable Processor ARChitecture). Rulează
sub sistemul de operare Unix. De asemenea, există calculatoarele MacIntosh,
realizate de Apple Computer, care conţin procesoare de tip PowerPC, şi sunt
echipate cu un sistem de operare numit „System”.
În lumea calculatoarelor se foloseşte termenul de platformă pentru a
clasifica calculatoarele din punctul de vedere al sistemelor de operare. Astfel,
există platformele: PC (pentru Windows), Unix şi MacIntosh.

1.3. O primă privire asupra unui calculator


Un calculator este o maşină care poate rezolva probleme în folosul
oamenilor prin executarea instrucţiunilor care i-au fost date. O secvenţă de
instrucţiuni care descrie cum se execută o anumită sarcină se numeşte program.
Materia primă pe care o folosesc calculatoarele sunt datele. Prin intermediul
programelor, calculatoarele prelucrează datele pentru a extrage informaţiile
necesare. În principiu, datele şi informaţiile înseamnă acelaşi lucru. Datele
reprezintă informaţii în stare brută, care urmează să fie prelucrate în vederea
obţinerii anumitor informaţii ce sunt utilizate în continuare în luarea unor
decizii.
Ce este informaţia?
Matematicienii spun că informaţiile reprezintă ceea ce este necesar
pentru a răspunde la o întrebare. Cele mai simple întrebări sunt cele la care se
poate răspunde prin da sau nu, iar cantitatea de informaţie necesară pentru a
3
UTILIZAREA CALCULATOARELOR

răspunde la o asemenea întrebare reprezintă cel mai mic volum de informaţie şi


este denumită bit. În termeni matematici, valoarea unui bit poate fi 0 sau 1,
respectiv adevărat sau fals. În termenii ingineriei electronice, valoarea unui bit
poate fi un nivel ridicat de tensiune sau un nivel coborât de tensiune. În cazul
unui suport magnetic (hard disc), valoarea unui bit poate fi reprezentată prin
magnetizarea unei zone a suportului într-un anumit sens sau prin magnetizarea
în sens opus. Aşadar, cantitatea de informaţie se măsoară în biţi.
La nivelul cel mai de jos pe care îl înţelege calculatorul, instrucţiunile
care compun programul unui calculator reprezintă o succesiune de numere,
care constituie limbajul maşină. Aceste instrucţiuni sunt rareori mai complicate
decât:
Adună două numere
Verifică dacă un număr este egal cu zero.
Transferă date dintr-o zonă a memoriei în altă zonă a memoriei.
Numerele care reprezintă instrucţiunile sunt de asemenea reprezentate
prin biţi. În concluzie, cele două mari entităţi care împreună constituie
„obiectul de lucru” al calculatorului, programele şi datele, sunt reprezentate în
formă binară.
În figura 1.1 se prezintă schema bloc a unui calculator.

Fig. 1.1. Structura unui calculator.

4
UTILIZAREA CALCULATOARELOR

Structura unui calculator, figura 1.1, conţine următoarele componentele


logice:
1. Calea de intrare a informaţiilor: tastatura, dar aici pot intra de asemenea
discheta, unitatea de CD-ROM.
2. Unitatea de prelucrare a informaţiilor, având ca principal element UAL
(unitatea aritmetică şi logică). Aceasta face parte din UCP (unitatea centrală de
prelucrare, care este de fapt procesorul calculatorului).
3. Stocarea informaţiilor (date şi programe):
a) informaţii care nu se pierd niciodată; sunt memorate în memorii
electronice nevolatile de tip ROM; ex: programul BIOS, este rulat la pornirea
calculatorului;
b) informaţii care se pierd când calculatorul se deconectează de la
reţeaua de alimentare sau se iniţializează; sunt memorate în memorii
electronice volatile de tip RAM;
Obs: memoriile de tipul a) şi b) sunt foarte rapide, lucrează aproape la
fel de rapid ca UCP
c) informaţii care pot fi păstrate un timp îndelungat dar cu posibilităţi
de modificare: stocarea pe disc; în acest caz există viteză mică de acces, dar
capacitate mare; programele şi datele necesare la un moment dat se încarcă de
pe disc în RAM.
4. Calea de ieşire a informaţiilor: monitorul, mai pot fi însă imprimanta,
discheta sau alte dispozitive de memorare externe.
5. Componenta care controlează ce fac celelelate componente. Aici intră
dispozitivele de control ale PC-ului, care sunt incluse în UCP, alături de UAL.

Magistrala, reprezinză o interfaţă (modalitate de legătură) standardizată


care asigură transferul informaţiilor între diferitele componente.

5
UTILIZAREA CALCULATOARELOR

CAPITOLUL 2
Sisteme de numeraţie. Coduri. Porţi logice
2.1. Sisteme de numeraţie
Un sistem de numeraţie este un mod de reprezentare a numerelor ce
foloseşte simboluri diferite între ele, numite cifre.
Totalitatea simbolurilor utilizate de un sistem de numeraţie pentru a
scrie numerele reprezintă alfabetul acelui sistem de numeraţie. Numărul de
cifre (simboluri) utilizate este egal cu baza sistemului de numeraţie.
Sistemul de numeraţie folosit zi de zi este cel zecimal, în care baza este
numărul 10. Este un sistem de numeraţie poziţional deoarece valoarea unei
cifre depinde de poziţia sa în reprezentarea numerelor.
Un sistem de numeraţie într-o bază B are următoarele caracteristici:
- utilizează un număr de B simboluri (cifre) care formează un şir de
numere consecutive;
- prima cifră din şir este 0;
- cifrele au valori diferite, valoarea cea mai mare este cu o unitate mai
mică decât baza sistemului, adică B-1;
- în funcţie de poziţia lor în număr, cifrele se înmulţesc cu puteri
crescătoare ale bazei B.

Valoarea zecimală (D) a numărului va fi calculată cu relaţia

N −1
D = ∑α i B i (1)
i =0

unde αi sunt simbolurile utilizate, N numărul de cifre pe care se face


reprezentarea numărului (zecimal) D în baza B.

Sistemul binar B=2.


αi∈{0,1} ; cifrele se numesc biţi, notaţia consacrată este bi.
Secvenţa de 8 biţi se numeşte octet (byte).
O secvenţă cu mai mulţi biţi se numeşte cuvânt (word). Există cuvinte de 16
biţi, 32 biţi, 64 biţi.

6
UTILIZAREA CALCULATOARELOR

În cazul codului binar natural (CBN) există următoarea corespondenţă biţi-


ponderi:
număr bN-1 bN-2 ... bi ... b1 b0
ponderi 2N-1 2N-2 ... 2i ... 21 20
MSB LSB
MSB: most significant bit
LSB: least significant bit
Valoarea zecimală a numărului, în cod binar natural, este

N −1
DCBN = ∑ bi 2 i (2)
i =0

Codul binar natural este un cod unipolar, cu valori zecimale pozitive.

Sistemul hexazecimal B=16


αi∈{0,1, 2, 3, 4, 5, 6, 7, 8, 9,A,B,C,D,E,F}.
Valoarea zecimală a unui număr hexazecimal (în cazul în care secvenţa binară
corespunzătoare este în CBN) este

N −1
D H = ∑ α i 16 i (3)
i =0

Mai jos se prezintă câteva corespondenţe între numerele hexazecimale,


binare (în CBN pe 4 biţi) şi zecimale:

nr. hexazecimal nr. binar nr. zecimal


CBN
0 0000 0
1 0001 1
3 0011 3
5 0101 5
9 1001 9
A 1010 10
B 1011 11
C 1100 12
D 1101 13
E 1110 14
F 1111 15
7
UTILIZAREA CALCULATOARELOR

Pentru a putea codifica atât numere pozitive cât şi numere negative este
nevoie de un cod bipolar. Codul complementul lui 2 (CCD) este un astfel de
cod. În acest caz corespondenţa biţi-ponderi este următoarea:
număr bN-1 bN-2 ... bi ... b1 b0
ponderi -2N-1 2N-2 ... 2i ... 21 20
Valoarea zecimală a numărului scris în codul complementul lui 2 se obţine cu
relaţia

DCCD = DCBN − b N −1 2 N (4)

Pentru codarea numerelor negative bitul de semnificaţie maxima (MSB)


are valoarea 1, iar pentru codarea numerelor pozitive acest bit are valoarea 0.
Mai jos se prezintă corespondenţa între câteva numere hexazecimale,
binare în CCD pe 8 biţi şi zecimale:

nr. hexazecimal nr. binar CCD nr. zecimal


80 1000 0000 -128
81 1000 0001 -127
... ... ...
FE 1111 1110 -2
FF 1111 1111 -1
00 0000 0000 0
01 0000 0001 1
02 0000 0010 2
... ... ...
7E 0111 1110 126
7F 0111 1111 127

Obţinerea codului CCD pentru un număr negativ.


Presupunem că dorim să codăm numărul negativ –5 în CCD pe 8 biţi.
Se codează numărul pozitiv +5 în CCD pe 8 biţi, urmează complementarea bit
cu bit şi se mai adună valoarea 1:

5 0000 0101
complementare şi adunare 1
1111 1010+
1
1111 1011 codul CCD pentru -5

8
UTILIZAREA CALCULATOARELOR

În zecimal 1*(-128)+1*64+1*32+1*16+1*8+0*4+1*2+1*1=-5

Codficarea numerelor din zecimal în binar


Exemplu: codificarea numărului 25 din zecimal în binar

25 2
24 12 2
1 12 6 2
0 6 3 2
0 2 1
1

Rezultatul este 11001b

Codificarea numerelor din zecimal în hexazecimal


Exemplu: codificarea numărului 280

280 16
272 17 16
8 16 1
1

Rezultatul este 118h

2.2. Informaţia
Informaţia este un mesaj obiectiv care elimină nedeterminarea în
legătură cu realizarea unui anumit eveniment.
Shannon a dezvoltat teoria informaţiei. În teoria informaţiei se arată că
orice informaţie poate fi exprimată prin informaţii elementare de tipul DA sau
NU. Acestea pot fi, de exemplu, 2 nivele de tensiune şi prin urmare se poate
construi simplu o maşină de calcul (cu ajutorul unor comutatoare).
Informaţia elementară, 0 sau 1, se numeşte bit (de la BInary digiT).
Opt biţi formează un octet (un byte).
Octetul este o unitate de măsură a informaţiei.

9
UTILIZAREA CALCULATOARELOR

În sistemul zecimal factorul de multiplicare este 103 (103 m = 1000 m


= 1 km). În sistemul binar unităţile de informaţie folosesc ca factor de
multiplicare 210 = 1024:

1 kB = 1 kbyte = 1 koctet = 210 octeţi = 1024 octeţi


1 MB = 1 Moctet = 210 kocteţi = 1024 kocteţi = 220 octeţi
1 GB = =1 Goctet = 210 Mocteţi = 220 kocteţi = 230 octeţi

De ce calculatoarele utilizează sistemul binar ?


- O maşină de calcul (calculator) ce foloseşte sistemul binar este simplu de
realizat fizic deoarece se utilizează doar 2 stări şi anume 0 şi 1 logic;
- Prelucrarea şi stocarea datelor se face cu erori mai puţine decât în cazul în
care am avea mai multe stări (B > 2);
- Operaţiile aritmetice şi logice sunt simplu de realizat;
- Mod simplu de stocare a informaţiei pe diverse suporturi.

2.3. Codificarea informaţiei


Calculatorul trebuie să prelucreze informaţia corespunzătoare
limbajului uman. Aceasta foloseşte sistemul zecimal, 26 de litere mici,
respectiv mari şi diferite semne speciale (<, >, ? …) .
Această informaţie trebuie transformată pentru a putea fi înţeleasă de
calculator, care foloseşte sistemul binar.
Operaţia de transforare a informaţiei inteligibilă pentru om în
informaţie inteligibilă pentru calculator se numeşte codificarea informaţiei.
Pentru definirea unui cod trebuie să se stabilească:
- numărul de elemente emise de sursa de informaţii, s;
- numărul de elemente utilizate pentru construcţia codului, m;
- lungimea secvenţei de cod, n.
Cu cele m elemente se pot construi mn secvenţe de cod distincte. Codul
poate fi construit dacă s ≤ mn. Din această condiţie rezultă lungimea optimă, n,
a codului.

Exemplu: sistemul zecimal are 10 caractere. Dacă de doreşte codificarea


acestora în binar atunci din condiţia 10 ≤ 2n rezultă n = 4.

10
UTILIZAREA CALCULATOARELOR

Un cod alfanumeric binar trebuie să codeze:


- cifre (10),
- litere mari şi mici (26+26) (alfabetul latin),
- semne speciale (32),
- comenzi (34),
în total 128 de caractere.
Din 128 ≤ 2n rezultă lungimea codului n = 7.
În decursul timpului au fost utilizate mai multe coduri pe un număr
diferit de biţi. S-a stabilit că lungimea optimă a cuvântului de cod este de 8
cifre binare, prin urmare se pot defini 256 cuvinte de cod.
Prima firmă care a impus standardul de 8 cifre binare a fost IBM prin
codul EBCDIC (Extended Binary Coded Decimal Interchange Code).

2.4. Codul ASCII


Codul ASCII (American Standard Code for Information Interchange)
este un cod pe 8 biţi, orientat pe limba engleză şi punctuaţia americană, utilizat
de calculatoarele compatibile IBM-PC. Are la bază codul ASCII pe 7 biţi
preluat din telefonie ce avea doar 128 cuvinte de cod. Prin marirea lungimii cu
un bit au mai fost adăugate încă 128 de caractere ce formează setul extins de
caractere ASCII.

Codul ASCII este format din:


- setul de caractere de bază – 128 de caractere: 00-7Fh;
- setul de caractere extins – 128 de caractere: 80-FFh.

Setul de caractere de bază cuprinde:


- 10 caractere (coduri) pentru cifre - 48-56 (30-39h);
- 26 caractere pentru literele mari ale alfabetului latin - 65-90 (41-5Ah);
- 26 caractere pentru literele mici ale alfabetului latin - 97-122 (61-7Ah);
- 34 de semne speciale - 32-47 (20-2Fh), 58-64 (3A-40h), 91-96 (5B-60h),
123-127 (7B-7F);
- 32 de coduri pentru caracterele de control - 0-31 (00-1Fh).

Setul de caractere extins cuprinde:


- 48 coduri pentru caractere străine 128-175 (80-AFh), coduri organizate pe 3
grupe:

11
UTILIZAREA CALCULATOARELOR

- litere specifice alfabetelor europene diferite de cele ale alfabetului


englezesc 128-154 (80-9Ah),160-167 (A0-A7h),
- simboluri curente: centul, lira, yenul japonez, peseta spaniolă, francul
155-159 (9B-9Fh),
- semne speciale de punctuaţie: semn de întrebare inversat, semn de
exclamare inversat, fracţiile, unghiurile, ...
- 48 coduri pentru construirea chenarelor 176-223 (B0-DFh) – linii simple,
duble, mai groase, mai subţiri ... ,
- 32 coduri pentru grupul caracterelor ştiinţifice 224-255 (E0-FFh):
- literele alfabetului elen folosite în matematică 224-238 (E0-EEh),
- simboluri matematice speciale 239-255 (EF-FFh) – integrală, ridicare
la pătrat ... .

Caracterele de control din setul de bază al codului ASCII sunt folosite pentru
controlul editării, a imprimantei sau a altor dispozitive, întreruperea execuţiei
unui program, controlul comunicaţiei.

Exemplu: 3 - întreruperea execuţiei unui program,


8 - Backspace,
9 - Tab,
13 (0Dh) - Enter,
12 (0Ch) - salt la pagină nouă,
26 (1Ah) - marcare sfârşit de fişier ...

2.5. Reprezentarea datelor


Informaţia (numere, litere, desene, sunete, coduri ...) prelucrată de
calculator se numeşte dată. Datele reprezintă materia primă a unui calculator.
Data este o reprezentare a informaţiei într-o anumită formă în vederea
prelucrării, transmiterii şi înmagazinării acesteia pe suporţi tehnici de
informaţie. În urma prelucrării de către calculator se obţin noi informaţii.
Informaţia este obiectul.
Data este modelul de reprezentare a obiectului.
Datele pot fi reprezentate printr-un triplet de forma:

d = (I, V, A) (5)

unde d – dată, I – identificator, V – valoare, A – atribut.


12
UTILIZAREA CALCULATOARELOR

Identificatorul – simbol ce se asociază unei date pentru a se putea face referiri


la ea în timpul procesului de prelucrare a datelor.
Valoare – poate fi precizată printr-o enumerare sau proprietate comună. În
funcţie de valoare avem:
- date variabile – date care pe parcursul procesului de prelucrare pot lua valori
diferite din mulţimea de definiţie a datei,
- date constante – date care pe parcursul procesului de prelucrare îşi păstrează
valoarea primită în momentul în care au fost definite.
Atribut – propritate a datei ce determină modul în care va fi tratată aceasta în
procesul de prelucrare.

Exemplu:
- tipul datei – defineşte apartenenţa datei la o anumită clasă de date:
- tip numeric - întreg
- real
- tip logic
- tip alfanumeric
- precizia reprezentării interne – defineşte fidelitatea reproducerii obiectului
reprezentat de dată. Precizia depinde de zona de memorie afectată datei şi
poate fi:
- simplă precizie
- dublă precizie

2.5.1. Reprezentarea datelor în calculator


Reprezentarea datelor alfanumetice
Fiecare caracter (literă, cifră, spaţiu, caracter special) va fi reprezentat
(codificat) printr-o secvenţă de 8 cifre binare (un octet) folosind codul ASCII.
Asupra acestor date pot acţiona operatorii:
- de concatenare (din două şiruri rezultă un şir),
- de comparare (se compară secvenţele de cod ASCII, adică se compară două
numere).

Reprezentarea numerelor întregi


Pentru reprezentare se utilizează un număr binar de lungime fixă.
Lungimea secvenţei binare este de 8 biţi sau multiplu de 8 biţi. Pentru a obţine
lungimea dorită se adaugă biţi (în partea stângă a secvenţei) cu valoare logică
zero sau unu în funcţie de semnul numărului.

13
UTILIZAREA CALCULATOARELOR

Număr întreg fără semn. Exemplu:


Numărul 5
reprezentare pe 8 biţi 0000 0101
reprezentare pe 16 biţi 0000 0000 0000 0101

biţi pe zero pentru completarea reprezentării


Valoarea maximă pentru numărul întreg fără semn are reprezentarea

1111 1111 pe 8 biţi (28-1 = 255)


1111 1111 1111 1111 pe 16 biţi (216-1 = 65535)

Număr întreg cu semn


Primul bit, cel din stânga reprezentării (MSB), este utilizat pentru
precizarea semnului astfel:
- 1 – numere negative,
- 0 – numere pozitive.
Exemplu:
numărul 5, reprezentare pe 16 biţi
0 000 0000 0000 0101

bit de semn

numărul –5, reprezentare pe 16 biţi în codul modul şi semn (semn şi


amplitudine, mărime şi semn)
1 000 0000 0000 0101

bit de semn
Modul de reprezentare modul şi semn are o serie de dezavantaje:
- biţii de semn ai numerelor care participă la operaţia aritmetică dată trebuie
trataţi separat;
- există două reprezentări pentru cifra 0:
0 000 0000 0000 0000
şi
1 000 0000 0000 0000;
- se impune definirea unei operaţii de scădere a valorilor absolute ale
numerelor.

14
UTILIZAREA CALCULATOARELOR

Reprezentarea numerelor negative folosind codul complementul faţă de


2 (CCD)
Complementul unui număr întreg negativ nN faţă de 2 este /nN:

/nN = 2N - nN (6)

unde N – numărul de cifre binare pe care se face reprezentarea.


Exemplu:
numărul –5 reprezentare pe 16 biţi

216 – 5 = 1 0000 0000 0000 0000 –


0000 0000 0000 0101 =
= 1111 1111 1111 1011

bit de semn

Domeniu de variaţie este -2N-1 ≤ n ≤ 2N-1 - 1

Reprezentarea numerelor reale

Numerele reale sunt formate din:


- semn
- parte întreagă
- parte fracţionară (sau parte subunitară)

Numerele reale pot fi reprezentate în două moduri:


- în virgulă fixă (binary fixed point),
- în virgulă mobilă (binary floating point).

Reprezentarea în virgulă fixă


Reprezentarea numerelor întregi, prezentată anterior, se face în virgulă
fixă. Virgula este la dreapta numărului şi partea fracţionară este zero.
Numerele reale pot fi reprezentate în virgulă fixă. În acest caz se
presupune că partea întreagă este despărţită de partea fracţionară printr-o
virgulă a cărei poziţie este fixă. De asemenea sunt fixaţi şi numărul de biţi
corespunzători fiecărei părţi.
Exemplu: Considerăm reprezentarea numerelor reale pe 8 biţi din care primii 5
codează partea întreagă şi ultimii 3 partea fracţionară.
15
UTILIZAREA CALCULATOARELOR

Dacă sunt codate doar numere pozitive atunci valoarea lor se obţine cu
relaţia:

4 −3
D = ∑ bi 2 i + ∑b j 2j (7)
i =0 j = −1

Domeniul de variaţie este


binar 00000 000 11111 111
zecimal 0 31,875

Codarea numerelor cu semn –> MSB – bit de semn şi se notează cu S


(0 – pozitiv, 1- negativ).
Pentru cod semn şi amplitudine avem relaţia:

S⎛ ⎞
3 −3
D = (− 1) ⎜⎜ ∑ bi 2 i + ∑b j 2 j ⎟⎟ (8)
⎝ i =0 j = −1 ⎠

Domeniu de variaţie
binar 11111 111 01111 111
zecimal -15,875 15,875

Pentru CCD avem relaţia:


3 −3
D = (− 1) ⋅ S ⋅ 2 4 + ∑ bi 2 i + ∑b j 2j (9)
i =0 j = −1

Domeniu de variaţie
binar 10000 000 01111 111
zecimal -16 15,875

În toate cazurile rezoluţia este 2-3 sau 0,125.

Reprezentare fracţionară – CCD fracţionar sau Q(N-1)


număr S b1 b2 ... bi ... bN-2 bN-1
ponderi -1 2-1 2-2 ... 2-i ... 2-(N-2) 2-(N-1)
MSB LSB

16
UTILIZAREA CALCULATOARELOR

Domeniu de variaţie
binar 100...000 011...111
zecimal -1 1-2-(N-1)

Reprezentare în virgulă mobilă


Reprezentarea în virgulă mobilă, numită şi reprezentare în virgulă
flotantă sau notaţie ştiinţifică, utilizează o tehnică de scalare automată.
Un număr notat Nr se poate reprezenta în virgulă mobilă sub forma:

Nr = ±M·B±E (10)

unde M – mantisa – indică valoarea exactă a numărului într-un anumit domeniu


(număr fracţionar cu semn),
E – exponentul – indică ordinul de mărime al numărului,
B – baza sistemului de numeraţie.
De obicei, câmpul rezervat exponentului conţine o valoare numită
caracteristică (C), care se obţine prin adunarea unui deplasament (o constantă)
la exponent astfel încât să rezulte o valoare pozitivă. În acest caz exponentul nu
are nevoie de semn. Caracteristica va fi:

C = E + deplasament

Prin şirul de biţi utilizaţi se reprezintă semnul mantisei, exponentul şi


mantisa. Baza este implicită.

Ex: Caracteristică codată pe 8 biţi


Domeniul de valori 0 ÷ 255
Deplasament: 128 (80h)
=> Exponent – domeniu de valori –128 ÷ +127
=> Exponent negativ pentru C < 128
pozitiv pentru C > 128
zero pentru C = 128
M = 0 => numărul codat este 0 chiar dacă E ≠ 0. În acest caz avem un “zero
impur”.
Recomandare – pentru codarea numărului 0 să se folosească cel mai mic
exponent posibil pentru a rezulta un “zero pur”.

17
UTILIZAREA CALCULATOARELOR

Exponent deplasat C = E + deplasament


E minim = -128
deplasament = 128
=> caracteristica C = 0.
Rezultă aceeaşi reprezentare pentru valoarea 0 atât în virgulă mobilă cât şi în
virgulă fixă.

Reprezentarea numerelor în formatul IEEE 754

În trecut, diferitele familii de calculatoare aveau moduri diferite de


codare şi execuţie a operaţiilor în virgulă mobilă. Pentru a facilita portabilitatea
programelor de la un calculator la altul, Societatea de Calculatoare a IEEE
(Institute of Electrical and Electronics Engineers) a elaborat un standard,
publicat în 1985, pentru reprezentarea numerelor şi efectuarea operaţiilor
aritmetice în virgulă mobilă.

În standardul IEEE 754 se definesc următoarele formate sau precizii:


- simplă,
- simplă extinsă,
- dublă,
- dublă extinsă.

Parametrii formatelor (standardul IEEE 754)


Precizie Precizie Precizie Precizie
simplă simplă extinsă dublă dublă extinsă

Biţi ai mantisei 24 ≥32 53 ≥64


(fracţiei)
Exponent 127 ≥1023 1023 ≥16383
real maxim
Exponent -126 ≤-1022 -1022 ≤-16382
real minim
Deplasament 127 Nespecificat 1023 Nespecificat
exponent
În cazul preciziei simple asignarea biţilor este următoarea:

31 30 23 22 0 indicele biţilor
S Exponent Fracţie
1 8 23 numărul de biţi utilizaţi
18
UTILIZAREA CALCULATOARELOR

Mantisa se reprezintă în format normalizat. Acest lucru înseamnă că


bitul MSB al mantisei este pe 1 şi în acest caz nu se mai reprezintă. Prin
urmare

M = 1,F

unde M – mantisă, F – parte fracţionară.


Altfel spus 1,0 ≤ M < 2,0.

Exemplu 1: Reprezentarea binară a numărului –0,75 în binar, virgulă mobilă,


precizie simplă.
Numărul –0,75 se mai poate scrie si –(0,5+0,25) adică în “binar” –0,11
(0,5=2-1; 0,25=2-2).
Folosind notaţia ştiinţifică –0,11·20, forma normalizată –1,1 ·2-1.

Exponent = -1 + 127 = 126 (7Eh)

Reprezentare în binar
1 0111 1110 1000 0000 0000 0000 0000 0000
| |

Exemplu 2: Care este numărul zecimal reprezentat de următorul cuvânt scris în


virgulă mobilă,
precizie simplă?
0 1000 0011 0110 0000 0000 0000 0000 0000
| |

Bit de semn = 0 => nr. pozitiv; exponentul = 83h = 131,


fracţia = 1·2-2 + 1·2-3 = 0,25 + 0,125 = 0,375.

Valoarea numărului este:


(-1)0·1,375·2(131-127) = 1,375·24 = 1,375·16=22.

19
UTILIZAREA CALCULATOARELOR

2.6. Porţi logice


Un circuit numeric lucrează cu doar două valori, numite logice. Fiecărei
valori logice îi corespunde un nivel de tensiune dintr-o anumită plajă. De
obicei, valoarea tensiunii se află în intervalele:
nivel logic interval tensiune
0 0V ÷ 0,8V
1 2,8V ÷ 5V
Circuitele elementare care au la intrare, respectiv ieşire, semnale cu
valori în intervalele prezentate se numesc porţi logice.
Circuitele numerice complexe conţin mai multe porţi logice.
Principiul de funcţionare al porţilor logice poate fi prezentat cu ajutorul
unor comutatoare.
Comutatorul funcţionează astfel:
- închis când este comandat de o tensiune ridicată (1 logic),
- deschis când este comandat de o tensiune coborâtă (0 logic).
În continuare se prezentă trei exemple de porţi logice. Cu +V a fost
notată tensiunea de alimentare (+5V) şi cu ┴ simbolul pentru masă (potenţial
de referinţă, 0V).

Inversor logic (NOT)


+V
Uin – 1 logic (~5V),
K – închis, R
Uout – 0 logic (~0V)
Uout
Uin – 0 logic (~0V), K
Uin
K – deschis,
Uout – 1 logic (~5V)

20
UTILIZAREA CALCULATOARELOR

Circuit ŞI-NU (NAND) Circuit SAU-NU (NOR)


+V
+
R
R

Uout
K Uou
U1 K1 K2
U1 U2
K2
U2

Circuitul ŞI (AND) se obţine conectând un inversor la ieşirea circuitului


ŞI-NU (NAND).
Circuitul SAU (OR) se obţine conectând un inversor la ieşirea
circuitului SAU-NU (NOR).
Circuitul electric care ia decizii se numeşte poartă logică. Cel care
memorează o stare se numeşte bistabil (latch), sau pur şi simplu memorie.

Matematicianul englez George Boole a arătat că procesul de luare al


deciziilor se poate face prin aplicarea unor principii de algebră.
În 1847 el a pus bazele algebrei booleene (logică booleeană). A redus
propoziţiile la simboluri şi operaţii formale astfel, propoziţiile logice putând fi
rezolvate la fel ca şi ecuaţiile matematice.
Funcţiile tuturor operatorilor din logica booleană pot fi executate cu
ajutorul porţilor logice.

Întrebari
1) Care este cel mai mic respectiv cel mai mare număr zecimal ce poate fi scris
în CBN pe 8 biţi? Dar în CCD pe 8 biţi?
2) Care este reprezentarea numărului 1850 în binar, CBN, respectiv în hexa?
Care este numărul minim de biţi respectiv octeţi pe care se poate reprezenta
numărul 873?
3) În 2 Mocteţi câţi octeţi sunt? Dar biţi?
4) În ce mod se face reprezentarea în virgulă fixă a numerelor fracţionare?
5) În ce mod se face reprezentarea în virgulă mobilă a numerelor fracţionare?
21
UTILIZAREA CALCULATOARELOR

CAPITOLUL 3
Arhitectura unui calculator IBM-PC
Partea hardware a unui calculator este formată din trei mari componente:
- unitatea centrala de prelucrare (UCP) sau procesorul (microprocesorul),
- memoria internă,
- echipamente de intrare-ieşire.
Componentele calculatorului sunt conectate între ele prin intermediul
unor magistrale.
O magistrală este formată din mai multe linii fizice pe care se transmit
informaţii sub formă binară.

3.1. Unitatea centrală de prelucrare


Unitatea centrală de prelucrare (Central Processing Unit - CPU) sau
procesorul este cea mai importantă piesă a calculatorului. Are mai multe
funcţii:
- coordonează şi controlează activitatea calculatorului,
- interpretează programele,
- identifică şi decodifică instrucţiunile,
- în funcţie de rezultatul decodificării activează alte circuite sau execută
operaţii aritmetice şi logice.

Orice procesor (microprocesor) conţine patru blocuri funcţionale:


- unitatea de comandă şi control (UCC),
- unitatea aritmetică şi logică (UAL),
- registre proprii,
- unitatea de interfaţă (UI).
Primele trei blocuri (UCC, UAL şi registrele) formează unitatea de
execuţie (Execution Unit).

Unitatea de comandă şi control (Control Unit) asigură comanda,


coordonarea şi controlul activităţii de prelucrare. De asemenea participă la
execuţia instrucţiunilor. Pentru fiecare instrucţiune avem patru operaţii de bază:
- extragere cod instrucţiune – se extrage din memoria internă a
calculatorului o instrucţiune din programul rulat,
- decodificare – se decodifică instrucţiunea pentru a afla ce operaţie
trebuie executată şi ce date vor fi folosite,

22
UTILIZAREA CALCULATOARELOR

- extragere operand – extrage din memoria internă datele necesare


prelucrării,
- execuţie – activarea circuitelor din UAL pentru execuţia operaţiei.
În funcţie de instrucţiunile unui program ce este executat (rulat), UCC
spune UAL ce operaţii să realizeze. În cazul microprocesoarelor moderne UCC
trebuie să decidă cum direcţionează comenzile către două UAL şi cât primeşte
fiecare.

Unitatea aritmetică şi logică (Arithmetic/Logic Unit) este formată din


mai multe circuite specializate în execuţia unei operaţii aritmetice, logice sau
de comparare, operaţii cerute de instrucţiuni.
UAL preia instrucţiunile decodificate de UCC şi le execută rezultând
modificarea datelor din registre.
Primele microprocesoare aveau o singură UAL. Circuitele moderne pot
conţine mai multe astfel de unităţi. Forma de bază este unitatea pentru numere
întregi care execută operaţii matematice simple. Noile microprocesoare conţin
una sau mai multe unităţi cu virgulă mobilă care au o precizie mai mare.
Primele microprocesoare aveau unitatea cu virgulă mobilă într-un cip separat
numit coprocesor numeric sau coprocesor matematic.

Registrele proprii (registers) sunt utilizate pentru a păstra temporar


anumite informaţii şi anume:
- date ce urmează să fie prelucrate,
- rezultatele prelucrării,
- codul instrucţiunilor,
- biţi indicatori de condiţii,
- alte informaţii.
Există mai multe tipuri de registre. De exemplu:
- registre de date – se păstrează date ce urmează să fie prelucrate şi
rezultatele prelucrării,
- registrul de instrucţiuni – se păstrează codul instrucţiunii curente
(instrucţiuea care se execută) în vederea decodificării ei,
- registrul contor-program – se păstrează adresa instrucţiunii care
urmează să se execute,
- registrul contor-date – se păstrează adresa datelor ce urmează să fie
prelucrate.
Pentru a putea executa o operaţie aritmetică sau logică, UAL are nevoie
de cei doi operanzi sursă (orice calcul mai complex se poate reduce la o serie
de operaţii cu două numere). Operanzii pot fi luaţi din memorie. Deoarece
23
UTILIZAREA CALCULATOARELOR

microprocesorul are o singură cale de acces la memorie, trebuie ca una dintre


valori să se afle într-o zonă de stocare internă numită registru.
Soluţia cea mai des folosită în prezent constă în încărcarea ambelor
valori în registre interne de unde sa fie utilizate mai departe de UAL.
Cu cât există mai multe registre interne, cu atât microprocesorul va fi
mai rapid (registrele lucrează la viteza de lucru a microprocesorului faţă de
memorie care lucrează la o viteză mai mică).
Cercetările au arătat ca numărul optim de registre este 32.

Unitatea de interfaţă (Bus Interface Unit) sau unitatea de intrare ieşire


face legătura între microprocesor şi restul circuitelor din calculator. Ea
realizează funcţia de transfer a instrucţiunilor şi datelor înspre procesor,
respectiv de la procesor, în acelaşi timp asigurând şi sincronizarea transferului.
De asemenea, aceasta unitate asigură corespondenţa dintre nivelul
semnalelor corespunzătoare circuitelor interne şi nivelul semnalelor utilizate de
celelalte componente cu care microprocesorul este conectat.
Ex: circuitele interne ale microprocesorului sunt proiectate să funcţioneze la
curenţi foarte mici pentru a prelucra rapid informaţiile şi pentru a degaja mai
puţină căldură (consum redus). Toate semnalele care ies din microprocesor trec
printr-un buffer de semnal, aflat în unitatea de interfaţă, în care puterea
semnalelor este mărită pentru a putea fi controlate legăturile cu componentele
externe.
Microprocesoarele folosesc trei tipuri de conexiuni de la unitatea de
interfaţă la celelalte dispozitive externe:
- conexiuni care indică adresa locaţiilor de memorie cu care procesorul
lucrează la un moment dat (magistrala de adrese),
- conexiuni care transportă datele sau instrucţiunile (magistrala de date).,
- conexiuni prin care se specifică modul de operare al componentelor cu care
procesorul este conectat – sensul de transfer al datelor, dispozitivul care va
funcţiona, cereri de întrerupere ... (magistrala de control)..
Un microprocesor care poate transfera mai mulţi biţi de date în acelaşi
timp este mai rapid decât un altul care transferă (utilizează) mai puţini biţi.
Microprocesoarele au folosit magistrale de date de 8, 16 sau 32 de biţi
şi mai nou de 64 de biţi.
De asemenea, dacă pe magistrala de adrese sunt disponibili mai mulţi
biţi, cantitatea de memorie adresată de microprocesor creşte. În prezent se
folosesc magistrale de adrese pe 32 de biţi sau mai mulţi.

24
UTILIZAREA CALCULATOARELOR

Tehnologii moderne

Instrucţiunile se execută (prelucrează) sincronizat cu un anumit semnal


de tact numit ceas (clock).
Marea majoritate a tehnicilor moderne de proiectare a
microprocesoarelor urmăresc realizarea unor circuite (cipuri) care să prelucreze
mai multe instrucţiuni la o frecvenţă de tact dată.
Mărirea vitezei de lucru se poate face prin reducerea numărului de paşi
interni care trebuie să fie parcurşi. Acest lucru se poate face în 2 moduri:
- dezvoltarea unor microprocesoare complexe care să poată combina etapele de
execuţie – cipuri CISC (Complex Instruction Set Computer – Calculator cu set
complex de instrucţiuni),
- folosind instrucţiuni mai simple care au nevoie de mai puţine etape – cipuri
RISC (Reduced Instruction Set Computer – Calculator cu set redus de
instrucţiuni).
O altă cale de reducere a numărului de cicluri (paşi) cerute de programe
este prelucrarea simultană a mai multor instrucţiuni, de exemplu prin
prelucrarea paralelă.

Prelucrarea paralelă
Primele microprocesoare lucrau secvenţial. Adică, se citea o
instrucţiune din memorie şi după execuţia ei se trecea la următoarea
instrucţiune.
În prelucrarea paralelă se permite citirea următoarei instrucţiuni înainte
de a termina prelucrarea instrucţiunii curente. Acest lucru este posibil deoarece
fiecare instrucţiune are nevoie de mai mulţi paşi (operaţii de bază ce se execută
într-un interval de timp numit ciclu maşină) care se execută în diferite părţi ale
cipului. Acest mod de lucru se numeşte tehnică pipeline (conductă).
Rezultatul acestui mod de lucru este că utilizatorul “vede” că o
instrucţiune se execută într-un singur ciclu maşină în loc de mai multe.
Cu cât se pot prelucra simultan mai multe instrucţiuni cu atât viteza de
lucru creşte.
Există şi un dezavantaj: programele reale au ramificaţii, adică blocurile
de instrucţiuni ce urmează să fie prelucrate diferă în funcţie de rezultatul
obţinut în urma rulării unei (sau a mai multor) instrucţiuni. În acest caz,
conţinutul canalului de prelucrare paralelă este eliminat şi începe încărcarea sa
cu alte instrucţiuni => se pierde timp.
În microprocesoarele mai puternice se foloseşte o tehnologie numită
logică de predicţie a ramurilor. Adică se execută instrucţiunile mai posibile.
25
UTILIZAREA CALCULATOARELOR

Uneori predicţia este adevărată, alteori falsă şi în acest caz toate rezultatele
obţinute prin speculaţie trebuie eliminate şi apoi executat codul corect.

Seturi de instrucţiuni
Prin intermediul instrucţiunilor se specifică microprocesorului ce să
facă. Pentru o instrucţiune circuitele interne ale microprocesorului execută sute
sau mii de operaţii logice. Această serie de operaţii logice poate fi controlată în
mai multe moduri.
Pentru construcţia primelor calculatoare electronice a fost folosit
modelul cablat. Fiecare instrucţiune activa circuitele necesare pentru
executarea operaţiilor logice necesare.
Avantaj – model simplu, viteză mare de lucru.
Dezavataj – componentele hardware şi software sunt strâns legate. O
modificare în hard presupune şi o modificare în soft => modificarea
programelor.

Microcod
Primele calculatoare comerciale au fost proiectate pentru o anumită
aplicaţie. Ex. modelul IBM 701 a fost destinat aplicaţiilor ştiinţifice iar
modelul IBM 702 a fost destinat aplicaţiilor comerciale şi pentru afaceri.
Pentru a putea construi un calculator care să satisfacă toate cerinţele au
fost combinate seturile de instrucţiuni corespunzătoare calculatoarelor orientate
pe aplicaţii rezultând un set de instrucţiuni extins.
A rezultat un nou calculator, numit IBM 360 (lansat în 1964), care a
fost creat nu ca un ansamblu hardware, ci ca o arhitectură.
IBM a dezvoltat specificaţii şi reguli privind modul de operare a
calculatorului lăsând partea hardware pe seama proiectanţilor. Adică, au fost
definite instrucţiunile ce trebuie executate, nu şi circuitele care execută aceste
instrucţiuni. Astfel, instrucţiunile nu mai controlează direct componentele
hardware.
În această tehnologie o instrucţiune determină un calculator să execute
un mic program care efectuează operaţiile logice necesare execuţiei
instrucţiunii. Mulţimea de microprograme corespunzătoare tuturor
instrucţiunilor pe care le înţelege calculatorul reprezintă microcodul acestuia.
Cu ajutorul microcodului noile sisteme de calcul păstrează
compatibilitatea cu modelele anterioare.
Microcodul dintr-un microprocesor este un set secundar de instrucţiuni
ce rulează în interiorul acestuia.

26
UTILIZAREA CALCULATOARELOR

Cu ajutorul microcodului se pot proiecta calculatoare (microprocesoare)


cu un număr ridicat de instrucţiuni ce execută funcţii complicate. De asemenea
se pot utiliza mai multe instrucţiuni pentru acelaşi tip de operaţie în scopul
creşterii vitezei de calcul. Ex. 8 instrucţiuni diferite de adunare (în cazul
microprocesorului 8086).

Microprocesoare RISC
Începând din anul 1970 anumiţi cercetători au susţinut că beneficiile
oferite de microcod nu justifică pierderile de performanţă. Acestia au început
dezvoltarea unor maşini cablate care oferă o viteză de lucru mai mare dar, şi un
set redus de instrucţiuni.
John Cocke, cercetător la IBM, a observat că mare parte din operaţiile
de prelucrare implică utilizarea unui număr redus de instrucţiuni. Rezultatul
altor cercetări a dus la o concluzie similară şi anume că aproximativ 20% din
instrucţiunile unui calculator efectuează aproximativ 80% din sarcini – regula
80/20.
Cocke a proiectat un calculator cu număr redus de instrucţiuni ce
puteau fi executate foarte rapid. Lui i se atribuie inventarea calculatorului cu
set redus de instrucţiuni (Reduced Instruction Set Computer - RISC) în 1974.
Pentru a face diferenţa între aceste microprocesoare şi cele ce folosesc
microcodul şi seturi mari de instrucţiuni, acestea din urmă au primit numele de
CISC (Complex Instruction Set Computer), adică calculatoare cu set complex
de instrucţiuni.

Memoria intermediară (cache)


Transferul de informaţie între microprocesor (µP) şi circuitele de
memorie de pe placa de bază (memoria principală) se face într-un interval de
timp mare (zeci de ns) faţă de viteza de lucru a procesorului. Transferul se face
prin intermediul unei magistrale externe şi a unui controler (circuit specializat).
În interiorul µP există o memorie de capacitate mică dar foarte rapidă.
Se numeşte memorie intermediară sau memorie cache (de la cacher – a
ascunde).
Memoria cache (MC) păstrază cuvintele mai frecvent utilizate. Dacă un
anumit cuvânt (de ex. instrucţiune) nu este găsit în MC este citit din memoria
principală, memorat în MC după care este citit şi decodificat de unitatea de
comandă şi control.

27
UTILIZAREA CALCULATOARELOR

Magistrale
Microprocesorul este elementul central al unui calculator. Conectarea
µP cu celelalte echipamente de pe placa de bază se face prin intermediul unor
magistrale.
O magistrală este formată dintr-o mulţime de linii pe care sunt
transferate informaţiile sub formă binară (0 şi 1 logic).
Pe placa de bază există 3 magistrale:
- magistrala de date
- magistrala de adrese
- magistrala de control
Prin intermediul magistralei de date (MD) se transferă date şi
instrucţiuni ce fac parte dintr-un program (sau mai multe programe) ce este
executat de µP. MD este bidirecţională.
În funcţie de procesor, magistrala de date are o lărgime (poate transfera
cuvinte) de 8, 16, 32 sau 64 de biţi.
Memoriile sunt organizate în locaţii de câte 8 biţi – 1 octet. Un µP cu
MD pe 64 de biţi va accesa la un transfer 8 locaţii consecutive de memorie.
Magistrala de adrese (MA) este utilizată pentru a indica locul (locaţia
de memorie) în care se află informaţia dorită sau locul în care va fi salvată o
informaţie.
În funcţie de numărul de linii (biţi) pe care le are o MA se pot adresa un
anumit număr de locaţii. Cu o MA de n biţi se pot adresa 2n locaţii.
În funcţie de procesor avem MA pe 16, 20, 32 sau 36 de biţi.
Cu ajutorul MA se pot accesa locaţii dintr-un spaţiu diferit de cel
corespunzător memoriei. Aceste locaţii formează spaţiul porturilor de
intrare/ieşire (I/O de la input/output) al PC-ului.
Pentru porturile de I/O se folosesc 16 linii de adrese (indiferent de
lărgimea magistralei de adrese).
Porturile de I/O sunt utilizate pentru a transfera informaţii între µP şi
alte componente ale PC-ului, inclusiv spre exterior.
Magistrala de control (MC) specifică sensul de transfer al datelor,
indică dispozitivul care transferă date, transmite cererile de întrerupere ...

Întreruperi
Întreruperea reprezintă suspendarea execuţiei normale a unui program
datorită unui eveniment ce a avut loc în interiorul sau în exteriorul UCP.
Suspendarea se face prin salvarea stării programului şi efectuarea unui salt la
un alt program (subrutină) ce depinde de evenimentul ce a generat întreruperea.

28
UTILIZAREA CALCULATOARELOR

După tratarea întreruperii (execuţia programului apelat) se va continua


rularea programului suspendat din punctul în care a fost întrerupt.
Funcţionarea cu întreruperi este mai avantajoasă decât în cazul în care
UCP ar trebui să verifice periodic dacă anumite evenimente au avut loc.
Întreruperile pot fi interne sau externe, soft sau hard, mascabile sau
nemascabile. Dacă o întrerupere este mascată, în cazul în care apare nu este
luată în considerare.
Procesoarele din familia Intel acceptă 256 de tipuri de întreruperi. În
funcţie de tipul întreruperii se stabileşte adresa de început a subrutinei de
tratare pe baza unei tabele (vector de întrerupere).

Transfer DMA
Transferul datelor între un port I/O şi memorie se poate face prin
intermediul UCP. În acest caz octeţii sunt citiţi de procesor (salvaţi într-un
registru intern) după care sunt transmişi către destinaţie (port sau memorie).
Dezavantaj – procesorul nu poate rula un alt program în acest timp, viteză de
transfer relativ redusă.
Pentru a elimina transferul neeficient prin intermediul procesorului se
utilizează un circuit suplimentar numit controler de acces direct la memorie
(DMA – Direct Memory Access).
UCP specifică controlerului de DMA dimensiunea blocului de octeţi ce
vor trebui transferaţi, sursa, destinaţia, adresa de început.
Un astfel de transfer se realizează printr-un canal DMA.

Întrebări
1) Care este rolul Unităţii de Comandă şi Control al Unităţii Aritmetice şi
Logice şi al Unităţii de Interfaţă?
2) Ce este CISC? Dar RISC?
3) La ce este utilă prelucrarea paralelă? Explicaţii.
4) Ce este microcodul? În ce scop se utilizează?
5) Ce este memoria cache? În ce scop se utilizează?
6) Ce este o magistrală? Câte magistrale se află pe placa de bază?
7) Ce este o întrerupere? Care sunt tipurile de întreruperi? În ce scop se
utilizează?
8) Ce este transferul DMA? La ce este util?

29
UTILIZAREA CALCULATOARELOR

3.2. Memoria

3.2.1. Memoria primară


Orice calculator (microprocesor) are nevoie de un spaţiu în care să
poată stoca programele şi datele (informaţia). Acest spaţiu se numeşte
memorie.
Fără memorie, microprocesorul ar fi un circuit integrat cu care nu se
poate face prea mare lucru. Pentru ca aplicaţiile să poată rula este nevoie de o
memorie cu o capacitate suficient de mare. Cu cât capacitatea memoriei este
mai mare respectiv, calitatea mai bună (memorii rapide), cu atât aplicaţiile vor
rula mai rapid.
Accesul la informaţiile din memorie trebuie să se facă sub formă
electrică.
Într-un calculator, memoria este constituită sub forma unei ierarhii:
memoria primară (sistem de stocare primar) şi memoria secundară (sistem de
stocare secundar).
Memoria primară este utilizată pentru memorarea temporară a
informaţiei. Aceasta conţine: registrele UCP, memoria intermediară (cache) şi
memoria principală. Stocarea informaţiei se face sub formă electrică cu
ajutorul unor circuite integrate (cipuri de memorie).
Memoria secundară este utilizată pentru memorarea permanentă a
informaţiei. Aceasta se realizează cu ajutorul unor discuri magnetice sau
optice.
Memoria poate fi volatilă sau nevolatilă. În cazul memoriei volatile, la
întreruperea alimentării informaţia se pierde.
În general memoria primară este volatilă iar memoria secundară este
nevolatilă.

Unităţi de măsură
Cu ajutorul codului ASCII pe 8 biţi pot fi stocate 256 de simboluri (şi
caractere de control) utilizate de oameni. Acest cod este utilizat de sistemele de
calcul şi prin urmare unitatea de 8 biţi, numită octet (byte), a devenit standard
pentru sistemele de stocare.
Intel defineşte cuvântul ca fiind 2 octeţi de date, adică 16 biţi. De
asemenea, mai avem cuvânt dublu format din 2 cuvinte (32 biţi – 4 octeţi) şi
cuvânt cvadruplu format din 4 cuvinte (64 biţi – 8 octeţi).

30
UTILIZAREA CALCULATOARELOR

Unităţile de bază pentru măsurarea memoriei sunt multipli ai octetului:

Unitate Dimensiune
Kilooctet (kB) 1024 octeţi
Megaoctet (MB) 1024 kiloocteţi
Gigaoctet (GB) 1024 megaocteţi
Teraoctet (TB) 1024 gigaocteţi

Acces la informaţie
Pentru fiecare informaţie care va fi stocată se atribuie o locaţie de
memorie ce va avea o anumită adresă. Fiecare adresă corespunde unei locaţii
de stocare. Adresa este doar o etichetă dată locaţiei de stocare (locaţiei de
memorie). Locaţia de stocare poate fi construită cu ajutorul unor
condensatoare, bistabile sau conexiuni fuzibile.
Adresele sunt generate sub formă binară în CBN. Codurile de adresă
disponibile corespund numărului de linii de adresă ale microprocesorului.
În fiecare locaţie de memorie se poate stoca o cantitate de date ce
depinde de unitatea de stocare de bază. În funcţie de modelul calculatorului
capacitatea locaţiei de memorie variază. Ex: în cazul PC-urilor originale, la
fiecare adresă se stochează un octet.
Cipurile de memorie se conectează la liniile microprocesorului prin
intermediul unui controler de memorie. Acesta are rolul de a converti datele
binare într-o formă ce poate fi folosită pentru identificarea locaţiei de memorie
adresată la un moment dat. De asemenea, controlerul de memorie asigură şi
efectuarea transferului datelor (microprocesor -> memorie sau memorie ->
microprocesor).

Citirea informaţiei dintr-o locaţie de memorie


Microprocesorul pune pe magistrala de adrese adresa corespunzătoare
locaţiei dorite. Controlerul de memorie va accesa locaţia dorită şi va pune pe
magistrala de date informaţia citită din locaţia de memorie. Microprocesorul
citeşte informaţia de pe magistrala de date.
Toate operaţiile cu memoria durează cel puţin 2 cicluri de ceas.
Înscrierea unei informaţii într-o locaţie de memorie se face similar.

Tehnologii
Stocarea datelor se face sub 3 forme: electrică, magnetică şi optică.
Pentru stocarea magnetică şi optică este necesară o transformare a electricităţii
în magnetism sau impulsuri luminoase. Pentru citirea biţilor este necesară o
31
UTILIZAREA CALCULATOARELOR

transformare inversă. Procesul de conversie durează un anumit timp. Avantajul


este dat de faptul că informaţia se păstrează un timp mai îndelungat => acest
mod de stocare se utilizează pentru sisteme de stocare pe termen lung.
În cazul stocării electrice a informaţiei, cu ajutorul unor circuite
electrice (integrate), citirea şi înscrierea informaţiei se face mult mai rapid.
Are importanţă şi modul de aranjare a biţilor în sistemul de stocare şi
anume sub forma unor celule de memorie. Astfel, se poate obţine cu rapiditate
informaţia din celula accesată, fără să fie nevoie să se caute această informaţie
într-un şir lung de date. Această memorie este numită memorie cu acces
aleatoriu sau RAM, acronimul de la Random Access Memory.

Memoria cu acces aleatoriu


Memoria dinamică
Pentru implementarea memoriei RAM, cel mai frecvent se folosesc
mici sarcini electrice care vor reprezenta nivelurile logice. Aceste sarcini sunt
stocate în condensatoare de dimensiuni foarte mici.
Un condensator va stoca un bit de informaţie. Calculatorul verifică dacă
un anumit număr de condensatoare (ce corespunde unei locaţii de memorie)
sunt încărcate sau nu.
Condensatoarele se descarcă în timp deoarece izolatorul dintre
armăturile sale nu este perfect şi, în plus, mai apare o scurgere a sarcinilor
electrice prin intermediul circuitelor de încărcare/descărcare.
După încărcarea unui condensator, timp de câteva zeci de milisecunde
se mai poate obţine valoarea logică corectă stocată. În acest interval de timp
memoria poate fi accesată pentru cicluri de citire/scriere. După acest interval
circuitele de împrospătare a memoriei vor reâncărca condensatoarele ce
memorează valoarea logică 1 cu tensiunea maximă corespunzătoare acestei
stări logice. În timpul perioadei de împrospătare, memoria nu este disponibilă
pentru operaţiile normale (citire, scriere). Accesul la memorie pentru citire face
şi împrospătarea celulelor de memorie (aflate pe aceeaşi coloană sau linie).
Acest tip de memorie, bazată pe condensatoare, ce necesită
împrospătarea periodică a informaţiei, se numeşte memorie dinamică.
Circuitele integrate astfel construite se numesc memorii RAM dinamice sau
cipuri DRAM.
În figura 3.1 se prezintă o celulă de memorie DRAM ce poate stoca un
bit

32
UTILIZAREA CALCULATOARELOR

Selecţie linie

Selecţie
Capacitate coloană
parazită

Fig. 3.1. Celulă de memorie DRAM de 1 bit.

Selecţia celulei – se aduce 1 logic pe linia selecţie linie. Tranzistorul se


deschide şi capacitatea parazită se încarcă cu informaţia binară prezentă pe
linia selecţie coloană.
Dacă se memorează 1 logic informaţia trebuie reâmprospătată periodic
(refresh). Împrospătarea se face prin citirea tensiunii de pe condensator şi
reîncărcarea condensatorului.
În figura 3.2 se prezintă variaţia tensiunii pe capacitatea parazită după
ce se încarcă cu tensiunea corespunzătoare valorii logice 1.

Ucondensator Se scrie 1 logic Reâmprospătare

Uprag

t
0 logic 1 logic
Fig. 3.2. Variaţia tensiunii pe capacitatea parazită.

Memoria DRAM are o capacitate mare => se utilizează multe linii de


adrese.
Din modul de selecţie a unei celule rezultă că linia şi coloana nu trebuie
să fie selectate în acelaşi timp. Prin urmare biţii mai puţin semnificativi ai
adresei pot fi generaţi cu o anumită întârziere faţă de biţii mai semnificativi. Se

33
UTILIZAREA CALCULATOARELOR

face o multiplexare a liniilor de adrese şi astfel, la intrarea circuitului de


memorie se aduc doar N/2 linii de adrese în loc de N linii (corespunzătoare
magistralei de adrese a microprocesorului).
În figura 3.3 se prezintă structura unei memorii DRAM.

DECODI- MATRICE
LATCH FICATOR MEMORIE

___
Adrese RAS
AMPLIFICATOR __
___
BIDIRECŢIONAL WE
CAS

LATCH MULTIPLEXOR
BIDIRECŢIONAL

DATA IN / DATA OUT

Fig. 3.3. Structura unei memorii DRAM.

Se utilizează suplimentar două structuri de memorare de tip latch


comandate de semnalele:
/RAS (Row Address Strobe) – selecţia liniei
şi /CAS (Column Address Strobe) – selecţia coloanei.
Memorarea adresei se face pe frontul de cădere al semnalelor de
comandă.
Matricea de memorie este pătrată (are acelaşi număr de linii şi coloane).
Creşterea capacităţii memoriei presupune dublarea densităţii pe fiecare
dimensiune din plan. Dacă numărul de linii de adrese de la intrarea memoriei
se măreşte cu 1 (N se măreşte cu 2) noua capacitate de memorie va fi de 4 ori
mai mare decât precedenta.
Amplificatorul bidirecţional va generara la ieşirea sa o tensiune
proporţională cu nivelul logic al unui bit pornind de la tensiunea existentă pe
condensatorul selectat.
În figura 3.4. sunt prezentate formele de undă ale semnalelor /RAS,
/CAS, adrese şi date pentru citirea datelor din memorie.

34
UTILIZAREA CALCULATOARELOR

Adrese rând coloană


____
RAS
____
CAS
Date
valide
Date
___ tacces
WE = 1

Fig. 3.4. Forme de undă pentru citire date din memorie.

Memorarea adresei de rând respectiv coloană se face în momentele


fronturilor descrescătoare ale semnalelor /RAS respectiv /CAS. Atunci când
memoria nu transmite informaţii ieşirile de date sunt în stare de impedanţă
ridicată.
În figura 3.5. sunt prezentate formele de undă ale semnalelor /RAS,
/CAS, /WE, adrese şi date pentru înscrierea datelor în memorie.

Adrese rând coloană


____
RAS
____
CAS
___
WE
Date
valide
Date
Fig. 3.5. Forme de undă pentru înscriere date în memorie.

Pentru memoria DRAM avem 3 cicluri:


- ciclul de refresh,
- ciclul de citire,
- ciclul de scriere.

35
UTILIZAREA CALCULATOARELOR

Regenerarea se face în acelaşi timp pentru toate locaţiile de pe o linie


(rezultă că nu mai este nevoie de semnal /CAS). Se aplică semnalul /RAS iar
adresa liniei se obţine cu ajutorul unui numărător intern.
Alte cicluri posibile (în funcţie de memoria DRAM):
- ciclu citire-modificare-scriere – se citesc datele de la o adresă, se
prelucrează şi rezultatul se memorează la aceeaşi adresă,
- ciclu de citire în mod pagină – se activează /RAS după care se
activează /CAS în mod repetat. Astfel se citeşte mai rapid informaţia de pe o
linie,
- ciclu de citire în mod nibble – se generează automat 4 secvenţe de
/CAS.

Memoria statică
Memoria dinamică se bazează pe încărcarea unor condensatoare cu
sarcini electrice în cazul scrierii unor informaţii respectiv, citirea stării de
încărcare a lor în timpul citirii informaţiei.
Memoria statică este bazată pe comutatoare care permit sau împiedică
trecerea curentului electric.
Un comutator controlat de electricitate se numeşte releu.
Prin aplicarea unei tensiuni asupra releului acesta va comuta dintr-o
stare care nu permite trecerea curentului electric într-o stare care permite acest
lucru.
Tranzistorii sunt nişte componente electronice care se pot comporta la
fel ca şi comutatoarele (regim de lucru blocat sau saturat). Tranzistorii pot fi
cablaţi astfel încât să funcţioneze ca un zăvor (închis/deschis) numit bistabil
(flip-flop). Cu ajutorul unor astfel de circuite bistabile realizate cu tranzistoare
se poate crea o memorie statică.
Memoriile RAM statice se numesc SRAM (Static RAM). Acestea nu au
nevoie de cicluri de împrospătare periodice ca cele dinamice.
Memoriile statice asigură un transfer mai rapid al informaţiilor faţă de
memoriile dinamice. Memoria cache este o memorie statică.
Atât memoriile dinamice cât şi cele statice păstrează informaţia înscrisă
în ele atâta timp cât sunt alimentate. Aceste memorii sunt volatile.
În figura 3.6 se prezintă structura unei memorii SRAM.

36
UTILIZAREA CALCULATOARELOR

Intrare Date
...

MATRICE MEMORIE
Adrese DECODI- Linii 2N x 8 biţi
N biţi FICATOR ___
WR Coloane

___
WE
__ ...
CS Ieşire Date
__
OE
Fig. 3.6. Structura unei memorii SRAM.

În figura 3.7. se prezintă structura utilizată pentru memorarea unui bit.

DIN D Q DOUT

bistabil D
___ (latch)
SEL
___ CLK
WR

de la decodificator
Fig. 3.7. Structura de memorare a unui bit în cazul memoriei SRAM.

Caracteristici:
- mai scumpă decât DRAM,
- mai rapidă decât DRAM,
- consum mai redus decât DRAM,
- uşor de controlat,

37
UTILIZAREA CALCULATOARELOR

- capacitate de memorare mai mică decât la DRAM,


- interfaţă sincronă sau asincronă.

Utilizare:
- RAM sau cache în microcontrolere,
- cache în microprocesoare sau pe placa de bază,
- registre interne ale microprocesoarelor,
- buffere pentru HDD, routere, LCD, imprimante, CD-ROM, CDRW ...

Câteva tipuri de memorie RAM


• Memoria RAM cu coloane statice
- Se trimite adresa unei coloane şi se menţine activat semnalul CAS,
- Se trimite adresa unui rând şi se activează semnalul RAS (CAS rămâne activ).
Operarea se face pe aceeaşi coloană.
• Memoria RAM în mod pagină
Operarea se face pe acelaşi rând (pagină). Timpul de acces de la o
celulă la altă celulă în cadrul unei pagini este de 25 – 30 nanosecunde.

• Memoria DRAM sincronă (SDRAM)


Acest cip lucrează sincronizat cu calculatorul gazdă. Are canale de
operare (pipeline) folosite pentru adresele de coloane de pe o pagină de date.
Înainte de a scoate datele corespunzătoare unei adrese primite poate să înceapă
prelucrarea pentru obţinerea datelor corespunzătoare unei alte adrese de pe
acelaşi rând (pagină).
• Memoria DDR-SDRAM (Double Data Rate SDRAM)
Se poate spune că se realizează 2 transferuri pe un ciclu de tact: unul
pe front crescător, celălalt pe front descrescător.
De fapt memoria DDR are 2 semnale diferenţiale de tact CK şi NCK.
La fiecare front crescător al unui semnal se transmit date.
• Memoria DDR2-SDRAM (Double Data Rate two SDRAM)
Operează cu magistrala de date de 2 ori mai repede decât DDR
SDRAM. Astfel pe fiecare tact se transferă 4 biţi pe o linie de date.
Funcţionează la o tensiune de 1,8 V.
• Memoria DDR3-SDRAM (Double Data Rate three SDRAM)
Reprezintă o îmbunătăţire a memoriilor DDR2 SDRAM. Pe fiecare tact
se transferă 8 biţi pe o linie de date. Funcţionează la o tensiune de 1,5 V
(consum redus cu 30% faţă de DDR2 SDRAM).

38
UTILIZAREA CALCULATOARELOR

• Memoria DRAM îmbunătăţită – EDRAM (Enhanced DRAM) şi memoria


DRAM cu cache (CDRAM)
Au în cip un bloc de memorie statică de cache. Memoria cache este
încărcată cu informaţie din memoria DRAM, informaţie ce poate fi citită şi în
perioadele de reâmprospătare a memoriei DRAM.
• Memoria Rambus DRAM (RDRAM)
Are un cache de 2048 octeţi în care se poate încărca o pagină întreagă
din memoria DRAM într-un singur ciclu de ceas.
Magistrala de conectare între memorie şi controllerul de memorie are lăţimea
de un octet. Magistrala rambus lucrează la frecvenţa de 250 MHz şi permite
transferarea a 2 octeţi la fiecare ciclu de ceas (unul pe front crescător şi unul pe
front descrescător).

Module de memorie
Cipurile de memorie sunt lipite direct pe o placă de cablaj imprimat din
fibră de sticlă epoxidică. Un cip de memorie este adresat la nivel de bit,
capacitatea se măsoară în kilobiţi sau megabiţi. Modulele de memorie operează
cu octeţi, capacitatea lor se măsoară în megaocteţi. Modulul de memorie are un
conector extern cu ajutorul căruia poate fi instalat într-un soclu. Majoritatea
modulelor au conectoare CELP (Card Edge Low Profile) cu 30 sau mai multe
contacte pe fiecare parte a modulului.
Modulele SIMM (Single In-line Memory Module) au circuite integrate
pe o singură parte a cablajului imprimat. Contactele de pe părţile opuse ale
plăcii sunt legate între ele.
Modulele DIMM (Dual In-line Memory Module) au circuite integrate
pe ambele părţi a cablajului imprimat. Contactele de pe părţile opuse sunt
folosite în scopuri diferite.
Viteza de transfer este deseori caracterizată prin lăţimea de bandă
(bandwidth) – cantitatea de informaţie transmisă în unitate de timp. Ea se poate
exprima şi prin timpul de acces (în ns) – timpul necesar pentru realizarea
transferului în/din memorie.
Lăţimea de bandă = ftact x numărul de octeţi, unde ftact este frecvenţa
magistralei. Se măsoară în MB/s.
Ex: ftact = 133 MHz, MD – 64 biţi (8 octeţi) =>
Lăţimea de bandă = 133 MHz x 8 B = 1064 MB/s.

Dacă memoria SDRAM are o magistrală (bus) de date de 64 biţi şi


lucrează la o frecvenţă de ceas fclock = 100 MHz atunci lăţimea de bandă este de
800 MB/s.
39
UTILIZAREA CALCULATOARELOR

Memoria DDR SDRAM cu acelaşi bus şi aceeaşi frecvenţă de tact va


avea lăţimea de bandă de 1600 MB/s.
Producătorul specifică viteza unui modul de memorie prin frecvenţa
magistralei (PC100, PC133 pentru modulele SDRAM) sau lăţimea de bandă
(PC2400, PC2700 pentru modulele DDR-SDRAM).

Memorie numai pentru citire


În memoriile RAM se pot înscrie şi citi informaţii. Dacă avem nevoie
de o memorie în care să înscriem un program (o informaţie) care mai departe să
fie doar citit de calculator, se poate utiliza o memorie numai pentru citire
(Read-Only Memory) sau cip ROM. În acest caz, dacă memoria este realizată
cu ajutorul unor comutatoare, acestea sunt poziţionate şi blocate (nu mai
comută). Unele variante de memorii ROM permit şi înscrierea informaţiei.
În figura 3.8 se prezintă structura unei memorii ROM de 1 koctet.

A9
. MATRICE MEMORIE
. DECODI- 1024 octeţi
. Linii
FICATOR
A3 Coloane

A2
A1 MUX1 MUX2 MUX8
A0
__
CS
__
OE
D7 D6 D0

Fig. 3.8. Structura unei memorii ROM de 1 koctet.

Memoria ROM programabilă prin mască sau mask ROM


Pentru fabricarea unui circuit integrat se folosesc măşti (elementele de
circuit de pe cip sunt crescute pe substratul de siliciu). Informaţiile conţinute de
acest tip de memorie nu pot fi modificate. Prin procesul de fabricaţie se încrie
în memorie programul dorit.

40
UTILIZAREA CALCULATOARELOR

Memoria PROM
Memoria PROM (Programmable Read-Only Memory) este un cip de
memorie numai pentru citire. Programarea se face de utilizator.
Prin fabricaţie toţi biţii au acelaşi nivel logic. Aceste circuite sunt
formate din elemente care funcţionează precum siguranţele fuzibile (peliculă
de CrNi).
Pentru arderea anumitor elemente fuzibile (înscrierea informaţiei) se
foloseşte un aparat numit programator sau arzător de PROM-uri. Acesta
utilizează un pin special pentru programare la care aplică impulsuri de tensiune
(10÷30V). La intrările de date sunt aduse informaţii ce sunt înscrise în urma
aplicării impulsului de tensiune la adresa indicată prin intermediul liniilor de
adresă. O memorie PROM odată programată nu mai poate fi ştearsă
(reprogramată).
Memoria EPROM
Memoria EPROM (Erasable Programmable Read-Only Memory) este o
memorie numai pentru citire cu programare şi ştergere. Memoria EPROM a
fost inventată în anul 1971 de inginerul Dov Frohman.
Cipurile EPROM au o fereastră în partea superioară, acoperită cu o
etichetă care să nu permită luminii să pătrundă. Aceasta deoarece memoriile
sunt şterse dacă sunt expuse la o radiaţie ultravioletă. Dacă fereastra nu este
acoperită informaţia se poate şterge într-o săptămână dacă cipul este expus la
lumina naturală sau în 3 ani dacă expunerea este făcută la lumina fluorescentă.
În cazul în care memoriile EPROM sunt şterse se elimină întreaga informaţie
ce a fost stocată în ele. După ştergere pot fi rescrise. Informaţia rămâne
memorată cel puţin 10 ani.
Memoria EEPROM
Memoria EEPROM (Electrically Erasable Programmable Read-Only
Memory) este o memorie numai pentru citire cu programare şi ştergere
electrică. A fost dezvoltată în anul 1983 de George Perlegos. În cazul acestor
cipuri, pentru ştergere este nevoie de o tensiune mai mare decât cea normală de
funcţionare. Ştergerea şi rescrierea se poate face independent pentru fiecare
octet.
Dezavantaj – datele înscrise în memorie pot fi modificate doar de un număr
finit de ori – de aproximativ 10.000 ori.
Informaţia se păstrează mai mult timp ca în cazul memoriilor EPROM.
Memoriile în tehnologie NMOS au timpul de acces de ordinul 500 ns,
cele în tehnologie CMOS au timpul de acces de ordinul 100 ns.

41
UTILIZAREA CALCULATOARELOR

Timpul de acces – timpul ce trece din momentul în care este pusă


adresa pe magistrala de adrese respectiv dată comanda de citire/scriere, până
când memoria pune (sau citeşte) informaţia (de) pe magistrala de date.
Memoria flash
O versiune nouă a cipurilor EEPROM este cipul flash ROM sau
memorie flash – memorie EEPROM de capacitate mare. Memoria flash a fost
inventată de Dr. Fujio Masuoka în anul 1980. Termenul de flash a fost sugerat
de un coleg al Dr. Masuoka care a comparat modul de ştergere al memoriei cu
flash-ul unui aparat foto. Aceste cipuri pot fi şterse şi reprogramate, de
aproximativ 100.000 de ori, folosind tensiunea de 5 V din interiorul PC-ului.
Timp de acces de 50 ns.
Memoriile flash ROM moderne permit scrierea şi citirea aleatorie.
Cipurile actuale conţin propria logică de control a ştergerii, scrierii şi chiar
verifică dacă operaţia de scriere s-a terminat cu succes.

Proiectarea memoriilor standard


Locaţiile de memorie sunt organizate într-o matrice dreptunghiulară de
celule. Fiecare celulă de memorie este identificată în mod unic prin poziţie
(rând şi coloană).
Liniile de adresare sunt multiplexate în timp. Pe ele sunt trimise atât
adresa rândului cât şi adresa coloanei. Pentru a indica ce adresă este trimisă se
folosesc 2 semnale:
- RAS (Row Address Strobe) – indică faptul că se transmite adresa unui rând,
- CAS (Columm Address Strobe) – indică faptul că se transmite adresa unei
coloane.

Întrebări
1) Ce este memoria primară, respectiv secundară a unui calculator?
2) În ce scop se utilizează memoria primară, respectiv secundară?
3) Cum se efectuează transferul datelor între microprocesor şi memorie?
4) Sub ce formă se stochează datele în memoria primară, respectiv secundară?
5) La ce se referă termenul RAM? Dar ROM? Explicaţii.
6) Memoria DRAM. Realizare, utilizare (stocare şi transfer date).
7) La ce se referă termenul împrospătare (refresh)?
8) Ce este /RAS, respectiv /CAS? Utilizare.
9) La ce se referă termenul SRAM? Explicaţii.
10) Care sunt diferenţele dintre SRAM şi DRAM?
11) Memoriile SDRAM, DDR-SDRAM şi DDR2-SDRAM. Explicaţii.
42
UTILIZAREA CALCULATOARELOR

12) Ce este un modul SIMM? Dar DIMM?


13) Memoriile PROM, EPROM, EEPROM, flash. Explicaţii

3.2.2. Memoria secundară


Memoria secundară este realizată pe baza dispozitivelor magnetice sau
optice de memorare a informaţiei. Această memorie este de tip nevolatil.

Discheta
Discheta (floppy disk – disc flexibil) de 3,5” conţine un disc flexibil din
poliester. Pe pe feţele sale este lipit un strat de oxid magnetic (oxid feric).
Acest disc este protejat cu ajutorul unei carcase de plastic.

butuc metalic

disc – substrat din poliester


acoperit cu oxid magnetic

oxid magnetic (oxid feric)


disc flexibil din
poliester

0,9 ÷ 2,5 microni

Fig. 3.9. Discheta.

Discul este protejat cu ajutorul unei carcase de plastic (iniţial Mylar).


Între disc şi carcasă se află o căptuşeală din material textil neţesut.
Istoric
Primele modele
- diametru 8 inci, acces doar pentru citire,
- capacitate 100 kB,
- înregistrare pe o singură faţă.
Din 1973 utilizatorii pot înscrie date pe disc
1976 - discheta de 5,25 inci (Shugart Associates)
43
UTILIZAREA CALCULATOARELOR

1980 - discheta de 3,5 inci (Sony Corporation)


utilizată pe scară largă începând din 1984 (Apple)
1996 Zip (Iomega Corporation) capacitate > 100 MB
Particule magnetice mai mici => strat magnetic mai subţire => densitate
mai mare de stocare.
Particule magnetice aranjate orizontal, aliniere de-a lungul razelor
discului (înregistrare orizontală).
Aranjare verticală (înregistrare perpendiculară) => capacitate mai mare
de stocare faţă de înregistrarea orizontală.
Discheta de 3,5” cu capacitatea de 1,4 Mocteţi are 2 feţe, pe fiecare faţă
80 de piste concentrice, pe fiecare pistă 18 sectoare. În timpul funcţionării se
roteşte cu o viteză fixă de 300 rotaţii/minut. Rata de transfer a datelor este de
500 kbps (kilo biţi pe secundă) .

Hard-discul
Hard-discul este un dispozitiv magnetic utilizat pentru stocarea pe
termen lung a informaţiei.
Cerinţe:
- capacitate mare de memorare
- viteză mare de transfer a datelor
Conţine unul sau mai multe discuri (numite platane) de aluminiu sau
sticlă ce sunt acoperite cu o peliculă magnetică subţire. Informaţia este înscrisă
pe piste concentrice ce conţin mai multe sectoare.
Informaţia se înscrie sau citeşte de pe discuri cu ajutorul unor capete de
citire/scriere. Aceste capete se deplasează radial, la distanţă mică faţă de disc
(nu ating discul), distanţă cu atât mai mică cu cât suprafaţa discului este mai
netedă.
Capul de citire/scriere este un electromagnet (bobină de inducţie) care
aliniază polarităţile particulelor magnetice de pe discuri la scriere sau, este
indus un curent pozitiv sau negativ în bobină în cazul citirii. În zona de
“contact” cu discul, spaţiul dintre poli este umplut cu un material nemagnetic –
metal în spaţiu (metal-in-gap). În figura 3.10 se prezintă un cap de citire/scriere
inductiv.

44
UTILIZAREA CALCULATOARELOR

bobină

material
magnetic

material (metal)
nemagnetic
< 25 nm

peliculă magnetică disc (substrat)


Fig. 3.10. Cap de citire/scriere inductiv.

La noile capete de citire/scriere bobina a fost înlocuită cu un strat


subţire de cupru depus pe o peliculă sub forma unei bobine – capete cu peliculă
subţire (thin film heads).
Capete magneto-rezistive – se măsoară variaţia rezistenţei electrice (a
unor materiale din aliaj de fier şi nichel) cauzată de câmpurile magnetice.
Discul trebuie să fie cât mai plan şi cât mai neted
Substratul este realizat din
- aluminiu
- este uşor de prelucrat şi se pot obţine suprafeţe netede
- este inert prin urmare nu reacţionează cu materialul magnetic
depus pe suprafaţa sa
- nu este un material magnetic prin urmare nu afectează procesul
de înregistrare
- este ieftin
- sticlă - se pot obţine suprafeţe mai netede faţă de aluminiu
- compuşi ceramici (sticle).
Mediul în care se face memorarea este o peliculă magnetică subţire
(aliaj de cobalt). Pelicula este aplicată prin placare sau prin bombardare (vapori
metalici atraşi de disc). Acest mod de depunere are ca rezultat un strat mai

45
UTILIZAREA CALCULATOARELOR

subţire şi mai neted de material magnetic. Prin urmare capete de citire/scriere


pot fi dispuse mai aproape de disc.
Densitatea de suprafaţă reprezintă cantitatea de date ce poate fi stocată
pe o suprafaţă a discului. Unitatea de măsură MB/inci2.
Densitatea de suprafaţă depinde de dimensiunea domeniului magnetic.
Domeniul magnetic depinde de:
- înălţimea la care se deplasează capetele de citire/scriere
- dimensiunea particulelor magnetice
Domeniul magnetic (regiune magnetică)
- stochează un bit
- format din câteva sute de particule magnetice
- formează un dipol magnetic. Dipolul magnetic generează un cîmp
magnetic localizat.

Stratul magnetic poate fi distrus datorită şocurilor sau prin


contaminarea suprafeţei cu praf sau alte particule poluante. Se utilizează medii
sigilate. Există un mic ventil pentru egalizarea presiunii interne cu cea externă
=> pot intra poluanţi microscopici.

Creşterea capacităţii de memorare se poate face prin conectarea mai


multor discuri pe acelaşi ax (faţă de un singur disc). În acest caz se măreşte şi
inerţia discurilor şi în plus trebuie utilizate mai multe capete de citire/scriere
(câte două pentru fiecare disc). Mai multe capete de citire/scriere înseamnă
masă mai mare prin urmare, necesitatea utilizării unor mecanisme mai
puternice de acţionare. Toate acestea măresc costurile, duc la obţinerea de
mecanisme de dimensiuni mai mari prin urmare se măreşte şi consumul.

Hard-discurile mai vechi foloseau pentru acţionarea capetelor un


mecanism de acţionare pas cu pas cu bandă (band-stepper actuator). În acest
scop se folosea un motor pas cu pas (mecanism de acţionare cu buclă deschisă).
Hard-discurile mai noi, cu buclă închisă, folosesc (aproape toate)
servomecanisme de acţionare cu bobină şi magnet permanent. Sistemul de
acţionare a capului determină poziţia corectă prin citirea continuă a unei feţe de
disc dedicată acestui scop – suprafaţa servo (variantă iniţială). Astfel, se poate
identifica fiecare locaţie de stocare de pe disc.
Variantă îmbunătăţită – tehnologie servo înglobată – informaţiile de
ghidare sunt stocate pe aceeaşi suprafaţă de înregistrare ca şi datele. Sectorul
conţine un preambul cu ajutorul căruia se sincronizează capul, urmează zona de
date şi la sfârşit un cod corector de erori.
46
UTILIZAREA CALCULATOARELOR

Informaţia este memorată pe nişte cercuri concentrice – piste (track) –


faţă de axul discului.
Dacă hard-discul are mai multe discuri, pistele de pe discuri diferite
aflate la aceeaşi distanţă de centru formează un cilindru.
Fiecare pistă este împărţită în mai multe sectoare de lungime fixă.
Dimensiunea unui sector este stabilită prin convenţie la 512 octeţi.
Capetele şi cilindrii se numerotează începând cu 0. Sectoarele de pe o
pistă se numerotează începând cu 1.
În figura 3.11 se prezintă schematic partea mobilă a unui hard-disc.

Fig. 3.11. Partea mobilă a unui hard-disc.

Discurile sunt învârtite de un motor. Dacă acestea au o rotaţie constantă


atunci se spune că avem înregistrare la viteză unghiulară constantă (constant
angular velocity recording). Numărul de rotaţii pe minut (RPM) este constant.
Hard-discul este mai uşor de construit. Fiecare pistă conţine aceeaşi cantitate
de informaţii. Pentru înregistrarea unui bit se foloseşte un arc de cerc care are
aceeaşi mărime unghiulară (în grade) indiferent de poziţia capului de
citire/scriere. Lungimea lineară a unui bit diferă de poziţia capului de
citire/scriere fiind cu atât mai mare cu cât capul este mai departe de centrul
discului.

47
UTILIZAREA CALCULATOARELOR

Fig. 3.12. Piste şi sectoare.

Pentru a folosi aceeaşi lungime corespunzătoare unui bit indiferent de


poziţia capului de citire/scriere se poate folosi înregistrarea la viteză liniară
constantă (constant linear velocity recording). În acest caz, un disc de o
dimensiune dată poate stoca o cantitate mai mare de informaţii.
Viteza liniară constantă presupune schimbarea turaţiei discului în
funcţie de poziţia capului de citire/scriere. Din cauza inerţiei acest lucru se face
într-un interval mare de timp .
Hard-discul se doreşte să fie un echipament care să ofere cu rapiditate
informaţia accesată. Din acest motiv, discul (discurile) sunt rotite cu ajutorul
unui motor servocomandat de curent continuu (unitatea de disc conţine un
senzor care monitorizează viteza de rotaţie => se lucrează la viteză unghiulară
constantă). Discurile hard-discurilor actuale se rotesc cu 5400, 7200 sau chiar
10000 RPM (rotaţii pe minut).
În cazul hard-discurilor mai vechi, numărul de sectoare este acelaşi
pentru toate pistele (viteză unghiulară constantă).
Hard-discurile mai noi folosesc înregistrarea pe zone multiple (multiple
zone recording - MZR). Această tehnică permite stocarea unui număr diferit de
sectoare pe fiecare pistă (pe pistele aflate mai aproape de centru sunt 300 – 400
sectoare, pistele mai depărtate de centru ajung să aibe 800 – 900 sectoare). În
acest caz, frecvenţa semnalelor de date creşte în zonele mai apropiate de
marginea exterioară a discului. Prin utilizarea înregistrării pe zone multiple
creşte capacitatea totală a discului.
48
UTILIZAREA CALCULATOARELOR

Fig. 3.12. Înregistrarea pe zone multiple.

Intercalarea sectoarelor
Aranjarea logică a sectoarelor de pe o pistă poate să difere de aranjarea
fizică a acestora.
Ex: pe o pistă avem 20 sectoare în ordinea 1, 5, 9, 13, 17, 2, 6, 10, ... şi se
doreşte citirea sectoarelor 1 şi 2. Sistemul de discuri citeşte sectorul 1 după
care aşteaptă 4 sectoare înainte de a citi sectorul 2. Astfel, calculatorul gazdă
(mai vechi) poate ţine pasul cu discul.
În cazul hard-discurilor cu buffere de pistă, intercalarea nu mai este
necesară deoarece acestea citesc o pistă întreagă şi trimit PC-ului doar
informaţiile din sectorul (sau sectoarele) solicitat.

Deplasarea cilindrilor
În timpul în care capul de citire trece de la sfârşitul unei piste la
începutul pistei următoare discul se roteşte. Prin urmare trebuie să treacă un
timp suplimentar până când începutul noii piste ajunge sub cap. Pentru ca acest
interval de timp să fie cât mai mic, pistele sunt deplasate unele faţă de celelalte.
Această tehnică se numeşte deplasarea pistelor (track skewing) sau deplasarea
cilindrilor (cylinder skewing).

49
UTILIZAREA CALCULATOARELOR

Timpul mediu de acces


Timp de aşteptare – întârzierea medie la găsirea unui bit, impusă de
mişcarea de rotaţie a discului.
Timp de poziţionare – timpul necesar pentru deplasarea capetelor de
citire/scriere de la o pista la următoarea pistă.
Timpul mediu de acces (average access time) sau timpul mediu de
pozţionare specifică durata necesară pentru deplasarea capetelor pe pista din
mijloc a discului. Cu cât acest timp este mai mic cu atât hard-discul este mai
rapid.

Rata de transfer a datelor


Rata de transfer este exprimată în megahertzi (MHz) sau megaocteţi pe
secundă (MB/s). Rata de transfer depinde de viteza de rotaţie a platanelor şi de
densitatea de stocare (numărul de sectoare pe pistă).

Ex: considerăm că avem un hard-disc cu viteza de rotaţie a discului de 7200


rot/min şi numărul mediu de sectoare pe pistă 688 (fiecare cu 512 octeţi). Rata
medie de transfer este
688x512x7200/60 = 42270720 B/s = 40,3 MB/s

Sistemul de fişiere
Sistemul de operare DOS (Disk Operating System) înainte de a stoca un
fişier pe disc, îl fragmentează în mai multe părţi numite clustere. Fiecare
cluster poate fi stocat oriunde pe disc. Dacă informaţiile sunt stocate în clustere
adiacente fizic atunci fişierul va putea fi citit mai rapid.
Tabelul de alocare a fişierelor (File Allocation Table - FAT) este
utilizat pentru identificarea tuturor clusterelor corespunzătoare unui fişier
accesat. Dacă se doreşte înscrierea unei informaţii se verifică în tabelul FAT
care clustere sunt accesibile.
Dezavantajul utilizării clusterelor – chiar dacă fişierul are dimensiune
mică va ocupa cel puţin un cluster. În medie, fiecare fişier stocat pe hard-disc
iroseşte o jumătate de cluster.
FAT16 foloseşte 16 biţi pentru identificarea clusterelor. Permite
utilizarea unui număr de 65536 de clustere denumite în mod unic. Dacă
dimensiunea unui cluster este de 2048 octeţi, dimensiunea maximă a hard-
discului este de 128 MB.
Pentru discuri mai mari, dimensiunea clusterelor trebuie mărită (4096
sau 8192 octeţi).
Pentru tabelele FAT16 dimensiunea maximă a discurilor este de 2 GB.
50
UTILIZAREA CALCULATOARELOR

FAT32 foloseşte 28 de biţi pentru identificarea clusterelor (4 biţi sunt


rezervaţi pentru utilizări ulterioare).
Cu sistemul FAT32 se pot utiliza discuri cu capacităţi pâna la 2048 GB.
În funcţie de capacitatea discurilor, clusterele vor avea o anumită dimensiune:
Capacitatea discurilor Dimensiunea clusterelor
0 – 6 GB 4 kB
6 – 16 GB 8 kB
16 – 32 GB 16 kB
32 – 2048 GB 32 kB
În cazul sistemului de fişiere NTFS (New Technology File System)
toate datele folosite pentru descrierea unui fişier sau a unui director de pe disc
sunt scrise în tabelul principal de fişiere (Master File Table).
Sistemul NTFS vede fişierul ca o colecţie de atribute. Ex: numele
fişierului, datele conţinute de fişier, numele utilizatorului (care a creat fişierul),
data ultimei modificări.
Pentru identificarea atributelor se alocă fiecărui fişier un număr de
identificare (ID) unic, pe 48 de biţi (=> putem avea aproape 300.000 de
miliarde de intrări).
Un fişier poate să crească pâna când ocupă întreg spaţiul disponibil pe
disc.
Unitatea de alocare este de dimensiune mică (în general de 4 kB).

Formatarea de nivel jos – toate hard-discurile moderne sunt formatate


la nivel jos numai în timpul fabricării. Formatarea de nivel jos presupune
delimitarea sectoarelor individuale pe suprafaţa pistelor.
Partiţionarea – funcţie a sistemului de operare – se stabileşte structura
logică a discului. Se împarte discul fizic în mai multe discuri logice. Fiecare
disc logic se comportă ca şi cum ar fi un disc separat. Partiţionarea discurilor
este utilă deoarece permite păstrarea datelor chiar dacă sistemul de operare
(SO) trebuie reinstalat. SO se instalează pe o partiţie şi celelalte partiţii vor fi
utilizate pentru pastrarea datelor.
Formatarea – sub DOS nu se face altceva decât ştergerea tabelului de
alocare.

Întrebări
1) Cum/unde se înscrie informaţia într-un hard-disc?
2) Ce conţine şi la ce este utilizat un cap de citire/scriere?
3) Ce caracteristici (proprietăţi) trebuie să aibe discul (substratul) unui hard-
disc?
51
UTILIZAREA CALCULATOARELOR

4) Cum se poate realiza creşterea capacităţii de memorare? Avantaje şi


dezavantaje.
5) Ce este suprafaţa servo şi la ce este utilă?
6) Ce este un cilindru? Ce este o pistă? Ce este un sector?
7) Câte piste are un hard-disc cu 2 platane şi 250 de cilindrii?
8) Înregistrare la viteză unghiulară constantă. Avantaje şi dezavantaje.
9) Înregistrare la viteză liniară constantă. Avantaje şi dezavantaje.
10) La ce se referă tehnica de înregistrare pe zone multiple (MZR)?
11) În ce scop se utilizează tehnica de deplasare a cilindrilor (pistelor)?
12) Ce este FAT şi în ce scop se utilizează?
13) La ce se referă partiţionarea? La ce este utilă?
14) La ce se referă formatarea?

52

You might also like