69
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 Concepte fundamentale Structura generală a unui CPU Tehnici de echilibrare a vitezei de funcţionare CPU – MP Echipamente periferice

Structura de baz a unui calculator digital; - cs.ucv.roRO).pdf · ARHITECTURA CALCULATOARELOR - Concepte Fundamentale Structura generală a unui CPU 12 UC Dispozitiv de procesare

  • Upload
    others

  • View
    84

  • Download
    2

Embed Size (px)

Citation preview

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

Concepte fundamentale Structura generală a unui CPU

Tehnici de echilibrare a vitezei de funcţionare CPU – MP

Echipamente periferice

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale

Data trecută…

Structura de bază a unui calculator digital;

Arhitectura von Neumann (5 unități);

Modul de funcționare;

Ciclul instrucțiune.

2

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale

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

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale

Astăzi...

Structura generală a unui CPU;

Tehnici de echilibrare a vitezei de funcționare CPU-MP;

Organizarea avansată a comunicării CPU:

– echipamente periferice;

– unități I/O;

– procesoare I/O.

4

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale

Structura generală a unui CPU

5

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale

Structura de bază a unui calculator

6

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

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale

CPU

CPU = ALU + UC

Procesor;

Principala funcţie: să execute secvenţe de instrucţiuni

programul stocat în memoria principală (MP);

Interpretor pentru setul de instrucţiuni de la nivelul cod maşină;

Pentru execuţia unui program CPU realizează următoarele:

– Transferă instrucţiunile şi datele din MP în regiștrii CPU;

– Execută instrucţiunile în mod secvenţial;

– Transferă rezultatele din regiștrii CPU în MP.

=> flux de instrucţiuni și de date între MP şi regiştri generali din CPU care formează memoria locală (ML).

7

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale

Regiștrii CPU

Registrul de instrucţiune (RI):

– UC;

– înregistrează instrucțiunea adusă din UM.

Registrul de funcţie (RF):

– UC;

– înregistrează OPCODE spre a fi decodificat.

Registrul de adresă (RA):

– UC;

– înregistrează ADRESELE spre a fi aduși opeanzii.

Registrul acumulator (ACC):

– ALU;

– memorează un operand;

– înregistrează rezultatul unei operații logice sau aritmetice.

8

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale

Regiștrii CPU

Registrul operand (Reg. Op.):

– ALU;

– memorează temporar operanzii;

– registru tampon (buffer register).

Registrul de stare sau de flag-uri (Reg. Stare):

– reprezintă diferite caracteristici ale rezultatului (semn, transport, paritate, zero, transport auxiliar etc).

Numărătorul de program (PC):

– UC;

– pointer de instrucţiuni, program counter;

– conţine întotdeauna adresa următoarei instrucţiuni de executat.

9

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale

CPU

Trebuie să comunice cu toate unităţile din calculatorul digital:

– unitatea de memorie (UM);

– unităţile de intrare-ieşire (UI/O).

Input: instrucţiuni, date, semnale de stare, cereri de întrerupere;

Output: adrese, date şi semnale de control; => Magistrala sistem.

Componentă: interfaţa cu magistrala sistem:

– care este un controller de magistrală;

– conţine drivere, buffere şi selectoare de direcţie.

10

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale

1) Cu exteriorul:

Unitatea Buffer/Driver:

– interfața cu magistrala sistem;

– conţine buffere şi drivere de comunicaţie.

2) Internă:

Între blocurile CPU: magistrale interne

– de adresă;

– de date;

– de control;

– de stare.

11

Comunicarea la nivelul CPU

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale

Structura generală a unui CPU

12

UC

Dispozitiv de procesare

R1

R2

R2

k

DEC

k/2k

Registre generale

Reg. Stare

ACC

Reg. Op.

ALU

Bloc de Procesare

Bloc

Secventiator

de Control

PC

Decodificator

OPCODE

RF

RI

RA

Calcul AE

Generator

