اجرای Interrupt

تو پست قبلی درباره وقفه ها گفتم و قرار شد تو این پست مراحل اجراشو بزارم.
(وقفه خیلی موضوع ابتداییه ولی کاریو که شروع کردم باید تموم کنم)

وقتی یه اینتراپت رخ میده مراحل زیر که بهش میگن Interrupt Cycle اجرا میشه:

  1. سیگنال وقفه ارسال میشه

  2. سی پی یو وضعیت وقفه رو بررسی میکنه و اگه شرایطش رو داشته باشه اون رو میپذیره.

  3. حالا نوبت ذخیره اطلاعات فعلی برنامه میرسه. به این کار میگن Contex Saving. اطلاعاتی از جمله PC(Program counter)، رجیستر ها و فلگ ها ذخیره میشن تو استک.

  4. حالا سی پی یو نوع وقفه رو بررسی میکنه که ببینه از چه نوعی هستش و چه نوع هندلری (Hendler) رو باید براش استفاده کنه.(این مرحله خیلی پیچیده تر و گسترده تره ولی برای اینکه ساده سازی شه تا همین حد بدونید کافیه)

  5. سی پی یو پردازش برنامه در حال اجرا رو متوقف میکنه و Interrupt hendler که تو ISR لود کرده رو اجرا میکنه.

  6. این مرحله هم کلا وقفه داره پردازش میشه read,write کردن داده از سخت افزار کار با فلگ ها و ... که این بخش هم خیلی پیچیدست واردش نمیشم.

  7. تو این مرحله کار هندلر تموم میشه و شروع به بازیابی دیتا های ذخیره شده تو استک میکنه(مرحله۲)

  8. سی پی یو به حالت قبل برگشته و برنامه ای که در حال اجرا بود دوباره به چرخه پردازش برمیگرده.

اره دیگه خلاصه :)


نظرات

هنوز نظری ثبت نشده است.

برای ارسال نظر باید وارد شوید.