lecture_2_asc

32
Arhitectura, organizare, functionare

Upload: micula-aurel

Post on 19-Dec-2015

229 views

Category:

Documents


3 download

DESCRIPTION

arhitectura sistmelor de calcul

TRANSCRIPT

Arhitectura, organizare, functionare

Ce este arhitectura unui sistem de calcul ?

Termenul de arhitectură se referă, de regulă, la clădiri, nu la calculatoare.

Un arhitect este o persoană care proiectează.

Printre multiplele definiţii ale arhitecturii putem găsi că este “structura unui

lucru oarecare “.

De aici se deduce că a vorbi de arhitectura unui calculator înseamnă că

facem referire la dispunerea componentelor acestuia şi la modul în care au

fost ele proiectate pentru a funcţiona împreună.

Din aceste raţiuni, proiectanţii de calculatoare şi chiar utilizatorii acestora

folosesc adeseori expresia “arhitectura calculatoarelor“.

2

Arhitectura se refera la acele atribute ce sunt vizibile

programatorului

◦ Setul de instructiuni, numarul de biti utilizati pentru reprezentarea

datelor, mecanisme de I/E, tehnici de adresare

◦ e.g. Este sau nu este implementata o instructie de inmultire?

Organizarea se refera la cum sunt implementate aceste

facilitati

◦ Semnale de control, interfete, tehnologii de memorii

◦ e.g. Este o unitate hardware pentru inmultire sau inmultirea se ralizeaza

prin adunari repetate

3

Exemple de atribute arhitecturale includ

◦ setul de instrucţiuni,

◦ numărul de biţi utilizaţi pentru reprezentarea diferitelor tipuri

de date (numerice, caracter),

◦ mecanisme de intrare-ieşire,

◦ tehnici de adresare a memoriei.

Atributele de organizare includ acele detalii hardware

ce sunt transparente programatorului, de genul:

◦ semnalelor de control,

◦ a interfeţelor dintre calculator şi periferie şi

◦ a tehnologiei de memorie utilizată.

4

existenţa unei instrucţiuni de înmulţire este o problemă arhitecturală

modul în care se implementează înmulţirea: cablat sau prin algoritm software este o problemă de organizare a sistemului.

Decizia organizatorică va fi luată funcţie de:

◦ frecvenţa de utilizare a instrucţiunilor ce se anticipă,

◦ viteza relativă a celor două abordări şi

◦ costul şi dimensiunea unei unităţi fizice pentru realizarea operaţiei de înmulţire.

5

Din punct de vedere istoric, distincţia dintre arhitectură şi organizare este

importantă.

Mulţi producători de sisteme de calcul oferă familii de modele de computere, toate

având aceeaşi arhitectură (diferaînsă din punctul de vedere al organizării). ◦ diferitele modele ale unei familii au diferite preţuri şi diferite caracteristici de

performanţă.

◦ o arhitectură poate supravieţui mulţi ani, pe când organizarea se schimbă odată cu

schimbările tehnologice ce apar.

Un exemplu elocvent a celor două aspecte mai sus amintite este arhitectura

sistemului IBM/370. ◦ Arhitectura a fost introdusă pentru prima dată în 1970 şi ea include o serie de modele.

◦ Cu timpul, IBM a oferit consumatorilor tot mai multe modele, tot mai performante, şi mai

rapide.

◦ Aceste noi modele păstrau aceeaşi arhitectură, astfel încât investiţia software era protejată.

◦ Remarcabil este faptul că arhitectura sistemului IBM/370 a supravieţuit până azi ca şi

arhitectură a liniei de producţie IBM (cu mici modificări)

6

Familia sistemele IBM/370 prezinta aceasi arhitectura

Familiile Intel x86 au aceeasi arhitectura de baza

Aceasta asigura compatibilitatea codurilor

◦ Cel putin de sus in jos

Organizarile difera intre diferite versiuni

7

Sistemul de calcul este un sistem complex (cele actuale conţin milioane de componente electronice)

◦ pentru descriere este esenţială recunoaşterea arhitecturii ierarhice