de tact

incr.

Operatie

decodificata

Adresa

Operand

Adresa

Instructiune

Bloc de

Instructiune

Unitate

Buffer/DriverMagistrala

Sistem

Bloc de

Adresa

Magistrala Interna de Adrese

Magistrala Interna de Date

Linii interne de Stare

Linii interne de Control

Linii de

Control

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale

Conţine:

– un set de regiștri generali;

– un bloc de procesare.

Scop: păstrarea rezultatelor parţiale şi a operanzilor;

Regiștri generali memoria locală;

Blocul de procesare:

– un dispozitiv de procesare: ce implementează operaţii logice şi aritmetice;

– registrul Acumulator (ACC);

– registrul Operand (buffer);

– registrul de Stare sau de Flaguri (Reg. Stare).

13

ALU

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale

CPU: ALU

14

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale

3 blocuri funcţionale:

1) Blocul de Instrucţiune;

2) Blocul de Adresă;

3) Blocul Secvenţiator de control.

15

UC

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale

CPU: UC

16

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale

Aceste blocuri trebuie să satisfacă următoarele operaţii:

– extragerea instrucţiunii curente din memorie;

– transferul instrucţiunii în RI;

– stocarea câmpurilor din instrucţiune (OPCODE şi ADRESA) în RF şi respectiv RA;

– decodificarea OPCODE-ului şi generarea semnalelor de control pe liniile de control;

– determinarea adresei următoarei instrucţiuni;

– determinarea adresei efective (AE) a operandului;

– transferarea operandului în ALU;

– realizarea operaţiei date de OPCODE;

– stocarea rezultatului.

17

UC

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale

Blocul de instrucţiune :

– numărătorul de program (PC);

– registrul de instrucţiune (RI);

– registrul de funcţie (RF);

– decodificatorul de OPCODE.

PC:

– pointer la instrucţiunea următoare de executat;

– registru cu facilitate de incrementare şi încărcare paralelă.

Comanda de incrementare: blocul secvenţiator de control;

Conţinutul PC: faza FETCH, pentru citirea şi extragerea instrucţiunii ce urmează a fi executată de către CPU;

Instrucţiunea curentă de executat este stocată în RI, iar câmpul OPCODE al acesteia se transferă în RF, al cărui conţinut va fi decodificat (interpretat) de un decodificator al funcţiei ce permite identificarea funcţiei.

18

UC

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale

Blocul de adresă:

– registrul de adresă (RA): stocarea adresei logice (AL) conţinută în câmpul de ADRESA al instrucţiunii de executat;

– un dispozitiv de calcul al adresei efective (AE) a operandului, care implementează un mecanism de calcul al AE din AL.

Blocul secvenţiator de control: un dispozitiv secvenţial complex care:

– generează toate comenzile către toate celelalte unităţi ale calculatorului;

– inclusiv către blocurile din CPU;

– în vederea realizării funcţiei instrucţiunii curente;

– primeşte informaţii de stare de la toate blocurile.

19

UC

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale

Memoria: structură ierarhică;

memoria secundară (externă);

– programele şi datele care nu se prelucrează curent de CPU;

– offline;

– capacitate mare;

– timp de acces mare şi mediu.

memoria principală (operativă);

– conţine programele şi datele prelucrate curent de CPU;

– online;

– se extrag instrucţiunile şi datele curente ce se executa în CPU.

memoria locală;

– este formată dintr-un set de regiștri plasați în CPU;

– cea mai rapidă memorie din ierarhie.

20

Memoria

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale 21

MS

Nivel III

MP Nivel II

ML Nivel I

CPU

Memoria

Viteza

crește

Capacitatea

crește

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale

∃ diferenţe substanţiale între lărgimea căilor de comunicaţie între CPU diferitele nivele de memorie;

=> multe probleme proiectanţilor de calculatoare pentru creşterea vitezei de acces la informaţiei;

