SlideShare a Scribd company logo
1 of 11
Download to read offline
5. ÎNTRERUPERI I EXCEP II

Ş

5.1. Defini ii
Variant de transfer al controlului

ă

Procedura general de r spuns la o cerere de întrerupere:

ă

ă

1.

se salveaz în stiv loca ia curent a programului – adresa virtual (CS) ↑ (EIP)

2.

se salveaz în stiv registrul de fanioane (EF)

3.

[ se reseteaz fanionul IF ]

4.

se salveaz în stiv codurile de eroare

5.

se transfer controlul la rutina de deservire a întreruperii (“Interrupt Handler”) prin
mecanismul adres rii indirecte, folosind o “tabel cu descriptori de întrerupere”

ă

ă

ă

ă

ă

ă

ă

ă

ă

Microcontrolere - Capitolul 5
Corneliu BURILEANU ©

1

ă

ă

ă
Observa ii:
- La Intel, pentru compatibilitate cu modul real, exist 256 de tipuri de întreruperi
i deci 256 de posibile rutine de deservire a întreruperilor
- O parte dintre tipurile de întreruperi sunt rezervate

ă

ş

Variante de întreruperi:
•Întreruperi propriu-zise (“hard”): - nemascabile
- mascabile

- capcane - “trap” (întreruperi soft)
- gre eli – “faults”
- gre eli fatale – “aborts”

ş
ş

•Excep ii:

Microcontrolere - Capitolul 5
Corneliu BURILEANU ©

2
Detaliere pentru IA16 i IA32

ş

1.

Întreruperile hard nemascabile:
- terminal dedicat (“NMI”)
- se asociaz cu TIP 2

ă

2.

Întreruperile hard mascabile:
- terminal dedicat (“INTR”)
- condi ia ca (IF)=1
- se utilizeaz numai tipurile 32 ÷ 255

ă

Capcane:
- toate întreruperile soft sunt considerate “capcane”
- se genereaz la apari ia erorilor dup efectuarea unei instruc iuni

ă

- exemplu: INTO

ă

- la revenirea din rutina de deservire a întreruperii se trece la instruc iunea imediat urm toare
celei care a generat întreruperea soft

ă

- se aplic mecanismul privilegiilor multi-nivel pentru protec ie

ă

3.

Microcontrolere - Capitolul 5
Corneliu BURILEANU ©

3
Gre eli:

ş

4.

- se genereaz la apari ia erorilor în timpul efectu rii unei instruc iuni

ă

ă

- exemplu: încercarea de acces într-o pagin non-prezent

ă

ă

- se refer la erori corectabile: revenirea din rutina de deservire a întreruperii se face chiar la

ă

instruc iunea care a generat întreruperea astfel încât sistemul de operare, dup ce a corectat

ă

eroarea, permite reluarea instruc iunii curente
- se aloc un tip specific fiec rei întreruperi tip gre eal

ă

ş

ă

ă

Gre eli fatale:

ş

- se genereaz la apari ia erorilor în timpul efectu rii unei instruc iuni

ă

ă

- eroarea este atât de sever încât revenirea la execu ia instruc iunii curente nu mai este posibil

ă

ă

- func ionarea procesorului se opre te (“halt”, “shut-down” etc.)

ş

5.

Microcontrolere - Capitolul 5
Corneliu BURILEANU ©

4
5.2. Întreruperi în modul virtual

Rutinele de deservire a întreruperilor sunt în segmente din memoria virtual

ă

Se aplic mecanismele de protec ie

ă

Tabela cu vectori de întrerupere → Tabel cu descriptori de întrerupere (IDT)

ă

Exist o singur IDT a a cum exist o singur GDT

ă

ă

ş

ă

ă

Ca i pentru GDT, exist (la Intel) un registru dedicat pentru localizarea tabelei:

ă

ş

(IDTR) = BAZA_IDT ↑ LIMITA_IDT
IDT con ine:
1.
2.
3.

por i de proces
por i pentru întreruperi
por i pentru “capcane”

Microcontrolere - Capitolul 5
Corneliu BURILEANU ©

5
5.3. Por i pentru întreruperi
Sunt descriptori de tip b3 – asem n toare por ilor de apelare

ă ă

tip

0110

Poart de întrerupere pentru 286

tip

1110

Poart de întrerupere pentru 386/486/Pentium

tip

0111

Poart de “trap” pentru 286

tip

1111

Poart de “trap” pentru 386/486/Pentium

ă
ă
ă
ă

Microcontrolere - Capitolul 5
Corneliu BURILEANU ©

