Cursul AMP1 Complet - Electronic A

download Cursul AMP1 Complet - Electronic A

of 122

Transcript of Cursul AMP1 Complet - Electronic A

Arhitectura microprocesoarelor

C.Burileanu

::AMP

1::

-1-

Arhitectura microprocesoarelor

C.Burileanu

I.Structura unui microcalculator.Definitii:::1.1 Componentele multifunctionale ala unui microcalculator:::Microcalculatorul, structurat ca o main VON NEUMANN, este un sistem programabil de prelucrarea informaiei care are dou componente inseparabile i definitorii: hardware i software.schema bloc functionala.

A. Componenta hardware; blocurile funcionale sunt: 1. UNITATEA CENTRAL DE PRELUCRARE (UCP); dou funcii eseniale: prelucrarea datelor; controlul activitii ntregului microcalculator. O Unitate central de prelucrarea informaiei, avnd funciile enunate mai sus, care coordoneaz un sistem structurat funcional ca n figur i care, fizic, se prezint sub forma unui singur cip se numete MICROPROCESOR (P).

-2-

Arhitectura microprocesoarelor

C.Burileanu

2. MEMORIA este o secven de locaii pentru stocarea informaiei. Fiecare locaie este definit prin dou entiti informaionale: Coninutul, reprezentat de o niruire de cifre binare 0 sau 1 ("bii"); - numere - coduri etc. Numrul de cifre binare coninute ntr-o locaie depinde de modul in care microprocesorul organizeaz informaia n memorie; mrimea unei locaii va fi denumit formatul memoriei, exprimat n numr de bii (de regul 8, 16, 32 sau 64 bii). Adresa, reprezentnd numrul de ordine al locaiei, care permite identificarea sa n cadrul secvenei de locaii (exist o coresponden biunivoc ntre fiecare locaie de memorie i adresa sa). Noiuni aferente: - "Harta memoriei": totalitatea locaiilor de memorie pe care le poate adresa un microprocesor. - "Pagini" i/sau "segmente": subdiviziuni logice ale hrii memoriei, ale cror dimensiuni, fixe sau dinamice, sunt specifice modului n care un microprocesor anume organizeaz memoria. Structura fizic a memoriei unui microcalculator este format din unul sau mai multe cipuri, cu capaciti diverse; capacitatea total de stocare a informaiei pe care o realizeaz fizic cipurile de memorie ntr-un microcalculator este definit ca "memorie intern". Aceasta nu acoper, n mod necesar, harta memoriei aferent microprocesorului respective. Semnificaia coninutului memoriei microcalculatorului dou zone: Memoria de date conine operanzi i/sau rezultate; fizic, aceast poriune de memorie este de tip RAM (cu scriere/citire). Memoria de program care conine instruciuni; de regul, (dar nu obligatoriu) aceast zon este o memorie de tip ROM (memorie din care se poate doar citi).

Instruciunea:informaia codificat (binar) prin care se impune microprocesorului desfurarea unei aciuni specifice.

-3-

Arhitectura microprocesoarelor

C.Burileanu

Observaii: Fiecare instruciune este asociat n mod biunivoc cu un ir de cifre binare; deoarece acestea "codific" instruciunile, vor fi denumite coduri. O instruciune reprezint cea mai simpl aciune, cu rezultat bine precizat, din activitatea unui microcalculator a crui unitate central de prelucrare a informaiei este un microprocesor anume. Un microprocesor concret poate "recunoate" i executa numai codurile corespunztoare instruciunilor pentru care a fost construit; totalitatea instruciunilor pe care un microprocesor le poate recunoate i executa alctuiete setul de instruciuni al microprocesorului respectiv. niruirea instruciunilor n memoria de program nu este haotic ci sub form de programe, noiune definit ca fiind o secven de coduri de instruciuni organizate n mod logic i coerent dup un anumit algoritm, astfel nct ntregul microcalculator s execute o sarcin prestabilit. Noiunea de "sarcin" (task) nu trebuie confundat cu cea de program: sarcina unui microcalculator corespunde unei alocri dinamice a resurselor hardware i software; exist sarcini pentru a cror ndeplinire sunt necesare mai multe programe. Concluzii: Semnificaia coninutului locaiilor de memorie este conferit de programator n concordan cu funciile specifice realizate de microprocesor: numere binare atunci cnd ne referim la date (operanzi/rezultate); coduri cnd ne referim la instruciuni.

n schema bloc funcional propus, memoria nu are nici un control asupra semnificaiei informaiei pe care o conine.3. DISPOZITIVELE DE INTRARE/IEIRE (I/O): circuitele prin care se realizeaz legtura ntre microcalculator i lumea exterioar. O unitate elementar de conversaie cu exteriorul poart numele de "port de intrare/ieire". ntre porturi i locaiile din Memorie exist nite similitudini:

