Sunteți pe pagina 1din 35

SISTEME CU

MICROPROCESOARE
2014
CURS 4 MICROPROCESORUL 80286
.l. dr. ing. Radu PIETRARU

radu.pietraru@aii.pub.ro

MICROPROCESOARELE 80186/80188
Similare cu microprocesoarele 8086/8088
(dimensiune cuvnt, adres, registre interne).
80186/80188 sunt adesea denumite controlere
integrate deoarece conin anumite funcionaliti
I/O ncorporate i sunt destinate aplicaiilor
specializate (controler de cache pentru disc,
controler de reea sau chiar n reele de comutare
telefonice).
Setul de instruciuni este extins fa de 8086,
apar urmtoarele instruciuni noi: PUSHA,
POPA, BOUND, ENTER, LEAVE, OUTS, INS.

INSTRUCIUNI NOI LA 80186


BOUND verific indexul unui vector fa de o
limit dat, genereaz o ntrerupere software
dac testul eueaz;
ENTER aloc o zon de memorie n stiv,
folosit pentru implementarea procedurilor n
limbaj de nivel nalt;
LEAVE elibereaz o zon de memorie n stiv;
INS preia de la un port un ir de caractere;
OUTS trimite un ir ctre un port I/O;
POPA extrage din stiv toate registrele;
PUSHA scrie n stiv toate registrele.

CONFIGURATIA PINILOR

DIAGRAMA INTERN

PERIFERICE INTEGRATE

Generatorul de ceas intern nlocuiete circuitul


8284A reducnd numrul de componente din
sistem. Divizeaz la 2 frecvena cristalului de
cuar pentru frecvena intern de funcionare i
pentru CLKOUT.
Controler programabil de ntreruperi (PIC)
arbitreaz toate cererile de ntrerupere interne i
externe. Poate controla pn la dou circuite
externe 8259A. Altfel avem la dispoziie 5 linii
externe de ntreruperi: INT0-INT3, NMI.
6

PERIFERICE INTEGRATE (2)


Controler de ceas conine 3 timere programabile
pe 16 bii timer-ele 0 i 1 sunt utilizate pentru a
genera forme de unde pentru utilizarea extern
(pot fi corelate cu ceasul intern sau cu un o surs
de oscilaie extern) sau pentru a numra
apariia unor evenimente externe. Timer-ul 2
poate fi programat s genereze o ntrerupere
dup un numr de ciclii main poate oferi
semnal de ceas pentru alte timere sau poate fi
folosit ca mecanism de watchdog.
Circuitele 80C186EC i 80C188EC au un
mecanism watchdog separat pe 32 de bii.

PERIFERICE INTEGRATE (3)

Controler DMA cu dou sau patru (80C186EC)


canale, fiecare dintre canale permind transferul
de date ntre locaii de memorie i porturi I/O.
Similar cu 8237.
Circuit programabil pentru Chip Select circuit
integrat de memorie programabil i decodificare.
6 , 7 (modelele XL i EA) sau 10 (EB, EC) linii de
ieire pentru selectarea circuitelor de memorie.

PERIFERICE INTEGRATE (4)

Sistem pentru economisirea energiei crete


factorul de divizare a semnalului de ceas intern
(4, 8, 16). Activat software i dezactivat prin
intermediul unui eveniment hardware
(ntrerupere). Modul Power Down este activat
prin instruciunea HLT iar microprocesorul este
repornit la apariia oricrei ntreruperi.
Unitate de refresh genereaz semnalele de
refresh pentru memoria DRAM. Nu se ocup i
de multiplexarea adreselor, acest lucru intrnd n
sarcina proiectantului sistemului.

MICROPROCESORUL 80286
Proiectat pentru medii multiuser / multitasking.
Introduce, pentru prima oar n cadrul familiei,
un sistem de gestiune al memoriei care permite
adresare a pn la 16MB de memorie fizic i
pn la 1GB de memorie virtual.
Execut setul de instruciuni 8086 ntr-un numr
mai mic de ciclii main datorit optimizrii
arhitecturii interne.
A echipat sistemele de tip IBM PC AT.

10

MAGISTRALE NU MAI SUNT MULTIPLEXATE!

11

DIAGRAMA INTERN

12

CIRCUITE SUPORT

13

SEMNALE MAGISTRAL

/S1,/S0,M//IO, COD//INTA indic iniierea unui


ciclu magistral i definesc tipul ciclului de
magistral

14

SEMNALE MAGISTRAL

/BHE Bus High Enable indic transferul pe


partea superioar a magistralei de date

PEREQ, /PEACK Processor Extension Operand


Request / Acknoledge

15

