sisteme cu microprocesoare unitatea de invatare 1

Upload: samycatalin

Post on 04-Apr-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/29/2019 sisteme cu microprocesoare unitatea de invatare 1

    1/10

    Arhitectura microprocesoarelor

    4

    OBIECTIVELE unitii de nvare nr. 1

    Principalele obiective ale Unitii de nvare nr. 1 sunt: Familiarizarea cu arhitectura unui microcalculator nelegerea noiunilor de Dispozitive de I/O,

    memorie, Unitate Central de procesare Familiarizarea cu tipuri de arhitecturi CISC, RISC Sublinierea aspectelor practice privind formatul

    datelor digitale Reprezentarea numerelor zecimale Aplicarea cu succes a unor calculelor n

    complement fa de doi

    1. STRUCTURA UNUI MICROCALCULATOR. DEFINIII

    1.1. Componentele funcionale ale unui microcalculator

    Structura unui sistem pe baz de microprocesor include urmtoarele componente:microprocesor, memorie de instruciuni, memorie de date, circuite de interfa.

    Microcalculatorul, structurat ca o main VON NEUMANN, este un sistem programabil deprelucrarea informaiei care are dou componente inseparabile i definitorii: hardware isoftware.

    Arhitectura Von Neumann conine o singur memorie i o singur magistral pentrutransferul datelor din i dinspre unitatea central de procesare (CPU).

    Fig1.1Arhitectura general a microprocesoarelorA. Componentahardware:blocurile funcionale

    A.1. Unitatea central de prelucrare (UCP)UCP are dou funcii eseniale:

    prelucrarea datelor; controlul activitii ntregului microcalculator.

  • 7/29/2019 sisteme cu microprocesoare unitatea de invatare 1

    2/10

    Arhitectura microprocesoarelor

    5

    O Unitate central de prelucrarea informaiei, avnd funciile enunate mai sus, carecoordoneaz un sistem structurat funcional ca n figuri care, fizic, se prezint sub forma unuisingur cip se numete MICROPROCESOR (P).

    A.2.MemoriaEste 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 n care microprocesorulorganizeaz 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 cadrulsecvenei de locaii (exist o coresponden biunivoc ntre fiecare locaie de memorie i adresasa).

    Noiuni aferente:- "Harta memoriei": totalitatea locaiilor de memorie pe care le poate adresa unmicroprocesor.

    - "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 cipurilede memorie ntr-un microcalculator este definit ca "memorie intern". Aceasta nu acoper, nmod necesar, harta memoriei aferent microprocesorului respectiv.

    Semnificaiaconinutului 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 microprocesoruluidesfurarea unei aciuni specifice.

    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 activitateaunui microcalculator a crui unitate central de prelucrare a informaiei este un microprocesoranume.

    Un microprocesor concret poate "recunoate" i executa numai codurile corespunztoareinstruciunilor pentru care a fost construit; totalitatea instruciunilor pe care un microprocesor lepoate recunoate i executa alctuiete setul de instruciuni al microprocesorului respectiv.

    niruirea instruciunilor n memoria de program nu este haotic ci sub form deprograme, noiune definit ca fiind o secven de coduri de instruciuni organizate n mod logici coerent dup un anumit algoritm, astfel nct ntregul microcalculator s execute o sarcinprestabilit. Noiunea de "sarcin" (task) nu trebuie confundat cu cea de program: sarcina unui

  • 7/29/2019 sisteme cu microprocesoare unitatea de invatare 1

    3/10

    Arhitectura microprocesoarelor

    6

    microcalculator corespunde unei alocri dinamice a resurselor hardware i software; existsarcini pentru a cror ndeplinire sunt necesare mai multe programe.

    Semnificaia coninutului locaiilor de memorie este conferit de programator nconcordan 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 (Fig.1.1), memoria nu are nici un control asuprasemnificaiei informaiei pe care o conine.

    A.3. DISPOZITIVELE DE INTRARE/IEIRE (I/O)Sunt 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:

    - Porturile sunt n esen tot locaii de memorare a informaiei, adresabile; informaia carese 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 porturileo asigur cu exteriorul; pentru microprocesor, de multe ori, aceast legtur fizic estetransparenti nesemnificativ.

    "Magistral": un set de conexiuni fizice ntre blocuri prin care informaia care circul are osemnificaie 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 circulaia datelor (operanzi/rezultate), ainstruciunilor i chiar a adreselor.

    2. Magistrala de adrese, unidirecional, permite microprocesorului s localizezeinformaia n Memorie sau n Dispozitivele de intrare/ieire; deci pe aceast magistral circulnumai adrese.

    3.Magistrala de control permite circulaia, bidirecional, a semnalelor de comand icontrol de la/la microprocesor, n calitatea sa de Unitate central.

    B. Componentasoftware: o serie de programe organizate n moduri specifice;

    Dou categorii de software:

    B.1. SISTEMUL DE OPERARE: totalitatea programelor care permit utilizatorului accesul

    complet la resursele sistemului (exemple: MS-DOS, UNIX etc.). Poate fi: rezident (permanent nmemoria intern) sau ncrcabil dintr-o memorie extern (operaie denumit "bootstrap").

    B.2.SOFTWARE-UL UTILIZATORULUI, alctuit din totalitatea programelor folosite pentrundeplinirea unor sarcini specifice.

    Caracteristicile arhitecturii Von Neumann:

    Microprocesorul constituie Unitatea central de prelucrare a unui sistem avnd schemabloc funcional din figur. El concentreazi funcia de prelucrare i pe cea de comand.

  • 7/29/2019 sisteme cu microprocesoare unitatea de invatare 1

    4/10

    Arhitectura microprocesoarelor

    7

    Toate celelalte componente ale sistemului nu au putere de decizie. Memoria nucontroleazi nici nu e necesar s controleze semnificaia informaiei pe care o deine imodul n care este organizatlogic. Legtura dintre blocuri este asigurat de o magistral unic cu trei componentefuncionale; pe magistrala de date circul toate tipurile de informaii. Funcionarea sistemului se face pe baza unor programe alctuite din secvene deinstruciuni. Acestea sunt citite din memorie de ctre microprocesor, recunoscute i apoiexecutate.

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

    1.2. Microprocesoare CISC i RISC. Definiii

    Microprocesor, microcalculator, minicalculator

    Asemnri: caracteristicile globale ale atributelor de arhitectur;

    Deosebirile ntre ultimele dou: resurse (memorie interni extern, echipamente periferice)i performane (vitez de prelucrare, cost, numr de componente, gabarit).

    Definiia microprocesorului ca Unitate central de prelucrare; am presupus implicit csistemul din care face parte este un micro(mini)calculator, deci un sistem de calcul. Putemextinde ns noiunea i asupra sistemelor de comandi control ( de tip "controler"), ceea cemrete aria de cuprindere a noiunii de microprocesor.

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

    C. 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:

    - procesoare de intrare/ieire, pentru conversaii complexe ntre microcalculator i lumeaexterioar; 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: TexasInstruments TMS 320.

    c) Dup principiile de baz ale arhitecturii care guverneaz funcionarea:

  • 7/29/2019 sisteme cu microprocesoare unitatea de invatare 1

    5/10

    Arhitectura microprocesoarelor

    8

    procesoare cu set complex de instruciuni (CISC) numite microprocesoare "standard"sau simplu "microprocesoare";procesoare cu set redus de instruciuni (RISC).

    1.3. Reprezentarea informaiei n sistemele digitale

    Informaia n sistemele digitale este transmis pe:-bit (prescurtat b) pentru o cifr binar0 sau 1;-nibble (prescurtat n) pentru o niruire de 4 bii;-byte sauoctet (prescurtat B) pentru o niruire de 8 bii;-cuvnt sau word(prescurtat w) pentru o niruire de 2 octei;-cuvnt dublu saudouble 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) Reprezentarea programelorFiecare instruciune este reprezentat n memorie de un cod binar. Formatul instruciunilor,

    adic totalitatea cifrelor binare necesare pentru codificare, are, de regul, drept cuant deinformaie, octetul. Pentru fiecare instruciune exist un numr prestabilit de octei cu care ecodificat (de pild, pentru Intel 8086, este ntre 1 i 6 octei).

    b) Reprezentarea numerelor1)Reprezentarea ntregilor fr semn n "binar natural"

    Este reprezentarea uzual, "natural" a numerelor binare.

    numr binar cu 8 cifre = b ii

    i

    =

    0

    7

    2 cu bi {0, 1}

    numr binar cu 8 cifre = b7b6b5b4b3b2b1b0b0 : lsb

    b7 : msb

    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 0i 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.2.a. Convenii de reprezentare:

    Tabel 1.I.

    1.1 Tipul reprezentrii + 5 - 5

    "mrime i semn" 00000101 10000101

  • 7/29/2019 sisteme cu microprocesoare unitatea de invatare 1

    6/10

    Arhitectura microprocesoarelor

    9

    "complement fa de 1" 00000101 11111010

    "complement fa de 2" 00000101 11111011

    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 reprezentareaprecedent prin complementare bit cu bit; convenia pentru bitul de semn se pstreaz.-n "complement fa de 2", mrimea numrului negativ se obine din reprezentareaprecedent prin adunarea unei cifre binare 1 la lsb.2.b."Fanioane""Transportul" care apare ntre rangul unui numr binar i cel imediat superior noperaiile 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:

    O = Cmsb SAU Cmsb-1 msb

    Tabel1.II.Extinderea numerelor cu semn reprezentate n complement fa de 2, de la 8 la 16 bi.

    Reprezentare cu 8 bii Reprezentare cu 16 bii

    + 1 00000001 0000000000000001

    - 1 11111111 1111111111111111

    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 semnificativeale numrului extins.

    - Restul poziiilor din numrul extins se completeaz cu cifre binare identice cu cea carereprezint 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 doucifre zecimale, una pe nibble-ul mai puin semnificativ i cealalt pe nibble-ul superior. Plaja denumere zecimale acoperit de o reprezentare cu 8 bii se micoreaz de la 256 la 100 de numere:0 99.

    - Reprezentarea "ZCB nempachetat" n care fiecare octet cuprinde o singur cifr zecimalpe 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 reprezentapartea ntreagi respectiv partea zecimal a unui numr.

    Se poate folosi fie reprezentarea n binar natural fie n ZCB. Pentru partea ntreag sefolosete regula de reprezentare a numerelor ntregi cu semn, iar pentru partea zecimal regula dereprezentare 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 careurmeaz s fie reprezentat.

  • 7/29/2019 sisteme cu microprocesoare unitatea de invatare 1

    7/10

    Arhitectura microprocesoarelor

    10

    Se rezerv, apoi, un ir de bii n care se nscrie numrul de zecimale cu care se vareprezenta numrul. Urmeaz reprezentarea propriu-zis a numrului niruind reprezentrile pentru partea

    ntreagi cea zecimal fr o alt delimitare explicit ntre ele.

    Un exemplu n ZCB mpachetat:

    0000 0100 0010 0000 1001 0110 0001 0101 ....numrul reprezentat este + 96.15 .

    5)Reprezentarea numerelor cu zecimale "cu virgul mobil"; reprezentare normalizat.

    Dou entiti informaionale: "mantisa" Mi "exponentul" EXP:

    numr binar= M * 2 EXP

    2-1 M < 20 .

    Un exemplu: b31......b24b23.......................b0 ,n care: - b31 b24 reprezint exponentul, avnd semnul n poziia b31.

    - b23 b0 reprezint mantisa cu semnul la b23.Plaja numerelor reprezentabile n acest fel: M * 2 128

    6)Formatul datelor pentru coprocesoare aritmetice

    Tabel 1.III

    Tabel1 IV

  • 7/29/2019 sisteme cu microprocesoare unitatea de invatare 1

    8/10

    Arhitectura microprocesoarelor

    11

    Tabel. V

    c)Reprezentarea datelor alfanumerice

    Vom nelege prin "date alfanumerice" sau "caractere" oricare dintre semnele care pot fitiprite de la tastatura unui calculator.

    "Seturi de caractere": grupuri minime de simboluri considerate suficiente pentru a asigura oeditare ct mai complet a unui text.

    Pentru fiecare caracter se va folosi o reprezentare binar, un cod, cu care caracterul (dintr-unset prestabilit) este n relaie biunivoc.

    Standardul "ASCII" ( de la "American Standard Code for Information Interchange") cu carese codific urmtorul set de caractere:

    - 26 de litere mari ale alfabetului latin;- 26 de litere minuscule corespunztoare;- 10 simboluri numerice: 09;

    - 20 de simboluri speciale adiionale: +, -, (, ), [, ], {, }, * , # , $ etc.

    Codificare cu 7 bii : msb : "bit de paritate". Convenia folosit este urmtoarea:msb = 0 dac codul are un numrpar de cifre binare 1;msb = 1 dac codul are un numr imparde cifre binare 1;

    De exemplu: A = 01000001;B = 01000010;C = 11000011 etc.

    Bitul de paritate fanion dedicat (P).

    1.3.2 Reprezentarea extern

    Reprezentarea extern se refer la modul n care informaia prelucrat de un microcalculatorapare 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:

    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 09i literele A F. Vom

  • 7/29/2019 sisteme cu microprocesoare unitatea de invatare 1

    9/10

    Arhitectura microprocesoarelor

    12

    folosi convenia de a utiliza litera H ca sufix pentru numerele reprezentate n hexazecimal (depild1199H).

    c) Pentru caractere se vor folosi chiar simbolurile cu care ele sunt individualizate. Programeleutilitare folosite pentru examinarea coninutului locaiilor de stocare a informaiilor fac conversiaASCII simbol caracter dac programatorul stabilete c semnificaia informaiei vizateimpune aceast conversie.

    1.3.3. Convenii pentru notaii

    1. Neterminali

    r un registru oarecare;r8 un registru de 8 bii;r16 un registru de 16 bii;ri , rj registre individualizate, diferite;

    mem o locaie de memorie oarecare (sau mai multe locaii succesive);

    mem8 o locaie de memorie de un octet;mem16 o locaie de memorie de 16 bii (pot fi dou locaii succesive dac formatul este

    octetul);mem32 o locaie de memorie de 32 de bii (pot fi patru locaii succesive dac formatul

    este octetul);memi o locaie de memorie individualizat (n scopul de a o deosebi de alte locaii de

    memorie);

    adr o adres oarecare;adr8 o adres pe 8 bii;adr16 o adres pe 16 bii;

    adr24 o adres pe 24 de bii;adri o adres individualizat (n scopul de a o deosebi de alte adrese);

    (r) coninutul unui registru oarecare;(ri, rj) coninutul a dou registre concatenate;(r)l coninutul jumtii inferioare (mai puin semnificativ) a unui registru;(r)h coninutul jumtii superioare (mai semnificativ) a unui registru;((r)) coninutul unei locaii de memorie a crei adres se afl ntr-un registru (adresare

    indirect);(mem) coninutul unei locaii de memorie oarecare;adrl jumtatea inferioar a unei adrese;adrh jumtatea superioar a unei adrese;data un operand oarecare;data8 un operand de 8 bii;data16 un operand de 16 bii;disp8 un deplasament pe 8 bii;disp16 un deplasament pe 16 bii;port un port de intrare/ieire oarecare;

    2. Terminali

  • 7/29/2019 sisteme cu microprocesoare unitatea de invatare 1

    10/10

    Arhitectura microprocesoarelor

    13

    R1, R2, A, AX, BP, A6, Dn, An nume de registre;(R1) coninutul registrului R1;(R1, R2) coninutul perechii de registre R1 i R2;((R1)) coninutul locaiei de memorie a crei adres se afl n

    registrul R1;MEM, MEM1 nume de locaii de memorie;ADR, ADRn nume de adrese;

    Operatori atribuire; concatenare;not complementare (negaie); operaia logic SAU;& operaia logicI; operaia logic SAU EXCLUSIV;+ adunare;- scdere;

    nmulire;DIV mprire ntre numere ntregi;MOD restul mpririi ntre numere ntregi;

    4. Alte simboluri:[ ] ncadreaz elemente de sintax opionale;| delimiteaz elemente de sintax alternative.

    Subiecte pentru evaluarea cunotinelor1. S se scrie diferenele dintre arhitecturile Von Neuman i Harvard. Care sunt mai

    performante i de ce?2. S se scrie asemnrile i deosebirile dintre CISC i RISC?3. S se realizeze urmtoarele operaii aritmetice n complement faa de 2:

    23h+45h=5+(-3)=7*(-4)=

    4. Care este diferena ntre reprezentarea numerelor n format real lung i real scurt.5. S se realizeze conversia numerelor 23h; 45h; 12,78; 23,645 n complement fa de 2