-4-

Arhitectura microprocesoarelor

C.Burileanu

Porturile sunt n esen tot locaii de memorare a informaiei, adresabile; informaia care se folosete uzual aici este alctuit din operanzi/rezultate (date). Exist o "hart a porturilor" care poate sau nu s fac parte din harta memoriei. Singura deosebire esenial fa de locaiile de memorie este legtura fizic pe care porturile o asigur cu exteriorul; pentru microprocesor, de multe ori, aceast legtur fizic este transparent i nesemnificativ.

"Magistral": un set de conexiuni fizice ntre blocuri prin care informaia care circul are o semnificaie prestabilit. Sistemele la care ne referim au o magistral unic, ce le caracterizeaz; din punct de vedere funcional, exist trei componente ale acestei magistrale:1. Magistrala de date, bidirecional, permite (operanzi/rezultate), a instruciunilor i chiar a adreselor. * circulaia datelor

2. Magistrala de adrese, unidirecional, permite microprocesorului s localizeze informaia n Memorie sau n Dispozitivele de intrare/ieire; deci pe aceast magistral circul numai adrese. 3. Magistrala de control permite circulaia, bidirecional, a semnalelor de comand i control de la/la microprocesor, n calitatea sa de Unitate central.

Magistrale unidirectionale bidirectionale *Magistrala de date este o caracteristica fundamentala VON NEUMANNpermite sa treaca si numere(date) si instructiuni.

B. Componenta software:moduri specifice. Dou categorii de software:

o serie de programe organizate n

-5-

Arhitectura microprocesoarelor

C.Burileanu

1. Sistemul de operare: totalitatea programelor care permit utilizatorului accesul complet la resursele sistemului (exemple: MS-DOS, UNIX etc.). Poate fi: rezident (permanent n memoria intern) sau ncrcabil dintr-o memorie extern (operaie denumit "bootstrap"). 2. Software-ul utilizatorului, alctuit din totalitatea programelor folosite pentru ndeplinirea unor sarcini specifice. Caracteristicile arhitecturii Von Neumann: 1 2 Microprocesorul constituie Unitatea central de prelucrare a unui sistem avnd schema bloc funcional din figur. El concentreaz: 3 funcia de prelucrare 4 functie de comand. 5 6 Toate celelalte componente ale sistemului nu au putere de decizie. Memoria nu controleaz i nici nu e necesar s controleze semnificaia informaiei pe care o deine i modul n care este organizat logic. 7 8 Legtura dintre blocuri este asigurat de o magistral unic cu trei componente funcionale; pe magistrala de date circul toate tipurile de informaii. 9 10 Funcionarea sistemului se face pe baza unor programe alctuite din secvene de instruciuni. Acestea sunt citite din memorie de ctre microprocesor, recunoscute i apoi executate.

Arhitectur:totalitatea atributelor sistemului (n cazul de fa, microprocesorul) care sunt disponibile ("vizibile") utilizatorului (ca, de pild: registrele, modurile de adresare, tipurile de transferuri de date, modul de organizare logic a memoriei, tehnicile de intrare/ieire, setul de instruciuni etc)

-6-

Arhitectura microprocesoarelor

C.Burileanu

...:::1.2 Definitii, microprocesoare CISC si RISC:::Microprocesor, microcalculator, minicalculator. Asemnarea: caracteristicile globale ale atributelor de arhitectur. Deosebirile ntre ultimele dou: resurse (memorie intern i extern, echipamente periferice) i performane (vitez de prelucrare, cost, numr de componente, gabarit). Definiia microprocesorului ca Unitate central de prelucrare; am presupus implicit c sistemul din care face parte este un micro(mini)calculator, deci un sistem de calcul. Putem extinde ns noiunea i asupra sistemelor de comand i control ( de tip "controler"), ceea ce mrete aria de cuprindere a noiunii de microprocesor.1

Noiunea de "logic programat". Sistemele cu logic programat nu nseamn, n mod automat, sisteme cu microprocesor. Microprocesorul poate constitui una dintre modalitile de proiectare a sistemelor cu logic programat. Nu se va face confuzia "sistem cu logic programat cu microprocesor" "sistem microprogramat".1

Clasificri ale noiunii de microprocesor:a) Dup limea magistralei de date: microprocesoare pe 8, 16, 32 sau pe 64 de bii. b) Dup tipul de sarcini eficient realizabile: microprocesoare de uz general (PUG), nespecializate; microprocesoare specializate, ca de pild:

-7-

Arhitectura microprocesoarelor

C.Burileanu

