ההבדל בין פסיקה לבין חריג

Anonim

פסיקה לעומת חריגה

בכל מחשב, במהלך ביצועו הרגיל של תוכנית, יכולות להיות אירועים שעלולים לגרום למעבד להפסיק זמנית. אירועים כמו זה נקראים interrupts. הפרעות יכולות להיגרם על ידי תקלות בתוכנה או בחומרה. Interrupts חומרה נקראים (פשוט) interrupts, בעוד interrupts תוכנה נקראים חריגים. לאחר הפסקות (תוכנה או חומרה) עולה, השליטה מועברת לשגרה מיוחדת שנקראת ISR (Interrupt Service Routing), אשר יכולה לטפל בתנאים המועלים על ידי ההפרעה.

-> ->

מה זה פסיקה?

המושג "פסיקה" שמור בדרך כלל לפסיקות חומרה. הם הפרעות של בקרת תוכניות הנגרמות על ידי אירועי חומרה חיצוניים. כאן, חיצוני פירושו חיצוני CPU. הפרעות חומרה בדרך כלל מגיעים ממקורות רבים ושונים כגון שבב טיימר, התקני פריפריה (מקלדות, עכבר וכו '), יציאות I / O (טורי, מקבילי וכו'), כונני דיסקים, שעון CMOS, כרטיסי הרחבה (כרטיס קול, וידאו כרטיס, וכו '). פירוש הדבר שקטעי חומרה כמעט לעולם אינם מתרחשים עקב אירוע הקשור לתוכנית הביצוע. לדוגמה, אירוע כמו לוחץ על המקלדת על ידי המשתמש, או תזמון שעון עצר פנימי יכול להעלות סוג זה של פסיקה ויכול להודיע ​​למעבד כי מכשיר מסוים צריך קצת תשומת לב. במצב כזה המעבד יפסיק את מה שהוא עושה (i משהה את התוכנית הנוכחית), מספק את השירות הנדרש על ידי המכשיר יחזור התוכנית הרגילה. כאשר הפרעות בחומרה מתרחשות והמעבד מפעיל את ה- ISR, הפרעות חומרה אחרות מושבתות (לדוגמה, במכונות 80 × 86). אם אתה צריך הפרעות חומרה אחרות להתרחש בזמן ISR פועל, אתה צריך לעשות את זה במפורש על ידי ניקוי דגל פסיקה (עם הוראות sti). במכונות 80 × 86, ניקוי דגל הפסיקה ישפיע רק על הפרעות בחומרה.

-> ->

מה זה חריגים?

חריגה היא פסיקה תוכנה, אשר ניתן לזהות שגרת המטפל מיוחד. חריגה יכולה להיות מזוהה באופן אוטומטי מלכודת (מלכודת יכולה להיות מזוהה כהעברה של שליטה, אשר יזמה על ידי המתכנת). בדרך כלל, אין הוראות ספציפיות הקשורות חריגים (מלכודות נוצרות באמצעות הוראה ספציפית). לכן, יוצא מן הכלל מתרחשת עקב מצב "חריג" המתרחש במהלך ביצוע התוכנית. לדוגמה, חלוקה לפי אפס, ביצוע של שגיאת אופקוד בלתי חוקית או תקלה הקשורה לזיכרון עלולה לגרום לחריגים. בכל פעם שמתרחשת חריגה, המעבד משעה באופן זמני את התוכנית שהיא מבצעת ומפעיל את ה- ISR. ISR יכלול מה לעשות עם החריג. זה עשוי לתקן את הבעיה או אם זה בלתי אפשרי זה עלול לבטל את התוכנית בחינניות על ידי הדפסת הודעת שגיאה מתאימה.למרות הוראה ספציפית אינו גורם חריג, חריגה תמיד תיגרם על ידי הוראה. לדוגמה, החלוקה לפי שגיאת אפס יכולה להתרחש רק במהלך ביצוע ההוראה החלוקה.

-> ->

מה ההבדל בין פסיקה לבין חריגה?

קטעים מפסיקים את החומרה, ואילו החריגים הם מפריעים לתוכנה. התרחשויות של הפרעות חומרה משבשות בדרך כלל הפרעות חומרה אחרות, אך הדבר אינו נכון לגבי חריגים. אם עליך לבטל את הפרעות החומרה עד להצגת חריגה, עליך לנקות את דגל הפסיקה במפורש. ובדרך כלל דגל הפסיקה במחשב משפיע על הפרעות (חומרה) בניגוד לחריגים. משמעות הדבר היא כי ניקוי דגל זה לא ימנע חריגים.