sistemelor de calcul - catedra de ingineria ...cs.ucv.ro/staff/dmancas/ac/curs_8.pdf · include...

74
Arhitectura Calculatoarelor Cătălina Mancaș Dan Mancaș [email protected] [email protected] Universitatea din Craiova Facultatea de Automatică, Calculatoare și Electronică Catedra de Ingineria Calculatoarelor și Comunicații Organizarea ierarhică a sistemelor de calcul

Upload: dinhnhu

Post on 19-Feb-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

Arhitectura

Calculatoarelor

Cătălina Mancaș Dan Mancaș

[email protected] [email protected]

Universitatea din Craiova

Facultatea de Automatică, Calculatoare și Electronică

Catedra de Ingineria Calculatoarelor și Comunicații

Organizarea ierarhică a

sistemelor de calcul

Page 2: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul

Data trecută…

Calculatorul elementar didactic;

Structura generală UM (MP);

Tehnici de adresare a memoriei.

2

Page 3: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul

Structura de bază a unui calculator

3

Flux de date

Comenzi sau linii de control

Informatii de stare sau linii de stare

Flux de date alternativ

Flux de instructiuni

CPU

Date de

intrare si

programe

Unitatea

Logico-

Aritmeticã

(ALU)

Unitatea de

Intrare

(UI)

Unitatea de

Iesire

(UO)

Unitatea de

Control

(UC)

Unitatea de

Memorie

(UM)

Date de iesire

sau rezultate

DMA DMA

DateInstructiuni

Flux de date

Flux de date alternativ

Flux de instrucțiuni

Linii de control

Linii de stare

= ALU + UC

Page 4: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul

Astăzi...

Concepte fundamentale:

– Arhitectura calculatoarelor (def.);

– Sistem de calcul.

Organizarea ierarhică a sistemelor de calcul;

Nivelele unui sistem de calcul;

Drumul:

Problema de rezolvat (Utilizator) -> Execuție (Mașina fizică);

Relaţiile între nivelele unui sistem de calcul;

Arhitecturi şi limbaje;

Structura sistemelor de calcul moderne multinivel;

Compilare şi interpretare.

4

Page 5: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul

Programator - Mașina fizică

5

Page 6: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul

Arhitectura: o frontieră între 2 nivele ale unei organizăriierarhice a unui sistem de calcul;

Myers;

Există mai multe tipuri de arhitecturi;

Arhitectura calculatorului (AC):

Graniţa între complexul Hardware/Firmware şi nivelul limbajului cod maşină ...

O “vedere” a calculatorului aşa cum apare aceasta pentru programatorul în cod maşină;

Include toate caracteristicile care pot fi manipulate de laacest nivel.

6

Concepte fundamentale

Page 7: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul

Observaţie:

A se face o distincţie clară între arhitectură, organizare şi implementare.

Interdependenţe;

Fiecare defineşte un concept distinct care corespunde uneidiscipline diferite;

În definiţia unei arhitecturi trebuie să se ţină cont de:

– organizarea calculatorului;

– modul de implemetare.

7

Concepte fundamentale

Page 8: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul

Arhitectura calculatorului:

Graniţa între Hardware/Firmware şi limbajul cod maşină,ţinând seama de sistemul de operare, decompilatoarele pentru limbajele de nivel înalt, precumşi de organizarea şi de implementarea calculatorului.

Definiţie (Dasgupta): Un concept care încorporează două direcţii complementare:

– proprietăţile logice şi arhitecturale ale unui calculator;

– ştiinţa, arta în proiectarea acelor proprietăţi logice şi abstracte.

8

Concepte fundamentale

Page 9: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul

Sistem: o mulţime de obiecte abstracte interconectate;

Sistem de calcul: sisteme de prelucrare a informaţiilor;

Sisteme extrem de complexe;

Există un număr foarte mare de părţi care interacţionează;

O interconectare între părţile fizice (Hardware) şi părţile

conceptuale (Software);

– caracteristică unică a sistemelor de calcul.