Un sistem ierarhic este un set de subsisteme interconectate, fiecare dintre acestea fiind la rândul lui ierarhic în structură, până la atingerea nivelului cel mai scăzut de susbsistem elementar.

Natura ierarhică a unui sistem este importantă pentru:

◦ proiectarea sistemului

◦ descrierea acestuia.

La un moment dat, proiectantul va opera doar la un anumit nivel particular al sistemului.

La fiecare nivel, sistemul constă dintr-un set de componente şi interconexiunile lor.

Comportarea la fiecare nivel depinde doar de o reprezentare simplificată şi abstractă a sistemului la nivelul său inferior următor.

8

Structura este data de modul in care componentele

sunt legate intre ele

Functia este data de operarea fiecarei componente

individuale ca si parte din structura data

9

Există două alternative:

1. fie se începe cu o vedere de sus (top down) şi se

descompune sistemul în părţile sale componente,

2. fie se porneşte de la baza sistemului şi se continuă cu

construcţia prin descriere a sistemului până la

descrierea lui completă (bottom-up).

Se pare că prima abordare este mai clară şi mai

eficientă.

10

Functiile unui computer sunt:

◦ Procesare date

◦ Memorare date

◦ Mutare Date

◦ Control

11

Vedere functionala a unui computer:

ASC 12

Data

Movement

Apparatus

Control

Mechanism

Data

Storage

Facility

Data

Processing

Facility

Muatea datelor

◦ e.g. De la tastatura la ecran

ASC 13

Data

Movement

Apparatus

Control

Mechanism

Data

Storage

Facility

Data

Processing

Facility

Memorarea

◦ e.g. Descarcarea datelor Internet pe disc

ASC 14

Data

Movement

Apparatus

Control

Mechanism

Data

Storage

Facility

Data

Processing

Facility

Procesare din/spre memorie

◦ e.g. updating bank statement

ASC 15

Data

Movement

Apparatus

Control

Mechanism

Data

Storage

Facility

Data

Processing

Facility

Procesare de la memorie la I/O

◦ e.g. printing a bank statement

ASC 16

Data

Movement

Apparatus

Control

Mechanism

Data

Storage

Facility

Data

Processing

Facility

17

Computer

Main

Memory

Input

Output

Systems

Interconnection

Peripherals

Communication

lines

Central

Processing

Unit

Computer

18

Computer Arithmetic

and

Login Unit

Control

Unit

Internal CPU

Interconnection

Registers

CPU

I/O

Memory

System

Bus

CPU

19

CPU Arithmetic

and

Login Unit

Control

Unit

Internal CPU

Interconnection

Registers

Control

Unit

ALU

Registers

Internal

Bus

Control Unit

Structura sistemelor de calcul

Date iniţiale

rezultate ale testelor

comenzi

instrucţii

I OM

ALU

Crezultate CPU

21

Această caracteristică implică

anumite particularităţi

structurale:

separarea registrelor şi a

logicii de comandă de

memorie,

existenţa unui numărător de

adrese şi a unui registru de

instrucţii şi

existenţa unor posibilităţi de

introducere şi extragere a

datelor.

Aducerea instrucţiei din

memorie

Aducerea operanzilor

din memorie

Execuţia instrucţiei

1

2

argument

implicit

3

22

Structura unui calculator simplu cu extinderea posibilităţilor de adresare

Formatul cuvântului instrucţie cu referire la memorie

RA

M A

ALU

NA

RI

MP4096 x 12

0

0

0

0 0

11

11

1111

2

O P I P A D R0 1 2 3 4 5 1 1

23

Registru RA(0 - 11), registrul adresei

NA(0 - 11), numărător de adrese

M(0 - 11), registrul memoriei

A(0 - 11), registrul acumulator

RI(0 - 11); registrul instrucţiei

subregistru RA(AP) = RA(0 -4) adresa paginii

RA(ADR) = RA(5 - 11): adresa în pagină

subregistru M(OP) = M(0 -2), partea de cod

M(I) = M(3), I = 0 adresare directă

I = 1 adresare indirectă

M(P) = M(4), P = 0 pagina 0

