Sunteți pe pagina 1din 20

Agenda

Sisteme cu microprocesoare elemente de baza


Arhitectura microprocesorului
Arhitectura sistemului
Memoria si microprocesorul
Arhitectura Subsistemului de Intrari/Iesiri

Liliana Dobrica, Sisteme cu Microprocesoare


2013-2014

Caracteristici de baza ale microprocesorului

Intelegerea caracteristicilor de baza ale microprocesorului


este necesara pentru a-l utiliza in mod eficient prin
programare si interfatare hardware.
Microprocesoarele extrag instructiunile din memorie.
Au o structura interna formata din mai multe unitati de
procesare (UP), fiecare unitate efectueaza un anumit task.
Microprocesoarele moderne proceseaza simultan mai
multe instructiuni in etape de executie diferite. Aceasta
abilitate se numeste pipelining.

Liliana Dobrica, Sisteme cu Microprocesoare


2013-2014

Caracteristici de baza ale microprocesorului

Operarea normala a microprocesorului 8080 este urmatoarea:

Liliana Dobrica, Sisteme cu Microprocesoare


2013-2014

Structura interna a microprocesorului 80486


80486 contine mai multe unitati interne.
Fiecare unitate este proiectata sa lucreze ca
intr-o conducta cu instructiuni in diferite etape
de executie.
Unitatea de interfata cu magistrala (Bus
interface unit (BIU)) este responsabila cu
extragerea instructiunilor si cu citirea/ scrierea
datelor intre procesor si memorie.
8KB memorie cache pastreaza cele mai
recente date si instructiuni.
Coada de instructiuni cu 32 octeti de
instructiuni neexecutate este numita
prefetcher (queue).
Decodificatorul de instructiuni (Instruction
decoder (IU) ) decodifica instructiunile pentru
a fi utilizate de EUs .
Unitatile de executie (execution unit (EU))
sunt: floating point unit (FPU), control and
protection test unit, paging unit, segmentation
unit, arithmetic and logic unit (ALU).
Unitatea de adrese (Address Unit (AU))
genereaza adresele fizice.
Liliana Dobrica, Sisteme cu Microprocesoare
2013-2014

AU

Structura interna a microprocesorului 80486

Secventa de evenimente pentru 80486 este:

De remarcat starea magistralei.

Liliana Dobrica, Sisteme cu Microprocesoare


2013-2014

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).

Liliana Dobrica, Sisteme cu Microprocesoare


2013-2014

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.

Liliana Dobrica, Sisteme cu Microprocesoare


2013-2014

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)

Liliana Dobrica, Sisteme cu Microprocesoare


2013-2014

Arhitectura Sistemului

Magistrala de adrese (iesiri din microprocesor)


Lungimea adresei logice a unui microprocesor
poate fi mai mare decat cea a adresei fizice.
Unele microprocesoare folosesc aceleasi linii de
adresa pentru operatii cu memoria sau I/O, altele
au un pin M/IO\ pentru a distinge intre operatiile
cu memoria sau I/O.

Liliana Dobrica, Sisteme cu Microprocesoare


2013-2014

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.

Liliana Dobrica, Sisteme cu Microprocesoare


2013-2014

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.

Liliana Dobrica, Sisteme cu Microprocesoare


2013-2014

11

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

Liliana Dobrica, Sisteme cu Microprocesoare


2013-2014

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 .

Liliana Dobrica, Sisteme cu Microprocesoare


2013-2014

13

Microprocesorul 8086

Configuratia pinilor:
Mod minim
Mod maxim

Liliana Dobrica, Sisteme cu Microprocesoare


2013-2014

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:

Liliana Dobrica, Sisteme cu Microprocesoare


2013-2014

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.

Liliana Dobrica, Sisteme cu Microprocesoare


2013-2014

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.

Liliana Dobrica, Sisteme cu Microprocesoare


2013-2014

19

Microprocesorul 8086
Cicluri magistrala:
Ciclul magistrala de citire
Ciclul magistrala de scriere

