Upload
marian018
View
251
Download
2
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.