P. 1
UC1

UC1

|Views: 1,104|Likes:
Published by ICD-10

More info:

Published by: ICD-10 on Oct 14, 2009
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

05/13/2013

pdf

text

original

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

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->