Liliana Dobrica, Sisteme cu Microprocesoare


2013-2014

20

10

Microprocesorul 8086
Diagrama de timp a operatiei de citire

Liliana Dobrica, Sisteme cu Microprocesoare


2013-2014

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.

Liliana Dobrica, Sisteme cu Microprocesoare


2013-2014

22

11

Microprocesorul 8086

Demultiplexare magistrala
(partiala -mod minim):

Liliana Dobrica, Sisteme cu Microprocesoare


2013-2014

23

Microprocesorul 8086

Demultiplexare magistrala
(completa -mod minim):

Liliana Dobrica, Sisteme cu Microprocesoare


2013-2014

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).

Liliana Dobrica, Sisteme cu Microprocesoare


2013-2014

25

Microprocesorul 8086
Circuit suport 8288 (controler de magistral):

Liliana Dobrica, Sisteme cu Microprocesoare


2013-2014

26

13

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 Microprocesoare


2013-2014

27

Microprocesorul 8086
Configuratie magistrala mod maxim

Liliana Dobrica, Sisteme cu Microprocesoare


2013-2014

28

14

Memoria si microprocesorul

Spatiul de adrese pentru un sistem cu microprocesor


este referit fie ca memorie logica, fie ca memorie
fizica.
Memoria logica este memoria sistemului asa
cum o vede un programator.
Memoria fizica este structura hardware a
sistemului de memorie.

Liliana Dobrica, Sisteme cu Microprocesoare


2013-2014

29

Memoria si microprocesorul

Spatiul de memorie logica:


Este acelasi pentru toate microprocesoarele Intel.
Este numarat prin octeti.
Diferenta este ca unele microprocesoare contin mai
multa memorie decat altele:

Liliana Dobrica, Sisteme cu Microprocesoare


2013-2014

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.

Liliana Dobrica, Sisteme cu Microprocesoare


2013-2014

31

Memoria logica

Octetii datelor se afla in acelasi double word.

Liliana Dobrica, Sisteme cu Microprocesoare


2013-2014

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.

Liliana Dobrica, Sisteme cu Microprocesoare


2013-2014

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

Liliana Dobrica, Sisteme cu Microprocesoare


2013-2014

34

17

Memorii fizice

Liliana Dobrica, Sisteme cu Microprocesoare


2013-2014

35

Memorii fizice

Liliana Dobrica, Sisteme cu Microprocesoare


2013-2014

36

18

Memorii fizice

Liliana Dobrica, Sisteme cu Microprocesoare


2013-2014

37

Memorii fizice

Liliana Dobrica, Sisteme cu Microprocesoare


2013-2014

38

19

Arhitectura de baza I/O


Echipamentele de intrari/iesiri (I/O devices) au porturi de intrari/iesiri
(I/O ports) care sunt organizate in spatiul adreselor de intrari/iesiri
(I/O address space).
I/O address space contine 64K octeti de adrese consecutive in
domeniul 0000- FFFF.
Controllerul de intreruperi primeste cereri de intrerupere (IRQs) de la
I/O Devices. I/O Device genereaza un semnal IRQ. Controllerul de
intreruperi trebuie sa identifice care dintre intreruperile activate in
asteptare are cea mai mare prioritate. Apoi se efectueaza protocolul
cerere/confirmare a intreruperii cu microprocesorul. In final, pe
magistrala se transmite numarul tipului de intrerupere.
Fiecare numar asociat tipului de intrerupere are un vector de
intrerupere in spatiul adreselor de memorie. Vectorul de intrerupere
indica rutina care serveste intreruperea (interrupt service routine
(ISR)). ISR are rolul de a gestiona evenimentul extern.

Liliana Dobrica, Sisteme cu Microprocesoare


2013-2014

39

Basic I/O architecture

Liliana Dobrica, Sisteme cu Microprocesoare


2013-2014

40

20

S-ar putea să vă placă și