Într-o evoluţie extraordinară;

Iniţial: o reuniune de circuite electronice alcătuind Hardware-ul

sau maşina fizică.

9

Sistem de calcul

Page 10: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul 10

Nivelele unui sistem de calcul

Reducerea distanţei Hardware-Operator uman: Software de sistem.

Page 11: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul

Un calculator digital: o maşină care poate să rezolveprobleme pentru oameni ţinând cont de instrucţiunile datede aceştia;

O secvenţă de instrucţiuni descrie cum se poate rezolva oanumită sarcină numită program;

Mulţimea circuitelor electronice (Hardware) din fiecarecalculator poate recunoaşte şi executa direct un set limitatde instrucţiuni simple sau primitive, cum ar fi: adunarea adouă numere, transferarea unei date, verificarea dacă odată este zero, etc.

Reuniunea acestor instrucţiuni simple formează limbajulcod-maşină.

11

Nivelele unui sistem de calcul

Page 12: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul

Limbajul cod maşină: limbaj binar (0 şi 1);

Foarte complicat de folosit;

Instrucţiuni cod maşină, înţelese doar de circuiteleelectronice;

Adăugarea “Software-ului de sistem”:

– exprimarea problemei de rezolvat la un nivel mai ridicatdecât acela de adresare directă la nivelul circuitelorelectronice, adică la un nivel mai apropiat de modul uman degândire;

Adoptarea unui nou set de instrucţiuni:

– mai convenabil de folosit de către utilizatorul uman.

Reuniunea acestor instrucţiuni: un nou limbaj notat L.

12

Nivelele unui sistem de calcul

Page 13: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul

L este diferit de limbajul cod maşină – ML;

L nu este înţeles de Hardware;

L este translatat în limbajul ML: prin intermediulmecanismelor “Software-ului de sistem”;

Apoi, este executat de către Hardware;

Reuniunea circuitelor electronice - Hardware-ul se mainumeşte şi maşină fizică sau maşină reală.

Prin crearea software-ului de sistem: utilizatorul:

– nu comunică direct cu hardware-ul adică cu maşina fizică, ci;

– cu o maşină virtuală ce opereză într-un mod diferit, maiapropiat de cel al gândirii umane.

13

Nivelele unui sistem de calcul

Page 14: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul 14

Nivelele unui sistem de calcul

Mașina

Fizică

Mașina

Virtuală

Programator

L

ML

Page 15: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul

Maşina virtuală: un nou nivel deasupra maşinii fizice;

Înțelege L;

Convertește L -> ML;

Deci, programatorii scriu programe pentru maşini virtuale;

Limbajele ML şi L nu pot diferi foarte mult: conversia ar fifoarte complexă;

Un nou limbaj P: mai puţin orientat pe maşină şi mai multspre programator;

Programatorii scriu mult mai uşor programe în P;

P trebuie să se treacă în L şi apoi în ML prin conversiiadecvate;

Noul set de instrucţiuni ale limbajului P definesc o nouămaşină virtuală.

15

Nivelele unui sistem de calcul

Page 16: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul 16

Nivelele unui sistem de calcul

Mașina

Fizică

Mașina

Virtuală 1

Mașina

Virtuală 2

nivelul 0

nivelul 1

nivelul 2

Programator

P

ML

L

Page 17: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul

Nivelul cel mai de jos este întotdeauna maşina fizică, ceînțelege limbajul ML;

Acest mecanism de a inventa o serie de limbaje fiecaremai convenabil pentru programator poate continua pânăce se găseşte un limbaj adecvat care se reţine;

Numărul de nivele dictează gradul de eficienţă şiflexibilitate în aplicaţii:

– Cu cât un nivel este mai coborât în ierarhie, cu atât este mai

eficient în prelucrarea datelor şi în accesarea directă a

resurselor maşinii fizice.

– Cu cît un nivel este mai depărtat de maşina fizică creşte

flexibilitatea în reprezentarea problemei de rezolvat.

17

Nivelele unui sistem de calcul

