CursMS6_2014_prezentat

12
•1 © Liliana Dobrica, Sisteme cu Microprocesoare 2013-2014 1 Agenda Microprocesoarele 80286 si 80386 – modul protejat © Liliana Dobrica, Sisteme cu Microprocesoare 2013-2014 2 MICROPROCESORUL 80286 Proiectat pentru medii multitasking. Introduce, pentru prima oară în cadrul familiei, un sistem de gestiune al memoriei care permite adresare a până la 16MB de memorie fizică și până la 1GB de memorie virtuală. • Execută setul de instrucțiuni 8086 într-un număr mai mic de cicli mașină datorită optimizării arhitecturii interne. A echipat sistemele de tip IBM PC AT.

Transcript of CursMS6_2014_prezentat

Page 1: CursMS6_2014_prezentat

•1

© Liliana Dobrica, Sisteme cu Microprocesoare

2013-2014 1

Agenda

• Microprocesoarele 80286 si 80386 – modul protejat

© Liliana Dobrica, Sisteme cu Microprocesoare

2013-2014 2

MICROPROCESORUL 80286

• Proiectat pentru medii multitasking.

• Introduce, pentru prima oară în cadrul familiei, un sistem de gestiune al memoriei care permite adresare a până la 16MB de memorie fizică și până la 1GB de memorie virtuală.

• Execută setul de instrucțiuni 8086 într-un număr mai mic de cicli mașină datorită optimizării arhitecturii interne.

• A echipat sistemele de tip IBM PC AT.

Page 2: CursMS6_2014_prezentat

•2

© Liliana Dobrica, Sisteme cu Microprocesoare

2013-2014 3

MICROPROCESORUL 80286

MICROPROCESORUL 80286

• Magistralele nu mai sunt multiplexate!

© Liliana Dobrica, Sisteme cu Microprocesoare

2013-2014 4

MICROPROCESORUL 80286

MICROPROCESORUL 80286 – Diagrama interna

Page 3: CursMS6_2014_prezentat

•3

© Liliana Dobrica, Sisteme cu Microprocesoare

2013-2014 5

MICROPROCESORUL 80286

80286

Circuite suport

© Liliana Dobrica, Sisteme cu Microprocesoare

2013-2014 6

MICROPROCESORUL 80286

80286

Semnale magistrala

•S1\,S0\,M/IO\, COD/INTA\ – indică inițierea unui ciclu magistrală și definesc tipul ciclului de magistrală

Page 4: CursMS6_2014_prezentat

•4

© Liliana Dobrica, Sisteme cu Microprocesoare

2013-2014 7

80286 Semnale magistrala

•BHE\ – Bus High Enable – indică transferul pe partea superioară a magistralei de date

© Liliana Dobrica, Sisteme cu Microprocesoare

2013-2014 8

80286 Semnale magistrala

•PEREQ, PEACK\ – Processor Extension Operand Request / Acknoledge

•BUSY\ – Processor Extension Busy –semnal de la coprocesor care indică începerea execuției unei instrucțiuni; când e activ procesorul nu trebuie să trimită către coprocesor alte instrucțiuni

•ERROR\ – Processor Extension Error –semnalizează apariția unei erori în execuția instrucțiunii curente, este conectat la sistemul de întreruperi vectorizate (controler de întreruperi sistem).

Page 5: CursMS6_2014_prezentat

•5

© Liliana Dobrica, Sisteme cu Microprocesoare

2013-2014 9

80286 Modul protejat

Registrul PSW

• Pentru a intra în modul protejat se execută instrucțiunea LPSW care inițializează registrul PSW (Program Status Word)

• Din modul protejat se poate ieși doar prin reset hardware!

© Liliana Dobrica, Sisteme cu Microprocesoare

2013-2014 10

Microprocesorul 80386

•Primul microprocesor din cadrul familiei pe 32 de biți (cuvânt de date și linii de adresă => 4GB memorie fizica adresabila).

•Poate trece din modul protejat în modul real fără 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 (funcționa 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.)

Page 6: CursMS6_2014_prezentat

•6

© Liliana Dobrica, Sisteme cu Microprocesoare

2013-2014 11

Microprocesorul 80386

80386SX vs 80386DX

© Liliana Dobrica, Sisteme cu Microprocesoare

2013-2014 12

Microprocesorul 80386

Organizarea memoriei

Page 7: CursMS6_2014_prezentat

•7

© Liliana Dobrica, Sisteme cu Microprocesoare

2013-2014 13

Microprocesorul 80386

Semnale magistrala

•A31-A2 – linii de adresă – identifică cele 1G locații a 32 de biți (A0 și A1 sunt decodate intern impreuna cu marimea datei transferate în semnalele BE3\-BE0\).

• Modul real A2-A19 active

• Modul protejat: A2-A31 active