6
Modul de apelare a rutinelor pentru deservirea întreruperilor:

1.

Întreruperile propriu-zise sunt vectorizate c tre por i de proces din IDT

2.

Excep iile utilizeaz în mod normal por i pentru capcane:

ă

ă

ă

ă

- procedura de r spuns las nemodificat fanionul IF

ă

ă

3.

Excep iile pot utiliza por i pentru întreruperi numai pentru compatibilitate cu modul real:
- poarta con ine adresa virtual a rutinei de deservire a întreruperii

ă

- procedura de r spuns reseteaz fanionul IF exact ca în modul real

ă

ă

Microcontrolere - Capitolul 5
Corneliu BURILEANU ©

ă

ă

Accesul la o poart e posibil numai dac Regula 1 a privilegiilor multi-nivel este respectat

7

ă

- poarta con ine adresa virtual a rutinei de deservire a întreruperii (indiferent de adresa virtual
asociat instruc iunii)

ă
Se folosesc “coduri de eroare” – informa ii adi ionale trimise în stiv înainte de transferarea controlului
la rutina de deservire a întreruperii

ă

Coduri de eroare

- INDEX i TI sunt luate din selectorul asociat segmentului în care a ap rut excep ia

ă

ş

- I = 1 indic faptul c INDEX se refer la IDT i nu “direct” la GDT sau la o LDT

ş

ă

ă

ă

- EXT = 1 indic faptul c instruc iunea curent nu e responsabil pentru generarea excep iei
(de exemplu, referin a la un segment non-prezent)

ă

ă

Microcontrolere - Capitolul 5
Corneliu BURILEANU ©

8

ă

ă
5.4. Exemple de folosire a întreruperilor în modul virtual – IA16 / IA32
TIP

Varianta
de
întrerupere

Adresa de revenire

Restartabil

Cod
eroare

Împ r ire la 0

Primul octet al instruc iunii curente

DA

NU

Func ionare “pas cu pas”

Instruc iunea urm toare

NU

NU

DA

NU

Semnifica ie

0

gre eal

1

gre eal /capcan

2

întrerupere hard

Întrerupere nemascabil

3

capcan

“Breakpoint”

Instruc iunea urm toare

DA

NU

4

capcan

INTO

Instruc iunea urm toare

DA

NU

5

gre eal

Dep ire limit tablou de date

Primul octet al instruc iunii curente

DA

NU

6

gre eal

Cod instruc iune non-valid

Primul octet al instruc iunii curente

DA

NU

7

gre eal

Coprocesor non-disponibil

Primul octet al instruc iunii curente

DA

NU

8

gre eal fatal

Dubl gre eal

Primul octet al instruc iunii curente

NU

DA

9

gre eal fatal

Eroare coprocesor

Impredictibil

NU

NU

10

gre eal

TSS non-valid

Primul octet al instruc iunii curente

DA

DA

11

gre eal

P = 0 – segment non-prezent

Primul octet al instruc iunii curente

DA

DA

12

gre eal

Eroare legat de stiv

Primul octet al instruc iunii curente

NU

DA

13

gre eal

Violare de protec ie

Primul octet al instruc iunii curente

NU

DA

14

gre eal

Eroare de paginare

Primul octet al instruc iunii curente

DA

NU

15

rezervat

16

gre eal

Eroare coprocesor

Urm torul ESC sau WAIT

NU

NU

17

gre eal

Eroare de aliniere a datelor

Primul octet al instruc iunii curente

DA

NU

ă

ă
ă
ă

ă

ă

ă

ă

ă
ă
ă

şă

ă

ă

ă

ş

ă

ă

ă
ă
ă
ă
ă

ă
ă
ă
ă
ă
ă
ă
ă
ă

ş
ş
ş
ş
ş
ş
ş
ş
ş
ş
ş
ş
ş
ş

32-255

ă

18-31

rezervate
pentru utilizator

Microcontrolere - Capitolul 5
Corneliu BURILEANU ©

9
“Restartabil”: dup înl turarea cauzei erorii, programul continu prin re-executarea instruc iunii

ă

ă

ă

- Exemplu tipic: tipul 0
- Contra-exemplu: ADC care vizeaz s înscrie rezultatul într-un segment RO

ă ă

- Cazul segmentelor non-prezente: tipul 11

Eroare legat de stiv :

ă

ă

- segment de stiv non-prezent

ă

- dep irea limitei segmentului de stiv ; ar putea fi reluat programul cu excep ia cazurilor
când se transfer mai mul i octe i în/din stiv : PUSHA i POPA

ş

ă

ă