- procesoare de intrare/ieire, pentru conversaii complexe ntre microcalculator i lumea exterioar; exemplu: Intel 8089; - coprocesoare aritmetice, specializate pentru funcii aritmetice de utilitate general (exponeniale, trigonometrice etc); exemplu: Intel 80387; - procesoare digitale de semnal, specializate pentru algoritmii specifici prelucrrii semnalelor (FFT, produse de corelaie, filtre digitale, calcul matriceal etc.); exemplu: Texas Instruments TMS 320. c) Dup principiile de baz ale arhitecturii care guverneaz funcionarea: procesoare cu set complex de instruciuni (CISC) numite microprocesoare "standard" sau simplu "microprocesoare"; procesoare cu set redus de instruciuni (RISC).

-8-

Arhitectura microprocesoarelor

C.Burileanu

:::1.3 Reprezentarea informatiei in sistemele digitale:::- bit (prescurtat b) pentru o cifr binar 0 sau 1; - nibble (prescurtat n) pentru o niruire de 4 bii; - byte sau octet (prescurtat B) pentru o niruire de 8 bii; - cuvnt sau word (prescurtat w) pentru o niruire de 2 octei; - cuvnt dublu sau double word (prescurtat dw) pentru o niruire de 4 octei; - prefixele: k pentru 210 103 ; M pentru 220 106 ; G pentru 230 109 ; T pentru 240 1012 . 1.3.1 Reprezentarea interna a) Reprezentarea programelor Fiecare instruciune este reprezentat n memorie de un cod binar. Formatul instruciunilor, adic totalitatea cifrelor binare necesare pentru codificare, are, de regul, drept cuant de informaie, octetul. Pentru fiecare instruciune exist un numr prestabilit de octei cu care e codificat (de pild, pentru Intel 8086, este ntre 1 i 6 octei). b) Reprezentarea numerelor 1) Reprezentarea ntregilor fr semn n "binar natural": este reprezentarea uzual, "natural" a numerelor binare.

-9-

Arhitectura microprocesoarelor

C.Burileanu

2) Reprezentarea ntregilor cu semn n "binar natural": Semnul numrului este reprezentat de msb cu urmtoarea convenie: msb = 0 semnific numr pozitiv; msb = 1 semnific numr negativ. Pentru un numr fr semn cu 8 bii, plaja numerelor reprezentabile acoper 256 de poziii, ntre 0 i 255, n zecimal. Pentru un numr cu semn, plaja numerelor reprezentabile acoper tot 256 de poziii, dar n intervalul -128 +127, presupunnd 0 numr pozitiv.

Convenii de reprezentare:

Regulile de reprezentare n aceste trei convenii: Numerele pozitive se reprezint identic. n "mrime i semn", numerele negative difer de cele pozitive numai prin bitul de semn. n "complement fa de 1", mrimea numrului negativ se obine din reprezentarea precedent prin complementare bit cu bit; convenia pentru bitul de semn se pstreaz. n "complement fa de 2", mrimea numrului negativ se obine din reprezentarea precedent prin adunarea unei cifre binare 1 la lsb.

Fanioane- 10 -

Arhitectura microprocesoarelor

C.Burileanu

un bit de informatie in interiorul microprocesorului care isi indica evenimente speciale aparute in functionarea microprocesoarelor "Transportul" care apare ntre rangul unui numr binar i cel imediat superior n operaiile aritmetice (la scdere, l vom numi "mprumut"): C (de la "carry"). "Depirea": O (de la "overflow"). Dup cum numrul are semn sau nu, se poate scrie c:

Extinderea numerelor cu semn reprezentate n complement fa de 2, de la 8 la 16 bii.

Regulile de "extindere a numerelor cu semn, n complement fa de 2": Bitul de semn rmne pe poziia cea mai semnificativ. Partea care reprezint mrimea numrului va ocupa poziiile cele mai puin semnifica-tive ale numrului extins. Restul poziiilor din numrul extins se completeaz cu cifre binare identice cu cea care reprezint semnul (0 pentru numere pozitive i 1 pentru numere negative). 3) Reprezentarea ntregilor n "zecimal codificat binar" (ZCB): se reprezint fiecare cifr zecimal separat, n binar natural, cu un nibble. Microprocesoarele folosesc dou tipuri de reprezentri ZCB: Reprezentarea "ZCB mpachetat" n care fiecare octet din memorie cuprinde cte dou cifre zecimale, una pe nibble-ul mai puin semnificativ i cealalt pe nibble-ul superior. Plaja de numere zecimale acoperit de o reprezentare cu 8 bii se micoreaz de la 256 la 100 de numere: 0 99.

- 11 -

Arhitectura microprocesoarelor

C.Burileanu

Reprezentarea "ZCB nempachetat" n care fiecare octet cuprinde o singur cifr zecimal pe nibble-ul mai puin semnificativ. Restul cifrelor binare se completeaz cu 0.

