دانلود مقاله وقفه های کامپیوتری

  • Code: # 389

  • تعداد صفحات: 22
  • فرمت فایل: Word
  • سال: مشخص نشده
  • مقطع: مشخص نشده
  • دسته بندی: کامپیوتر - IT
قیمت جدید: ۱۰,۰۰۰ تومان
۱۶,۰۰۰ تومان
دانلود
  • خلاصه
  • فهرست
  • خلاصه دانلود مقاله وقفه های کامپیوتری

    از نظر مجازی .

    تمام کامپیوتر ها راهکاری را فراهم می کنند تا قطعات دیگر (‌مثل I/O و حافظه ) ،‌در کار عادی پردازنده وقفه ایجاد کنند .جدول زیر متداول ترین وقفه ها را نشان می دهد .

    جدول : دسته بندی وقفه ها برنامه وقفه هایی که در اثر بعضی از شرایط حاصل از اجرایی یک دستور العمل ،‌مثل سرریز ، تقسیم بر صفر ، سعی در اجرای دستور العمل نامعتبر ماشین ، و خروج از فضای حافظه مجازی رخ می دهند .

    تایمر وقفه ای که توسط تایمر موجود در پردازنده ایجاد می شود .

    این وقفه موجب می شود سیستم عامل بعضی از اعمال را به طور منظم انجام دهد .

    I/O وقفه ای که توسط کنترلگر I/O ایجاد می شود تا کامل شدن یک عملیات یا وجود خطاهایی را در انجام عملیات اعلان کند .

    خرابی سخت افزار این وقفه در اثر خرابی های مثل خرابی منبع تغذیه یا خطای توازن در حافظه رخ می دهد .

    وقفه ها ابتدا برای بهبود کارایی پردازنده ایجاد شدند .

    به عنوان مثال ، اغلب دستگاه های I/O خیلی کندتر از پردازند ه اند .

    فرض کنید پردازنده ای بر اساس الگوی چرخ داده هایی را به چاپگر ارسال می کند پس از هر عملیات نوشتن ، پردازنده باید متوقف شود و منتظر بماند تا چاپگر آمادگی خودش را اعلان کند .

    مدت این انتظار ممکن است صدها یا هزاران برابر چرخه های دستور العملی باشد که با حافظه کار ندارند .

    بدیهی است که زمان CPU به هدر می رود .

    در این شکل ، برنامه کاربر در بین فراخوانی های دستورالعمل WRIT (‌جهت عمل نوشتن ) ،‌پردازش هایی را انجام می دهد .

    مجموعه دستورات 1 و 2 و 3 فاقد I/O هستند فراخوانی WRITE منجر به اجرای برنامه I/O می شود که یک برنامه سودمند سیستم است وعمل I/O واقعی را انجام می دهد .

    این برنامه I/O شامل سه بخش است : دنباله ای از دستور العمل ها که درشکل مشخص شد و عمل I/O واقعی را انجام می دهند این عملیات ممکن است داده های خروجی را در میانگیری ذخیره کند و پارامترهایی را برای فرمان دادن به دستگاه آماده نماید .

    فرمان I/O واقعی ، بدون استفاده از وقفه ها ، وقتی این فرمان صادر می شود ، برنامه ممکن است منتظر دستگاه I/O بماند تا این دستگاه وظیفه اش را انجام دهد ( یا به طور متناوب ، وضعیت دستگاه I/O را کنترل نماید تا مشخص شود عمل I/O تمام شد یا خیر ).

    دنباله ای از دستور العمل ها که در شکل با شماره 5 مشخص شد و عملیات را کامل می کند .

    این عملیات ممکن است برچسبی را مقدار دهد که نشان دهنده موفقیت یا شکست آن باشد .

    چون کامل شدن عمل I/O ممکن است مدت زیادی طول بکشد ، برنامه I/O منتظر می ماند تا عمل I/O کامل شود .

    لذا برنامه I/O در نقطه فراخوانی WRITE به مدت زیادی منتظر می ماند .

    وقفه ها و چرخه دستور العمل با استفاده از وقفه ها ، وقتی که عمل I/O در حال انجام است ،‌پردازنده می تواند دستور العمل های دیگری را اجرا کند .

    جریان کنترل را در شکل در نظر بگیرید .

    همانند قبل ،‌برنامه کار به نقطه ای می رسد که WRITE را فراخوانی می کند که یک فراخوان سبستم است .

    برنامه I/O که به این روش فراخوانی شد .

    فقط شامل کد آماده سازی و فرمان I/O واقعی است .

    پس از اجرای این دستور العمل ها ،‌کنترل به برنامه کاربر بر می گردد .

    در همین زمان ،‌دستگاه خارجی مشغول پذیرش داده ها از حافظه کامپیوتر و چاپ کردن آن است .

    این عملیات I/O به طور همزمان با دستور العمل های برنامه کار در حال اجرا است .

    وقتی دستگاه خارجی آماده ارائه خدمات شد ، یعنی آماده شد تا داده های بیشتری را از پردازنده بپذیرد ، قطعه I/O مربوط به آن دستگاه خارجی ، سیگنال درخواست وقفه را به پردازنده می فرستد .

    پردازنده در پاسخ به این درخواست وقفه ، عمل برنامه فعلی را به تعویق می اندازد ، به برنامه ای می رود تا به آن دستگاه I/O خدمات دهد و پس از ارائه خدمات به آن دستگاه ،‌اجرای برنامه به تعویق افتاده را از سر می گیرد .

    برنامه ای که در اثر وقوع وقفه اجرا می شود تا به آن دستگاه I/O خدمات دهد ،‌اداره کننده وقفه نام دارد از دیدگاه برنامه کاربر ،‌وقفه موجب می شود برنامه ای که در حال اجرا است به تعویق افتد .

    وقتی پردازش وقفه کامل شد ، اجرای برنامه از سر گرفته می شود لذا برنامه کاربر نباید کد خاصی برای پشتیبانی از وقفه داشته باشد ، بلکه پردازنده و سیستم عامل ،‌مسئول به تعویق انداختن برنامه کاربر واز سرگیری آن پس از پردازش وقفه اند .

    برای پشتیبانی از وقفه ها ، چرخه وقفه به چرخه دستور العمل اضافه می شود در چرخه وقفه ، پردازنده سعی می کند تا ببین آیا وقفه ای رخ داد یا خیر .

    وقفه یا سیگنال وقفه مشخص می شود .

    اگر هیچ وقفه ای رخ نداده باشد ، پردازنده به چرخه واکشی ادامه می دهد و دستورالعمل بعدی برنامه فعلی را واکشی می کند .اگر وقفه ای رخ داده باشد ،‌پردازنده اجرای برنامه فعلی را به تعویق می اندازد و روال اداره کننده وقفه را اجرا می کند و برنامه اداره کننده وقفه ، عموماً بخشی از سیستم عامل است .

    این برنامه ، ماهیت و قفه را تعین کرده عمل مورد نیاز را انجام می دهد .

    در مثالی که مطرح کردیم ،‌اداره کننده وقفه تعیین می کند کدام قطعه I/O وقفه را تولید کرد و ممکن است به برنامه ای برود که داده های بیشتری را در قطعه I/O می نویسد .

    وقتی روال اداره کننده وقفه کامل شد ، پردازنده می تواند اجرای برنامه کاربر را از نقطه ای که به تعویق افتاد از سر گیرد .

    بدیهی است که در این فرآیند ، سربارهایی وجود دارد دستور العمل های اضافی بایددر روال اداره کننده وقفه اجرا شوند تا ماهیت وقفه را تعیین کنند و سپس عمل مورد نظر را انجام دهند .

    بااین وجود ،‌چون زمان زیادی انتظار تکمیل عمل I/O صرف می شود ، با استفاده از وقفه ها ، پردازنده با کارایی بیشتری استفاده می گردد.

    برای این که قدر این کارایی را بدانید یک نمودار زمانی براساس جریان کنترل است زمان لازم برای عمل I/O نسبتاً کوتاه است ،‌به طوری که این زمان ، از زمان لازم برای کامل شدن اجرای دستور العمل های بین دو دستور العمل نوشتن در برنامه کاربر ، کمتر است .

    در حالت عادی ،‌به ویژه برای دستگاه کندی مثل چاپگر ،‌زمان لازم برای عمل I/O خیلی بیشتر از زمان اجرای دنباله ای از دستور العمل های کاربر است ، در این حالت ، برنامه کار بر قبل از کامل شدن عمل I/O جدیدی آغاز گردد.

    شکل بعدی تنظیم زمانی این وضعیت را با استفاده وقفه ها و بدون استفاده از وقفه ها نشان می دهد .

    می بینیم که کارایی تا حدی بهبود می یابد ، زیرا در اثنای عمل I/O دستور العمل کاربر اجرا می شوند .

    پردازش وقفه وقوع وقفه منجر به رویدادهایی در نرم افزار و سخت افزار پردازنده می شود دنباله ای از این رویدادها نشان می دهد وقتی دستگاه I/O ،‌یک عمل I/O را کامل می کند .

    دنباله ای از رویدادهای سخت افزاری زیر رخ می دهد : 1 این دستگاه ، سیگنال وقفه را به پردازنده می فرستد.

    2 پردازنده قبل از پاسخگویی به وقفه ،‌اجرای دستور العمل فعلی را به پایان می‌رساند 3 پردازنده وجود وقفه را بررسی می کند و می بیند که وقفه ای رخ داده است ووصول سیگنال وقفه را به دستگاه صادر کننده وقفه اعلام می کند ، این اعلام وصول به دستگاه اجازه می دهد تا سیگنال وقفه اش را حذف کند .

    4 اکنون پردازنده باید آماده انتقال کنترل به روال وقفه شود .

    ابتدا باید اطلاعات لازم را برای از سرگیری برنامه فعلی از نقطه وقوع وقفه ، ذخیره نماید .

    حداقل اطلاعات لازم ،‌کلمه وضعیت برنامه (PSW) و محل دستور العمل بعدی (PC) است .

    این اطلاعات را می توان در پشته کنترل سیستم ذخیره کرد.

    5 اکنون پردازنده ، آدرس محل ورود به روال وقفه ای را که به این وقفه پاسخ می دهد ، درشمارنده برنامه (PC) قرار می دهد .

    بسته به معماری کامپیوتر وطراحی سیستم عامل ، ممکن است برای هر نوع وقفه یک برنامه اداره کننده وقفه وجودداشته باشد یا برای هر دستگاه و هر وقفه چنین برنامه ای موجود باشد اگر بیش از یک روال اداره کننده وقفه وجود داشته باشد ، پردازنده باید تصمیم بگیرد کدام را فراخوانی کند .

    این اطلاعات ممکن است در سیگنال وقفه اصلی وجودداشته باشد ، یا ممکن است پردازنده از دستگاه صادر کننده وقفه درخواست کند که این اطلاعات را در اختیارش قرار دهد .

    وقتی شمارنده برنامه بار شد ، پردازنده به چرخه دستور العمل بعدی می رود که با چرخه واکشی دستور العمل شروع می شود .

    چون واکشی دستور العمل توسط محتویات شمارنده برنامه تعیین می شود ،‌نتیجه اش این است که کنترل به برنامه اداره کننده وقفه منتقل می شود .

    اجرای این برنامه منجر به عملیات زیر می‌گردد : 6 در این نقطه ،‌شمارنده برنامه و PSW برنامه ای که دچار وقفه شد ، در پشته سیستم ذخیره شده است .

    اما ، اطلاعات دیگری وجود دارد که به عنوان بخشی از حالت برنامه در حال اجزا محسوب می شود .

    به خصوص محتویات ثبات های پردازنده باید ذخیره شوند ، زیرا این ثبات ها ممکن است توسط روال اداره کننده وقفه استفاده شوند .

    6ـ در این نقطه ،‌شمارنده برنامه و PSW برنامه ای که دچار وقفه شد ، در پشته سیستم ذخیره شده است .

    بنابراین تمام این مقادیر و سایر اطلاعات مربوط به حالت برنامه باید ذخیره شوند .

    معمولاً روان اداره کننده وقفه با ذخیره محتویات تمام ثبات ها شروع می شود .

    سایر اطلاعات مربوط به حالت برنامه در حال اجرا که باید ذخیره شوند ، در این مثال ، برنامه کاربر پس از اجرای دستور العمل موجود در محل N دچار وقفه می شود .

    محتویات تمام ثابت ها و آدرس دستور العمل بعدی (N+1) در پشته کنترل ذخیره می شود که در مجموع M کلمه است .

    مقدار اشاره گر پشته عوض می شود تا به بالای پشته اشاره کند ومقدار شمارنده برنامه عوض می شود تا به روال اداره کننده وقفه اشاره کند .

    7ـ اکنون اداره کننده وقفه شروع به پردازش وقفه می کند .

    این عمل شامل بررسی اطلاعات وضعیت مربوط به عملیات I/O یا رویداد دیگری است که منجر به وقفه شده است .

    علاوه بر این ، شامل ارسال فرمان های دیگر؛ اعلام وصول هایی به دستگاه I/O است .

    8ـ وقتی پردازش وقفه کامل شد ،‌مقادیر ثبات ها که در پشته ذخیره شدند از پشته بازیابی شده در ثبات ها بار می شوند .

    9ـ درمرحله آخر ، مقادیر PC,PSW از پشته بازیابی می شوند .

    در نتیجه ، دستور العمل بعدی که اجرا می شود ،‌مربوط به برنامه ای است که به تعویق افتاد بود .

    ذخیره تمام اطلاعات مربوط به برنامه ای که دچار وقفه شد ، برای از سرگیری آن مهم است .

    علتش این است که وقفه روالی نیست که توسط برنامه فراخوانی شود ،‌بلکه وقفه در هر زمانی و در هر نقطه از اجرای برنامه می تواند رخ دهد وقوع آن قابل پیش بینی نیست .

    وقفه های چندگانه تاکنون در مورد وقوع یک وقفه بحث کردیم .

    اما ، فرض کنید چند وقفه بتواند رخ دهد .

    به عنوان مثال ،‌ممکن است برنامه ای درحال دریافت داده ها از خط ارتباطی و چاپ نتایج باشد .

    چاپگر هر وقت عمل چاپ را کامل کرد وقفه ای را صادر می کند .

    کنترلگر خط ارتباطی ،‌هر وقت به یک واحد از داده های می رسد وقفه ای را صادر می کند .

    بسته به نظام ارتباطی ، واحد داده ممکن است یک کاراکتر یا یک بلوک باشد .

    در هر مورد ،‌ممکن است در اثنای پردازش وقفه چاپگر ، وقفه ارتباطی رخ دهد .

    دو روش برای برخورد با وقفه های چندگانه وجود دارد یک روش این است که در اثنای پردازش یک وقفه سایر وقفه ها ازکار انداخته شوند .

    معنای وقفه از کار افتاده این فاصله زمانی وقفه ای رخ دهد ، عموماً منتظر می ماند و پس از این که وقفه ها دوباره به کار انداخته شدند ، پردازنده وجود وقفه ها را بررسی می کند .

    لذا وقتی برنامه کاربر در حال اجرا است و وقفه ای رخ دهد .

    وقفه ها فوراً از کار انداخته می شوند .

    پس از کامل شدن روال

  • فهرست دانلود مقاله وقفه های کامپیوتری

    فهرست:

    ندارد.


    منبع:

    ندارد.

  • ثبت سفارش
    عنوان محصول
    قیمت