Documente Academic
Documente Profesional
Documente Cultură
AU
Arhitectura sistemului
Comunicatia dintre sistem si
microprocesor are loc prin
trei magistrale: de adrese,
de date si de control.
Magistrala este o colectie de
semnale (fire) care
interconecteaza
componentele.
Orice sistem cu
microprocesor are intrari
pentru alimentarea cu
tensiune si pentru semnalul
de ceas (clock).
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 5
Volti. Unele microprocesoare recente pot lucra cu surse de 3.3 V
(Pentium Pro 1997); 1.75V (Pentium 4 Willamette 2001); 1.25V (Pentium
4 Prescott 2004); 1.1V (Core 2 Ketsfield 2007) realizand astfel economie
de energie si reducerea pierderilor de caldura.
Semnalul de ceas (clock) este cel care guverneaza viteza de operare a
microprocesorului si este semnalul de ceas al tuturor circuitelor
secventiale din sistem. Acest semnal determina cand au loc evenimente
in hardware. Ciclurile de ceas sunt intervale de timp discrete. In
proiectare se foloseste fie lungimea unei perioade de ceas (ex. 250
picosecunde), fie frecventa de ceas (ex. 4GHz) care este inversul unei
perioade de ceas.
Arhitectura Sistemului
Magistrala de adrese (iesiri din microprocesor).
Transmite o adresa catre sistem, adresa de memorie sau adresa
portului 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 fi
adresata 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= 4
GBytes. O adresa I/O poate avea o valoare intre 0000H si
FFFFH.
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)
Arhitectura Sistemului
Arhitectura Sistemului
Magistrala de date
Transfera date intre microprocesor si memorie sau sistemul I/O.
Latimea magistralei de date determina ci octeti sunt transferati la
un 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 un
microprocesor. Magistala de date cu latimea de 8-biti este data de
un microprocesor pe 8-biti, iar magistala de date cu latimea de 32biti este data de un microprocesor pe 32-biti.
Multiplexarea in timp se poate folosi pentru a reduce numarul de pini
ai unui microprocesor.
10
Arhitectura Sistemului
Magistrala de control
Ofera semnalele de control ce pot cauza efectuarea unei
operatii de citire sau scriere in memorie sau I/O.
Majoritatea sistemelor au cel putin 4 semnale de control in
aceasta 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 la
alta de microprocesor. In general, cu ct este mai lat magistrala de
date, cu att microprocesorul este mai rapid.
11
Arhitectura Sistemului
Configuratie de baza sistem 8086
12
Microprocesorul 8086
Descriere general:
Lansat n 1978, aflat n producie pn n anii 90
Primul circuit al familiei x86
Frecven de funcionare ntre 5 MHz i 10 MHz
Procesor pe 16 bii (cuvnt de date)
Magistral extern de adresa de 20 de bii, putea accesa un
spaiu de memorie de 1M (220)
Urmat un an mai trziu de 8088 variant cu magistral extern
de date pe 8 bii primul circuit care a echipat IBM PC .
13
Microprocesorul 8086
Configuratia pinilor:
Mod minim
Mod maxim
14
Microprocesorul 8086
Semnificatia pinilor:
RESET pin de RESET, trebuie
inut timp de 4 cicluri main pe 1.
Adresa de reset este FFFF0h; la
reset este ters bitul de stare a
intreruperilor (IF) sunt dezactivate
ntreruperile.
CLK ofer semnalul de baz de
ceas pentru microprocesor.
Vcc 5V
GND mas
READY pin de intrare care
permite strilor de WAIT n
funcionarea microprocesorului.
Cnd este 0 microprocesorul intr
n stare de ateptare i nu
efectueaz alte operaii.
Liliana Dobrica, Sisteme cu Microprocesoare
2013-2014
15
Microprocesorul 8086
Circuitul suport 8284:
16
Microprocesorul 8086
Semnificatia pinilor:
INTR Interrupt request linie de
ntrerupere extern hardware, dac
IF=1 UCP intr n ciclul de tratare a
ntreruperii dup finalizarea
instruciunii curente.
INTA\ Interrupt acknowledge
rspuns la INTR.
NMI Non-maskable interrupt
similar cu INTR dar nu testeaz IF.
17
Microprocesorul 8086
Semnificatia pinilor:
TEST\ este testat de instruciunea
WAIT. Dac este 0 instruciunea
WAIT funcioneaz ca o operaie
NOP. Dac este 1 instruciunea
WAIT ateapt pn la tranziia n
0. Utilizat n conjuncie cu
coprocesorul matematic.
HOLD pin de intrare care indic
solicitarea unui ciclul DMA. Dac
este 1 microprocesorul oprete
execuia programului i trece liniile
de magistral n stare de impedan
mrit.
HLDA Hold acknowledge,
confirmarea procesorului c a intrat
n starea de HOLD.
Liliana Dobrica, Sisteme cu Microprocesoare
2013-2014
18
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 indic un ciclu magistral
de citire, scriere. Atta timp ct sunt 0 datele sunt
valide pe magistral.
M/IO\ difereniaz ciclurile magistral cu referire la
memorie sau la porturile I/O (IO//M la 8088)
DT/R\ Data transmit/receive microprocesorul
transmite (1) sau recepioneaz (0) date pe
magistral. Utilizat pentru a comanda buferele de pe
magistrala extern de date.
DEN Data bus enable activarea buferelor de pe
magistrala extern de date.
19
Microprocesorul 8086
Cicluri magistrala:
Ciclul magistrala de citire
Ciclul magistrala de scriere
20
10
Microprocesorul 8086
Diagrama de timp a operatiei de citire
21
Microprocesorul 8086
Semnificatia pinilor:
A19/S6 A16/S3 Linii de adres / status
multiplexate; S6 este ntotdeauna 0, S5 indic starea
lui IF, S4 i S3 arat segmentul care este accesat n
ciclul magistral curent (00-ES, 01-SS, 10-CS sau
nici un segment, 11-DS) i sunt adesea utilizate prin
decodificare pentru a accesa patru bank-uri de
memorie de 1M (rezultnd nc dou linii de adres
A21, A20).
MN/MX\ Mod minim / maxim pin de intrare /
selecie, pentru modul minim pinul trebuie conectat
la +5V.
BHE\/S7 Bus High Enable indic utilizarea prii
superioare a magistralei de date (D15-D8) n cadrul
unui ciclu magistral. S7 e ntotdeauna 1.
22
11
Microprocesorul 8086
Demultiplexare magistrala
(partiala -mod minim):
23
Microprocesorul 8086
Demultiplexare magistrala
(completa -mod minim):
24
12
Microprocesorul 8086
Semnificatia pinilor (mod maxim):
S2, S1, S0 indic tipul ciclului magistral curent,
decodate de controlerul de magistral 8288: 000
interrupt acknowledge, 001 I/O read, 010 I/O
write, 011 halt, 100 opcode fetch, 101 memory
read, 110 memory write, 111 passive
RQ\/GT0\, RQ\/GT1\ request / grant pin
bidirecional pentru operaiile DMA
LOCK\ lock output utilizat pentru blocarea
perifericelor.
QS1, QS0 arat starea cozii interne de instruciuni
pentru coprocesorul matematic (00 idle, 01
first byte of opcode, 10 empty, 11 subsequent
byte of opcode).
25
Microprocesorul 8086
Circuit suport 8288 (controler de magistral):
26
13
Microprocesorul 8086
Circuit suport 8288 (controler de magistral) Semnificaie pini de ieire
27
Microprocesorul 8086
Configuratie magistrala mod maxim
28
14
Memoria si microprocesorul
29
Memoria si microprocesorul
30
15
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 doi
octeti la adresele 00122H si 00123H. Un 32-bit double word (patru
octeti consecutivi) la locatia 00120H este memorat in octetii de la
adresele 00120H, , 00123H.
Pentru o utilizare eficienta a memoriei, datele reprezentate prin
cuvinte si cuvinte duble pot fi stocate cu aliniere la limitele doubleword sau fara aliniere la aceste limite. Limitele de aliniere pentru
double-word corespund adreselor care sunt multiplu de 4, adica:
00000H, 00004H, 00008H, etc.
31
Memoria logica
32
16
Memoria logica
De exemplu: valoarea 7BA0H este stocata in memorie aliniat la double-word pentru
adresa 03000H.
Adresa mai mica, 03000H, contine valoarea 10100000B=A0H. Continutul urmatoarei
adrese, 03001H, este 01111011B = 7BH. Acesti 2 octeti reprezinta
0111101110100000B = 7BA0H.
33
Memorii fizice
Physical memories of 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 is
always 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 wide
section 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
34
17
Memorii fizice
35
Memorii fizice
36
18
Memorii fizice
37
Memorii fizice
38
19
39
40
20