4) Reprezentarea numerelor cu zecimale "cu virgul fix": se folosete principiul de a aloca un numr fix, prestabilit, de cifre binare pentru a reprezenta partea ntreag i respectiv partea zecimal a unui numr. Se poate folosi fie reprezentarea n binar natural fie n ZCB. Pentru partea ntreag se folosete regula de reprezentare a numerelor ntregi cu semn, iar pentru partea zecimal regula de reprezentare a ntregilor fr semn. (Apar: "trunchierea" sau "rotunjirea" numrului). Modul de reprezentare folosete urmtoarele convenii: Se rezerv un ir de bii cu care se exprim numrul total de cifre ale numrului care urmeaz s fie reprezentat. Se rezerv, apoi, un ir de bii n care se nscrie numrul de zecimale cu care se va reprezenta numrul. Urmeaz reprezentarea propriu-zis a numrului niruind reprezentrile pentru partea ntreag i cea zecimal fr o alt delimitare explicit ntre ele.

5) Reprezentarea numerelor cu zecimale "cu virgul mobil"; reprezentare normalizat. Dou entiti informaionale: "mantisa" M i "exponentul" EXP:

- 12 -

Arhitectura microprocesoarelor

C.Burileanu

c) Reprezentarea datelor alfanumericeVom nelege prin "date alfanumerice" sau "caractere" oricare dintre semnele care pot fi tiprite de la tastatura unui calculator. "Seturi de caractere": grupuri minime de simboluri considerate suficiente pentru a asigura o editare ct mai complet a unui text. Pentru fiecare caracter se va folosi o reprezentare binar, un cod, cu care caracterul (dintr-un set prestabilit) este n relaie biunivoc. Standardul "ASCII" ( de la "American Standard Code for Information Interchange") cu care se codific urmtorul set de caractere: - 26 de litere mari ale alfabetului latin; - 26 de litere minuscule corespunztoare; - 10 simboluri numerice: 0 9; - 20 de simboluri speciale adiionale: +, -, (, ), [, ], {, }, * , # , $ etc.

1.3.2 Reprezentarea externa Reprezentarea extern se refer la modul n care informaia prelucrat de un microcalculator apare utilizatorului (programatorului). a) Pentru codurile instruciunilor se vor folosi abrevierile sugestive pe care, de regul, fabricantul le impune i pe care limbajul de asamblare le folosete ca atare: "mnemonice". b) Pentru numere se utilizeaz mai multe tipuri de reprezentri:

- 13 -

Arhitectura microprocesoarelor

C.Burileanu

Reprezentarea binar, imagine fidel a coninutului locaiilor de stocare a informaiilor. Reprezentarea octal, care transform numerele binare n baza de numeraie 8. Reprezentarea hexazecimal : un simbol reprezentnd o cifr n baza de numeraie 16 nlocuiete 4 cifre binare. Caracterele folosite sunt cifrele zecimale 0 9 i literele A F. Vom folosi convenia de a utiliza litera H ca sufix pentru numerele reprezentate n hexazecimal (de pild 1199H). c) Pentru caractere se vor folosi chiar simbolurile cu care ele sunt individualizate. Programele utilitare folosite pentru examinarea coninutului locaiilor de stocare a informaiilor fac conversia ASCII simbol caracter dac programatorul stabilete c semnificaia informaiei vizate impune aceast conversie.

- 14 -

Arhitectura microprocesoarelor

C.Burileanu

:::1.4 Elemente de structura digitala. Memorii.:::

ROMA1 A2 An CS O1 O2 Om OE prog Im I1 I2

RAMA1 A2 An O1 O2 Om OE prog

CS

A1..An intrari adresarefolosesc pentru adresarea fizica in acest camp

O1..Om iesiri de dateintr-o locatie am m biti

CS

chip selectmai multe cipuri; mai intai selectez chipul si apoi ce am nevoie din el

I1..Im intrari de date A1..An magistrala de adresare

- 15 -

Arhitectura microprocesoarelor

C.Burileanu

O1..OmSi magistrala de date

I1..ImCS - chip select magistrala de adresare

R/W read/write (magistrala de control) ii spune memoriei acuma scriem acuma citim.

Circuite combinationaleA.

PORTI

SI , SAU , NICI, NUMAI , SAU_EXCLUSIV B.

MULTIPLEXORUL

I1 I2

A1 A2

An O1-OK

I1..Im intrari de date A1..An intrari adresareO iesirea

Im CS OE prog

Multiplexor cu n=3

A1 I11-I1k I21-I2k I31-I3k I41-I4k

A2 O1-OK

Multiplexeaza pe o magistrala patru magistrale.

- 16 -

Arhitectura microprocesoarelor

C.Burileanu

I1 I2 In

O1 O2 On

O1=f1(I1,I2,..,IN) O2=f2(I1,I2,..,IN) .. On=fn(I1,I2,..,IN) 0