Sunteți pe pagina 1din 34

SISTEME CU

MICROPROCESOARE
2014
CURS 5 MICROPROCESOARELE 80386, 80486
.l. dr. ing. Radu PIETRARU

radu.pietraru@aii.pub.ro

MICROPROCESORUL 80386
Primul microprocesor din cadrul familiei pe 32 de
bii (cuvnt de date i linii de adres => 4GB).
Poate trece din modul protejat n modul real fr
reset hardware.
Exist trei versiuni ale circuitului DX, SX i EX.
Versiunea SX este versiunea mai simpl (doar 24
de linii externe de adres i 16 linii externe de
date) destinat sistemelor care nu permiteau
magistral de 32 de linii (funciona chiar n
sisteme proiectate pentru 80286).
Versiunea EX este versiunea embedded ce
include mai multe circuite suport (controler
DRAM, 24 pini I/O, port serial, timere etc.).

80386DX VS. 80386SX

ORGANIZAREA MEMORIEI

SEMNALE MAGISTRAL
A31-A2 linii de adres identific cele 1G
locaii a 32 de bii (A0 i A1 sunt codate n
semnalele /BE3-/BE0).
/BE3-/BE0 Bank enable signals selecteaz
accesul la un octet, word sau dublu-word.
/BS16 Bus size 16 (dac /BS16=0 atunci chiar i
varianta SX opereaz pe magistral de date de 16
bii).
/NA Next address permite ca urmtoarea
instruciune sau cuvnt de date s fie emis n
ciclul curent de magistral.

ACCESUL LA MEMORIE PRIN TEHNICI


PIPELINE

80386 suport transferul acces la memorie de tip


pipeline.
Cnd o instruciune este adus din memorie
exist o fereastr de timp n care microprocesorul
st degeaba, n acest timp el poate s emit
adresa unei noi instruciuni pentru a accelera
aducerea urmtoarei instruciuni.
Aceast tehnic accelereaz accesul la memorie
n cazul sistemelor de memorie lente.
Nu n toate sistemele se poate implementa
aceast tehnic, o alt metod este introducerea
de memorie cache (level 2).

CIRCUITE DE MEMORIE INTERLEAVED


Este o alt metod de a accelera accesul la
memorie.
Presupune duplicarea magistralei de adrese
pentru a emite adresele n rafal adrese
succesive se afl pe magistral la adrese diferite.
Adresa poate fi generat chiar nainte ca
informaia de la adresa precedent s fie citite.
Nu funcioneaz ntotdeauna deoarece accesul la
memorie nu se face ntotdeauna la adrese
succesive.

DIAGRAMA INTERN

REGISTRE LA 80386
(VIZIBILE PROGRAMATORULUI)

REGISTRUL EFLAGS

10

DESCRIPTORI DE SEGMENT /
DESCRIPTORI SISTEM
Exist dou forme de descriptori la 80386: de
segment i sistem.
Descriptorii de segment indic segmente de date,
stiv sau cod

iar descriptorii sistem


definesc tabele sistem, tabele de procese (task-uri)
sau pori de acces
(gates).
11

MECANISMUL DE SEGMENTARE

Similar cu mecanismul de segmentare la 80286


dar
Apar dou registre noi de segment: FS, GS
Adresa baz a segmentului este de 32 de bii (nu 24).
Limita este pe 20 de bii 1 M (nu 16 64K).
n descriptorul de segment apare un nou bit G
(Granularity). Dac G=0 atunci limita de segment
este 1M (dimensiunea maxim FFFFFH), dac G=1
atunci limita maxim este 4G (dimensiunea maxim
FFFFF000H). Memoria virtual => 64TB.
Exemplu: Limita este egal cu 00001H. Pentru G=0
avem un segment de lungime 1 o adres, pentru
G=1 avem un segment de lungime 4K.

12

MECANISMUL DE SEGMENTARE (2)

13

DESCRIPTORUL DE SEGMENT

G Granularity
D Default registry size. D=0 registre pe 16 bii, D=1 pe 32 bii. n
modul real se utilizeaz registre pe 16 bii. Controlate de
directivele de asamblare USE16, USE32.
AVL bit la dispoziia SO. Utilizat de obicei pentru a indica
disponibilitatea segmentului referit.
14

ACCES RIGHTS BYTE


(DESCRIPTOR DE SEGMENT)
P Present (P=0, Not Present => ntrerupere
software)
DPL Descriptor privilege level
S segment, S=1 (S=0 system)
E Executable (E=1, E=0 data sau stiv)
X eXpansion, n conjucie cu E indic direcia de
extindere sau luarea n considerare a DPL
RW Read / Write
A - Accessed

15

ACCES RIGHTS BYTE


(DESCRIPTOR SISTEM)

16

VIRTUAL 8086 MODE


Mod special introdus la
80386 permite rularea
mai multor task-uri n
modul real (compatibil cu
8086).
Controlat de bitul VM din
registrul EFLAGS.
Diferena dintre modul
protejat i modul virtual
8086 este modul n care
sunt utilizate registrele.
Permite partajare
microprocesorului ntre mai
multe aplicaii DOS.
17

