کنترل‌گر وقفه برنامه‌پذیر

از ویکی‌پدیا، دانشنامهٔ آزاد

در محاسبات، کنترل‌گر وقفه برنامه‌پذیر (PIC) یک مدار مجتمع است که به یک ریزپردازنده (یا CPU) کمک می‌کند تا درخواست‌های وقفه (IRQ) را که از چندین منبع مختلف (مانند دستگاه‌های ورودی و خروجی خارجی) ناشی می‌شود، کنترل کند.[۱] این به اولویت بندی IRQها کمک می‌کند تا CPU پس از ارزیابی PIC از اولویت‌های نسبی IRQ، اجرا را به مناسب‌ترین کنترل‌کننده وقفه (ISR) تغییر دهد. حالت‌های معمول اولویت وقفه شامل اولویت‌های سخت، اولویت‌های چرخشی و اولویت‌های آبشار است.[نیازمند منبع] PICها معمولاً اجازه می‌دهند ورودی‌ها را به روش قابل تنظیم برای خروجی‌ها ترسیم کنند. PIC به‌طور معمول در تراشه‌های Southbridge تعبیه شده‌است که معماری داخلی آنها با استانداردهای فروشنده چیپست تعریف شده‌است.

ویژگی‌های مشترک[ویرایش]

PICها معمولاً مجموعه مشترکی از ثبات‌ها ثبت درخواست درخواست وقفه (IRR)، ثبت سرویس (ISR)، ثبت ماسک قطع (IMR) دارند. IRR مشخص می‌کند که کدام وقفه‌ها در انتظار تأیید است و به‌طور معمول یک ثبت نمادین است که دسترسی مستقیم به آن امکان‌پذیر نیست. رجیستر ISR مشخص می‌کند که کدام وقفه‌ها تأیید شده‌اند، اما هنوز منتظر پایان دادن به وقفه (EOI) هستند. IMR مشخص می‌کند که کدام وقفه‌ها باید نادیده گرفته شوند و تأیید نشوند. یک طرح ثبت ساده مانند این اجازه می‌دهد تا حداکثر دو درخواست متناوب برای قطع وقفه همزمان، یکی در انتظار تأیید و دیگری منتظر EOI.

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

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

تعدادی از روش‌های معمول وجود دارد که تصدیق می‌کند در هنگام صدور EOI وقفه کامل شده‌است. اینها شامل تعیین اینکه کدام وقفه تمام شده‌است، استفاده از وقفه ضمنی که به اتمام رسیده‌است (معمولاً بالاترین اولویت در ISR است) و تصویب وقفه به عنوان EOI تلقی می‌شود.

انواع شناخته شده[ویرایش]

یکی از معروف‌ترین PICها، 8259A، در کامپیوتر x86 گنجانده شده‌است. در دوران مدرن، این به عنوان یک تراشه جداگانه در یک کامپیوتر x86 لحاظ نمی‌شود، بلکه به عنوان بخشی از چیپست Southbridge مادربرد است.[۲] در موارد دیگر، با کنترل‌کننده‌های وقفه پیشرفته برنامه‌ریزی شده جدیدتر جایگزین شده‌اند که از خروجی‌های وقفه بیشتر و طرح‌های اولویت دار انعطاف پذیرتر پشتیبانی می‌کنند.

جستارهای وابسته[ویرایش]

  • Intel 8259 - PIC قابل توجه از اینتل
  • کنترل‌کننده وقفه قابل برنامه‌ریزی پیشرفته (APIC)
  • OpenPIC و IBM MPIC
  • وقفه بین پردازنده (IPI)
  • قطع کردن
  • کنترل‌کننده وقفه
  • درخواست وقفه (IRQ)
  • تأخیر را قطع کنید
  • وقفه غیرقابل پوشاندن (NMI)
  • IRQL (ویندوز)

خواندن بیشتر[ویرایش]

اطلاعات بیشتر در مورد Intel APIC را می‌توان در کتابچه راهنمای توسعه دهنده نرم‌افزار IA-32 Intel Architecture، جلد 3A: راهنمای برنامه‌نویسی سیستم، قسمت ۱، فصل ۱۰ یافت، که به صورت رایگان در وب سایت اینتل موجود است.

منابع[ویرایش]

  1. Christopher Small and Stephen Manley. "A Revisitation of Kernel Synchronization Schemes". {{cite journal}}: Cite journal requires |journal= (help)
  2. https://www.intel.com/Assets/PDF/datasheet/290562.pdf

پیوند به بیرون[ویرایش]