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

Word 43 KB 389 22
مشخص نشده مشخص نشده کامپیوتر - 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 از پشته بازیابی می شوند .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • فهرست:

    ندارد.


    منبع:

    ندارد.


تحقیق دانش آموزی در مورد دانلود مقاله وقفه های کامپیوتری, مقاله دانشجویی با موضوع دانلود مقاله وقفه های کامپیوتری, پروژه دانشجویی درباره دانلود مقاله وقفه های کامپیوتری

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

در این پروژه سعی بر این است که علاوه بر آشنایی با میکروکنترلر AVRو محیط نرم افزاری (labview) سخت افزار،به گونه ای طراحی شود که با دریافت سیگنال آنالوگ ورودی (صوت) از میکروفن ، از طریق واحدADC میکرو این سیگنال به دیجیتال تبدیل شود و با توجه به برنامه‎ای که در داخل میکرو تعبیه شده است،این اطلاعات به داخل MMC ریخته شده ومیکرو با دریافت فرمان از کامپیوتر به صورت ارتباط سریال دستور ...

اولین خانواده میکرو کنترلر ها با نام MCS-51 توسط شرکت اینتل طراحی و ساخته شد .بعد ها شرکت های دیگری تحت مجوز اینتل شروع به تولید IC های میکرو کنترلر کردند . از خانواده MCS-51 اولین عضو 8051 می باشد مشخصات این IC به صورت زیر است: 1 - 4 کیلو بایت ROM 2- 128 بایت RAM 3 - 4 پورت ورودی و خروجی 8 بیتی 4 - دو تایمر/شمارنده 16 بیتی 5 - رابط سریال برای ارتیاط با دیگر وسایل 6 - 64 کیلو ...

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

مقدمه میکروکنترلر در واقع یک ریز پردازنده تک تراشه ای است که شامل حافظه داده ، حافظه برنامه ، ورودی و خروجی سریال و موازی ، تایمرها ، وقفه های بیرونی و داخلی      می باشد که تمامی آنها روی یک تراشه واحد مجتمع شده اند و می توان آن را به قیمتی کمتر از 2 دلار تهیه نمود0 بر اساس تخمین های زده شده به طور متوسط تعداد 35 میکرو کنترلر در وسایل خانگی یک خانواده ...

مقدمه‌ای بر میکروکنترلر 8051  باوجود اینکه بیش از بیست سال از تولد ریز پردازنده نمی‌گذرد، تصور وسیال الکترونیکی و ... بدون آنکه کار مشکی است در سال 1971 شرکت اینتل: 8080 را به عنوان اولین ریز پردازنده موفق عرضه کرد مدت کوتاهی پس از آن، موتورولا، RCA و سپس Mostechnoloy و zilog انواع مشابهی را به ترتیب به نامهای Z80 , 6502 , 6800 عرضه کردند. گرچه این مدارهای مجتمع به خودی خود ...

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

مقدمه: گرچه کامپیوترهای تنها چند دهه‎ای است که با ما همراهند با این حال تأثیر عمیق آنها بر زندگی ما به تأثیر تلفن، اتومبیل و تلویزیون رقابت می‎کند. همگی ما حضور آنها را احساس می‎‏کنیم چه برنامه‎نویسان کامپیوتر و چه دریافت کنندگان صورت حسابهای ماهیانه که توسط سیستمهای کامپیوتری بزرگ چاپ شده و توسط پست تحویل داده می‎شود. تصور ما از کامپیوتر معمولاً «داده‎پردازی» است که محاسبات ...

مقدمه : گر چه کامپیوترها تنها چند دهه است که با ما همراهند .,با این حال تاثیرعمیق آنها بر زندگی ما با تاثیر تلفن , اتومبیل, و تلویزیون رقابت میکند. ما با انواع گوناگونی از کامپیوترها برخورد می کنیم که وظایفشان را زیرکانه و به طرزی آرام, کارا و فروتنانه انجام می دهند و حتی حضور آنها اغلب احساس نمی شود. ما کامپیوترها را به عنوان جز مرکزی بسیاری از فرآورده های صنعتی و مصرفی از جمله ...

کارت گرافیک دو پردازنده ای گیگابایت مدت ها از معرفی تکنولوژی SLI شرکت NVIDIA میگذرد این تکنولوژی امکان استفاده همزمان از دو کارت گرافیک بر روی یک مادربرد را فراهم میسازد . کارت گرافیک هایی که از SLI پشتیبانی میکنند بر پایه دو پردازنده گرافیکی Geforce 6800 و Geforce 6600 طراحی شده اند . در ابتدای معرفی این تکنولوژی فقدان مادربردهایی که دو درگاه PCI Express X16 را برای سوار کردن ...

ثبت سفارش