REGISTRE SPECIALE
Registre de control CR0-CR3; CR0 este
echivalentul lui MSW la 80286 dar pe 32 de bii.
DR0-DR7 registre de debugging
TR6-TR7 registre de paginare i caching

18

SEMNIFICAIA BIILOR DIN CR0


PG Page translation activeaz mecanismul de
paginare
ET ET=0 / 80287 , ET=1 / 80387
TS switched task
EM ntrerupere cnd se execut ESC n
conjuncie cu emularea coprocesorului
MP coprocesor prezent
PE mod protected

19

REGISTRE SPECIALE (2)

20

MECANISMUL DE PAGINARE
Permite translatarea unei adrese logice (n mod
virtual sau real) n orice adres fizic.
Se bazeaz pe Page Directory (1024 de intrri)

i pe Page Table care conine la rndul ei 1024 de


adrese fizice.
21

MECANISMUL DE PAGINARE (2)

22

MICROPROCESORUL 386EX

-cuvnt de date intern 32 bii /


extern 16 bii
-magistral extern de adrese pe
26 bii -> 64MB memorie fizic
- 5V, max 25MHz

23

PLACA EV/Z3 - MICROPROCESORUL


2.21MHz

24

PLACA EV/Z3 SISTEMUL DE MEMORIE

25

PLACA EV/Z3 SISTEMUL DE MEMORIE

26

PLACA EV/Z3 ORGANIZARE MEMORIEI


CS
UCS
CS0
CS1
CS2
CS3
CS4
CS5
CS6

Adrese
300 30F
310 31F
320 32F
330 33F
340 34F
350 35F
360 36F
370 37F

Compone
nt
EPROM S
EPROM U
RAM2
Componen
te I/O
Liber
RAM1
Liber
Liber

Adresa de
final
FFFFF
F7FFF
07FFF
0037F

Dimensiu
ne
8 bii
8 bii
16 bii
8 bii

Ready

MEM
MEM
MEM
I/O

Adresa de
nceput
F8000
F0000
04000
00300

Intern
Intern
Intern
Intern

Stri de
ateptare
8
16
2
31

MEM

00000

03FFF

16 bii

Intern

MEM I/O

Componente
Convertor digital/analogic
Interfa paralel
Tastatur
Interfa serial
Convertor analogic/digital
Display cu cristale lichide
Liber
Liber

27

PLACA EV/Z3 INTERFAA UTILIZATOR & I/O

28

PLACA EV/Z3 PORT PARALELE & SERIAL

29

PLACA EV/Z3 RESURSE MONITOR


Numrul instruciunii
INT 00H
INT 01H
INT 02H
INT 03H
INT 04H
INT 05H
INT 06H
INT 07H

Numele rutinei
IMONITOR
Rezervat
Neutilizat
Rezervat
Neutilizat
Neutilizat
Neutilizat
IMONITOR

INT 08H
INT 09H

IKEYBOARD
IDIS_BYTE

INT 0AH

IDIS_CHAR

INT 0BH

IDIS_OUTS

INT 0CH
INT 0DH

IDIS_CODE
IWAIT_MS

INT 0EH
INT 0FH
INT 10H
INT 11H
INT 12H
INT 13H
INT 14H

IAD_READ
IDA_WRITE
IBUZZER
Neutilizat
IPARAL
Neutilizat
ISERIAL

Descriere general
mprire la 0. Revine la monitor
Single-step
ntrerupere nemascabil
Punct de ntrerupere(Breakpoint)
Depire

ncheie programul utilizatorului


i revine la monitor
Citete o tast de la tastatur
Trimite un octet hexazecimal
ctre afiaj
Trimite un caracter ASCII ctre
afiaj
Trimite un ir de caractere ctre
afiaj
Trimite comenzi ctre afiaj
Ateapt un numr de
milisecunde
Citete de la converterul A/D
Comand converterul A/D
Comand buzzerul

Comand interfaa paralel


Comand interfaa serial

30

MICROPROCESORUL 80486
Produs n dou variante SX i DX
Primul circuit care include coprocesor matematic.
Versiunea SX avea coprocesor extern 80487SX
(unica diferen ntre cele dou versiuni).
Primul circuit care include memorie cache onchip (8KB sau 16KB 80486DX4).
Instruciunile se execut mult mai repede un
ciclul main fa de dou cicluri main la 80386
datorit arhitecturii pipeline.
n registrul EFLAGS apare un nou indicator
bitul AC (alignment check) indic c
microprocesorul acceseaz un word la adres
par sau impar.

31

MECANISM DE VERIFICARE A PARITII

32

MEMORIA CACHE
De tip 4-way
set associative,
fiecare linie
coninnd 16
octei sau 4
cuvinte.
Opereaz dup
principiul de
write-through.

33

EMBEDDED ULTRA-LOW POWER


INTEL486 GX PROCESSOR

Ultra-Low Power
32-Bit RISC Technology Core
8-Kbyte Write-Through Cache
Four Internal Write Buffers
Data Bus Parity Generation and Checking
16-Bit External Data Bus
176-Lead Thin Quad Flat Pack (TQFP)
Separate Voltage Supply for Core Circuitry
Fast Core-Clock Restart
Auto Clock Freeze
Ideal for Embedded Battery-Operated and
Hand-Held Applications

34

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