Intel 8259
انٹیل 8259 ایک پروگرام ایبل انٹرپٹ کنٹرولر (پی آئی سی) ہے جو انٹیل 8085 اور انٹیل 8086 مائکرو پروسیسرز کے لیے ڈیزائن کیا گیا ہے۔ ابتدائی حصہ 8259 تھا، بعد میں ایک لاحقہ ورژن اوپر کی طرف مطابقت رکھتا تھا اور 8086 یا 8088 پروسیسر کے ساتھ قابل استعمال تھا۔ 8259 متعدد انٹرپٹ ان پٹ ذرائع کو میزبان مائکرو پروسیسر میں ایک واحد انٹرپٹ آؤٹ پٹ میں جوڑتا ہے، جس سے سسٹم میں دستیاب انٹرپٹ کی سطح کو پروسیسر چپ پر پائے جانے والے ایک یا دو سطحوں سے آگے بڑھایا جاتا ہے۔ 8259 اے اصل آئی بی ایم پی سی اور آئی بی ایم پی سی اے ٹی میں آئی ایس اے بس کے لیے انٹرپٹ کنٹرولر تھا۔ 8259 کو 1976 میں انٹیل کے ایم سی ایس 85 خاندان کے حصے کے طور پر متعارف کرایا گیا تھا۔ 8259 اے کو اصل پی سی میں شامل کیا گیا تھا جسے 1981 میں متعارف کرایا گیا تھا اور 1983 میں متعارف ہونے پر پی سی/ایکس ٹی نے اسے برقرار رکھا تھا۔ پی سی/اے ٹی کے تعارف کے ساتھ دوسرا 8259 اے شامل کیا گیا۔ 8259 سمیٹرک ملٹی پروسیسر پی سی میں متعارف ہونے کے بعد سے انٹیل اے پی آئی سی آرکیٹیکچر کے ساتھ ساتھ موجود ہے۔ جدید پی سی نے انٹیل اے پی آئی سی آرکیٹیکچر کے حق میں 8259 اے کو مرحلہ وار ختم کرنا شروع کر دیا ہے۔ تاہم، جب کہ اب ایک علیحدہ چپ نہیں ہے، 8259 اے انٹرفیس اب بھی جدید x86 مدر بورڈز پر پلیٹ فارم کنٹرولر ہب یا ساؤتھ برج چپ سیٹ کے ذریعے فراہم کیا جاتا ہے۔ فنکشنل تفصیل 8259 پر مرکزی سگنل پن مندرجہ ذیل ہیں: آئی آر کیو 7 کے ذریعے آئی آر کیو 0 نامی آٹھ انٹرپٹ ان پٹ درخواست لائنیں، آئی این ٹی آر نامی ایک انٹرپٹ ریکویسٹ آؤٹ پٹ لائن، انٹرپٹ لیول یا ویکٹر آفسیٹ کو بات چیت کرنے کے لیے آئی این ٹی اے، ڈی 0 سے ڈی 7 نامی انٹرپٹ ایکنولیجمنٹ لائن۔ دیگر رابطوں میں 8259 کے درمیان جھرن کے لیے سی اے ایس 0 سے سی اے ایس 2 شامل ہیں۔ 64 IRQs تک فراہم کرنے کے لیے آٹھ غلام 8259s تک ماسٹر 8259 کو کاسکیڈ کیا جا سکتا ہے۔ 8259 کو ایک غلام 8259 کی آئی این ٹی لائن کو ایک ماسٹر 8259 کی آئی آر کیو لائن سے جوڑ کر جھرن بند کیا جاتا ہے۔ اینڈ آف انٹرپٹ (ای او آئی) آپریشن مخصوص ای او آئی، غیر مخصوص ای او آئی، اور آٹو-ای او آئی کی حمایت کرتے ہیں۔ ایک مخصوص ای او آئی آئی آر کیو کی سطح کی وضاحت کرتا ہے جسے وہ آئی ایس آر میں تسلیم کر رہا ہے۔ ایک غیر مخصوص ای او آئی آئی ایس آر میں آئی آر کیو کی سطح کو ری سیٹ کرتا ہے۔ آٹو-ای او آئی رکاوٹ کو تسلیم کرنے کے فورا بعد آئی ایس آر میں آئی آر کیو کی سطح کو دوبارہ ترتیب دیتا ہے۔ ایج اور لیول انٹرپٹ ٹرگر موڈز کو 8259 اے سپورٹ کرتا ہے۔ فکسڈ ترجیحی اور گھومنے والے ترجیحی طریقوں کی حمایت کی جاتی ہے۔ 8259 کو 8080/8085 یا 8086/8088 کے ساتھ کام کرنے کے لیے ترتیب دیا جا سکتا ہے۔ 8086/8088 پر، رکاوٹ پیدا ہونے پر انٹرپٹ کنٹرولر ڈیٹا بس پر ایک رکاوٹ نمبر فراہم کرے گا۔ 8080/8085 کا انٹرپٹ سائیکل ڈیٹا بس پر تین بائٹس جاری کرے گا (8080/8085 انسٹرکشن سیٹ میں کال انسٹرکشن کے مطابق)۔ 8259 اے 8259 (خاص طور پر بفرڈ موڈ اور لیول ٹرگرڈ موڈ میں) کے مقابلے میں اضافی فعالیت فراہم کرتا ہے اور اس کے ساتھ اوپر کی طرف مطابقت رکھتا ہے۔ پروگرامنگ کے تحفظات DOS اور ونڈوز پروگرامنگ 8259 نے DOS اور مائیکروسافٹ ونڈوز کے ساتھ مل کر پسماندہ مطابقت کی خاطر متعدد الجھن کے مسائل متعارف کرائے ہیں، جو 1981 میں متعارف کرائے گئے اصل پی سی تک پھیلے ہوئے ہیں۔ پہلا مسئلہ کم و بیش دوسرے مسئلے کی جڑ ہے۔ DOS ڈیوائس ڈرائیوروں سے توقع کی جاتی ہے کہ وہ اپنے ڈیوائس کی خدمت مکمل کرنے پر 8259s کو غیر مخصوص EOI بھیجیں گے۔ یہ ڈی او ایس میں 8259 کے دیگر ای او آئی طریقوں میں سے کسی کے استعمال کو روکتا ہے، اور ماسٹر 8259 سے سلیو 8259 پر جانے والے ڈیوائس انٹرپٹس کے درمیان فرق کو خارج کرتا ہے۔ دوسرا مسئلہ پی سی/اے ٹی میں غلام 8259 کے تعارف سے آئی آر کیو 2 اور آئی آر کیو 9 کے استعمال سے متعلق ہے۔ غلام 8259 کی آئی این ٹی آؤٹ پٹ ماسٹر کے آئی آر 2 سے منسلک ہے۔ آئی ایس اے بس کی آئی آر کیو 2 لائن، جو اصل میں اس آئی آر 2 سے منسلک تھی، کو غلام کے آئی آر 1 کی طرف موڑ دیا گیا۔ اس طرح پرانی IRQ2 لائن اب CPU میں IRQ9 پیدا کرتی ہے۔ ڈی او ایس ڈیوائس ڈرائیوروں کے ساتھ بیک ورڈ مطابقت کی اجازت دینے کے لیے جو اب بھی آئی آر کیو 2 کے لیے سیٹ اپ کیے گئے ہیں، آئی آر کیو 9 کے لیے بی آئی او ایس کے ذریعے ایک ہینڈلر نصب کیا جاتا ہے جو رکاوٹوں کو اصل آئی آر کیو 2 ہینڈلر کی طرف ری ڈائریکٹ کرتا ہے۔ پی سی پر، بی آئی او ایس (اور اس طرح ڈی او ایس بھی) روایتی طور پر ویکٹر آفسیٹ 8 (آئی این ٹی 08-آئی این ٹی 0 ایف) کو روکنے کے لیے ماسٹر 8259 مداخلت کی درخواستوں (آئی آر کیو 0-آئی آر کیو 7) اور ویکٹر آفسیٹ 112 (آئی این ٹی 70-آئی این ٹی 77) کو روکنے کے لیے غلام 8259 (پی سی/اے ٹی اور بعد میں) مداخلت کی درخواستوں (آئی آر کیو 8-آئی آر کیو 15) کا نقشہ بناتا ہے۔ یہ پہلے 32 (آئی این ٹی 00-آئی این ٹی 1 ایف) انٹرپٹ ویکٹروں کے پروسیسر کے ذریعہ اندرونی مستثنیات کے لیے محفوظ کیے جانے کے باوجود کیا گیا تھا (اسے کسی وجہ سے پی سی کے ڈیزائن کی وجہ سے نظر انداز کر دیا گیا تھا)۔ مستثنیات کے لیے مخصوص ویکٹر کی وجہ سے زیادہ تر دوسرے آپریٹنگ سسٹم کا نقشہ (کم از کم ماسٹر) 8259 IRQs (اگر پلیٹ فارم پر استعمال ہوتا ہے) دوسرے انٹرپٹ ویکٹر بیس آفسیٹ پر ہوتا ہے۔ چونکہ زیادہ تر دوسرے آپریٹنگ سسٹم ڈیوائس ڈرائیور کی توقعات میں تبدیلیوں کی اجازت دیتے ہیں، اس لیے آپریشن کے دیگر 8259 طریقے، جیسے آٹو-ای او آئی، استعمال کیے جا سکتے ہیں۔ یہ جدید x86 ہارڈ ویئر کے لیے خاص طور پر اہم ہے جس میں 8259 کے ساتھ بات چیت کرتے وقت I/O ایڈریس کی جگہ میں تاخیر پر کافی وقت گزارا جا سکتا ہے۔ یہ 8259s کے ساتھ ملٹی پروسیسر x86 سسٹم میں مطابقت پذیری میں متعدد دیگر اصلاحات کی بھی اجازت دیتا ہے، جیسے کہ اہم حصے۔ ایج اور لیول ٹرگرڈ موڈ چونکہ آئی ایس اے بس لیول ٹرگرڈ انٹرپٹس کو سپورٹ نہیں کرتی ہے، اس لیے آئی ایس اے ڈیوائسز سے منسلک انٹرپٹس کے لیے لیول ٹرگرڈ موڈ استعمال نہیں کیا جا سکتا ہے۔ اس کا مطلب یہ ہے کہ پی سی/ایکس ٹی، پی سی/اے ٹی، اور ہم آہنگ سسٹمز پر 8259 کو ایج ٹرگرڈ موڈ کے لیے پروگرام کیا جانا چاہیے۔ ایم سی اے سسٹمز پر، ڈیوائسز لیول ٹرگرڈ انٹرپٹس کا استعمال کرتے ہیں اور انٹرپٹ کنٹرولر ہمیشہ لیول ٹرگرڈ موڈ میں کام کرنے کے لیے ہارڈ وائرڈ ہوتا ہے۔ نئے ای آئی ایس اے، پی سی آئی، اور بعد کے سسٹمز پر ایج/لیول کنٹرول رجسٹر (ای ایل سی آر) فی آئی آر کیو لائن موڈ کو کنٹرول کرتے ہیں، جس سے مؤثر طریقے سے 8259 کے موڈ کو آئی ایس اے بسوں کے ساتھ ایسے سسٹمز کے لیے غیر متعلقہ بنا دیتا ہے۔ ای ایل سی آر کو درست آپریشن کے لیے سسٹم اسٹارٹ اپ پر بی آئی او ایس کے ذریعے پروگرام کیا جاتا ہے۔ ای ایل سی آر x86 I/O ایڈریس اسپیس میں 0x4d0 اور 0x4d1 پر واقع ہیں۔ وہ 8 بٹ چوڑے ہیں، ہر بٹ 8259 کے آئی آر کیو سے مطابقت رکھتا ہے۔ جب ایک بٹ سیٹ کیا جاتا ہے، تو IRQ لیول ٹرگرڈ موڈ میں ہوتا ہے ؛ بصورت دیگر، IRQ ایج ٹرگرڈ موڈ میں ہوتا ہے۔ جعلی رکاوٹیں 8259 متعدد شرائط کے جواب میں جعلی رکاوٹیں پیدا کرتا ہے۔ پہلا یہ ہے کہ ایک آئی آر کیو لائن کو تسلیم کرنے سے پہلے اسے غیر فعال کیا جا رہا ہے۔ یہ آئی آر کیو لائنوں پر شور کی وجہ سے ہو سکتا ہے۔ ایج ٹرگرڈ موڈ میں، شور کو 100 این ایس کے لیے نچلی حالت میں لائن کو برقرار رکھنا چاہیے۔ جب شور کم ہوتا ہے تو پل اپ ریزسٹر آئی آر کیو لائن کو اونچے مقام پر لوٹاتا ہے، اس طرح غلط رکاوٹ پیدا ہوتی ہے۔ لیول ٹرگرڈ موڈ میں، شور سسٹم آئی این ٹی آر لائن پر ہائی سگنل لیول کا سبب بن سکتا ہے۔ اگر سسٹم اعتراف کی درخواست بھیجتا ہے، تو 8259 کے پاس حل کرنے کے لیے کچھ نہیں ہے اور اس طرح جواب میں IRQ7 بھیجتا ہے۔ یہ پہلا کیس جعلی آئی آر کیو 7 پیدا کرے گا۔ اسی طرح کا معاملہ اس وقت ہو سکتا ہے جب 8259 ان ماسک اور آئی آر کیو ان پٹ ڈی ایسریشن کو مناسب طریقے سے ہم آہنگ نہیں کیا جاتا ہے۔ بہت سے سسٹمز میں، آئی آر کیو ان پٹ کو آئی/او رائٹ کے ذریعے ڈیسرٹ کیا جاتا ہے، اور پروسیسر اس وقت تک انتظار نہیں کرتا جب تک کہ رائٹ آئی/او ڈیوائس تک نہ پہنچ جائے۔ اگر پروسیسر جاری رہتا ہے اور آئی آر کیو ان پٹ کو ڈیسرٹ کرنے سے پہلے 8259 آئی آر کیو کا ماسک کھول دیتا ہے، تو 8259 دوبارہ آئی این ٹی آر کا دعوی کرے گا۔ جب تک پروسیسر اس آئی این ٹی آر کو پہچانتا ہے اور 8259 سے آئی آر کیو کو پڑھنے کا اعتراف جاری کرتا ہے، تب تک آئی آر کیو ان پٹ کو ڈیسرٹ کیا جا سکتا ہے، اور 8259 جعلی آئی آر کیو 7 واپس کرتا ہے۔ دوسرا یہ ہے کہ ماسٹر 8259 کا IRQ2 اس وقت زیادہ فعال ہوتا ہے جب غلام 8259 کی IRQ لائنیں رکاوٹ کے اعتراف کے گرنے والے کنارے پر غیر فعال ہوتی ہیں۔ یہ دوسرا کیس جعلی IRQ15 پیدا کرے گا، لیکن یہ نایاب ہے۔ پی سی/ایکس ٹی اور پی سی/اے ٹی پی سی/ایکس ٹی آئی ایس اے سسٹم میں ایک 8259 کنٹرولر تھا، جبکہ پی سی/اے ٹی اور اس کے بعد کے سسٹمز میں دو 8259 کنٹرولر تھے، ماسٹر اور سلیو۔ IRQ0 سے IRQ7 تک ماسٹر 8259 کی انٹرپٹ لائنیں ہیں، جبکہ IRQ8 سے IRQ15 تک سلیو 8259 کی انٹرپٹ لائنیں ہیں۔ 8259 پر پنوں پر موجود لیبل IR0 سے IR7 تک ہیں۔ IRQ0 سے IRQ15 تک ISA بس کی ان لائنوں کے نام ہیں جن سے 8259 منسلک ہیں۔ متغیرات بھی دیکھیں ایڈوانسڈ پروگرام ایبل انٹرپٹ کنٹرولر (اے پی آئی سی) آئی ایف (x86 فلیگ) انٹرپٹ ہینڈلر انٹرپٹ لیٹینسی نان ماسکیبل انٹرپٹ (این ایم آئی) پروگرام ایبل انٹرپٹ کنٹرولر (پی آئی سی) حوالہ جات گیلووی، فرینک وین۔ غیر دستاویزی پی سی۔ اے-ڈبلیو ڈویلپرز پریس، 1997۔ میک گیورن، جوزف۔ رکاوٹ سے چلنے والا پی سی سسٹم ڈیزائن۔ اینابکس، 1998۔ آئی بی ایم پرسنل سسٹم/2 ہارڈ ویئر انٹرفیس تکنیکی حوالہ-آرکیٹیکچرز۔ آئی بی ایم، 1990۔ آئی بی ایم اشاعت 84F8933 بیرونی روابط 8259A پروگرام ایبل انٹرپٹ کنٹرولر انٹیل چپ سیٹ آئی بی ایم پی سی مطابقت پذیر ان پٹ/آؤٹ پٹ انٹیگریٹڈ سرکٹس انٹرپٹس