CursMS2_2014_prezentat

download CursMS2_2014_prezentat

of 20

Transcript of CursMS2_2014_prezentat

  • 7/23/2019 CursMS2_2014_prezentat

    1/20

    Liliana Dobrica, Sisteme cu Microprocesoare2013-2014 1

    Agenda

    Sisteme cu microprocesoare elemente de baza

    Arhitectura microprocesorului

    Arhitectura sistemului

    Memoria si microprocesorul

    Arhitectura Subsistemului de Intrari/Iesiri

    Liliana Dobrica, Sisteme cu Microprocesoare2013-2014 2

    Caracteristici de baza ale microprocesorului

    Intelegerea caracteristicilor de baza ale microprocesoruluieste necesara pentru a-l utiliza in mod eficient prinprogramare si interfatare hardware.

    Microprocesoarele extrag instructiunile din memorie.

    Au o structura interna formata din mai multe unitati deprocesare (UP), fiecare unitate efectueaza un anumit task.

    Microprocesoarele moderne proceseaza simultan maimulte instructiuni in etape de executie diferite. Aceasta

    abilitate se numeste pipelining.

  • 7/23/2019 CursMS2_2014_prezentat

    2/20

    Liliana Dobrica, Sisteme cu Microprocesoare2013-2014 3

    Caracteristici de baza ale microprocesorului

    Operarea normala a microprocesorului 8080 este urmatoarea:

    Liliana Dobrica, Sisteme cu Microprocesoare2013-2014 4

    Structura interna a microprocesorului 80486

    80486 contine mai multe unitati interne.Fiecare unitate este proiectata sa lucreze caintr-o conducta cu instructiuni in diferite etapede executie.

    Unitatea de interfata cu magistrala (Businterface unit(BIU)) este responsabila cuextragerea instructiunilor si cu citirea/ scriereadatelor intre procesor si memorie.

    8KB memorie cache pastreaza cele mairecente date si instructiuni.

    Coada de instructiuni cu 32 octeti deinstructiuni neexecutate este numitaprefetcher(queue).

    Decodificatorul de instructiuni (Instructiondecoder (IU) ) decodifica instructiunile pentrua fi utilizate de EUs .

    Unitatile de executie (execution unit (EU))sunt: floating point unit(FPU), control andprotection test unit, paging unit, segmentationunit, arithmetic and logic unit (ALU).

    Unitatea de adrese (Address Unit (AU))genereaza adresele fizice.

    AU

  • 7/23/2019 CursMS2_2014_prezentat

    3/20

    Liliana Dobrica, Sisteme cu Microprocesoare2013-2014 5

    Structura interna a microprocesorului 80486

    Secventa de evenimente pentru 80486 este:

    De remarcat starea magistralei.

    Liliana Dobrica, Sisteme cu Microprocesoare2013-2014 6

    Arhitectura sistemului

    Comunicatia dintre sistem simicroprocesor are loc printrei magistrale: de adrese,de date si de control.

    Magistrala este o colectie desemnale (fire) careinterconecteazacomponentele.

    Orice sistem cumicroprocesor are intraripentru alimentarea cu

    tensiune si pentru semnalulde ceas (clock).

  • 7/23/2019 CursMS2_2014_prezentat

    4/20

    Liliana Dobrica, Sisteme cu Microprocesoare2013-2014 7

    Arhitectura Sistemului

    Alimentarea cu tensiune si semnalul de ceas (intrari).

    Alimentarea cu tensiune este necesara tuturor echipamentelor active(i.e. tranzistoare, porti logice, bistabili, microprocesoare, etc.).

    De obicei, microprocesorul are nevoie de 0 Volti (legatura la masa) si 5Volti. Unele microprocesoare recente pot lucra cu surse de 3.3 V(Pentium Pro 1997); 1.75V (Pentium 4 Willamette 2001); 1.25V (Pentium4 Prescott 2004); 1.1V (Core 2 Ketsfield 2007) realizand astfel economiede energie si reducerea pierderilor de caldura.

    Semnalul de ceas (clock) este cel care guverneaza viteza de operare amicroprocesorului si este semnalul de ceas al tuturor circuitelorsecventiale din sistem. Acest semnal determina cand au loc evenimentein hardware. Ciclurile de ceas sunt intervale de timp discrete. In

    proiectare se foloseste fie lungimea unei perioade de ceas (ex. 250picosecunde), fie frecventa de ceas (ex. 4GHz) care este inversul uneiperioade de ceas.

    Liliana Dobrica, Sisteme cu Microprocesoare2013-2014 8

    Arhitectura Sistemului

    Magistrala de adrese (iesiri din microprocesor).

    Transmite o adresa catre sistem, adresa de memorie sau adresaportului de intrare/iesire catre sistemul de intrari/iesiri.

    Specifica o locatie de memorie sau un port I/O.

    Latimea magistralei de adrese determina ct memorie poate fiadresata de un procesor.

    N linii de adresa pot adresa pana la 2N locatii fizice. ex.adresa pe 16-biti: 216= 64 KBytes, adresa pe 32-biti: 232= 4GBytes. O adresa I/O poate avea o valoare intre 0000H siFFFFH.

    Adresa de memorie depinde de microprocesor astfel:20-biti(8086/8088);24-biti (80286/80386SX); 25-biti (80386SL/SLC/EX);32-biti (80386DX/80486/Pentium); 36-biti (Pentium Pro/II/III)

  • 7/23/2019 CursMS2_2014_prezentat

    5/20

    Liliana Dobrica, Sisteme cu Microprocesoare2013-2014 9

    Arhitectura Sistemului

    Magistrala de adrese(iesiri din microprocesor)

    Lungimea adresei logice a unui microprocesorpoate fi mai mare decat cea a adresei fizice.

    Unele microprocesoare folosesc aceleasi linii deadresa pentru operatii cu memoria sau I/O, alteleau un pin M/IO\pentru a distinge intre operatiilecu memoria sau I/O.

    Liliana Dobrica, Sisteme cu Microprocesoare2013-2014 10

    Arhitectura Sistemului

    Magistrala de date

    Transfera date intre microprocesor si memorie sau sistemul I/O.

    Latimea magistralei de date determina ci octeti sunt transferati laun moment dat intre microprocesor si memorie.

    8-biti (8088); 16-biti (8086/80286/80386SX/SL/SLC/EX); 32-biti(80386DX/80486/Pentium); 64-biti (Pentium/Pro/II/III)

    Latimea magistralei de date defineste numarul de biti pentru unmicroprocesor. Magistala de date cu latimea de 8-biti este data deun microprocesor pe 8-biti, iar magistala de date cu latimea de 32-biti este data de un microprocesor pe 32-biti.

    Multiplexarea in timpse poate folosi pentru a reduce numarul de piniai unui microprocesor.

  • 7/23/2019 CursMS2_2014_prezentat

    6/20

    Liliana Dobrica, Sisteme cu Microprocesoare2013-2014 11

    Arhitectura Sistemului

    Magistrala de control

    Ofera semnalele de control ce pot cauza efectuarea uneioperatii de citire sau scriere in memorie sau I/O.

    Majoritatea sistemelor au cel putin 4 semnale de control inaceasta magistrala (active pe 0).

    MRDC\(Memory ReaD Control)

    MWRC\,

    IORC\(I/O Read Control),

    IOWC\.

    Latimile magistralelor de date si adrese variaza de la o versiune laalta de microprocesor. In general, cu ct este mai lat magistrala dedate, cu att microprocesorul este mai rapid.

    Liliana Dobrica, Sisteme cu Microprocesoare2013-2014 12

    Arhitectura Sistemului

    Configuratie de baza sistem 8086 Configuratie de baza sistem 8088

    Se observa variatii ale latimii magistralei de date si ale magistralei de adrese.

    Variatie si a frecventei semnalului de ceas.

    Cu fiecare nou microprocesor lansat in familia Intel a crescut si frecventa semnalului de ceas

  • 7/23/2019 CursMS2_2014_prezentat

    7/20

    Liliana Dobrica, Sisteme cu Microprocesoare2013-2014 13

    Microprocesorul 8086

    Descriere general:

    Lansat n 1978, aflat n producie pnn anii 90

    Primul circuit al familiei x86

    Frecvende funcionare ntre 5 MHz i 10 MHz

    Procesor pe 16 bii (cuvnt de date)

    Magistralexternde adresa de 20 de bii, putea accesa unspaiu de memorie de 1M (220)

    Urmat un an mai trziu de 8088 variantcu magistralexternde date pe 8 bii primul circuit care a echipat IBM PC .

    Liliana Dobrica, Sisteme cu Microprocesoare2013-2014 14

    Microprocesorul 8086

    Configuratia pinilor:

    Mod minim

    Mod maxim

  • 7/23/2019 CursMS2_2014_prezentat

    8/20

    Liliana Dobrica, Sisteme cu Microprocesoare2013-2014 15

    Microprocesorul 8086

    Semnificatiapinilor:

    RESET pin de RESET, trebuieinut timp de 4 cicluri mainpe 1.Adresa de reset este FFFF0h; lareset este ters bitul de stare aintreruperilor (IF) sunt dezactivate

    ntreruperile.

    CLK ofersemnalul de bazdeceas pentru microprocesor.

    Vcc 5V

    GND mas

    READY pin de intrare carepermite strilor de WAIT n

    funcionarea microprocesorului.Cnd este 0 microprocesorul intr

    n stare de ateptare i nuefectueazalte operaii.

    Liliana Dobrica, Sisteme cu Microprocesoare2013-2014 16

    Microprocesorul 8086

    Circuitul suport 8284:

  • 7/23/2019 CursMS2_2014_prezentat

    9/20

    Liliana Dobrica, Sisteme cu Microprocesoare2013-2014 17

    Microprocesorul 8086

    Semnificatia pinilor:

    INTR Interrupt request linie dentrerupere externhardware, dacIF=1 UCP intrn ciclul de tratare a

    ntreruperii dupfinalizareainstruciunii curente.

    INTA\ Interrupt acknowledge rspuns la INTR.

    NMI Non-maskable interrupt similar cu INTR dar nu testeazIF.

    Liliana Dobrica, Sisteme cu Microprocesoare2013-2014 18

    Microprocesorul 8086

    Semnificatia pinilor:

    TEST\ este testat de instruciuneaWAIT. Daceste 0 instruciuneaWAIT funcioneazca o operaieNOP. Daceste 1 instruciuneaWAIT ateaptpnla tranziia n0. Utilizat n conjuncie cucoprocesorul matematic.

    HOLD pin de intrare care indicsolicitarea unui ciclul DMA. Daceste 1 microprocesorul oprete

    execuia programului i trece liniilede magistraln stare de impedanmrit.

    HLDA Hold acknowledge,confirmarea procesorului ca intrat

    n starea de HOLD.

  • 7/23/2019 CursMS2_2014_prezentat

    10/20

    Liliana Dobrica, Sisteme cu Microprocesoare2013-2014 19

    Microprocesorul 8086

    Semnificatia pinilor: AD15-AD0 linii multiplexate de date i adrese (la

    8088 liniile A15-A8 conin doar partea high a adresei)

    ALE semnal de control pentru memorarea adresei

    RD\,WR\ semnale ce indicun ciclu magistralde citire, scriere. Atta timp ct sunt 0 datele suntvalide pe magistral.

    M/IO\ difereniazciclurile magistralcu referire lamemorie sau la porturile I/O (IO//M la 8088)

    DT/R\ Data transmit/receive microprocesorultransmite (1) sau recepioneaz(0) date pemagistral. Utilizat pentru a comanda buferele de pemagistrala externde date.

    DEN Data bus enable activarea buferelor de pemagistrala externde date.

    Liliana Dobrica, Sisteme cu Microprocesoare2013-2014 20

    Microprocesorul 8086

    Cicluri magistrala:

    Ciclul magistrala de citire

    Ciclul magistrala de scriere

  • 7/23/2019 CursMS2_2014_prezentat

    11/20

    Liliana Dobrica, Sisteme cu Microprocesoare2013-2014 21

    Microprocesorul 8086

    Diagrama de timp a operatiei de citire

    Liliana Dobrica, Sisteme cu Microprocesoare2013-2014 22

    Microprocesorul 8086

    Semnificatiapinilor:

    A19/S6 A16/S3 Linii de adres/ statusmultiplexate; S6 este ntotdeauna 0, S5 indicstarealui IF, S4i S3 aratsegmentul care este accesat nciclul magistralcurent (00-ES, 01-SS, 10-CS saunici un segment, 11-DS) i sunt adesea utilizate prindecodificare pentru a accesa patru bank-uri dememorie de 1M (rezultnd ncdoulinii de adresA21, A20).

    MN/MX\ Mod minim/ maxim pin de intrare /selecie, pentru modul minim pinul trebuie conectatla +5V.

    BHE\/S7 Bus High Enable indicutilizarea priisuperioare a magistralei de date (D15-D8) n cadrulunui ciclu magistral. S7 e ntotdeauna 1.

  • 7/23/2019 CursMS2_2014_prezentat

    12/20

    Liliana Dobrica, Sisteme cu Microprocesoare2013-2014 23

    Microprocesorul 8086

    Demultiplexare magistrala

    (partiala -mod minim):

    Liliana Dobrica, Sisteme cu Microprocesoare2013-2014 24

    Microprocesorul 8086

    Demultiplexare magistrala

    (completa -mod minim):

  • 7/23/2019 CursMS2_2014_prezentat

    13/20

    Liliana Dobrica, Sisteme cu Microprocesoare2013-2014 25

    Microprocesorul 8086

    Semnificatia pinilor (mod maxim): S2, S1, S0 indictipul ciclului magistralcurent,

    decodate de controlerul de magistral8288: 000 interrupt acknowledge, 001 I/O read, 010 I/Owrite, 011 halt, 100 opcode fetch, 101 memoryread, 110 memory write, 111 passive

    RQ\/GT0\, RQ\/GT1\ request / grant pinbidirecional pentru operaiile DMA

    LOCK\ lock output utilizat pentru blocareaperifericelor.

    QS1, QS0 aratstarea cozii interne de instruciuni pentru coprocesorul matematic (00 idle, 01 first byte of opcode, 10 empty, 11 subsequent

    byte of opcode).

    Liliana Dobrica, Sisteme cu Microprocesoare2013-2014 26

    Microprocesorul 8086

    Circuit suport 8288 (controler de magistral):

  • 7/23/2019 CursMS2_2014_prezentat

    14/20

    Liliana Dobrica, Sisteme cu Microprocesoare2013-2014 27

    Microprocesorul 8086

    Circuit suport 8288 (controler de magistral) -Semnificaie pini de ieire

    MRDC\ Memory Read Command

    MWTC\ Memory Write Command

    AMWC\ Advanced Memory Write Command

    IORC\ I/O Read Command

    IOWC\ I/O Write Command

    AIOWC\ Advanced I/O Write Command

    INTA\ Interrupt Acknowledge

    + DT/R\, DEN, MCE/PDEN\, ALE

    Liliana Dobrica, Sisteme cu Microprocesoare2013-2014 28

    Microprocesorul 8086Configuratie magistrala mod maxim

  • 7/23/2019 CursMS2_2014_prezentat

    15/20

    Liliana Dobrica, Sisteme cu Microprocesoare2013-2014 29

    Memoria si microprocesorul

    Spatiul de adrese pentru un sistem cu microprocesoreste referit fie ca memorie logica, fie ca memoriefizica.

    Memoria logica este memoria sistemului asacum o vede un programator.

    Memoria fizica este structura hardware asistemului de memorie.

    Liliana Dobrica, Sisteme cu Microprocesoare2013-2014 30

    Memoria si microprocesorul

    Spatiul de memorie logica:

    Este acelasi pentru toate microprocesoarele Intel.Este numarat prin octeti.

    Diferenta este ca unele microprocesoare contin maimulta memorie decat altele:

  • 7/23/2019 CursMS2_2014_prezentat

    16/20

    Liliana Dobrica, Sisteme cu Microprocesoare2013-2014 31

    Memoria si microprocesorul

    Memoria logica Pentru adresarea unui cuvant de memorie (16-bit word) sunt accesati

    doi octeti consecutivi.

    Exemplu: Un cuvant (word) la locatia 00122H este memorat in doiocteti la adresele 00122H si 00123H. Un 32-bit double word (patruocteti consecutivi) la locatia 00120H este memorat in octetii de laadresele 00120H, , 00123H.

    Pentru o utilizare eficienta a memoriei, datele reprezentate princuvinte si cuvinte duble pot fi stocate cu aliniere la l imitele double-word sau fara aliniere la aceste limite. Limitele de aliniere pentrudouble-word corespund adreselor care sunt multiplu de 4, adica:00000H, 00004H, 00008H, etc.

    Liliana Dobrica, Sisteme cu Microprocesoare2013-2014 32

    Memoria logica

    Octetii datelor se afla in acelasi double word.

  • 7/23/2019 CursMS2_2014_prezentat

    17/20

    Liliana Dobrica, Sisteme cu Microprocesoare2013-2014 33

    Memoria logica

    De exemplu: valoarea 7BA0H este stocata in memorie aliniat la double-word pentruadresa 03000H.

    Adresa mai mica, 03000H, contine valoarea 10100000B=A0H. Continutul urmatoareiadrese, 03001H, este 01111011B = 7BH. Acesti 2 octeti reprezinta0111101110100000B = 7BA0H.

    Liliana Dobrica, Sisteme cu Microprocesoare2013-2014 34

    Memorii fizice

    Physical memoriesof the Intel family members differ in width.

    8088 memory is 8 bits wide;

    8086, 80186, 80286, 80386SX memories are 16 bits;

    80386DX, 80486 memories are 32 bits wide and

    Pentium is 64 bits.

    For the programming there is no difference because the logical memory isalways 8 bits wide, but there is a difference for the hardware designer.Memory is organized in memory banks. A memory bank is an 8-bit widesection of memory.

    8-bit microprocessor: 1 memory bank; (ex. 8088)

    16-bit microprocessors: 2 memory banks: bytes, words (ex. 8086)

    32-bit microprocessors: 4 memory banks: bytes, words, double words 64-bit microprocessors: 8 memory banks: bytes, words, double words,

    quad words

  • 7/23/2019 CursMS2_2014_prezentat

    18/20

    Liliana Dobrica, Sisteme cu Microprocesoare2013-2014 35

    Memorii fizice

    Liliana Dobrica, Sisteme cu Microprocesoare2013-2014 36

    Memorii fizice

  • 7/23/2019 CursMS2_2014_prezentat

    19/20

    Liliana Dobrica, Sisteme cu Microprocesoare2013-2014 37

    Memorii fizice

    Liliana Dobrica, Sisteme cu Microprocesoare2013-2014 38

    Memorii fizice

  • 7/23/2019 CursMS2_2014_prezentat

    20/20

    Liliana Dobrica, Sisteme cu Microprocesoare2013-2014 39

    Arhitectura de baza I/O

    Echipamentelede intrari/iesiri (I/O devices) au porturi de intrari/iesiri(I/O ports) care sunt organizate in spatiuladreselor de intrari/iesiri(I/O address space).

    I/O address space contine 64K octeti de adrese consecutive indomeniul0000- FFFF.

    Controllerulde intreruperi primeste cereri de intrerupere (IRQs) de laI/O Devices. I/O Device genereaza un semnal IRQ. Controllerul deintreruperi trebuie sa identifice care dintre intreruperile activate inasteptare are cea mai mare prioritate. Apoi se efectueaza protocolulcerere/confirmare a intreruperii cu microprocesorul. In final, pemagistralase transmite numarul tipului de intrerupere.

    Fiecare numar asociat tipului de intrerupere are un vector deintrerupere in spatiul adreselor de memorie. Vectorul de intrerupereindicarutina care serveste intreruperea (interrupt service routine

    (ISR)). ISR are rolul de a gestiona evenimentul extern.

    Liliana Dobrica, Sisteme cu Microprocesoare2013-2014 40

    Basic I/O architecture