سورنا فایل

مرجع دانلود فایل ,تحقیق , پروژه , پایان نامه , فایل فلش گوشی

سورنا فایل

مرجع دانلود فایل ,تحقیق , پروژه , پایان نامه , فایل فلش گوشی

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

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

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


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

لینک پرداخت و دانلود در "پایین مطلب"

 فرمت فایل: word (قابل ویرایش و آماده پرینت)

 تعداد صفحات:33

از نظر مجازی . تمام کامپیوتر ها راهکاری را فراهم می کنند تا قطعات دیگر (‌مثل 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 به طور همزمان با دستور العمل های برنامه کار در حال اجرا است .


دانلود با لینک مستقیم


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

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

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

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


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

 

 

 

 

 

 

لینک پرداخت و دانلود *پایین مطلب*

فرمت فایل: Word (قابل ویرایش و آماده پرینت)

تعداد صفحه :33

 

بخشی از متن مقاله

وقفه های کامپیوتری 

از نظر مجازی . تمام کامپیوتر ها راهکاری را فراهم می کنند تا قطعات دیگر (‌مثل 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) قرار می دهد . بسته به معماری کامپیوتر وطراحی سیستم عامل ، ممکن است برای هر نوع وقفه یک برنامه اداره کننده وقفه وجودداشته باشد یا برای هر دستگاه و هر وقفه چنین برنامه ای موجود باشد اگر بیش از یک روال اداره کننده وقفه وجود داشته باشد ، پردازنده باید تصمیم بگیرد کدام را فراخوانی کند . این اطلاعات ممکن است در سیگنال وقفه اصلی وجودداشته باشد ، یا ممکن است پردازنده از  دستگاه صادر کننده وقفه درخواست کند که این اطلاعات را در اختیارش قرار دهد .

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


دانلود با لینک مستقیم


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