Page 18: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul 18

Nivelele unui sistem de calcul

Mașina

Fizică

Mașina

Virtuală 1

Mașina

Virtuală 2

Masina

Virtuală 3

nivelul 0

nivelul 1

nivelul 2

nivelul 3F

lexib

ilita

tea

in u

tiliz

are

Efic

ien

ta in

utiliz

are

a

resu

rse

lor

Page 19: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul

Fiecare nivel: un subsistem;

Poate fi studiat independent:

– prin componentele sale specifice;

– prin conexiunile cu celelalte nivele.

Fiecare nivel: dependent de nivelul inferior şi superior:

– asigurând servicii nivelului superior;

– apelând resurse de la nivelul inferior.

19

Nivelele unui sistem de calcul

Page 20: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul

Relaţiile între nivelele unui sistem de calcul

20

Page 21: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul

Fiecare nivel: conţine mai multe componente primitivestructurate spre nivelul inferior;

21

Relaţiile între nivelele unui sistem de calcul

nivelul N

nivelul N -1

Page 22: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul

Conexiunile: procese de translatare şi interpretare;

Aceste procese descriu acţiunea de conversie de la un limbaj de nivel înalt spre un limbaj de nivel mai coborât;

Trecerea de la limbajul L la limbajul ML;

Două metode:

1) metoda translatării;

2) metoda interpretării.

22

Relaţiile între nivelele unui sistem de calcul

Page 23: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul

Presupune înlocuirea fiecărei componente de la nivelul N,printr-un grup de componente de la nivelul N-1;

Unei instrucţiuni din limbajul L îi corespunde o secvenţă

echivalentă de instrucţiuni din limbajul ML;

Rezultat: un întreg program scris numai cu instrucţiuni dinML;

Calculatorul execută acest program scris în ML şi ignorăprogramul scris în L.

23

Translatarea

Page 24: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul

Presupune scrierea unui program în ML ce considerăprogramul scris în L ca date de intrare şi care prin execuţieinterpretează fiecare instrucţiune din L;

Nu se crează un program echivalent scris în ML;

=> interpretarea implică prezenţa ambelor componenteatât de nivel N cât şi N-1;

La nivelul N este programul utilizatorului, iar la N-1 esteprogramul de interpretare numit interpretor;

Prin rularea interpretorului se execută programul scris lanivelul N.

24

Interpretarea

Page 25: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul

Nivelele mai coborâte sunt mai eficiente, cele mai înaltesunt mai flexibile în reprezentarea problemei;

Se recomandă:

– adaptarea metodei de translatare pentru nivelele mai

ridicate;

– adaptarea metodei de interpretare pentru nivelele mai

coborâte.

Translatarea reprezintă o modalitate de deplasare aproblemei utilizatorului spre un nivel mai uşorinterpretabil.

25

Translatare și interpretarea

Page 26: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul

Translatarea şi interpretarea sunt ca efect similare;

În ambele metode: instrucţiunile din L sunt convertite prinexecuţie în ML;

Diferenţe:

– la translatare: tot programul scris în L este mai întâiconvertit în program scris în ML după care se renunţă laprogramul scris în L şi se reţine cel scris în ML care seexecută;

– la interpretare: după fiecare examinare a instrucţiunii dinprogramul scris în L, aceasta se decodifică (interpretează) şise execută imediat de programul interpretor scris în ML.

Ambele metode sunt larg răspândite.

26

Translatare și interpretarea

Page 27: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul

Pentru utilizator:

– Există un calculator ce înţelege limbajul L;

– Utilizatorul lansează în execuţie programe srise în L;

– Calculatorul le execută ca şi cum L ar fi limbajul maşină alsău.

Aceasta corespunde existenţei unui calculator ipoteticnumit maşină virtuală, care are limbajul maşină L.

Dacă s-ar construi un calculator care să aibă limbajulmaşină L nu ar mai fi nevoie de translatare sauinterpretare.

