curs2

+3

No comments posted yet

Comments

Loly (8 years ago)

Foarte educativ....bravo pentru cel care a realizat si cel care a expus

Slide 1

ARHITECTURA SISTEMELOR DE CALCUL CURS 2

Slide 2

1.1.SCHEMA NIVELELOR CONCEPTUALE A UNUI CALCULATOR   Un calculator virtual actual are şapte nivele conceptuale:

Slide 3

Maşina virtuală este organizată pe niveluri iar între două niveluri pot exista două operaţii: -translatarea şi interpretarea. Translatarea Interpretarea

Slide 4

Nivelurile au următoarele semnificaţii:   Nivelul 1 este hard pur. Este format din circuite electrice şi electronice.   Nivelul 2 este nivelul microprogram care interpretează instrucţiunile nivelului 3 şi le execută în nivelul 1. Fiecare instrucţiune a nivelului 3 este executată de un microprogram. Nivelul 3 este nivelul setului de instrucţiuni al maşinii, instrucţiuni executate pe nivelul hard. Nivelul 4 . Sistemul de operare este hibrid deoarece cuprinde atât instrucţiuni interpretate de nivelul patru cât şi instrucţiuni interpretate de nivelul trei.   Nivelele 1-4 nu sunt utilizate de programatori, ele conţinând interpretoare şi translatoare construite de către programatorii de sisteme.

Slide 5

Nivelul 5 este nivelul limbajului de asamblare, destinat programatorilor de aplicaţii. Dacă primele niveluri erau interpretate, acesta este translatat de către un program numit asamblor.   Nivelul 6 este nivelul de limbaj înalt. Programele scrise în acest nivel sunt translatate către nivelele cinci şi şase de către programe specializate numite compilatoare.   Nivelul 7 conţine limbaje destinate unor domenii foarte speciale cum ar fi proiectarea asistată, administraţia, grafica etc.

Slide 6

PROCESOR. PROPRIETATI. CUM FUNCTIONEAZA UN CIP PENTIUM CONCEPTE CHEIE: BIOS (basic input/output system, system de intrare/iesire de baza), Pornire sau boot-are, Ceas, Memorie ROM si RAM, Fisiere de sistem, Adder, half-adder, full-adder, Calcul cu set complex de instructiuni (complex instruction set computing, CISC), Calcul cu set redus de instructiuni (reduced instruction set computing, RISC), Canal (drain), Condensator,

Slide 7

Linie de adresa, Linie de date, Megahertz (Mhz), Pipelining, Memorie ascunsa (cache), Memoria CMOS, Magistrala(bus), Conectorii la magistrală (bus connectors), Microcip, Microprocesor, procesor, MMX, Operatiuni booleene, Poarta, Registru,

Slide 8

SIMD (Single Instruction Multiple Data/ Instructiune unica, date multiple), Tranzistor, Porti logice, Crearea unui cip din tranzistori,

Slide 9

MICROPROCESORUL Microprocesorul constituie unitatea centrala de prelucrare (central processing unit sau CPU) a calculatorului personal. Toate celelalte componente – memoria RAM, discurile, monitorul – preiau date si le transfera procesorului, pentru a fi manipulate; apoi le afiseaza rezultatele. Unitatea centrala de prelucrare nu este singurul microprocesor din calculatoarele personale (coprocesoarele din placile grafice, acceleratoarele 3D si placile de sunet ). Pentiumul este primul procesor Intel care are doua unitati artimetice logice, astfel incat el poate procesa doua seturi de numere in acelasi timp.

Slide 10

Procesorul actualelor sisteme poate fi un microprocesor sau un ansamblu integrat de microprocesoare. Orice procesor conţine patru blocuri funcţionale de bază: ·         unitatea de comandă şi control (UCC), ·         unitatea aritmetico-logică (UAL), ·         registrele procesorului, ·         unitatea de interfaţă cu celelalte componente (UI). Procesoarele performante utilizează structuri de date avansate precum stivele. Acestea sunt utile pentru salvarea contextului unei activităţi înainte de întreruperea acesteia. Primele trei componente formează unitatea de executare.

Slide 11