•BE3\-BE0\ – Bank enable signals – selectează accesul la un octet, word sau double-word.

• Pentru citirea unei instructiuni toate semnalele BE3\-BE0\ sunt active, 0000.

• Ce tip de date se transfera si pe care linii de date daca liniile BE3\ BE2\BE1\ BE0\ sunt 1100?

© Liliana Dobrica, Sisteme cu Microprocesoare

2013-2014 14

Microprocesorul 80386

Semnale magistrala

•BS16\ – Bus size 16 (dacă BS16\=0 atunci chiar și varianta SX operează pe magistrală de date de 16 biți – D0-D15) – dimensionarea dinamica a magistralei.

• Duplicarea datelor pentru anumite cicluri de scriere in memorie: in modul 16-bit cand datele sunt transferate doar pe partea ms a magistralei de date: D16-D32.

• Daca exista combinatia BE: 1001 pentru transferarea unui word, ce linii de date sunt utilizate? Are loc duplicare?

•NA\ – Next address – permite ca următoarea instrucțiune sau cuvânt de date să fie emis în ciclul curent de magistrală

Page 8: CursMS6_2014_prezentat

•8

© Liliana Dobrica, Sisteme cu Microprocesoare

2013-2014 15

Microprocesorul 80386

Diagrama Interna

© Liliana Dobrica, Sisteme cu Microprocesoare

2013-2014 16

Operarea in modul protejat

Arhitectura modului protejat specifica trei tabele de descriptori care trebuie definite pentru operare in acest mod: GDT, LDT si IDT:

• Global Descriptor Table (GDT) - mecanisme pentru definirea spatiului global de adrese de memorie. Memoria globala este o resursa generala a sistemului care poate fi accesata de toate programele. Contine descriptori de segmente – caracterisitici ale segmentelor memoriei globale.

• Local Descriptor Table (LDT) – spatiul local de adrese de memorie in cazul unui task. LDT are descriptorii de segment care ofera acces la segmentele de meorie de cod si date rezervate taskului curent. Fiecare task are propriul LDT. Sistemul contine mai multe LDT.

• Interrupt Descriptor Table (IDT) – contine descriptori de intererupere sau porti – mecanismul prin care microprocesorul paseaza controlul programului rutinelor de tratare a intreruperilor. Dimensiunea IDT poate fi setata sa suporte mai putin de 256 de intreruperi.

Page 9: CursMS6_2014_prezentat

•9

© Liliana Dobrica, Sisteme cu Microprocesoare

2013-2014 17

Operarea in modul protejatRegistrele invizibile programului

Pentru a accesa si specifica tabelele de descriptori, microprocesorul contine Registre Invizibile Programului

© Liliana Dobrica, Sisteme cu Microprocesoare

2013-2014 18

Operarea in modul protejatRegistrele invizibile programului

• Aceste registre controleaza microprocesorul atunci cand acesta este in modul protejat. Se observa ca fiecare registru de segment contine o zona invizibila utilizata in modul protejat numita descriptor cache.

• Descriptor cache este incarcat cu adresa de baza, limita si drepturile de acces de fiecare data cand se schimba continutul registrului segment.

• Cand registrul de segment este incarcat cu un nou continut, microprocesorul acceseaza tabela de descriptori si incarca descriptorul in portiune de cache. Acesta este pastrat si utilizat pentru accesul la segmentul de memorie pana cand continutul registrului segment se schimba din nou.

• In acest mod se evita accesele repetate la tabela de descriptori de fiecare data cand segmentul de memorie este accesat.

Page 10: CursMS6_2014_prezentat

•10

© Liliana Dobrica, Sisteme cu Microprocesoare

2013-2014 19

Operarea in modul protejatRegistrele invizibile programului

• GDTR – 48 biti: cmps 2 octeti – limita in octeti a GDT; cms 4 octeti: adresa de baza

• Ex: limita: 0FFFH; adresa de baza: 00100000H. Cat e dimensiunea tabelei (in octeti) si cati descriptori pot fi stocati?

• IDTR – 48 biti.

• Care este valoarea maxima ce poate fi asignata limitei din IDTR stiind ca microprocesorul poate servi maxim 256 niveluri de intreruperi?

• LDTR – 16 biti – asociata taskului curent.

© Liliana Dobrica, Sisteme cu Microprocesoare

2013-2014 20

Mecanismul stabilirii adresei fizice

Page 11: CursMS6_2014_prezentat

•11

© Liliana Dobrica, Sisteme cu Microprocesoare

2013-2014 21

Accesul la adrese din spatiul local

© Liliana Dobrica, Sisteme cu Microprocesoare

2013-2014 22

Spatiul global si spatiul local

Page 12: CursMS6_2014_prezentat

•12

© Liliana Dobrica, Sisteme cu Microprocesoare

2013-2014 23

Incarcarea zonei cache a registrului segment