|
עמוד:339
מחשב וכתגובה אנו מקבלים הודעה כי חובר רכיב חדש למחשב . הסוג השני הן פסיקות פנימיות היזומות על-ידי המעבד . את הפסיקות הפנימיות ניתן לחלק לשלושה סוגים t פסיקות תכנה הן פסיקות המוזעקות באמצעות פקודת אסמבלי . int דוגמה לפסיקת תכנה הן שימוש בשגרות DOS שתיארנו בסעיף הקודם . חריגה ( exception ) היא שגיאה שהתעוררה תוך כדי בצוע פקודה בתוכנית , כגון חלוקה ב , 0- או כתיבה לאזור בזיכרון שאליו התכנית אינה מורשה לכתוב . מלכודת , ( traP ) היא פסיקה המוזעקת בעקבות הדלקת דגל . לדוגמה , במעבד 8086 קיים דגל בשם ( Trap Flag ) TF שכאשר הוא , 1 מוזעקת פסיקה מספר 1 בסיום ביצוע כל פקודה . פסיקה זו משמשת , למשל , בתוכנות לניפוי שגיאות , למשל כדי להריץ תכנית צעד-צעד . ( single step ) המעבד בודק בסיום מחזור הבאה-וביצוע של כל הוראה אם דגל TF הוא , 1 ואם כן הוא עובר למחזור פסיקה ומזעיק את פסקה מס . . 1 מעבד 8086 מקבל בקשות פסיקה ממקורות שונים , וכל מקור דורש טיפול שונה . לכן , מקור הפסיקה מודיע ל8086- מהו סוג הפסיקה ( Type ) שהוא מבקש . ה8086- יכול לטפל ב256- סוגי פסיקה ; כל סוג מצוין באמצעות מספר שערכו בין 0 ל . 255- כדי לדעת מהו הטיפול הנדרש בהתאם לסוג הפסיקה , נעזרים בטבלה מיוחדת , הנקראת " טבלת וקטור הפסיקות" ( IVT-Interrupt Vector Table ) והיא מאוחסנת בזיכרון . הטבלה הזאת כוללת את הכתובות של שגרות שרות הפסיקות , שכל אחת מהן מתאימה לסוג פסיקה אחד . בהתאם לסוג הפסיקה ( המצוין על-ידי מספר ) המעבד פונה לשורה המתאימה בווקטור הפסיקות ( מספר הפסיקה הוא מספר השורה , ( שולף ממנה את כתובת שגרת השרות המתאימה , וניגש לבצעה . תהליך ביצוע הפסיקה כאשר מתקבלת פסיקת חומרה מהתקן חיצוני , או כשקורית חריגה במעבד , או כשמתבצעת פסיקת תכנה יזומה על-ידי הפקודה , int פועל המעבד באופן הבא י אם הפסיקה היא פסיקת חומרה , המעבד מסיים קודם כול את ביצוע ההוראה שבה הוא עוסק , ורק אחר-כך הוא נענה לבקשת הפסיקה . לאחר מכן הוא דוחף למחסנית את אוגר הדגלים , את האוגר CS ואת האוגר . IP דחיפת הערכים האלה למחסנית מאפשרת ל8086- לחזור לתכנית שהופסקה , אחרי שהוא מסיים את הטיפול בפסיקה .
|
|