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

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

  • فهرست:

    ندارد.


    منبع:

    ندارد.

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

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

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

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

مقدمه ميکروکنترلر در واقع يک ريز پردازنده تک تراشه اي است که شامل حافظه داده ، حافظه برنامه ، ورودي و خروجي سريال و موازي ، تايمرها ، وقفه هاي بيروني و داخلي مي باشد که تمامي آنها روي يک تراشه واحد مجتمع شده اند و مي توان آن را به قيمتي کم

مقدمه‌اي بر ميکروکنترلر 8051 باوجود اينکه بيش از بيست سال از تولد ريز پردازنده نمي‌گذرد، تصور وسيال الکترونيکي و ... بدون آنکه کار مشکي است در سال 1971 شرکت اينتل: 8080 را به عنوان اولين ريز پردازنده موفق عرضه کرد مدت کوتاهي پس از آن، موتورولا

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

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

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

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

ثبت سفارش
تعداد
عنوان محصول