Calculatoarele coordonează fluxul informaţional între diferitele nivele de memorie în mod automat;

Principiu:

Informaţia ce este accesată mai rar este menţinută la nivelul memoriilor mai lente şi de capacitate mare, în timp ce informaţia ce este accesată mai frecvent este ţinută în nivelele de memorie mai rapide şi de capacităţi mai mici.

Esențial: viteza de prelucrare în CPU să fie cât mai apropiată de cea a disponibilităţii informaţiei (MO);

Conflict: viteza MO << viteza CPU

22

Viteza CPU vs. viteza memoriei

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale

Tehnici de echilibrare a vitezei de funcționare CPU-MP

23

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale

Pentru creşterea productivităţii calculatoarelor trebuie impuse echilibrări ale raportului performanțelor între MP şi CPU;

Aceste metode sunt grupate în 3 categorii:

1) Lărgirea magistralei de date;

2) Creşterea numărului de nivele în ierarhia memoriei;

3) Preîncărcarea instrucţiunilor (prefetching).

24

Tehnici

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale

MP: – Se extrag datele și instrucțiunile; – Sunt depozitate rezultatele instrucțiunilor.

Comunicarea CPU-MP: magistrala de date;

» factor cheie pentru calculator.

În arhitectura von Neumann:

» magistrala de date = punctul îngust.

Principiul von Neumann:

CPU extrage, prelucrează și execută o singură instrucțiune odată!

=> limitări de natură arhitecturală!

25

Lărgirea magistralei de date

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale

Limitări:

– diferența de viteză;

– de natură arhitecturală.

26

Lărgirea magistralei de date

MP

Magistrala de date

CPU

<-1 instrucțiune

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale

Soluție: – mărirea magistralei de date care leagă MP de CPU cu scopul

de a extrage mai multe instrucțiuni odată!

=> s-ar soluționa problema arhitecturală!

27

Lărgirea magistralei de date

MP

Magistrala de date

CPU

<-mai multe instrucțiuni

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale

Modularizarea MP!

Pentru a citi mai multe instrucţiuni sau date simultan trebuie accesate mai multe module fiecare cu ciclu propriu de citire;

S-au propus diferite structuri de memorie cu magistrale de date mai largi;

Problemă: funcţionarea procedurală a CPU

executarea secvenţială a instrucţiunilor!

Soluție: stabilirea corectă a grupului de instrucțiuni extrase simultan din mai multe module ale memoriei!

28

Lărgirea magistralei de date

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale

Un răspuns natural: setul de instrucţiuni extrase şi care se depun pe magistrala lărgită să constituie o secvenţă de instrucţiuni din program şi care să se execute una după alta;

=> MP ar trebui divizată în mai multe blocuri conectate paralel (M1, M2,..., Mn), astfel încât prin citirea simultană a celor n blocuri să se formeze conţinutul pe magistrala de memorie lărgită.

29

Lărgirea magistralei de date

M1

M2

Mn

.

.

.

.

.

.

MP

Magistrala de memorie extinsă

m

.

.

.

.

.

m

m

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale 30

Lărgirea magistralei de date

În organizarea originală:

– un singur bloc de memorie cu n instrucţiuni sau date;

– se extrăgea prin citirea a n locaţii consecutive din memorie.

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale 31

Lărgirea magistralei de date

În noua structură:

– cele n elemente (instrucţiuni sau date) se înscriu în locaţiile de la aceeaşi adresă din toate cele n blocuri de memorie;

– printr-un singur acces se extrage un cuvânt de n*m biţi, care se depune pe magistrala lărgită;

– întreg cuvântul de n*m biţi se înscrie în RI din CPU;

– UC extrage pe rând câte o instrucţiune din RI.

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale

Eficienţa:

– Mare: întreg setul de n instrucţiuni cuprins în biţi să fie folosit integral de CPU.

– Scăzută: instrucţiuni de salt -> la efectuarea saltului se va citi o altă locaţie din grupul celor n blocuri de memorie.