Cum o astfel de maşină este foarte scumpă se păstreazămetodele de translatare şi interpretare şi utilizatorul vascrie programe pentru maşina virtuală.

27

Relaţiile între nivelele unui sistem de calcul

Page 28: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul

L şi ML nu pot diferi foarte mult;

=> o restricţie şi chiar dacă L este mai apropiat deexprimarea umană este departe de marea majoritate aaplicaţiilor;

Limbajul P;

Utilizatorul va scrie programe în P iar maşina le va executaca şi cum P ar fi limbajul cod maşină;

În realitate: P este interpretat sau traslatat în L şi apoi înML;

Această succesiune poate continua, fiecare limbaj folosindpredecesorul său ca bază.

28

Relaţiile între nivelele unui sistem de calcul

Page 29: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul

Sistemul de calcul este văzut ca o secvenţă de straturi saunivele, unul bazat pe celălalt;

Un sistem de calcul cu N nivele:

– N maşini virtuale diferite;

– fiecare cu câte un limbaj maşină diferit.

Doar programele scrise în ML pot fi direct executate dehardware fără a fi nevoie de interpretare sau translatare;

Programele scrise în limbajele L, P, etc. trebuie ca fiecaredin ele să fie interpretate de un interpretor ce rulează peun nivel mai jos sau translatate într-un alt limbajcorespunzător unui nivel mai scăzut.

29

Relaţiile între nivelele unui sistem de calcul

Page 30: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul 30

Relaţiile între nivelele unui sistem de calcul

MF

cu limbajul ML

MV1

cu limbajul L

MV2

cu limbajul P

Program scris in P va fi translatat in

L sau interpretat de un interpretor

scris in L

Program scris in L va fi translatat in

ML sau interpretat de un interpretor

scris in ML

Program scris in ML se executa

direct pe MF

Page 31: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul

Arhitecturi şi limbaje

31

Page 32: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul

Cf. Dasgupta:

Orice frontieră între două nivele din organizareaierarhică a unui sistem de calcul,

corespunde unei arhitecturi.

Există mai multe nivele în structura unui sistem de calcul

există mai multe arhitecturi;

Nivelul cel mai înalt al unui sistem de calcul este cel întangenţă cu lumea externă;

Definiţie:

Frontiera între sistemul de calcul şi lumea externă se numeşte arhitectură de sistem.

32

Arhitecturi şi limbaje

Page 33: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul

Orice arhitectură de sistem se prezintă sub 3 aspecte:

1) Pachete de programe de aplicaţii;

2) Limbaje de programare;

3) Comunicaţie cu alte sisteme, cu procese industriale, cu

instrumente de măsură, etc.

33

Arhitectura de sistem

interfața

utilizator-calculator

interfața

cu lumea fizică

Page 34: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul 34

End User

Pachete de programe de

aplicații

Limbaje de programare

Administrator de sistem

Administrator de baze de date

Proiectant de aplicatii

Arhitectura de

sistem

Arhitectura de sistem

Page 35: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul

Orice arhitectură de sistem se prezintă sub 3 aspecte:

1) Pachete de programe de aplicaţii;

2) Limbaje de programare;

-> fac ca sistemul să pară ca o maşină care operează exclusiv pentru

acea aplicaţie sau acel limbaj.

35

Arhitectura de sistem

Page 36: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul

Orice arhitectură de sistem se prezintă sub 3 aspecte:

3) Comunicaţie cu alte sisteme, cu procese industriale, cu

instrumente de măsură, etc.

-> respectă un set de convenţii şi protocoale ce sunt concentrate în

conceptul arhitecturii fizice I/O sau arhitecturii de reţea.

36

Arhitectura de sistem

Page 37: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul

Arhitectura fizică I/O este localizată în apropiereahardware-ului;

Limbajele de programare sunt stratificate;

Execuţia acestor limbaje se face prin translatare sauinterpretare cu interpretoare scrise în limbaje de nivelridicat;

