آبجی
2nd March 2010, 02:25 AM
همانطوریکه در بخش های قبلی ذکر شد، وقفه یک روش برای ارتباط ریزپردازنده با دستگاهای I/O است. در واقع با این روش به ریزپردازنده اطلاع داده می شود که یک شرایط ویژه ای بوجود آمده و لازم است ریزپردازنده برنامه فعلی خود را ( که در حال اجرای آن است) قطع کرده و به اجرای برنامه ایی دیگر بپردازد.
روش وقفه یکی از روش های سرویس دهی به دستگاههای جانبی است روش دیگری هم وجود دارد و آن بررسی دستگاههایی که نیاز به سرویس دارند و سرویس دادن به آنها از طرف خود ریزپردازنده. در این روش که سرکشی یا همه پرسی (Polling) نامیده می شوند، ریزپردازنده طبق یک روتینی که از طرف برنامه کنترل می شود به تک تک دستگاههای جانبی که به سیستم متصل هستند سر زده (سرکشی) و نیاز یا عدم نیاز به اجرای برنامه مربوط به آنها را بررسی می نماید.
مثلا فرض کنید در یک سیستم مبتنی بر ریزپردازنده چهار دستگاه I/O وجود داشته باشد. ریزپردازنده در صورت استفاده از این روش سرویس دهی برای این دستگاهها، ناچار است به صورت منظم و طبق یک روتین خاصی که از طرف برنامه (برنامه نویس) تعیین شده به تک تک چهار دستگاه جانبی سر زده و بررسی نماید که آیا هر کدام از این دستگاهها نیاز به سرویس دهی دارند یا نه؟ و در صورت نیاز به سرویس دهی، برنامه مربوط به هر دستگاه را اجرا نماید و مجددا به روتین بررسی خود ادامه دهد. پرواضح است که در این روش، کنترل کاملا در اختیار برنامه و خود ریزپردازنده است و البته روش بسیار کندی هم می باشد و ممکن است بخش مهمی از زمان ریزپردازنده صرف (تلف) بررسی نیاز دستگاههای I/O گردد که ممکن است هیچ وقت نیاز به سرویس نداشته باشند. مزیت این روش عدم نیاز به سخت افزار پیچیده است. اگر ریزپردازنده کار چندان مهمی نداشته باشد روش مناسبی به نظر می رسد.
روش وقفه یکی از روش های سرویس دهی به دستگاههای جانبی است روش دیگری هم وجود دارد و آن بررسی دستگاههایی که نیاز به سرویس دارند و سرویس دادن به آنها از طرف خود ریزپردازنده. در این روش که سرکشی یا همه پرسی (Polling) نامیده می شوند، ریزپردازنده طبق یک روتینی که از طرف برنامه کنترل می شود به تک تک دستگاههای جانبی که به سیستم متصل هستند سر زده (سرکشی) و نیاز یا عدم نیاز به اجرای برنامه مربوط به آنها را بررسی می نماید.
مثلا فرض کنید در یک سیستم مبتنی بر ریزپردازنده چهار دستگاه I/O وجود داشته باشد. ریزپردازنده در صورت استفاده از این روش سرویس دهی برای این دستگاهها، ناچار است به صورت منظم و طبق یک روتین خاصی که از طرف برنامه (برنامه نویس) تعیین شده به تک تک چهار دستگاه جانبی سر زده و بررسی نماید که آیا هر کدام از این دستگاهها نیاز به سرویس دهی دارند یا نه؟ و در صورت نیاز به سرویس دهی، برنامه مربوط به هر دستگاه را اجرا نماید و مجددا به روتین بررسی خود ادامه دهد. پرواضح است که در این روش، کنترل کاملا در اختیار برنامه و خود ریزپردازنده است و البته روش بسیار کندی هم می باشد و ممکن است بخش مهمی از زمان ریزپردازنده صرف (تلف) بررسی نیاز دستگاههای I/O گردد که ممکن است هیچ وقت نیاز به سرویس نداشته باشند. مزیت این روش عدم نیاز به سخت افزار پیچیده است. اگر ریزپردازنده کار چندان مهمی نداشته باشد روش مناسبی به نظر می رسد.