Registrele reprezintă o memorie foarte rapidă a procesorului în care se păstrează codul instrucţiunilor, datele de prelucrat, rezultatele prelucrărilor etc. Cele mai importante registre ale unui procesor sunt: registrul acumulator, registrul numărător de adrese al programului, registrul indicatorilor de condiţii (valoare negativă, pozitivă sau nulă, transport în urma executării operaţiilor de calcul etc.), registrul de instrucţiuni, registrul de adresare a memoriei.

Slide 12

Performanţele procesorului pot fi exprimate prin: ·        durata ciclului procesorului, ·         lungimea cuvântului, ·         repertoriul de instrucţiuni, ·         durata executării instrucţiunilor. ·         tipul microprocesorului . frecvenţa de lucru a microprocesorului  

Slide 13

În acest moment, există două categorii de microprocesoare: CISC (Complex Instruction Set Computer) şi RISC (Reduced Instruction Set Computer). Cele mai răspândite microprocesoare sunt cele CISC (având ca reprezentaţi microprocesoarele INTEL : X86, Pentium). Microprocesoarele RISC implementează mai puţine instrucţiuni, sunt mai simplu de proiectat şi mai ieftine. Cateva exemple de microprocesoare RISC sunt: PowerPC (dezvoltat de Motorola, IBM şi Apple); Alpha şi MIPS R400 (dezvoltate de Digital Equipment Corporation). O abordare specială o reprezintă arhitectura CISC bazată pe tehnici de tip RISC care duce la o viteză de executare a aplicaţiilor CISC comparabilă cu cea a sistemelor RISC. Este cazul soluţiilor AMD şi Cyrix.

Slide 14

Cum functioneaza un cip Pentium? Pas1. Microprocesorul Pentium de la Intel este alcatuit din doua bucati de siliciu. Una este unitatea centrala de prelucrare de 5,5-9,5 milioane de tranzistori, unde sunt executate intructiunile programelor. Cealalta este o memorie ascunsa 2 (cache 2, L2), de mare viteza, special conceputa. Cei 15,5 milioane de tranzistori ai sai pot stoca 512 kilobytes de date si cod. Primele procesoare foloseau, de regula, o memorie cache separata de procesor, care facea parte din placa de baza a calculatorului.

Slide 15

Pas 2. Procesorul si memoria cache partajeaza aceeasi interfata pe 64 de biti pentru informatiile calculatorului. Codul de program sau datele manipulate de codul respectiv intra si ies din cip la viteza maxima a magistralei (bus) calculatorului personal O mare parte din designul pentiumului este structurata pentru a micsora piedica reprezentata de magistrala reducand numarul de ori in care un ceas cicleaza –cel mai mic interval de timp in care un calculator poate realiza o operatiune – fara ca procesorul sa finalizeze o operatiune

Slide 16

Pas 3. Atunci cand informatiile intra in procesor prin intermediul unitatii de interfata cu magistrala (bus interface unit, BIU), aceasta duplica informatiile, trimite o copie la memoria L2 cache care este strans legata de unitatea centrala de prelucrare si o alta la o pereche de memorii ascunse de nivelul 1 (L1 cache), a caror marime variaza de la 8 la 16 KB si care sunt construite direct in unitatea centrala de prelucrare. Unitatea de interfata a magistralei trimite codul de program la memoria ascunsa de instructiuni L1( instructiuni cahe sau l-cache) si trimite date care trebuie sa fie folosite de cod catre o alta memorie ascunsa L1, memoria ascunsa de date (data cache, D-cache).

Slide 17

Pas 4. In timp ce unitatea de apelare/decodare (fetch/decode unit) extrage instructiunile din memoria cache de instructiuni, unitatea branch target buffer (BTB) compara fiecare instructiune cu o inregistrare dintr-un tampon separat, pentru a vedea daca o anumita instructiune nu a fost folosita anterior. Unitatea branch target buffer cauta in particular instructiuni care implica defalcarea (branching), o situatie in care executia programului poate urma oricare din doua cai. Daca unitatea branch target buffer gaseste o instructiune de defalcare, el prezice, pe baza experientei din trecut, calea pe care o va lua programul. Predictiile sunt corecta in proportie de peste 90% din cazuri.

Slide 18

Pas 5. In timp ce unitatea de apelare/decodare extrage instructiunile in ordinea prezisa de unitatea branch target buffer, trei decodoare care lucreaza in paralel defalcheaza instructiunile mai complexe in micro-operatiuni mai mici, pe 274 biti. Unitatea de livrare/executie (dispatch/execution unit) proceseaza mai rapid mai multe micro-operatiuni decat ar procesa o singura instructiune de nivel mai inalt.