Microcontrolere - Capitolul 5
Corneliu BURILEANU ©

10

ă

şă
Depanarea
Fanionul „capcan ” TF din registrul de fanioane

ă

1.

- genereaz întrerupere de tip 1

ă

- se invoc o rutin ce permite func ionarea “pas cu pas”

ă

ă

- folosirea por ii de apelare nu permite trecerea “pas cu pas” la programe mai privilegiate

Bitul „capcan ” pentru schimbarea procesului – T din TSS

ă

2.

- când T=1, schimbarea procesului invoc INT 1

ă

- întreruperea apare dup înc rcarea noului TSS i execu ia primei instruc iuni din noul proces

ş

ă

ă

3.

Registre “breakpoint”: la Intel DR0 – DR7
- con in adrese la care execu ia programului poate fi oprit

ă

- oprirea execu iei se face tot cu INT 1
Folosirea instruc iunii INT 3
- format pe un octet

- pentru repornire, octetul de cod se înlocuie te cu cel al instruc iunii originale, iar EIP
se decrementeaz

ş

ă

4.

Microcontrolere - Capitolul 5
Corneliu BURILEANU ©

11

More Related Content

Recently uploaded

Strategii-pentru-educatia-remedială-ppt.pptx
Strategii-pentru-educatia-remedială-ppt.pptxStrategii-pentru-educatia-remedială-ppt.pptx
Strategii-pentru-educatia-remedială-ppt.pptxMoroianuCristina1
 
Catalogul firmei de exercițiu Ancolex 2024.pptx
Catalogul firmei de exercițiu Ancolex 2024.pptxCatalogul firmei de exercițiu Ancolex 2024.pptx
Catalogul firmei de exercițiu Ancolex 2024.pptxCori Rus
 
Sistemul excretor la om, biologie clasa 11
Sistemul excretor la om, biologie clasa 11Sistemul excretor la om, biologie clasa 11
Sistemul excretor la om, biologie clasa 11CMB
 
Igiena sistemului digestiv , biologi clasa 11-a
Igiena sistemului digestiv , biologi clasa 11-aIgiena sistemului digestiv , biologi clasa 11-a
Igiena sistemului digestiv , biologi clasa 11-aCMB
 
Agricultura- lectie predare -invatare geografie cls 10
Agricultura- lectie predare -invatare geografie cls 10Agricultura- lectie predare -invatare geografie cls 10
Agricultura- lectie predare -invatare geografie cls 10CrciunAndreeaMaria
 
ziua pamantului ziua pamantului ziua pamantului
ziua pamantului ziua pamantului ziua pamantuluiziua pamantului ziua pamantului ziua pamantului
ziua pamantului ziua pamantului ziua pamantuluiAndr808555
 

Recently uploaded (6)

Strategii-pentru-educatia-remedială-ppt.pptx
Strategii-pentru-educatia-remedială-ppt.pptxStrategii-pentru-educatia-remedială-ppt.pptx
Strategii-pentru-educatia-remedială-ppt.pptx
 
Catalogul firmei de exercițiu Ancolex 2024.pptx
Catalogul firmei de exercițiu Ancolex 2024.pptxCatalogul firmei de exercițiu Ancolex 2024.pptx
Catalogul firmei de exercițiu Ancolex 2024.pptx
 
Sistemul excretor la om, biologie clasa 11
Sistemul excretor la om, biologie clasa 11Sistemul excretor la om, biologie clasa 11
Sistemul excretor la om, biologie clasa 11
 
Igiena sistemului digestiv , biologi clasa 11-a
Igiena sistemului digestiv , biologi clasa 11-aIgiena sistemului digestiv , biologi clasa 11-a
Igiena sistemului digestiv , biologi clasa 11-a
 
Agricultura- lectie predare -invatare geografie cls 10
Agricultura- lectie predare -invatare geografie cls 10Agricultura- lectie predare -invatare geografie cls 10
Agricultura- lectie predare -invatare geografie cls 10
 
ziua pamantului ziua pamantului ziua pamantului
ziua pamantului ziua pamantului ziua pamantuluiziua pamantului ziua pamantului ziua pamantului
ziua pamantului ziua pamantului ziua pamantului
 