Concluzie: trebuie considerat sau gândit un model de predicţie a secvenţelor de instrucţiuni.

Dacă există mai multe ramificări în program (salturi sau apeluri), atunci eficienţa este scăzută.

32

Lărgirea magistralei de date

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale

Idee: introducerea unui nivel suplimentar între MP şi CPU;

MSO (Memoria Super Operativă Memoria Cache);

-> capacitate mică;

-> timp de acces foarte mic;

=> viteza de lucru a MSO comparabilă cu viteza CPU.

33

Creşterea numărului de nivele în ierarhia memoriei

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale 34

Creşterea numărului de nivele în ierarhia memoriei

Date de

intrare si

programe

Unitatea

Logico-

Aritmeticã

(ALU)

Unitatea de

Intrare

(UI)

Unitatea de

Iesire

(UO)

Unitatea de

Control

(UC)

Memorie

Superoperativa

(MSO)

CPU

Date de iesire

sau rezultate

DMA DMA

DateInstructiuni

Memorie

Operativa

(MO)

Memorie

Secundara

(MS)

Date

Date

Unitatea Centrala

MP

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale

Inițial: memoria Cache este goală;

CPU apelează prima instrucţiune (instrucţiunea de start);

UC extrage un bloc de date din MP:

– Conţine instrucţiunea de start;

UC încarcă în memoria cache întreg blocul de instrucţiuni sau date legate de prima instrucţiune;

CPU va găsi instrucţiunile şi datele în memoria cache de unde le va extrage cu viteză foarte mare de acces care este compatibilă cu viteza de execuţie a CPU;

Blocul de date extras conţine grupul de instrucţiuni apropiat (înrudit) cu instrucţiunea de start;

35

Creşterea numărului de nivele în ierarhia memoriei

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale

Grup înrudit: după execuţia instrucţiunii iniţiale este foarte probabil ca următoarele instrucţiuni de executat să facă parte din acel bloc.

Eşec: va trebui adus în MSO un nou bloc din MO.

Strategia de proiectare a memoriei cache: transfer MO - MSO cât mai rar posibil;

Extragerea din MO:

– operaţie de citire a memoriei;

– consumatoare de timp.

Transferurile MO - MSO sunt sub controlul unui mecanism hardware, transparent pentru utilizator.

36

Creşterea numărului de nivele în ierarhia memoriei

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale

Ciclul instrucţiune:

1) faza FETCH;

2) faza EXECUTE.

Executarea unui program: executarea unui lanţ de instrucţiuni => o secvenţă de FETCH-EXECUTE;

37

Preîncărcarea instrucţiunilor (PREFETCHING)

FETCH EXECUTE

Ciclu instrucţiune

Ciclu Instrucţiune Ciclu Instrucţiune Ciclu Instrucţiune

Timp

Instr. 1

Instr. 2

Instr. 3

…..

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale

FETCH:

– extragerea instrucţiunii curente din MP;

– decodificarea acesteia.

EXECUTE:

– extragerea operandului (datei);

– realizarea funcţiei (executarea instrucţiunii).

Metoda preîncărcării:

– suprapunerea temporală a funcţionării CPU şi a memoriei;

– executarea instrucţiunii curente (CPU) || UC extrage din memorie instrucţiunea următoare;

– paralelism temporal.

Suprapunerea fazei EXECUTE de la intrucţiunea curentă cu faza FETCH de la instrucţiunea următoare.

38

Preîncărcarea instrucţiunilor (PREFETCHING)

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale

Metoda preîncărcării:

Suprapunerea fazei EXECUTE de la intrucţiunea curentă cu faza FETCH de la instrucţiunea următoare.

39

Preîncărcarea instrucţiunilor (PREFETCHING)

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale

Paralelizare în timp: scădere a timpului de execuţie a programului;

Mecanism simplu şi foarte eficient pentru echilibrarea vitezei CPU şi memorie;