P = 1 pagina curentă

M(ADR) = M(5 - 11); partea de adresă

memorie MP(RA) = MP(0 - 4095, 0-

11);

decodificator D(0 - 7) = RI;

D(0), D(1), ...,D(5);

instrucţii cu referire la

memorie

D(6) şi D(7); Instr. fără referire la

memorie

orologiu P(0 - 7);

O P I P A D R0 1 2 3 4 5 1 1

24

RA

M A

ALU

NA

RI

MP4096 x 12

0

0

0

0 0

11

11

1111

2

RA NA

M MP(RA)

NA incr(NA)

RI M(OP)

RA(ADR) M(ADR)RA(AP) 0

RA(ADR) M(ADR)

M MP(RA)

M incr(M)

MP(RA) M

RA M

M(P) =0

(RA) < 8

M(I) = 1

D(6)+D(7)=1fără referire la

memorie

da

da

da

da

nu

nu

nu

nu

OP I P ADR 0 1 2 3 4 5 11

25

RA

M A

ALU

NA

RI

MP4096 x 12

0

0

0

0 0

11

11

1111

2

P(0): RA NA;

P(1): M MP(RA);

P(2): RI M(OP);

: RA(ADR) M(ADR);

: RA(AP) 0, RA(ADR) M(ADR);

P(3) (D(6) + D(7)): fără referire la memorie

P(4) M(I): M MP(RA);

P(5): dacă (RA < 8) atunci M incr(M);

P(6): dacă (RA < 8) atunci MP(RA) M;

P(7): RA M;

sfârşit

PMDDP 763

PMDDP 763

26

Principalele elemente din structura calc. IRIS-50 care participă la calculul adresei operandului

RA

M A

ALU

NA

I

MP131 072 x (2 x 8)

(256 Kocteţi)

14

14

4

14 14

30

30

3131

15

0

3

J MR 16 x 32

27

I

15

D0 1 2 3 4 5 6

B Q X F7 8 9 16 31

RA NA

M(16 - 31) MP(RA)

A (NA, 0)

J M(16 - 19)

I M(20 - 31)

RA adn(A, 2)

A adn(A, 4)

M(16 - 31) MP(RA)

NA A(14 - 30)

A MR(1, J(B)) A 0

ZB = 1

I(0) = 1

I(X) = 1

RA adn(A, M)

A adn(A, M)

M(16 - 31) MP(RA)

RA adn(A, 2)

J M(16, 19)

M(16 - 31) MP(RA)

A MR(1, J(B)) A 0

ZB = 1

J(0 -3) I(Q)

M MR(J)

RA adn(A, M)

Execuţieda

da

da

da nu

nu

nu

nu

RA adn(A, M)

28

RA

M A

ALU

NA

I

MP131 072 x (2 x 8)

(256 Kocteţi)

14

14

4

14 14

30

30

3131

15

0

3

J MR 16 x 32

A B

M6 5 5 3 6 x 1 6

R A

N A

I

A L U

A R

A B U S B B U S

R8 x 1 6

R 0

R 1

R 7

O B U S

120 1 2 3 4 5

COP MA

107 86 13 1511

AA MB AB

29

Aducerea instrucţiei

RA R(AA)

A R(AA) RA NA

RA adn(M(RA), R(AA))

NA incr(NA)

instr. cu

adresã

modul de

adres.

registru indexat

indirect

R(AA) incr(R(AA))

A M(RA)

postincrem.

Aducerea operandului al doilea

Execuţia instrucţiei

R(AB) B M(RA) B

Instrucţie următoare

memor. rez.

(MB)

registre memorie

da

da

nu

da

aducerea primului

operand (A)

120 1 2 3 4 5

COP MA

107 86 13 1511

AA MB AB

30

WWW Computer Architecture Home Page

CPU Info Center

ACM Special Interest Group on Computer Architecture

IEEE Technical Committee on Computer Architecture

Intel Technology Journal

Manufacturer’s sites

◦ Intel, IBM, etc.

34

comp.arch

comp.arch.arithmetic

comp.arch.storage

35