SEMNALE MAGISTRAL
/BUSY Processor Extension Busy semnal de
la coprocesor care indic nceperea execuiei unei
instruciuni; cnd e activ procesorul nu trebuie s
trimit ctre coprocesor alte instruciuni
/ERROR Processor Extension Error
semnalizeaz apariia unei erori n execuia
instruciunii curente, este conectat la sistemul de
ntreruperi vectorizate (controler de ntreruperi
sistem).

16

REGISTRE INTERNE

17

REGISTRUL FLAGS

18

MODUL REAL I MODUL PROTEJAT


ncepnd cu 80286 au fost introduse dou moduri
de funcionare pentru a putea pstra
compatibilitatea n jos cu 8086 (modul real) dar a
putea face fa i noilor solicitri de funcionare
(modul protejat).
n modul real microprocesorul 80286
funcioneaz, d.p.d.v. al lucrului cu memoria, ca
un 8086 poate adresa doar 1MB de memorie,
adresa se formeaz pe 20 de bii, intervine doar
mecanismul de segmentare.
n modul protejat sunt accesibile mecanisme
avansate de gestiune a memoriei (mai ales de
protecie). Modul protejat este denumit PVAM
(Protected Virtual Address Mode).

19

MODUL PROTEJAT REGISTRUL PSW

Pentru a intra n modul protejat se execut instruciunea


LPSW care iniializeaz registrul PSW (Program Status
Word).

Din modul protejat se poate iei doar prin reset hardware.


NDP = Numeric Data Processor

20

MODUL PROTEJAT

n acest mod nu se mai folosesc adrese de segment,


registrele de segment conin un selector care indic
un descriptor dintr-o tabel.
n mod indirect, registrul de segment indic n
continuare adresa unui segment.
Exist dou tabele de descriptori, o tabel local i
una global, fiecare cu cte 8.192 descriptori. Cu alte
cuvinte se pot adresa 16.384 segmente de memorie.
Tabela global este accesibil tuturor aplicaiilor, cea
local este specific uneia singure.
Fiecare descriptor are o lungime de 8 bytes, fiecare
tabel de descriptori are o lungime de 64KB.

21

ADRESARE INTERN / ADRES FIZIC

22

SELECTORUL DE SEGMENT

23

RPL NIVELURI DE PRIVELEGII

24

DESCRIPTORUL DE SEGMENT

25

DESCRIPTORUL DE SEGMENT (2)


Adresa baz indic adresa de start a
segmentului. Avnd n vedere lungimea de 24 de
bii nu mai avem constrngerea de a ncepe de la
adrese terminate n 0000.
Limit (segment limit) conine ultimul
deplasament din cadrul segmentului. Dac avem
un segment cuprins ntre F00000H i F000FFH
atunci limita este 00FFH.
Acces rights controleaz accesul la respectivul
segment din memorie.

26

ACCESS RIGHTS

27

PROTECIA MEMORIEI

28

EXEMPLU DE ACCES

29

REGISTRE INVIZIBILE
Zon din memoria intern a microprocesorului
(la fel ca i registrele de uz general) dar care nu
sunt accesibile programatorului.
LDTR, GDTR, IDTR conin adresa de baz a
tabelelor.
TR (Task Register) conine un selector care
permite accesul la descriptorul care definete un
task (TSS).
Zona destinat tabelelor de descriptori este
denumit i Descriptor cache memory fr a
avea legtur cu memoria cache.

30

COMUTAREA DE TASK-URI
80286 ofer un mecanism intern care permite
salvarea automat a strii de execuie intern a
unui task (registre, spaiu de adrese), ncrcarea
unui alt task i dup aceia revenirea la
precedentul task
Orice task are asociat un TSS (Task State
Segment). TSS-ul task-ului curent este indicat de
registrul TR (Task Register).
n funcie de bitul NT din registrul Flags un
IRET va face un return la task-ul implicit sau la
cel precedent (back linked).

31

TASK STATE SEGMENT

32

INSTRUCTIUNI NOI LA 80286

33

INSTRUCTIUNI NOI LA 80286 (2)


CLTS Clear task-switched flag - terge bitul TS
din registrul de flag-uri. Permite emularea
software a coprocesorului matematic.
LAR Load access rights citete drepturile de
acces ntr-un registru pe 16 bii.
LSL Adjust privilege level citete i testeaz
drepturile de acces modificnd zero flag.
VERR Verify for read access
VERW Verify for write access

34

MEMORIA VIRTUAL
Tehnic prin care se lucreaz cu o zon de
memorie mai mare dect memoria fizic
permind lucrul cu programe i date de
dimensiune mare prin salvarea / rencrcarea
acestora din memoria principal n memoria
secundar.
80286 permite accesul la o memorie virtual de 1
GB dac considerm limita maxim pentru toate
segmentele utilizate (16K segmente x 64KB).

35

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