Arhitectura Calculatoarelor

Embed Size (px)

DESCRIPTION

Introducere in Arhitectura Calculatoarelor

Citation preview

  • Arhitectura [email protected]

    EF 202

  • CUPRINS

    INTRODUCEREDESCRIEREA STRUCTURII SISTEMELOR NUMERICE (AHPL)REPREZENTAREA I PRELUCRAREA INFORMAIEI N CALCULATOARELE NUMERICEOPERAII ARITMETICE N CALCULATOARE NUMERICESTRUCTURA I ARHITECTURA CALCULATORULUI DIDACTICPROGRAMAREA IN LIMBAJ DE ASAMBLARE A CALCULATORULUI DIDACTICSUBSISTEMUL DE INTRRI / IEIRI AL CALCULATORULUI DIDACTICSISTEMUL DE MANIPULARE A NTRERUPERILORMICROPROGRAMARE

  • BIBLIOGRAFIE

    1) Trandafir Moisa, Nicolae Tapus, Cristian Morarescu - Structura si arhitectura sistemelor numerice (Editura Printech, 1999)

    2) John L. Hennessy, David A. Patterson - Computer Architecture: A Quantitative Approach, 4th Edition (Morgan Kaufmann Publishers, 2007)

    3) David A. Patterson, John L. Hennessy - Computer Organization and Design: The Hardware/Software Interface, 4th Edition (Morgan Kaufmann Publishers, 2009)

    4) Behrooz Parhami - Computer Architecture: From Microprocessors to Supercomputers (Oxford University Press, 2005)

    David A. Patterson, University of California, Berkeley, USAJohn L. Hennessy, Stanford University, Palo Alto, CA, USA

  • NOTARE

    Laborator: 50 puncte, astfel:-prezenta laborator/seminar + activitate: 30 puncte;-teme de casa: 20 puncte;Examen final: 50 puncte.

  • INTRODUCERE1.1 Calculator Numeric - Sistem de prelucrare a informaiilor1.2 Modelul structural al unui calculator numeric1.2.1 Calculator numeric cu sistem de I/E cu transfer programat1.2.2 Calculator numeric cu sistem de I/E cu transfer prin acces direct la memorie1.2.3 Calculator numeric cu sistem de I/E cu transfer prin canal de I/E1.3 Modelul funcional al unui calculator numeric1.4 Uniti funcionale ale unui Calculator Numeric1.4.1 Memoria1.4.2 Unitatea central de prelucrare1.4.3 Unitatea de comand1.4.4 Subsistemul de intrare ieire1.4.5 Limbaje de programare1.5 Elemente de arhitectur i structur ale unui calculator numeric1.5.1 Concepte de baz1.5.2 Moduri de adresare

  • 1.1 Calculator Numeric - Sistem de prelucrare a informaiilor

    Aplicaii specifice calculatoarelor:

    Calcule tiintifice: n experimentele stiinifice i de laborator calculatoarele pot s fie utilizate pentru culegerea, validarea i prelucrarea datelor preluate de la diferii senzori sau aparate. Domenii tipice: telemetrie, radiolocaie, spectrografie, etc.Proiectare asistat: Calculatorul este deosebit de util n multe domenii de proiectare ca de exemplu: proiectarea mtilor pentru VLSI, proiectarea circuitelor imprimate, proiectarea fuzelajelor i aripilor de avion, a caroseriilor de automobil, etc.Conducerea proceselor: Calculatorul este o unealt foarte util n fabricarea i controlul automat al produselor, de exemplu: comanda mainilor unelte, controlul proceselor de difuzie i ncapsulare ntro fabric de circuite integrate, conducerea roboilor din celulele flexibile de fabricaie, etc.Simulare: Datorit utilizrii calculatoarelor a aprut ntre cercetarea fundamental i cea aplicativ un nou nivel de cercetare, prin simulare. Acest tip de abordare este foarte util pentru situaiile n care experimentele pot s fie prea costisitoare n condiii reale, periculoase sau chiar imposibil de realizat. S considerm de exemplu cazul n care se dorete studiul efectului erupiei unui vulcan. Evident, vulcanul nu poate s fie convins s erup, dar se poate realiza o simulare n care s se in seama de ct mai muli factori care caracterizeaz fenomenul natural.Instruire asistat: Calculatorul poate s constituie un instrument foarte util n creterea eficienei procesului de predare nvare verificare, pentru stimularea gndirii creative, logice.

  • 1.2 Modelul structural al unui calculator numeric

    Modelul general al unui calculator numeric

    I

    E

    CN

  • Modelul structural al unui calculator numeric

    E

    I

    Subsistem de iesire

    fluxul datelor

    fluxul informatiilor de control care asigur interactiunea corect a celor trei subsisteme

    Subsistem de prelucrare

    Subsistem de intrare

  • Structura unui calculator numeric

    Calculator

    numeric

    E

    Echipament

    periferic

    de iesire

    fluxul datelor

    fluxul informatiilor de control care asigur interactiunea corect a celor trei subsisteme

    Echipament

    periferic

    de intrare

    I

    Unitatea

    central

    Interfata iesire

    Unitatea

    centrala

    de prelucrare

    Memorie

    Interfata intrare

  • Schema bloc a unui sistem de calcul

    Unitatea aritmetica logica

    Calculator numeric

    Unitatea centrala

    E

    Interfata iesire

    Echipament periferic de iesire

    Unitatea centrala de prelucrare

    Unitatea de comanda

    Registrii

    Memorie

    fluxul datelor

    fluxul informatiilor de control care asigur interactiunea corect a celor trei subsisteme

    Echipament

    periferic de intrare

    I

    Interfata intrare

  • Calculator numeric cu transfer programat

    Memorie

    E

    Subsistem iesire

    Unitate centrala de prelucrare

    Subsistem intrare

    I

  • Calculator numeric cu transfer prin acces direct la memorie

    Unitatea

    centrala de prelucrare

    Modul comanda acces direct la memorie

    I/E

    Subsistem

    de

    I/E

    Memorie

  • Calculator numeric cu transfer prin canal de I/E

    Unitatea

    centrala de prelucrare

    Canal de I/E

    I/E

    Subsistem

    de

    I/E

    Memorie

  • 1.3 Modelul funcional al unui calculator numeric

  • NIVELUL 1. Dispozitivele i circuitele electronice reflect att gradul de integrare tehnologic ct i clasa de performane n care se ncadreaz calculatorul.

    NIVELUL 2. Unitile funcionale reflect ntro bun msur modularitatea sistemului, poziionarea i implementarea funciilor primitive n uniti funcionale avnd n vedere criterii funcionale, constructive, i aspecte privind testabilitatea. La acest nivel nc nu este posibil programarea calculatorului. Este posibil ns microprogramarea. Diferite uniti funcionale conin programe implementate sub form de firmware. Astfel unitatea central de prelucrare poate conine programe firmware pentru controlul componentelor din care este alctuit, programe pentru meninerea configuraiei de baz, pentru cazul de timp real al calculatorului, programe de depanare, etc. Un canal de I/E pentru disc include programe de testare a subsistemului de discuri magnetice, programele de I/E de nivel sczut, programarea circuitelor integrate pe scar larg care intr n componena sa.

  • NIVELUL 3. Maina fizic reprezint, mpreun cu echipamentele de I/E, partea de hardware propriuzis a calculatorului. Acest nivel reflect structura i organizarea intern a calculatorului, modul de interconectare i interaciunile dintre unitile funcionale, fluxul datelor de I/E. De asemenea acest nivel reflect i arhitectura calculatorului aa cum este el vzut de un programator la nivelul funciilor primitive .

    NIVELUL 4. Nucleul sistemului de operare trebuie vzut mai mult ca firmware dect ca software i este format dintro colecie de programe orientate pe maina fizic i care ofer programatorului de sistem o main de baz mai evoluat, uniform i stabil n timp, primind modelul de acces la funciile primitive. Astfel modificrile din nivelele 1, 2 i 3 vor fi preluate de acest nivel fr a fi simite de nivelele ierarhice superioare. Acest nivel asigur n principal funciile de I/E de baz (BIOS la PC) i funcii de acces direct la resursele fizice pentru testarea i punerea la punct a programelor.

  • NIVELUL 5. Executivul sistemului de operare reprezint o colecie de programe de baz care asigur pe de o parte o main ct mai eficient i comod de utilizat pentru programator i o utilizare ct mai eficient a resurselor hardware i software, pe de alt parte. Principalele funcii ale unui sistem de operare sunt:controlul ncrcrii i execuiei programelor, care asigur ncrcarea n memoria intern a programelor preluate din memoria extern, lansarea n execuie i supravegherea execuiei acestora;operaii de I/E mai evoluate, bazate pe funciile oferite de maina de baz;gestiunea fiierelor, care asigur crearea, ntreinerea i utilizarea fiierelor de date pe suporturile externe (magnetice, optice, etc);gestiunea memoriei care asigur utilizarea i protecia memoriei interne n condiiile n care mai multe procese pot fi active la un moment dat n memorie;faciliti de dezvoltare a programelor privind programarea modular, deformarea;crearea, ntreinerea i utilizarea bibliotecilor de programe de baz i aplicaii.

  • NIVELUL 6. Limbaje de programare. La acest nivel am situat limbajele de programare indiferent c sunt de nivel ridicat sau sczut, deoarece prin intermediul acestora programatorul are la dispoziie un mod esenial de comunicare cu calculatorul. Fiecare limbaj are un vocabular de aproximativ 100 de cuvinte i simboluri i este bazat pe o gramatic strict definit, fr excepii. Propoziiile dintrun limbaj pot fi uor traduse n propoziii dintrun alt limbaj. Operaia de conversie a unui program dintrun limbaj n altul se numete translatare. Programul original se numete program surs i este scris n limbajul surs. Att limbajul surs ct i limbajul destinaie, n care este translatat programul, definesc nivelele mainii virtuale ntro schem similar celei din Fig.1.8 dar mai detaliat. Dac ar exista un procesor care s interpreteze direct limbajul surs nu ar mai fi nevoie de translatare

  • NIVELUL 7 nivelul aplicaiilor reprezint nivelul cel mai important pentru utilizator. Bibliotecile de programe de la acest nivel reflect modul n care poate s utilizeze direct calculatorul n diferite aplicaii i uurina cu care pot fi create noi programe de aplicaii n domenii conexe sau total noi.

    NIVELUL 8 nivelul supervizorului: interpretorul limbajului de comand reprezint interfaa i modul de interaciune dintre utilizatori i sistemul de calcul. Selectarea unei aciuni poate fi greoaie, prin introducerea unei serii de texte de la consola operatorului, sau din contr, foarte eficient, prin simpla indicare a unei opiuni afiate pe ecranul consolei. Se observ din aceast analiz a modelului c un programator de un anumit nivel necesit o cunoatere detaliat a nivelelor inferioare doar dac pentru creterea eficienei se dorete elaborarea direct a unor funcii sau controlul direct al unor resurse de pe nivele inferioare.

  • 1.4 Unitile funcionale ale unui Calculator Numeric

    Memoria

    Structura bloc a unui subsistem de memorie

    D

    E

    C

    Unitate de control

    __

    S/C

    __

    SM

    date

    date

    DM

    Matrice de memorie

    AM

    Adrese

    n

    n

  • a. diagrama de timp pentru citire

    date disponibile

    (ciclu de citire)

    ___

    SM

    tAC

    adrese

    date

    tCC

  • b. diagrama de timp pentru scriere

    _

    S/C

    date

    (ciclu de scriere)

    ___

    SM

    adrese

    tCS

  • Circuite de memorie

    SRAM

  • DRAM

  • Tipuri de DRAM:FPM DRAM (Fast Page Mode DRAM)EDO DRAM (Extended Data Output DRAM)SDRAM (Synchronous DRAM)DDR SDRAM (Double Data Rate SDRAM)

    Placute:SIMM (Single Inline Memory Module)DIMM (Dual Inline Memory Module)

  • Memorii ROM

  • Tipuri de ROM:

    ROMPROM (Programmable ROM)EPROM (Erasable PROM)EAPROM (Electricaly Alterable PROM) si EEPROM (Electricaly Eraseble PROM)memoria FLASH

  • UAL

    rezultat

    Selectie operatie

    UAL

    operand 2

    operand 1

    n

  • Interconectarea unitii aritmetice i logice cu o singur magistral

    magistrala date

    T 2

    Selectie operatie

    UAL

    T 1

    n

  • Interconectarea unitii aritmetice i logice cu registru acumulator

    Magistrala de date

    Acumulator

    Selectie operatie

    UAL

    n

  • Interconectarea unitii aritmetice i logice cu 3 magistrale

  • Unitatea de comandFazele execuiei unei instruciuni

    Nu

    Da

    se executa instructiunea

    memoreaza rezultat

    instructiune cu rezultat in memorie?

    Nu

    Da

    instructiune

    cu operanzi?

    recunoastere tip instruciune

    se aduce cuvntul aflat n memorie la adresa coninut n CP se actualizeaz CP

    pregateste operanzi

    calculeaza adrese si aduce operand actual in UCP

    Nu

    Da

    operanzi

    in memorie?

    se executa instructiunea

  • Setul de instruciuni

    Orice calculator este controlat de un program, care este format dintro secven de instruciuni. Fiecare instruciune specific o operaie care urmeaz s fie executat de ctre unitatea central de prelucrare. n general instruciunile unui calculator pot s fie clasificate n cteva clase de baz :

    1. Instruciuni pentru transferul datelor. Sursa i respectiv destinaia unui astfel de transfer pot s fie constituite de o locaie de memorie, un registru, sau elemente ale subsistemului de intrare/ieire.

    2. Instruciuni aritmetice. Aceste instruciuni execut operaii aritmetice asupra unor date. n acest caz sursa operanzilor i destinaia rezultatului pot s fie memoria sau registrele din unitatea central de prelucrare. Complexitatea operaiilor care formeaz setul instruciunilor aritmetice difer mult pentru diferite calculatoare. Astfel, cel mai simplu set posibil de instruciuni aritmetice ar putea s conin numai o instruciune de incrementare a coninutului unui registru sau a coninutului unui cuvnt din memorie. Pe baza unei astfel de operaii se poate construi o aritmetic utiliznd numere fr semn. n realitate chiar i cele mai elementare calculatoare "tiu" s execute operaia de adunare ntre dou numere (eventual fr semn). La captul cellalt al scrii complexitii operaiilor aritmetice se gsesc calculatoarele n al cror set se gsesc cele patru operaii aritmetice care se pot efectua asupra numerelor cu sau fr semn reprezentate n virgul fix (numere ntregi) sau n virgul mobil (numere reale).

  • 3. Instruciuni logice i de deplasare. Aceste instruciuni execut operaii logice (de tip I, SAU, NU, SAU EXCLUSIV) asupra unor date. Ca i la instruciunile aritmetice sursa operanzilor i destinaia rezultatului pot s fie memoria sau registrele din unitatea central de prelucrare. Toate calculatoarele care conin n setul lor de instruciuni instruciuni logice conin cel puin instruciuniile I, SAU i NU cu toate c dup cum se tie disponibilitatea unei operaii INU sau SAUNU ar fi suficient pentru realizarea oricrei prelucrri de tip logic.

    4. Instruciuni pentru controlul execuiei programelor. Aceste instruciuni permit schimbarea dinamic a secvenei n care se execut instruciunile din program producnd un salt necondiionat sau condiionat la o adres din program specificat n instruciune.

  • Subsistemul de intrare ieire

    Rolul subsistemului de intrare / ieire este de a conecta echipamentele periferice la calculator. Prin intermediul acestor echipamente periferice se realizeaz de fapt schimbul de informaii cu lumea extern care poate s fie reprezentat de operatori umani, alte procesoare, memorii externe, etc.

    Cele mai obinuite echipamente periferice de intrare / ieire sunt: terminalele de introducere / afiare date, unitile pentru discuri magnetice, plotere, imprimante, etc.

    Se observ c aceste echipamente sunt caracterizate de forme foarte diferite de reprezentare a informaiei i de viteze diferite de transfer a informaiei. De asemenea echipamentele periferice de tip disc sau band magnetic pot s transfere la un moment dat blocuri mari de date, n timp ce echipamentele de tip terminal pot s transfere la un moment dat un singur caracter. Corespunztor n subsistemele de intrare / ieire sunt coninute interfee pentru cuplarea echipamentelor periferice. Rolul acestor interfee este de a realiza conversia de format i de vitez ntre unitatea central de prelucrare i echipamentele periferice.