Limbajele simbolice (la un nivel coborât): instrucţiunilesunt simboluri-mnemonice, care au un anumit senspentru utilizator (ADD, SUB, MOV, etc);

Atât limbaje de nivel ridicat cât şi cele de asamblare suntîn general translatate în cod maşină;

Programele de translatare se numesc compilatoare şiasambloare.

37

Arhitectura de sistem

Page 38: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul

Structura sistemelor de calcul moderne multinivel

38

Page 39: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul

Cele mai multe calculatoare:

2 (+) nivele;

Structurile tipice:

5 nivele + maşina fizică = 6 nivele;

La sistemele moderne:

peste 5 nivele (al limbajelor de nivel foarte înalt sau nivelul pachetelor de programe de aplicaţii).

39

Structura sistemelor de calcul multinivel

Page 40: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul 40

Structura sistemelor de calcul multinivel

Nivelul Hardware

(MF)

Nivelul

microprogramarii

Limbajul cod

masina

Sistemul de

operare

Limbajul de

asamblare

Limbaje de nivel

inalt

Limbaje de nivel

foarte inalt

Executie directa

Interpretare

Arhitectura

calculatorului

Interpretare partiala

Translatare (asamblare)

Translatare (compilare) sau interpretare

Translatare (pre-compilare) sau interpretare

0

1

2

3

4

5

6

Page 41: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul

Nivelele inferioare:

41

Structura sistemelor de calcul multinivel

În comun (maj. calculatoarelor):setul de instrucţiuni şi organizareagenerală;

De obicei: în jur de 30-40instrucţiuni distincte;

Cele mai multe instrucţiuni implicătransferul datei de la un dispozitivla altul, adunarea sau scăderea adouă numere, testarea unuinumăr, etc.

Page 42: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul

Nivelul 1: nivelul microprogramării;

42

Structura sistemelor de calcul multinivel

UC este de tip microprogramat;

Limbaj bazat pe microinstrucţiuni;

Microinstrucţiunile sunt în corespon-denţă directă cu registrele, cu ALU, cu numărătoare, multiplexoare, demultiplexoare, căi de transfer, etc.

Prin acest nivel se interpretează instrucţiunile nivelului 2;

Fiecărei instrucţiuni în cod maşină îi corespunde un microprogram;

Ansamblul microprogramelor formează FIRMWARE-ul.

Page 43: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul

Nivelul 2: nivelul cod maşină, nivelul maşiniiconvenţionale sau nivelul limbajulul ML;

43

Structura sistemelor de calcul multinivel

Lipseşte: UC cablat;

- Instrucţiunile cod maşină suntrealizate direct de circuiteleelectronice fără intervenţia unuiinterpretor;

- Nivelul 1 este nivelul maşiniiconvenţionale (şi nu nivelul 2);

În prezent:

CPU-urile se proiectează cu UCmicroprogramat.

Page 44: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul

Nivelul 2: nivelul cod maşină, nivelul maşiniiconvenţionale sau nivelul limbajulul ML;

44

Structura sistemelor de calcul multinivel

Microprogramarea permite:

- o proiectare mult mai sistematicăşi flexibilă la modificări;

- o uşoară extensie a setului deinstrucţiuni la nivel cod maşină prinsimpla adăugare de microprograme.

Page 45: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul

Nivelul 3: nivelul sistemului de operare;

45

Structura sistemelor de calcul multinivel

Nivel hibrid;

Multe din instrucţiunile limbajuluisău sunt din limbajul de lanivelul 2;

Noi facilităţi de folosire a HW:

- anumite organizări ale memoriei,

- posibilitatea de a rula două saumai multe programe în paralel, etc.;

Realizate de un interpretor cerulează la nivelul 2 -> SO.

Page 46: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul

Nivelul 3: nivelul sistemului de operare;

46

Structura sistemelor de calcul multinivel

Instrucţiunile nivelului 3 identice cu cele ale nivelului 2 sunt reali-zate direct de microprograme;

Celelalte sunt interpretate de SO.

=> hibrid

Page 47: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul

