Date post: | 12-Feb-2018 |
Category: |
Documents |
Upload: | vlad-stefan-cristian |
View: | 220 times |
Download: | 0 times |
of 20
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