CursMS6_2014_prezentat
-
Upload
vlad-stefan-cristian -
Category
Documents
-
view
218 -
download
3
Transcript of 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.
•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
•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ă
•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).
•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.)
•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
•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ă
•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.
•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.
•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
•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
•12
© Liliana Dobrica, Sisteme cu Microprocesoare
2013-2014 23
Incarcarea zonei cache a registrului segment