Nivelul 3: nivelul sistemului de operare;

SO au apărut gradual;

Nu au fost prezente la primele tipuri de calculatoare;

Implicau eforturi software deosebite;

SO asigură:

– gestiunea optimă a resurselor;

– servicii către nivelele superioare.

Nivelul 3 poate fi considerat: interpretor parţial alnivelelor superioare;

Acesta analizează instrucţiuni din programul utilizatorului,lăsând marea majoritate neschimbată, le transferă în josspre nivelul 2 şi interpretează doar acele instrucţiuni caresolicită folosirea resurselor.

47

Structura sistemelor de calcul multinivel

Page 48: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul

În general:

Toate nivelele unui sistem de calcul utilizează resurselesistemului de calcul (CPU, memorie, dispozitive de I/O);

Aceste resurse depind de cantitatea de hardware deci suntlimitate sau finite;

Trebuie:

– ca aceste resurse să fie utilizate raţional;

– să se asigure o interfaţă uniformă între resurse şi limbaje sauaplicaţii;

– să se simplifice modul lor de utilizare, adică de acces;

– ca utilizatorul să depună un efort minim pentru a le apela;

– să se rezolve orice conflict potenţial în folosirea resurselorcând există mai mulţi utilizatori, mai multe programe etc.

48

Structura sistemelor de calcul multinivel

Page 49: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul 49

Structura sistemelor de calcul multinivel

Page 50: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul

Nu sunt proiectate pentru folosirea în rezolvarea problemei;

Ele se concentrează în special pentru rularea interpretoarelor şitranslatoarelor;

Aceste interpretoare şi translatoare sunt scrise de persoanenumite programatori de sistem;

Nivelele 2 şi 3 sunt întodeauna interpretate.

50

Structura sistemelor de calcul multinivel

Page 51: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul

Nivelul 4 şi cele superioare acestuia sunt concentrate pentruaplicaţii ale programatorului;

În scopul rezolvării problemei;

Nivelele 4, 5 şi mai sus sunt de obicei, dar nu întotdeaunasuportate de translatoare.

51

Structura sistemelor de calcul multinivel

Page 52: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul

Nivelul 4: nivelul limbajului de asamblare ;

52

Structura sistemelor de calcul multinivel

În realitate o formă simbolică alimbajelor de bază;

O formă mai plăcută decât limbajulcod maşină (adică cu 0 şi 1);

Programele în limbaj de asamblaresunt mai întâi translatate în limbajpentru nivelul 1, 2 sau 3 şi apoiinterpretate de cea mai apropiatămaşină virtuală;

Programul care realizează translaţia se numeşte asamblor.

Page 53: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul

Nivelul 5: nivelul limbajelor de nivel înalt ;

53

Structura sistemelor de calcul multinivel

Conține limbaje de nivel înalt şilimbaje orientate pe problemă;

Limbaje folosite în aplicaţiileprogramatorilor pentru rezolvareaproblemei: ALGOL, BASIC, PASCAL,C, LISP, etc.;

Programele scrise în aceste limbajesunt în general translatate lanivelul 3 sau 4 de translatoarenumite compilatoare;

Câteodată sunt şi interpretate.

Page 54: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul

Nivelul 6: nivelul limbajelor de nivel foarte înalt ;

54

Structura sistemelor de calcul multinivel

Colecţii de programe carelucrează pe maşini specificproiectate pentru anumiteaplicaţii sau limbaje de nivelfoarte ridicat.

Page 55: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul 55

Structura pe nivele a unei instrucţiunidintr-un limbaj de nivel înalt (FORTRAN)

Instructiune

instr. 1

instr. 2

instr. N

Limbaj de nivel

inalt

Limbaj cod

masina

µinstr. 11

µinstr. 12

µinstr. 1K

Arhitectura

calculatorului

µinstr. 21

µinstr. 22

µinstr. 2L

µinstr. N1

µinstr. N2

µinstr. NZ

Limbaj de

microprogramareHardware

Reg. 8

Sumator