Frecvent folosit în proiectarea UC;

Se poate rafina în mai multe subfaze a.î. mai multe instrucţiuni să se afle în diferte etape de prelucrare;

Crește performanţa globală;

Cel mai ieftin;

Două unităţi din organizarea calculatorului digital (MP & CPU) lucrează în paralel;

Celelalte două metode sunt mai scumpe pentru că necesită resurse noi.

40

Preîncărcarea instrucţiunilor (PREFETCHING)

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale

Organizarea avansată a comunicării CPU

41

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale

Un calculator performant: zeci/sute de dispozitive periferice;

Conectate între ele prin unităţi de I/O;

Unitate I/O:

– controlează dispozitivele periferice;

– comunică cu magistrala de sistem.

Exemple de echipamente periferice:

– tastatură;

– mouse;

– joystick;

– monitor;

– imprimantă;

– scanner;

– componentele care formează MS (hard-disk, floppy-disk, CD,

DVD, etc).

42

Echipamente periferice

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale

Unități I/O

43

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

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale

Dispozitivele periferice prezintă mari diferenţe sub două aspecte:

– formă şi funcţie – folosesc medii diferite, principii de funcţionare diferite şi un set diferit de informaţii de cotrol.

– viteză de operare – au timp de acces diferit.

Resurse principale ale calculatorului;

Pot fi împărţite între mai mulţi utilizatori;

Pot fi solicitate de mai multe procese;

Reguli de servire;

Echipamentele periferice + unităţile de I/O (sau interfeţe de periferice) = arhitectura de I/O a unui sistem de calcul.

44

Echipamente periferice

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale

Orice dispozitiv periferic are următoarea structură:

– Semnale de control: determină funcţia pe care o va executa dispozitivul;

– Semnale de stare: indică starea dispozitivului;

– Magistrala de date: un grup de linii paralele pe care circulă date (biţi) care intră sau ies din dispozitiv;

– Logica de control: asigură funcţia dispozitivului în concordanţă cu comenzile emise de U I/O şi cu natura sau tipul dispozitivului periferic;

– Traductorul: asigură conversia semnalelor între diverse tipuri de energie;

– Buffer-ul: care se asociază cu traductorul pentru a stoca temporar date care se transferă între U I/O şi mediul extern.

45

Echipamente periferice

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale 46

Structura echipamentelor periferice

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale

Se conectează la magistrala sistem;

Controlează dispozitivele periferice;

O reuniune de conectori şi de cabluri care leagă dispozitivele periferice;

Conţin logica de efectuare a funcţiei de comutaţie între dispozitivele periferice şi magistrala de sistem;

Trebuie să:

– interfaţeze cu CPU şi MP şi cu unul sau mai multe dispozitive periferice;

– asigure comunicaţia cu CPU, cu dispozitivele periferice;

– asigure memorarea temporară a datelor;

– asigure partea de control şi de sincronizare;

– să rezolve cazurile de detecţie a erorilor.

47

Unități I/O

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale 48

Unități I/O

Linii de Adresa

Unitate I/O

Linii de Date

Linii de Control

Magistrala de

Sistem

P1 P2 PnLinii catre dispozitive perifierice

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale

Descrierea transferului de date între un dispozitiv periferic şi CPU este următoarea:

1) CPU interoghează unitatea de I/O pentru a testa starea dispozitivului periferic;

2) Unitatea de I/O returnează la CPU starea dispozitivului;

3) Dacă dispozitivul este operaţional şi pregătit pentru a transmite, atunci CPU emite o comandă de transfer de date către unitatea de I/O;

4) Unitatea de I/O execută comanda, obţine data de la dispozitivul periferic şi o aduce în Unitatea I/O;

5) Data din Unitatea I/O se transferă prin magistrala sistem la CPU.

49

Transferul de date CPU-periferic via U I/O

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale 50

Structura Unității I/O

Registre de date

Registre de

Stare/Control

Linii de

date