Featured

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Mc cap 5

  • 1. 5. ÎNTRERUPERI I EXCEP II Ş 5.1. Defini ii Variant de transfer al controlului ă Procedura general de r spuns la o cerere de întrerupere: ă ă 1. se salveaz în stiv loca ia curent a programului – adresa virtual (CS) ↑ (EIP) 2. se salveaz în stiv registrul de fanioane (EF) 3. [ se reseteaz fanionul IF ] 4. se salveaz în stiv codurile de eroare 5. se transfer controlul la rutina de deservire a întreruperii (“Interrupt Handler”) prin mecanismul adres rii indirecte, folosind o “tabel cu descriptori de întrerupere” ă ă ă ă ă ă ă ă ă Microcontrolere - Capitolul 5 Corneliu BURILEANU © 1 ă ă ă
  • 2. Observa ii: - La Intel, pentru compatibilitate cu modul real, exist 256 de tipuri de întreruperi i deci 256 de posibile rutine de deservire a întreruperilor - O parte dintre tipurile de întreruperi sunt rezervate ă ş Variante de întreruperi: •Întreruperi propriu-zise (“hard”): - nemascabile - mascabile - capcane - “trap” (întreruperi soft) - gre eli – “faults” - gre eli fatale – “aborts” ş ş •Excep ii: Microcontrolere - Capitolul 5 Corneliu BURILEANU © 2
  • 3. Detaliere pentru IA16 i IA32 ş 1. Întreruperile hard nemascabile: - terminal dedicat (“NMI”) - se asociaz cu TIP 2 ă 2. Întreruperile hard mascabile: - terminal dedicat (“INTR”) - condi ia ca (IF)=1 - se utilizeaz numai tipurile 32 ÷ 255 ă Capcane: - toate întreruperile soft sunt considerate “capcane” - se genereaz la apari ia erorilor dup efectuarea unei instruc iuni ă - exemplu: INTO ă - la revenirea din rutina de deservire a întreruperii se trece la instruc iunea imediat urm toare celei care a generat întreruperea soft ă - se aplic mecanismul privilegiilor multi-nivel pentru protec ie ă 3. Microcontrolere - Capitolul 5 Corneliu BURILEANU © 3
  • 4. Gre eli: ş 4. - se genereaz la apari ia erorilor în timpul efectu rii unei instruc iuni ă ă - exemplu: încercarea de acces într-o pagin non-prezent ă ă - se refer la erori corectabile: revenirea din rutina de deservire a întreruperii se face chiar la ă instruc iunea care a generat întreruperea astfel încât sistemul de operare, dup ce a corectat ă eroarea, permite reluarea instruc iunii curente - se aloc un tip specific fiec rei întreruperi tip gre eal ă ş ă ă Gre eli fatale: ş - se genereaz la apari ia erorilor în timpul efectu rii unei instruc iuni ă ă - eroarea este atât de sever încât revenirea la execu ia instruc iunii curente nu mai este posibil ă ă - func ionarea procesorului se opre te (“halt”, “shut-down” etc.) ş 5. Microcontrolere - Capitolul 5 Corneliu BURILEANU © 4
  • 5. 5.2. Întreruperi în modul virtual Rutinele de deservire a întreruperilor sunt în segmente din memoria virtual ă Se aplic mecanismele de protec ie ă Tabela cu vectori de întrerupere → Tabel cu descriptori de întrerupere (IDT) ă Exist o singur IDT a a cum exist o singur GDT ă ă ş ă ă Ca i pentru GDT, exist (la Intel) un registru dedicat pentru localizarea tabelei: ă ş (IDTR) = BAZA_IDT ↑ LIMITA_IDT IDT con ine: 1. 2. 3. por i de proces por i pentru întreruperi por i pentru “capcane” Microcontrolere - Capitolul 5 Corneliu BURILEANU © 5
  • 6. 5.3. Por i pentru întreruperi Sunt descriptori de tip b3 – asem n toare por ilor de apelare ă ă tip 0110 Poart de întrerupere pentru 286 tip 1110 Poart de întrerupere pentru 386/486/Pentium tip 0111 Poart de “trap” pentru 286 tip 1111 Poart de “trap” pentru 386/486/Pentium ă ă ă ă Microcontrolere - Capitolul 5 Corneliu BURILEANU © 6
  • 7. Modul de apelare a rutinelor pentru deservirea întreruperilor: 1. Întreruperile propriu-zise sunt vectorizate c tre por i de proces din IDT 2. Excep iile utilizeaz în mod normal por i pentru capcane: ă ă ă ă - procedura de r spuns las nemodificat fanionul IF ă ă 3. Excep iile pot utiliza por i pentru întreruperi numai pentru compatibilitate cu modul real: - poarta con ine adresa virtual a rutinei de deservire a întreruperii ă - procedura de r spuns reseteaz fanionul IF exact ca în modul real ă ă Microcontrolere - Capitolul 5 Corneliu BURILEANU © ă ă Accesul la o poart e posibil numai dac Regula 1 a privilegiilor multi-nivel este respectat 7 ă - poarta con ine adresa virtual a rutinei de deservire a întreruperii (indiferent de adresa virtual asociat instruc iunii) ă
  • 8. Se folosesc “coduri de eroare” – informa ii adi ionale trimise în stiv înainte de transferarea controlului la rutina de deservire a întreruperii ă Coduri de eroare - INDEX i TI sunt luate din selectorul asociat segmentului în care a ap rut excep ia ă ş - I = 1 indic faptul c INDEX se refer la IDT i nu “direct” la GDT sau la o LDT ş ă ă ă - EXT = 1 indic faptul c instruc iunea curent nu e responsabil pentru generarea excep iei (de exemplu, referin a la un segment non-prezent) ă ă Microcontrolere - Capitolul 5 Corneliu BURILEANU © 8 ă ă
  • 9. 5.4. Exemple de folosire a întreruperilor în modul virtual – IA16 / IA32 TIP Varianta de întrerupere Adresa de revenire Restartabil Cod eroare Împ r ire la 0 Primul octet al instruc iunii curente DA NU Func ionare “pas cu pas” Instruc iunea urm toare NU NU DA NU Semnifica ie 0 gre eal 1 gre eal /capcan 2 întrerupere hard Întrerupere nemascabil 3 capcan “Breakpoint” Instruc iunea urm toare DA NU 4 capcan INTO Instruc iunea urm toare DA NU 5 gre eal Dep ire limit tablou de date Primul octet al instruc iunii curente DA NU 6 gre eal Cod instruc iune non-valid Primul octet al instruc iunii curente DA NU 7 gre eal Coprocesor non-disponibil Primul octet al instruc iunii curente DA NU 8 gre eal fatal Dubl gre eal Primul octet al instruc iunii curente NU DA 9 gre eal fatal Eroare coprocesor Impredictibil NU NU 10 gre eal TSS non-valid Primul octet al instruc iunii curente DA DA 11 gre eal P = 0 – segment non-prezent Primul octet al instruc iunii curente DA DA 12 gre eal Eroare legat de stiv Primul octet al instruc iunii curente NU DA 13 gre eal Violare de protec ie Primul octet al instruc iunii curente NU DA 14 gre eal Eroare de paginare Primul octet al instruc iunii curente DA NU 15 rezervat 16 gre eal Eroare coprocesor Urm torul ESC sau WAIT NU NU 17 gre eal Eroare de aliniere a datelor Primul octet al instruc iunii curente DA NU ă ă ă ă ă ă ă ă ă ă ă şă ă ă ă ş ă ă ă ă ă ă ă ă ă ă ă ă ă ă ă ă ş ş ş ş ş ş ş ş ş ş ş ş ş ş 32-255 ă 18-31 rezervate pentru utilizator Microcontrolere - Capitolul 5 Corneliu BURILEANU © 9
  • 10. “Restartabil”: dup înl turarea cauzei erorii, programul continu prin re-executarea instruc iunii ă ă ă - Exemplu tipic: tipul 0 - Contra-exemplu: ADC care vizeaz s înscrie rezultatul într-un segment RO ă ă - Cazul segmentelor non-prezente: tipul 11 Eroare legat de stiv : ă ă - segment de stiv non-prezent ă - dep irea limitei segmentului de stiv ; ar putea fi reluat programul cu excep ia cazurilor când se transfer mai mul i octe i în/din stiv : PUSHA i POPA ş ă ă Microcontrolere - Capitolul 5 Corneliu BURILEANU © 10 ă şă
  • 11. Depanarea Fanionul „capcan ” TF din registrul de fanioane ă 1. - genereaz întrerupere de tip 1 ă - se invoc o rutin ce permite func ionarea “pas cu pas” ă ă - folosirea por ii de apelare nu permite trecerea “pas cu pas” la programe mai privilegiate Bitul „capcan ” pentru schimbarea procesului – T din TSS ă 2. - când T=1, schimbarea procesului invoc INT 1 ă - întreruperea apare dup înc rcarea noului TSS i execu ia primei instruc iuni din noul proces ş ă ă 3. Registre “breakpoint”: la Intel DR0 – DR7 - con in adrese la care execu ia programului poate fi oprit ă - oprirea execu iei se face tot cu INT 1 Folosirea instruc iunii INT 3 - format pe un octet - pentru repornire, octetul de cod se înlocuie te cu cel al instruc iunii originale, iar EIP se decrementeaz ş ă 4. Microcontrolere - Capitolul 5 Corneliu BURILEANU © 11