Numarator 5

Reg. 16

Scazator

MUX

Sumator

Page 56: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul

Compilare şi interpretare

56

Page 57: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul 57

Compilare și interpretare

Nivelul Hardware

(MF)

Nivelul

microprogramarii

Limbajul cod

masina

Sistemul de

operare

Limbajul de

asamblare

Limbaje de nivel

inalt

Limbaje de nivel

foarte inalt

Executie directa

Interpretare

Arhitectura

calculatorului

Interpretare partiala

Translatare (asamblare)

Translatare (compilare) sau interpretare

Translatare (pre-compilare) sau interpretare

0

1

2

3

4

5

6

Compilare pură

Interpretare pură

Page 58: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul

Definiţie:

Compilarea pură este procesul de substituire al programului scris în limbaj sursă de un program funcţional

echivalent scris într-un limbaj obiect în momentul execuţiei.

58

Compilare și interpretare

Page 59: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul

Execuţia presupune două faze:

1) faza de compilare (compile time), în care se apelează programul compilator ce operează asupra programului sursă, rezultând un program obiect.

2) faza de execuţie (run time), în care programul obiectse execută direct, generând rezultatele.

59

Compilare și interpretare

Program obiectDate Rezultate

CompilatorProgram

sursă

Program

obiect

Page 60: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul

Compilatorul translatează programul sursă în programscris în limbaj cod maşină înainte ca acesta să fieexecutat.

Compilatorul este un limbaj translator încorporat înprogramele sistemului cu scopul de a converti programeleaplicaţiilor în limbaj cod maşină.

Definiţie:

Compilatorul este un program sistem care translateazăun program întreg în limbaj cod maşină înainte ca

programul translatat să fie executat.

60

Compilare și interpretare

Page 61: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul

Programul scris de utilizator se numeşte modul sursă sauprogram sursă.

Definiţie:

Modulul sursă (programul sursă) este forma originală în care un program este introdus într-un dispozitiv de intrare

de către utilizator.

Definiţie:

Modulul obiect (programul obiect) este un program încod maşină ce rezultă dintr-un limbaj translator.

61

Compilare și interpretare

Page 62: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul

Înainte ca programul obiect să fie executat, el este legatîmpreună cu alte module de care CPU poate avea nevoie învederea executării programului;

Procesul de legare se referă la faza de link-editare (linkediting sau link-edit stage) şi pachetul executabil ce seformează se numeşte load module;

Un modul load este un limbaj maşină care este pregătitsă fie executat de calculator;

Pentru a realiza legătura este folosit un program special alsistemului numit Linkage Editor (editor de legături);

Un linkage editor este un program sistem care leagăîmpreună segmentele de program obiect aşa încât ele săse execute ca o unitate.

62

Compilare și interpretare

Page 63: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul

Ambele programe obiect şi load pot fi salvate pe discpentru a fi utilizate ulterior astfel încât compilarea şi link-editarea să nu fie nevoie să se realizeze de fiecare datăcând programul este executat.

63

Compilare și interpretare

Page 64: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul 64

Compilare și interpretare

Modul sursa

Compilator

Modul obiectAlte module

obiect

Editor de

legaturi

Modul Load

Procesare

CPU

Rezultate

Faza de

compilare

Faza de

Executie

Faza de

Link-Editare

Page 65: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul

Un caz particular de compilator reprezintă asamblorul;

Definiţie:

Asamblorul este un program care converteşteinstrucţiunile din limbaj de asamblare

în limbaj cod maşină.

Asambloarele sunt la fel ca şi compilatoarele, ele producprograme obiect;

Fiecare sistem de calcul are în mod normal un limbaj deasamblare;

Astfel, doar un asamblor este recomandat.

65

Compilare și interpretare

Page 66: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul

Definiţie:

Interpretarea pură este acel mod de translatare în care programul scris în limbaj sursă rămâne în maşină în timpulexecuţiei în forma sa originală şi este executat în aceastăformă prin interpretarea instrucţiunilor una câte una de