Slide 19

Pas 6. Unitatea de decodare trimite toate micro-operatiunile la cartelul de instructiuni (instruction pool), care mai este denumit si Tampon de re-ordonare (ReOrder Buffer). Acesta contine doua unitati aritmetice logice (arithmetic logic units, ALUs) care gestioneaza toate calculele care implica numere intregi. Unitatile aritmetice logice folosesc un tampon circular, cu un cap si o coada, care contine micro-operatiunile in ordinea in care unitatea BTB estimeaza ca va fi nevoie de ele.  Pas 7. Unitatea de livrare/executie verifica fiecare micro-operatiune din tampon, pentru a vedea daca are toate informatiile necesare pentru procesarea sa si, atunci cand gaseste o micro-operatiune gata de procesare, unitatea o executa, stocheaza rezultatul in chiar micro-operatiunea respectiva si o marcheaza ca efectuata.  

Slide 20

Pas 8. Daca o micro-operatiune are nevoie de mai multe date din memorie, unitatea de executie trece peste ea si procesorul cauta informatiile mai intai in memoria cache L1 aflata in imediata apropiere. Daca datele nu se afla aici, procesorul verifica memoria cache L2, de dimensiuni mult mai mari. Deoarece memoria cache L2 este integrata cu unitatea centrala de prelucrare, informatiile se transfera intre ele de 2-4 ori mai repede decat intre unitatea centrala de prelucrare si magistrala externa. Exp: La o viteza a cipului de 150MHz, informatiile sunt recuperate cu o rata de 1,2 GB pe secunda, in comparatie cu 528 MB /s, daca unitatea centrala de prelucrare trebuie sa ajunga la memoria externa pentru a obtine informatiile.

Slide 21

Pas 9. In loc sa stea inactiva pana cand informatiile sunt apelate, unitatea de executie continua inspectarea fiecarei micro-operatiuni din tampon. Atunci cand ea gaseste o micro-operatiune care are toate informatiile de care este nevoie pentru procesarea sa, unitatea o executa, stocheaza rezultatele in chiar micro-operatiunea respectiva si trece la urmatoarea micro-operatiune. Aceasta procedura este denumita executie speculativa, deoarece ordinea micro-operatiunilor din tamponul circular se bazeaza pe prezicerile unitatii BTB. Unitatea executa pana la cinci micro-operatiuni simultan. Atunci cand unitatea de executie ajunge la sfarsitul tamponului, ea reia de la inceput, verificand din nou toate micro-operatiunile, pentru a vedea daca vreuna dintre ele a primit datele de care are nevoie pentru a fi executata.

Slide 22

Pas 10. Daca o operatiune implica numere cu virgula mobila (floating-point numbers), cum ar fi 3,14 sau 0,33333, unitatile aritmetice logice transmit sarcina unitatii matematice cu vigula mobila, care contine instrumente de procesare concepute pentru manipularea rapida a numerelor cu virgula mobila.  Pas 11. Atunci cand o micro-operatiune care a fost amanata este in cele din urma procesata, unitatea de executie compara rezultatele cu cele prezise de unitatea BTB. Atunci cand prezicerea este eronata, o componenta numita unitate de executie a sariturii (jump execution unit, JEU) muta marcatorul de final de la ultima micro-operatiune la aceea care a prezis ca toate micro-opertiunile de dupa marcatorul de final trebuie ignorate si pot fi supra-scrise de alte micro-operatiuni. Se transmite BTB ca predictia sa era incorecta si informatiile respective devin parte din viitoarele sale preziceri.

Slide 23

Pas 12. Intre timp, tamponul cicular este inspectat, de asemenea, de catre unitatea de retragere (retirement unit). El verifica sa vada daca micro-operatiunea de la inceputul tamponului a fost executata. Daca nu a fost executata, unitatea de retragere continua sa verifice pana cand ea a fost procesata. Apoi, unitatea de retragere verifica a doua si a treia micro-operatiune. Daca acestea sunt deja executate, unitatea trimite toate cele trei rezultate – numarul maxim – catre tamponul de stocare. Acolo, unitatea de prezicere le verifica o ultima data inainte de a fi trimise la locul corespunzator din memoria RAM a sistemului.

URL:
More by this User
Most Viewed