Logica I/O

Linii de Adresa

Linii de Control

Interfata cu

disp. periferic

Interfata cu

disp. periferic

Date

Stare

Control

Date

Stare

Control

CPU Disp.

periferice

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale

Orice unitate de I/O are o adresă unică => adresă de unitate I/O;

Dacă la o U I/O se leagă mai multe dispozitive periferice, atunci fiecărui dispozitiv i se alocă o adresă;

Datele transferate către sau dinspre U I/O sunt memorate temporar în U I/O: regiștri de date => memoria locală a U I/O;

Regiștri de stare: furnizează informaţia de stare;

– uneori folosit şi ca registru de control, în care CPU trimite

informaţia detaliată pentru control.

Comenzile către U I/O emise de CPU sunt componente ale

magistralei de control din cadrul magistralei sistem.

51

Structura Unității I/O

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale

U I/O şi CPU comunică între ele prin:

– comenzi de control: magistrala sistem;

– schimb de date: realizat prin magistrala de date;

– raportarea de stare: deoarece perifericele sunt lente este

important de a informa CPU de starea unităţilor de I/O (ex.

BUSY sau READY);

– recunoaşterea adresei: fiecare dispozitiv trebuie să aibă o

adresă unică => U I/O trebuie să recunoască această adresă

unică pentru fiecare periferic.

52

Comunicarea U I/O - CPU

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale

Transferurile de date: CPU - dispozitive periferice;

3 moduri:

1) transfer programat I/O;

2) transfer iniţiat prin întrerupere;

3) acces direct la memorie (DMA).

53

Moduri de transfer CPU - Periferice

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale

Rezultatul instrucţiunilor de I/O care fac parte din programul în execuţie;

Fiecare transfer este iniţiat de o instrucţiune de program;

Fiecare transfer se face:

– între un registru CPU şi un dispozitiv periferic, sau

– între un registru CPU şi memorie.

Cere monitorizarea permanentă a dispozitivelor periferice de către CPU, pentru a determina când se termină un trasfer;

CPU rămâne într-o buclă de program până ce unitatea I/O indică dacă este READY;

Mare consumator de timp: ţine CPU blocat într-un mod nenecesar.

54

Transferul controlat de program

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale

Foloseşte facilitatea de întrerupere a unui CPU;

Atunci când programul rulează:

1) O instrucţiune de I/O informează U I/O să emită un semnal de întrerupere către CPU când dispozitivul periferic devine disponibil;

2) CPU comută pentru alt program;

3) U I/O veghează asupra stării dispozitivului periferic;

4) Atunci când dispozitivul devine READY, U I/O trimite o cerere de întrerupere către CPU;

5) CPU întrerupe temporar taskul în care era implicat şi sare spre o rutină de serviciu care asigură transferul de date de la dispozitivul periferic la CPU;

6) Procesorul revine la taskul pe care îl efectua.

55

Transferul iniţiat de întreruperi

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale

Foloseşte o unitate I/O dedicată numită controller DMA, care transferă datele în/din memorie prin magistrala de memorie.

CPU iniţializează controllerul DMA:

– precizând natura transferului;

– specificând adresa de memorie şi numărul de biţi.

CPU eliberează magistrala de sistem şi predă controlul magistralei de sistem controllerului DMA.

La terminarea transferului de date controllerul DMA lansează o întrerupere către CPU.

=> controllerul DMA preia controlul magistralei şi realizează transferul.

56

DMA (Direct Memory Access)

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale

Funcționarea calculatorului digital

57

Astăzi: transferul se face prin DMA (Direct Memory Access), astfel:

Date de

intrare și

programe

Date de

ieșire și

rezultate

Unitatea de

Memorie

(UM)

Unitatea de

Control

(UC)

Unitatea de

Intrare

(UI)

Unitatea de

Ieșire

(UO)

DMA

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale

Perifericele < rapide decât CPU =>

58

Procesoare I/O

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale

Perifericele < rapide decât CPU =>

operaţiile de I/O sunt mari consumatoare de timp =>

59

Procesoare I/O

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale

Perifericele < rapide decât CPU =>

operaţiile de I/O sunt mari consumatoare de timp =>

reduc productivitatea CPU. (cf. arh. von Neumann)

60

Procesoare I/O

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale

Perifericele < rapide decât CPU =>

operaţiile de I/O sunt mari consumatoare de timp =>

reduc productivitatea CPU. (cf. arh. von Neumann)

Pentru a mării productivitatea:

61

Procesoare I/O

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale

Perifericele < rapide decât CPU =>

operaţiile de I/O sunt mari consumatoare de timp =>

reduc productivitatea CPU. (cf. arh. von Neumann)

Pentru a mării productivitatea: activitatea CPU || activitatea U I/O

Unităţile I/O s-au tranformat din simple controllerele în procesoare I/O (IOP-input/output processors).

62

Procesoare I/O

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale

În conformitate cu tehnologia IBM, IOP se numeşte canal;

Funcţia de bază: supervizarea transferului I/O;

Funcţionarea IOP este controlată de CPU:

– CPU obligă IOP-ul să execute un program de transfer, care este plasat în MP;

– IOP extrage şi execută aceste instrucţiuni fără intervenţia CPU, => IOP execută independent programul IO;

– CPU continuă executarea sarcinii sale primare, aceea de efectuare de calcule.

CPU este eliberat de administrarea operaţiilor lente de I/O;

La terminarea transferului IOP-ul informează CPU;

IOP poate controla un număr mare de dispozitive de I/O cu implicare minimă a CPU.

63

Procesoare I/O

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale 64

Structura generală a unui calculator digital (+IOP)

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale

Se disting două categorii de IOP:

– Selector;

– Multiplexor.

65

Procesoare I/O

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale

Canalul selector: este destinat cuplării mai multor periferice rapide;

în orice moment este dedicat transferului de date doar cu

unul din dispozitive de I/O;

Odată selectat un periferic acesta rămâne cuplat pe toată durata derulării operaţiilor de I/O;

=> canalul selector selectează un singur dispozitiv declanşând transferul de date numai cu acesta.

66

Procesoare I/O

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale

Canalul multiplexat: poate manipula mai multe operaţii I/O cu mai multe dispozitive I/O medii şi lente, cu rate mici de transfer;

Principiul de funcţionare se reduce la baleerea succesivă a mai multor periferice care transferă pe rând prin canal câte o dată;

Există două moduri de organizare a transferurilor, în funcţie de viteza de lucru a dispozitivelor de I/O:

– multiplexare pe byte:

- într-o cuantă de timp alocată unui dispozitiv se transferă doar 1 byte;

- se aplică la dispozitive lente.

– multiplexare pe bloc:

- într-o cuantă de timp se transferă un bloc de bytes;

- se aplică în cazul unor dispozitive mai rapide.

67

Procesoare I/O

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale

Un IOP poate administra unul sau mai multe periferice;

Acestea se leagă la IOP printr-un controller I/O, format din:

– intefaţa logică (IF) spre IOP;

– controllerul (K) spre dispozitiv.

Interfaţa logică operează cu mărimi digitale, iar controllerul de dispozitiv cu mărimi specifice naturii dispozitivului I/O.

68

Procesoare I/O

IF KIOPDispozitiv

periferic

ARHITECTURA CALCULATOARELOR - Concepte Fundamentale 69

Arhitectura I/O

IOP

Selector

IOP

Multiplexor

CPU

MPDate/

Adrese

Date/

Adrese

Mag.

Memorie

Control Control

Stare Stare

IF

n

Mag. I/O

DP11

Kn

IF1

K1

DP1P

IFm Km

IF1 K1

DP11 DP1R

DPn1

DPnQ

DPm1 DPmS

Dispozitive periferice rapide

Dispozitive periferice

medii si lente