către un alt program numit interpretor.

Astfel interpretoarele nu sunt ca şi compilatoarele, ele nucrează modulul obiect;

Ele citesc, translatează (interpretează) şi executăprogramul sursă tratând câte o instrucţiune o dată.

66

Compilare și interpretare

Page 67: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul

Definiţie:

Interpretorul este un program care interpretează un program în limbaj maşină linie cu linie (instrucţiune cu

instrucţiune) astfel încât fiecare instrucţiune esteexecutată.

67

Compilare și interpretare

Date Rezultate

Program

(sursa)

Interpretor

Page 68: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul

Dezavantaj: o execuţie efectivă mai lentă a programului;

Erorile sintactice pot fi detectate doar în timpul execuţieiprogramului;

Pentru compilare, compilatorul detectează erorile sintacticeşi le afişează în faza de compilare;

Avantaj: erorile semantice sunt uşor interpretabile şiinterpretorul este uşor de folosit;

Interpretorul cere puţin spaţiu pe disc şi nu genereazămodule obiect care trebuie stocate;

Preţul de cost al unui interpretor este mai mic decât cel alunui compilator.

68

Compilare și interpretare

Page 69: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul

Pe lângă interpretările şi compilările pure există versiunimixte de translatare;

Metodele mixte sunt des implementate;

Acestea se bazează pe conceptul de limbaj intermediar.

Definiţie:

Numim limbaj intermediar un obiect pentru operaţia de compilare ce generează programul echivalent cu programul sursă ce este ulterior interpretat de

interpretoare scrise în cod-maşină.

69

Compilare și interpretare

Page 70: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul

Procesul translatării mixte implică două etape:

– compilare

– interpretare

În prima etapă:

Programul sursă este translatat într-un programintermediar (program obiect);

În etapa a doua:

Programul intermediar este interpretat într-un programcod maşină.

70

Compilare și interpretare

Page 71: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul

În funcţie de nivelul limbajului intermediar există douăvariante:

1) Limbaj intermediar de nivel ridicat:

– În acest caz se foloseşte un compilator simplu;

– Compilarea este rapidă, asemănătoare cu asamblarea;

– Nu există diferenţe mari între limbajul sursă şi intermediar;

– Avantaj: detectarea erorilor sintactice în faza de compilare;

– Dezavantaj: complexitatea interpretoarelor şi diferenţe mariîntre limbajul intermediar şi cod maşină.

71

Compilare și interpretare

Page 72: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul

În funcţie de nivelul limbajului intermediar există douăvariante:

1) Limbaj intermediar de nivel coborât:

– Limbajul intermediar este foarte apropiat de limbajul cod

maşină;

– Avantaje: interpretare foarte simplă, asigură o portabilitate a

compilatoarelor deoarece este foarte uşor de scris un

interpretor pentru diferite maşini fizice pentru că limbajul

intermediar este de nivel coborât;

– Dezavantaj: există compilatoare complexe.

72

Compilare și interpretare

Page 73: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul 73

Compilare și interpretare

Limbaje de nivel inalt

Limbaj cod masina

Limbaj

intermediar de

nivel inalt

Limbaj

intermediar de

nivel coborat

Co

mp

ilare

pu

ra

Inte

rpre

tare

pu

ra

Compilare

Interpretare

Page 74: sistemelor de calcul - Catedra de Ingineria ...cs.ucv.ro/staff/dmancas/AC/Curs_8.pdf · Include toate caracteristicile care pot fi manipulate de la acest nivel. 6 Concepte fundamentale

ARHITECTURA CALCULATOARELOR – Nivelele unui sistem de calcul

În toate cazurile, exceptând interpretarea pură, rezolvareaunei probleme implică două faze:

1) faza de compilare – căreia îi corespunde timpul decompilare şi din care provin proprietăţile statice ale unuiprogram;

2) faza de execuţie – căreia îi corespunde timpul de execuţieşi din care provin proprietăţile dinamice ale unui program.

74

Compilare și interpretare