इंटेल 8259: Difference between revisions

From Vigyanwiki
No edit summary
m (9 revisions imported from alpha:इंटेल_8259)
 
(4 intermediate revisions by 2 users not shown)
Line 3: Line 3:
[[Image:Intel 8259.svg|thumb|पिनआउट]]'''इंटेल 8259''' प्रोग्रामेबल [[ रुकावट डालना |इंटरप्ट]] कंट्रोलर (पीआईसी) है जिसे इंटेल 8085 और इंटेल 80[[86]] [[माइक्रोप्रोसेसर]] के लिए डिज़ाइन किया गया है। जिसका प्रारंभिक भाग 8259 था, जो कुछ समय पश्चात A सफिक्स वर्जन 8086 या [[8088]] प्रोसेसर के साथ अपवर्ड कम्पेटिबल और प्रयोग करने योग्य था। 8259 मल्टिपल इंटरप्ट इनपुट सोर्सेज को होस्ट माइक्रोप्रोसेसर के सिंगल इंटरप्ट आउटपुट में जोड़ता है, जो सिस्टम में उपलब्ध इंटरप्ट लेवल को प्रोसेसर चिप पर पाए जाने वाले एक या दो लेवल से आगे एक्सटेंड करता है। 8259A ओरिजिनल [[आईबीएम पीसी]] और [[आईबीएम पीसी एटी]] में आईएसए बस के लिए इंटरप्ट कंट्रोलर था।
[[Image:Intel 8259.svg|thumb|पिनआउट]]'''इंटेल 8259''' प्रोग्रामेबल [[ रुकावट डालना |इंटरप्ट]] कंट्रोलर (पीआईसी) है जिसे इंटेल 8085 और इंटेल 80[[86]] [[माइक्रोप्रोसेसर]] के लिए डिज़ाइन किया गया है। जिसका प्रारंभिक भाग 8259 था, जो कुछ समय पश्चात A सफिक्स वर्जन 8086 या [[8088]] प्रोसेसर के साथ अपवर्ड कम्पेटिबल और प्रयोग करने योग्य था। 8259 मल्टिपल इंटरप्ट इनपुट सोर्सेज को होस्ट माइक्रोप्रोसेसर के सिंगल इंटरप्ट आउटपुट में जोड़ता है, जो सिस्टम में उपलब्ध इंटरप्ट लेवल को प्रोसेसर चिप पर पाए जाने वाले एक या दो लेवल से आगे एक्सटेंड करता है। 8259A ओरिजिनल [[आईबीएम पीसी]] और [[आईबीएम पीसी एटी]] में आईएसए बस के लिए इंटरप्ट कंट्रोलर था।


8259 को 1976 में [[इंटेल]] के [[इंटेल 8085|एमसीएस 85]] सदस्य के रूप में प्रस्तुत किया गया था। 8259A को 1981 में प्रस्तुत किए गए ओरिजिनल पीसी में सम्मिलित किया गया था और 1983 में प्रस्तुत किए जाने पर पीसी/एक्सटी द्वारा मेन्टेन किया गया था। पीसीएटी के प्रारम्भ के साथ दूसरा 8259A भी ऐड किया गया था। [[सममित मल्टीप्रोसेसर|सिमेट्रिक मल्टीप्रोसेसर]] पीसी में अपने प्रारम्भ के पश्चात से 8259 [[इंटेल एपीआईसी आर्किटेक्चर]] के साथ सह-अस्तित्व में है। आधुनिक पीसी ने इंटेल एपीआईसी आर्किटेक्चर के पक्ष में 8259A को चरणबद्ध रूप से समाप्त करना प्रारम्भ कर दिया है। यद्यपि, अब यह सेपरेट चिप नहीं है, 8259A इंटरफ़ेस अभी भी आधुनिक x86 मदरबोर्ड पर [[प्लेटफार्म नियंत्रक हब|प्लेटफार्म कंट्रोलर हब]] या [[साउथब्रिज (कंप्यूटिंग)]] द्वारा प्रोवाइड किया जाता है।<ref>http://pdf.datasheetcatalog.com/datasheet/Intel/mXvqwzr.pdf {{Bare URL PDF|date=March 2022}}</ref>
8259 को 1976 में [[इंटेल]] के [[इंटेल 8085|एमसीएस 85]] सदस्य के रूप में प्रस्तुत किया गया था। 8259A को 1981 में प्रस्तुत किए गए ओरिजिनल पीसी में सम्मिलित किया गया था और 1983 में प्रस्तुत किए जाने पर पीसी/एक्सटी द्वारा मेन्टेन किया गया था। पीसीएटी के प्रारम्भ के साथ दूसरा 8259A भी ऐड किया गया था। [[सममित मल्टीप्रोसेसर|सिमेट्रिक मल्टीप्रोसेसर]] पीसी में अपने प्रारम्भ के पश्चात से 8259 [[इंटेल एपीआईसी आर्किटेक्चर]] के साथ सह-अस्तित्व में है। मॉडर्न पीसी ने इंटेल एपीआईसी आर्किटेक्चर के पक्ष में 8259A को चरणबद्ध रूप से समाप्त करना प्रारम्भ कर दिया है। यद्यपि, अब यह सेपरेट चिप नहीं है, 8259A इंटरफ़ेस अभी भी मॉडर्न x86 मदरबोर्ड पर [[प्लेटफार्म नियंत्रक हब|प्लेटफार्म कंट्रोलर हब]] या [[साउथब्रिज (कंप्यूटिंग)]] द्वारा प्रोवाइड किया जाता है।<ref>http://pdf.datasheetcatalog.com/datasheet/Intel/mXvqwzr.pdf {{Bare URL PDF|date=March 2022}}</ref>


== कार्यात्मक विवरण ==
== कार्यात्मक विवरण ==
Line 10: Line 10:
अधिकतम 64 IRQ प्रदान करने के लिए आठ स्लेव 8259 को मास्टर 8259 में कैस्केड किया जा सकता है। 8259 को स्लेव 8259 की INT लाइन से और INT लाइन को मास्टर 8259 की IRQ लाइन से जोड़कर कैस्केड किया जाता है।
अधिकतम 64 IRQ प्रदान करने के लिए आठ स्लेव 8259 को मास्टर 8259 में कैस्केड किया जा सकता है। 8259 को स्लेव 8259 की INT लाइन से और INT लाइन को मास्टर 8259 की IRQ लाइन से जोड़कर कैस्केड किया जाता है।


एन्ड ऑफ़ इंटरप्ट (ईओआई) ऑपरेशन स्पेसिफिक ईओआई, नॉन-स्पेसिफिक ईओआई और ऑटो-ईओआई को सपोर्ट करता है। स्पेसिफिक ईओआई उस IRQ लेवल को स्पेसिफाय करता है जिसे वह ISR में स्वीकार कर रहा है। नॉन-स्पेसिफिक ईओआई ISR में IRQ लेवल को रीसेट करता है। ऑटो-ईओआई इंटरप्ट स्वीकार होने के पश्चात् ISR में IRQ लेवल को रीसेट करता है।
एन्ड ऑफ़ इंटरप्ट (ईओआई) ऑपरेशन स्पेसिफिक ईओआई, नॉन-स्पेसिफिक ईओआई और ऑटो-ईओआई को सपोर्ट करता है। स्पेसिफिक ईओआई उस IRQ लेवल को स्पेसिफाय करता है जिसे वह ISR में एक्नॉलेज कर रहा है। नॉन-स्पेसिफिक ईओआई ISR में IRQ लेवल को रीसेट करता है। ऑटो-ईओआई इंटरप्ट एक्नॉलेज होने के पश्चात् ISR में IRQ लेवल को रीसेट करता है।


एज और लेवल इंटरप्ट ट्रिगर मोड 8259A द्वारा सपोर्टेड हैं। फिक्स्ड प्रायोरिटी और रोटेटिंग प्रायोरिटी मोड सपोर्टेड हैं।
एज और लेवल इंटरप्ट ट्रिगर मोड 8259A द्वारा सपोर्टेड हैं। फिक्स्ड प्रायोरिटी और रोटेटिंग प्रायोरिटी मोड सपोर्टेड हैं।
Line 23: Line 23:
[[Image:NEC D8259AC.jpg|thumb|NEC D8259AC, ओरिजिनल [[आईबीएम पर्सनल कंप्यूटर]] [[मदरबोर्ड]] पर उपयोग किया जाता है।]]डॉस और [[ माइक्रोसॉफ़्ट विंडोज़ |माइक्रोसॉफ़्ट विंडोज़]] के संयोजन में 8259 प्रोग्रामिंग ने बैकवर्ड कम्पेटिबिलिटी के लिए कई भ्रमित करने वाली समस्याएँ प्रस्तुत की हैं, जो 1981 में प्रस्तुत किए गए ओरिजिनल पीसी तक प्रस्तावित हुई हैं।
[[Image:NEC D8259AC.jpg|thumb|NEC D8259AC, ओरिजिनल [[आईबीएम पर्सनल कंप्यूटर]] [[मदरबोर्ड]] पर उपयोग किया जाता है।]]डॉस और [[ माइक्रोसॉफ़्ट विंडोज़ |माइक्रोसॉफ़्ट विंडोज़]] के संयोजन में 8259 प्रोग्रामिंग ने बैकवर्ड कम्पेटिबिलिटी के लिए कई भ्रमित करने वाली समस्याएँ प्रस्तुत की हैं, जो 1981 में प्रस्तुत किए गए ओरिजिनल पीसी तक प्रस्तावित हुई हैं।


प्रथम समस्या ही दूसरी [[की|समस्या]] का आधार है। डॉस डिवाइस ड्राइवरों से अपेक्षा की जाती है कि जब वे अपने डिवाइस की सर्विसिंग पूर्ण कर लें तो वे 8259 पर नॉन-स्पेसिफिक ईओआई सेंड करें। यह डॉस में 8259 के किसी भी अन्य ईओआई मोड के उपयोग को प्रिवेंट करता है, और मास्टर 8259 से स्लेव 8259 तक पुन: रूट किए गए डिवाइस इंटरप्ट के मध्य अंतर को बाहर करता है।
प्रथम समस्या ही दूसरी [[की|समस्या]] का आधार है। डॉस डिवाइस ड्राइवरों से अपेक्षा की जाती है कि जब वे अपने डिवाइस की सर्विसिंग पूर्ण कर लें तो वे 8259 पर नॉन-स्पेसिफिक ईओआई सेंड करें। यह डॉस में 8259 के किसी भी अन्य ईओआई मोड के उपयोग को प्रिवेंट करता है, और मास्टर 8259 से स्लेव 8259 तक रीरूट किए गए डिवाइस इंटरप्ट के मध्य अंतर को स्पष्ट करता है।


दूसरा मुद्दा पीसी/एटी में स्लेव 8259 की प्रारम्भआत से IRQ2 और IRQ9 के उपयोग से संबंधित है। स्लेव 8259 का INT आउटपुट मास्टर के IR2 से जुड़ा है। ISA बस की IRQ2 लाइन, जो ओरिजिनल रूप से इस IR2 से जुड़ी थी, को दास के IR1 पर पुनः भेजा गया था। इस प्रकार पुरानी IRQ2 लाइन अब CPU में IRQ9 उत्पन्न करती है। DOS डिवाइस ड्राइवरों के साथ बैकवर्ड संगतता की अनुमति देने के लिए जो अभी भी IRQ2 के लिए सेट हैं, IRQ9 के लिए BIOS द्वारा हैंडलर स्थापित किया गया है जो ओरिजिनल IRQ2 हैंडलर पर इंटरप्ट को रीडायरेक्ट करता है।
दूसरी समस्या पीसी/एटी में स्लेव 8259 के प्रारम्भ से IRQ2 और IRQ9 के उपयोग से संबंधित है। स्लेव 8259 का INT आउटपुट मास्टर के IR2 से कनेक्ट है। आईएसए बस की IRQ2 लाइन, जो मूल रूप से इस IR2 से कनेक्ट थी, जिसको स्लेव के IR1 पर रीरूट किया गया था। इस प्रकार ओल्ड IRQ2 लाइन अब सीपीयू में IRQ9 जेनेरेट करती है। डॉस डिवाइस ड्राइवरों के साथ बैकवर्ड कम्पेटिबिलिटी की अनुमति देने के लिए जो अभी भी IRQ2 के लिए सेट हैं, IRQ9 के लिए बायोस द्वारा हैंडलर इनस्टॉल किया गया है जो ओरिजिनल IRQ2 हैंडलर पर इंटरप्ट को रीडायरेक्ट करता है।


पीसी पर, BIOS (और इस प्रकार DOS भी) पारंपरिक रूप से मास्टर 8259 इंटरप्ट रिक्वेस्ट (IRQ0-IRQ7) को वेक्टर ऑफसेट 8 (INT08-INT0F) और स्लेव 8259 (PC/AT और बाद में) इंटरप्ट रिक्वेस्ट (IRQ8) को मैप करता है। -IRQ15) वेक्टर ऑफसेट 112 (INT70-INT77) को बाधित करने के लिए। ऐसा पहले 32 (INT00-INT1F) इंटरप्ट वैक्टर को प्रोसेसर द्वारा आंतरिक अपवादों के लिए आरक्षित किए जाने के बावजूद किया गया था (किसी कारण से पीसी के डिजाइन के लिए इसे नजरअंदाज कर दिया गया था)। अपवादों के लिए आरक्षित वैक्टर के कारण अधिकांश अन्य ऑपरेटिंग सिस्टम (कम से कम मास्टर) 8259 IRQ (यदि प्लेटफॉर्म पर उपयोग किया जाता है) को दूसरे इंटरप्ट वेक्टर बेस ऑफसेट पर मैप करते हैं।
पीसी पर, बायोस (और इस प्रकार डॉस भी) वेक्टर ऑफसेट 8 (INT08-INT0F) को इंटरप्ट करने के लिए मास्टर 8259 इंटरप्ट रिक्वेस्ट (IRQ0-IRQ7) और वेक्टर ऑफसेट 112 (INT70-INT77) को इंटरप्ट करने के लिए स्लेव 8259 (पीसी/एटी) इंटरप्ट रिक्वेस्ट (IRQ8-IRQ15) को मैप करता है। ऐसा प्रथम 32 (INT00-INT1F) इंटरप्ट वैक्टर को प्रोसेसर द्वारा इंटरनल एक्सेप्शन्स के लिए रिज़र्व किये जाने के पश्चात किया गया था (किसी कारण से पीसी के डिजाइन के लिए इसे उपेक्षित कर दिया गया था)। एक्सेप्शन्स के लिए रिज़र्व वैक्टर के कारण अधिकांश अन्य ऑपरेटिंग सिस्टम (कम से कम मास्टर) 8259 IRQ (यदि प्लेटफॉर्म पर उपयोग किया जाता है) को दूसरे इंटरप्ट वेक्टर बेस ऑफसेट पर मैप करते हैं।


=== अन्य ऑपरेटिंग सिस्टम ===
=== अन्य ऑपरेटिंग सिस्टम ===
चूंकि अधिकांश अन्य ऑपरेटिंग सिस्टम डिवाइस ड्राइवर अपेक्षाओं में बदलाव की अनुमति देते हैं, इसलिए ऑपरेशन के अन्य 8259 मोड, जैसे ऑटो-ईओआई, का उपयोग किया जा सकता है। यह आधुनिक x86 हार्डवेयर के लिए विशेष रूप से महत्वपूर्ण है जिसमें 8259 के साथ संचार करते समय I/O एड्रेस स्पेस विलंब पर काफी समय व्यतीत हो सकता है। यह 8259s के साथ मल्टीप्रोसेसर x86 सिस्टम में सिंक्रोनाइज़ेशन में कई अन्य अनुकूलन की भी अनुमति देता है, जैसे महत्वपूर्ण अनुभाग।
चूंकि अधिकांश अन्य ऑपरेटिंग सिस्टम डिवाइस ड्राइवर एक्सपेक्टेशन में परिवर्तन की अनुमति देते हैं, इसलिए ऑपरेशन के अन्य 8259 मोड, जैसे ऑटो-ईओआई, का उपयोग किया जा सकता है। यह मॉडर्न x86 हार्डवेयर के लिए विशेष रूप से महत्वपूर्ण है जिसमें 8259 के साथ कम्युनिकेशन करते समय इनपुट/आउटपुट एड्रेस स्पेस डिले पर अधिक समय व्यतीत हो सकता है। इस प्रकार यह 8259s के साथ मल्टीप्रोसेसर x86 सिस्टम के सिंक्रोनाइज़ेशन में कई अन्य ऑप्टिमाइजेशन, जैसे क्रिटिकल सेक्शंस की भी अनुमति देता है।


=== एज और लेवल ट्रिगर मोड ===
=== एज और लेवल ट्रिगर मोड ===
चूंकि आईएसए बस [[ स्तर ट्रिगर रुकावट |लेवल ट्रिगर रुकावट]] को सपोर्ट नहीं करती है, इसलिए लेवल ट्रिगर मोड का उपयोग आईएसए उपकरणों से जुड़े इंटरप्ट के लिए नहीं किया जा सकता है। इसका मतलब है कि पीसी एक्सटी, पीसी/एटी और संगत सिस्टम पर 8259 को [[किनारे से उत्पन्न व्यवधान]] मोड के लिए प्रोग्राम किया जाना चाहिए। एमसीए सिस्टम पर, डिवाइस लेवल ट्रिगर्ड इंटरप्ट का उपयोग करते हैं और इंटरप्ट कंट्रोलर हमेशा लेवल ट्रिगर मोड में काम करने के लिए हार्डवेयर्ड होता है। नए ईआईएसए, पीसीआई और बाद के सिस्टम पर एज/लेवल कंट्रोल रजिस्टर (ईएलसीआर) प्रति IRQ लाइन के मोड को नियंत्रित करते हैं, जिससे आईएसए बसों के साथ ऐसे सिस्टम के लिए 8259 का मोड प्रभावी रूप से अप्रासंगिक हो जाता है। ELCR को सही संचालन के लिए सिस्टम स्टार्टअप पर BIOS द्वारा प्रोग्राम किया जाता है।
चूंकि आईएसए बस [[ स्तर ट्रिगर रुकावट |लेवल ट्रिगर इंटरप्ट]] को सपोर्ट नहीं करती है, इसलिए लेवल ट्रिगर मोड का उपयोग आईएसए डिवाइस से जुड़े इंटरप्ट के लिए नहीं किया जा सकता है। इसका अर्थ है कि पीसी एक्सटी, पीसी/एटी और कम्पैटिबल सिस्टम पर 8259 को [[किनारे से उत्पन्न व्यवधान|एज ट्रिगर्ड]] मोड के लिए प्रोग्राम किया जाना चाहिए। एमसीए सिस्टम पर, डिवाइस लेवल ट्रिगर्ड इंटरप्ट का उपयोग करते हैं और इंटरप्ट कंट्रोलर सदैव लेवल ट्रिगर मोड में कार्य करने के लिए हार्डवेयर्ड होता है। नए ईआईएसए, पीसीआई और उसके पश्चात के सिस्टम पर एज/लेवल कंट्रोल रजिस्टर (ईएलसीआर) प्रति IRQ लाइन के मोड को कण्ट्रोल करते हैं, जिससे आईएसए बसों के साथ ऐसे सिस्टम के लिए 8259 का मोड प्रभावी रूप से अप्रासंगिक हो जाता है। ELCR को करेक्ट ऑपरेशन के लिए सिस्टम स्टार्टअप पर बायोस द्वारा प्रोग्राम किया जाता है।


ELCRs x86 I/O एड्रेस स्पेस में 0x4d0 और 0x4d1 स्थित हैं। वे 8-बिट चौड़े हैं, प्रत्येक बिट 8259 से IRQ के अनुरूप है। जब बिट सेट किया जाता है, तो IRQ लेवल ट्रिगर मोड में होता है; अन्यथा, IRQ एज ट्रिगर मोड में है।
ELCRs x86 इनपुट/आउटपुट एड्रेस स्पेस में 0x4d0 और 0x4d1 लोकेटेड हैं। वे 8-बिट वाइड हैं, प्रत्येक बिट 8259 से IRQ के अनुरूप है। जब बिट सेट किया जाता है, तो IRQ लेवल ट्रिगर मोड में होता है; अन्यथा, IRQ एज ट्रिगर मोड में है।


=== नकली व्यवधान ===
=== स्पूरियस इंटरप्ट ===
8259 कई स्थितियों के जवाब में नकली व्यवधान उत्पन्न करता है।
8259 कई स्थितियों के रिस्पांस में स्पूरियस इंटरप्ट जेनेरेट करता है।


पहली IRQ लाइन है जिसे स्वीकार किए जाने से पहले डीज़र्स किया जा रहा है। ऐसा IRQ लाइनों पर शोर के कारण हो सकता है। एज ट्रिगर मोड में, शोर को 100 एनएस तक निम्न स्थिति में लाइन को बनाए रखना चाहिए। जब शोर कम हो जाता है, तो [[पुल-अप अवरोधक]] IRQ लाइन को उच्च पर लौटा देता है, इस प्रकार गलत व्यवधान उत्पन्न होता है। लेवल ट्रिगर मोड में, शोर सिस्टम INTR लाइन पर उच्च सिग्नल लेवल का कारण बन सकता है। यदि सिस्टम पावती रिक्वेस्ट भेजता है, तो 8259 के पास हल करने के लिए कुछ नहीं है और इस प्रकार प्रतिक्रिया में IRQ7 भेजता है। यह पहला मामला नकली IRQ7 उत्पन्न करेगा।
प्रथम IRQ लाइन है जिसे एक्नॉलेज किए जाने से पूर्व डीअस्सेर्ट किया जा रहा है। ऐसा IRQ लाइनों पर नॉइज़ के कारण हो सकता है। एज ट्रिगर मोड में, नॉइज़ को 100 एनएस तक लो स्टेट में लाइन को मेन्टेन रखना चाहिए। जब नॉइज़ कम हो जाती है, तो [[पुल-अप अवरोधक|पुल-अप रेसिस्टर]] IRQ लाइन को हाई पर रिटर्न कर देता है, इस प्रकार फाल्स इंटरप्ट जेनेरेट होता है। लेवल ट्रिगर मोड में, नॉइज़ सिस्टम INTR लाइन पर हाई सिग्नल लेवल का कारण बन सकता है। यदि सिस्टम एक्नॉलेजमेंट रिक्वेस्ट सेंड करता है, तो 8259 के निकट सॉल्व करने के लिए कुछ नहीं है और इस प्रकार रिस्पांस में IRQ7 सेंड करता है। यह प्रथम स्थिति स्पूरियस IRQ7 जेनेरेट करेगी।


इसी तरह का मामला तब घटित हो सकता है जब 8259 अनमास्क और IRQ इनपुट डी-एसेरशन ठीक से सिंक्रनाइज़ नहीं होते हैं। कई प्रणालियों में, IRQ इनपुट को I/O राइट द्वारा डीअसेर्ट किया जाता है, और प्रोसेसर तब तक प्रतीक्षा नहीं करता है जब तक राइट I/O डिवाइस तक नहीं पहुंच जाता है। यदि प्रोसेसर जारी रहता है और IRQ इनपुट डीअसर्टेड होने से पहले 8259 IRQ को अनमास्क करता है, तो 8259 फिर से आईएनटीआर पर जोर देगा। जब तक प्रोसेसर इस INTR को पहचानता है और 8259 से IRQ को पढ़ने के लिए पावती जारी करता है, तब तक IRQ इनपुट डीज़र्स हो सकता है, और 8259 नकली IRQ7 लौटाता है।
इसी प्रकार की स्थिति तब हो सकती है जब 8259 अनमास्क और IRQ इनपुट डी-एसेरशन उचित रूप से सिंक्रनाइज़ नहीं होते हैं। कई सिस्टमों में, IRQ इनपुट को इनपुट/आउटपुट राइट द्वारा डीअसेर्ट किया जाता है, और प्रोसेसर तब तक वेट नहीं करता है जब तक राइट इनपुट/आउटपुट डिवाइस तक नहीं पहुंच जाता है। यदि प्रोसेसर प्रारम्भ रहता है और IRQ इनपुट डीअसर्टेड होने से पूर्व 8259 IRQ को अनमास्क करता है, तो 8259 पुनः INTR को अस्सेर्ट करेगा। जब तक प्रोसेसर इस INTR को रेकग्निजि करता है और 8259 से IRQ को रीड करने के लिए एक्नॉलेजमेंट प्रस्तावित करता है, तब तक IRQ इनपुट डीअसेर्ट हो सकता है, और 8259 स्पूरियस IRQ7 रिटर्न करता है।


दूसरा यह है कि मास्टर 8259 का IRQ2 तब सक्रिय होता है जब स्लेव 8259 की IRQ लाइनें इंटरप्ट पावती के गिरते किनारे पर निष्क्रिय होती हैं। यह दूसरा मामला नकली IRQ15 उत्पन्न करेगा, लेकिन यह दुर्लभ है।
दूसरी यह है कि मास्टर 8259 का IRQ2 तब एक्टिव होता है जब स्लेव 8259 की IRQ लाइनें इंटरप्ट एक्नॉलेजमेंट के फॉलिंग एज पर इनएक्टिव होती हैं। यह दूसरी स्थिति स्पूरियस IRQ15 जेनेरेट करेगी, किन्तु यह दुर्लभ है।


== पीसी एक्सटी और पीसी/एटी ==
== पीसी एक्सटी और पीसी/एटी ==
{{main|इंटरप्ट रिक्वेस्ट (पीसी आर्किटेक्चर)}}
{{main|इंटरप्ट रिक्वेस्ट (पीसी आर्किटेक्चर)}}


पीसी एक्सटी [[ उद्योग मानक वास्तुकला |उद्योग मानक वास्तुकला]] सिस्टम में 8259 कंट्रोलर था, जबकि पीसी/एटी और बाद के सिस्टम में दो 8259 कंट्रोलर, मास्टर और स्लेव थे। IRQ0 से IRQ7 मास्टर 8259 की इंटरप्ट लाइनें हैं, जबकि IRQ8 से IRQ15 स्लेव 8259 की इंटरप्ट लाइनें हैं। 8259 पर पिन पर लेबल IR0 से IR7 तक हैं। IRQ0 से IRQ15 तक ISA बस की लाइनों के नाम हैं जिनसे 8259 जुड़े हुए हैं।
पीसी एक्सटी [[ उद्योग मानक वास्तुकला |आईएसए]] सिस्टम में 8259 कंट्रोलर था, जबकि पीसी/एटी और उसके पश्चात के सिस्टम में दो 8259 कंट्रोलर, मास्टर और स्लेव थे। IRQ0 से IRQ7 मास्टर 8259 की इंटरप्ट लाइनें हैं, जबकि IRQ8 से IRQ15 स्लेव 8259 की इंटरप्ट लाइनें हैं। 8259 पर पिन पर लेबल IR0 से IR7 तक हैं। IRQ0 से IRQ15 तक आईएसए बस की लाइनों के नाम हैं जिनसे 8259 जुड़े हुए हैं।


== वेरिएंट ==
== वेरिएंट ==
Line 86: Line 86:
[[Category: Machine Translated Page]]
[[Category: Machine Translated Page]]
[[Category:Created On 04/12/2023]]
[[Category:Created On 04/12/2023]]
[[Category:Vigyan Ready]]

Latest revision as of 13:52, 14 December 2023

पीसी एक्सटी से इंटेल 8259A IRQ चिप का क्लोज़अप।
पिनआउट

इंटेल 8259 प्रोग्रामेबल इंटरप्ट कंट्रोलर (पीआईसी) है जिसे इंटेल 8085 और इंटेल 8086 माइक्रोप्रोसेसर के लिए डिज़ाइन किया गया है। जिसका प्रारंभिक भाग 8259 था, जो कुछ समय पश्चात A सफिक्स वर्जन 8086 या 8088 प्रोसेसर के साथ अपवर्ड कम्पेटिबल और प्रयोग करने योग्य था। 8259 मल्टिपल इंटरप्ट इनपुट सोर्सेज को होस्ट माइक्रोप्रोसेसर के सिंगल इंटरप्ट आउटपुट में जोड़ता है, जो सिस्टम में उपलब्ध इंटरप्ट लेवल को प्रोसेसर चिप पर पाए जाने वाले एक या दो लेवल से आगे एक्सटेंड करता है। 8259A ओरिजिनल आईबीएम पीसी और आईबीएम पीसी एटी में आईएसए बस के लिए इंटरप्ट कंट्रोलर था।

8259 को 1976 में इंटेल के एमसीएस 85 सदस्य के रूप में प्रस्तुत किया गया था। 8259A को 1981 में प्रस्तुत किए गए ओरिजिनल पीसी में सम्मिलित किया गया था और 1983 में प्रस्तुत किए जाने पर पीसी/एक्सटी द्वारा मेन्टेन किया गया था। पीसीएटी के प्रारम्भ के साथ दूसरा 8259A भी ऐड किया गया था। सिमेट्रिक मल्टीप्रोसेसर पीसी में अपने प्रारम्भ के पश्चात से 8259 इंटेल एपीआईसी आर्किटेक्चर के साथ सह-अस्तित्व में है। मॉडर्न पीसी ने इंटेल एपीआईसी आर्किटेक्चर के पक्ष में 8259A को चरणबद्ध रूप से समाप्त करना प्रारम्भ कर दिया है। यद्यपि, अब यह सेपरेट चिप नहीं है, 8259A इंटरफ़ेस अभी भी मॉडर्न x86 मदरबोर्ड पर प्लेटफार्म कंट्रोलर हब या साउथब्रिज (कंप्यूटिंग) द्वारा प्रोवाइड किया जाता है।[1]

कार्यात्मक विवरण

8259 पर मेन सिग्नल पिन इस प्रकार हैं: जिनमें IRQ0 से IRQ7 नामक आठ इंटरप्ट इनपुट रिक्वेस्ट लाइनें, आईएनटीआर नामक इंटरप्ट रिक्वेस्ट आउटपुट लाइन, इंटरप्ट लेवल या वेक्टर ऑफसेट को कम्यूनिकेट करने के लिए आईएनटीए, D0 से D7 नामक इंटरप्ट एक्नॉलेजमेंट लाइन भी सम्मिलित हैं। अन्य कनेक्शनों में 8259 के मध्य कैस्केडिंग के लिए CAS0 से CAS2 सम्मिलित हैं।

अधिकतम 64 IRQ प्रदान करने के लिए आठ स्लेव 8259 को मास्टर 8259 में कैस्केड किया जा सकता है। 8259 को स्लेव 8259 की INT लाइन से और INT लाइन को मास्टर 8259 की IRQ लाइन से जोड़कर कैस्केड किया जाता है।

एन्ड ऑफ़ इंटरप्ट (ईओआई) ऑपरेशन स्पेसिफिक ईओआई, नॉन-स्पेसिफिक ईओआई और ऑटो-ईओआई को सपोर्ट करता है। स्पेसिफिक ईओआई उस IRQ लेवल को स्पेसिफाय करता है जिसे वह ISR में एक्नॉलेज कर रहा है। नॉन-स्पेसिफिक ईओआई ISR में IRQ लेवल को रीसेट करता है। ऑटो-ईओआई इंटरप्ट एक्नॉलेज होने के पश्चात् ISR में IRQ लेवल को रीसेट करता है।

एज और लेवल इंटरप्ट ट्रिगर मोड 8259A द्वारा सपोर्टेड हैं। फिक्स्ड प्रायोरिटी और रोटेटिंग प्रायोरिटी मोड सपोर्टेड हैं।

8259 को 8080/8085 या 8086/8088 के साथ कार्य करने के लिए कॉन्फ़िगर किया जा सकता है। 8086/8088 पर, इंटरप्ट होने पर इंटरप्ट कंट्रोलर डेटा बस पर इंटरप्ट नंबर प्रदान करता है। 8080/8085 का इंटरप्ट साइकिल डेटा बस पर तीन बाइट्स (8080/8085 इंस्ट्रक्शन सेट में कॉल इंस्ट्रक्शन के अनुरूप) को प्रस्तावित करता है।

8259A, 8259 (विशेष रूप से बफ़र मोड और लेवल-ट्रिगर मोड में) की उपमा में एडिशनल फ़ंक्शनैलिटी प्रदान करता है और इसके साथ अपवर्ड कम्पेटिबल है।

प्रोग्रामिंग विचार

डॉस और विंडोज़

NEC D8259AC, ओरिजिनल आईबीएम पर्सनल कंप्यूटर मदरबोर्ड पर उपयोग किया जाता है।

डॉस और माइक्रोसॉफ़्ट विंडोज़ के संयोजन में 8259 प्रोग्रामिंग ने बैकवर्ड कम्पेटिबिलिटी के लिए कई भ्रमित करने वाली समस्याएँ प्रस्तुत की हैं, जो 1981 में प्रस्तुत किए गए ओरिजिनल पीसी तक प्रस्तावित हुई हैं।

प्रथम समस्या ही दूसरी समस्या का आधार है। डॉस डिवाइस ड्राइवरों से अपेक्षा की जाती है कि जब वे अपने डिवाइस की सर्विसिंग पूर्ण कर लें तो वे 8259 पर नॉन-स्पेसिफिक ईओआई सेंड करें। यह डॉस में 8259 के किसी भी अन्य ईओआई मोड के उपयोग को प्रिवेंट करता है, और मास्टर 8259 से स्लेव 8259 तक रीरूट किए गए डिवाइस इंटरप्ट के मध्य अंतर को स्पष्ट करता है।

दूसरी समस्या पीसी/एटी में स्लेव 8259 के प्रारम्भ से IRQ2 और IRQ9 के उपयोग से संबंधित है। स्लेव 8259 का INT आउटपुट मास्टर के IR2 से कनेक्ट है। आईएसए बस की IRQ2 लाइन, जो मूल रूप से इस IR2 से कनेक्ट थी, जिसको स्लेव के IR1 पर रीरूट किया गया था। इस प्रकार ओल्ड IRQ2 लाइन अब सीपीयू में IRQ9 जेनेरेट करती है। डॉस डिवाइस ड्राइवरों के साथ बैकवर्ड कम्पेटिबिलिटी की अनुमति देने के लिए जो अभी भी IRQ2 के लिए सेट हैं, IRQ9 के लिए बायोस द्वारा हैंडलर इनस्टॉल किया गया है जो ओरिजिनल IRQ2 हैंडलर पर इंटरप्ट को रीडायरेक्ट करता है।

पीसी पर, बायोस (और इस प्रकार डॉस भी) वेक्टर ऑफसेट 8 (INT08-INT0F) को इंटरप्ट करने के लिए मास्टर 8259 इंटरप्ट रिक्वेस्ट (IRQ0-IRQ7) और वेक्टर ऑफसेट 112 (INT70-INT77) को इंटरप्ट करने के लिए स्लेव 8259 (पीसी/एटी) इंटरप्ट रिक्वेस्ट (IRQ8-IRQ15) को मैप करता है। ऐसा प्रथम 32 (INT00-INT1F) इंटरप्ट वैक्टर को प्रोसेसर द्वारा इंटरनल एक्सेप्शन्स के लिए रिज़र्व किये जाने के पश्चात किया गया था (किसी कारण से पीसी के डिजाइन के लिए इसे उपेक्षित कर दिया गया था)। एक्सेप्शन्स के लिए रिज़र्व वैक्टर के कारण अधिकांश अन्य ऑपरेटिंग सिस्टम (कम से कम मास्टर) 8259 IRQ (यदि प्लेटफॉर्म पर उपयोग किया जाता है) को दूसरे इंटरप्ट वेक्टर बेस ऑफसेट पर मैप करते हैं।

अन्य ऑपरेटिंग सिस्टम

चूंकि अधिकांश अन्य ऑपरेटिंग सिस्टम डिवाइस ड्राइवर एक्सपेक्टेशन में परिवर्तन की अनुमति देते हैं, इसलिए ऑपरेशन के अन्य 8259 मोड, जैसे ऑटो-ईओआई, का उपयोग किया जा सकता है। यह मॉडर्न x86 हार्डवेयर के लिए विशेष रूप से महत्वपूर्ण है जिसमें 8259 के साथ कम्युनिकेशन करते समय इनपुट/आउटपुट एड्रेस स्पेस डिले पर अधिक समय व्यतीत हो सकता है। इस प्रकार यह 8259s के साथ मल्टीप्रोसेसर x86 सिस्टम के सिंक्रोनाइज़ेशन में कई अन्य ऑप्टिमाइजेशन, जैसे क्रिटिकल सेक्शंस की भी अनुमति देता है।

एज और लेवल ट्रिगर मोड

चूंकि आईएसए बस लेवल ट्रिगर इंटरप्ट को सपोर्ट नहीं करती है, इसलिए लेवल ट्रिगर मोड का उपयोग आईएसए डिवाइस से जुड़े इंटरप्ट के लिए नहीं किया जा सकता है। इसका अर्थ है कि पीसी एक्सटी, पीसी/एटी और कम्पैटिबल सिस्टम पर 8259 को एज ट्रिगर्ड मोड के लिए प्रोग्राम किया जाना चाहिए। एमसीए सिस्टम पर, डिवाइस लेवल ट्रिगर्ड इंटरप्ट का उपयोग करते हैं और इंटरप्ट कंट्रोलर सदैव लेवल ट्रिगर मोड में कार्य करने के लिए हार्डवेयर्ड होता है। नए ईआईएसए, पीसीआई और उसके पश्चात के सिस्टम पर एज/लेवल कंट्रोल रजिस्टर (ईएलसीआर) प्रति IRQ लाइन के मोड को कण्ट्रोल करते हैं, जिससे आईएसए बसों के साथ ऐसे सिस्टम के लिए 8259 का मोड प्रभावी रूप से अप्रासंगिक हो जाता है। ELCR को करेक्ट ऑपरेशन के लिए सिस्टम स्टार्टअप पर बायोस द्वारा प्रोग्राम किया जाता है।

ELCRs x86 इनपुट/आउटपुट एड्रेस स्पेस में 0x4d0 और 0x4d1 लोकेटेड हैं। वे 8-बिट वाइड हैं, प्रत्येक बिट 8259 से IRQ के अनुरूप है। जब बिट सेट किया जाता है, तो IRQ लेवल ट्रिगर मोड में होता है; अन्यथा, IRQ एज ट्रिगर मोड में है।

स्पूरियस इंटरप्ट

8259 कई स्थितियों के रिस्पांस में स्पूरियस इंटरप्ट जेनेरेट करता है।

प्रथम IRQ लाइन है जिसे एक्नॉलेज किए जाने से पूर्व डीअस्सेर्ट किया जा रहा है। ऐसा IRQ लाइनों पर नॉइज़ के कारण हो सकता है। एज ट्रिगर मोड में, नॉइज़ को 100 एनएस तक लो स्टेट में लाइन को मेन्टेन रखना चाहिए। जब नॉइज़ कम हो जाती है, तो पुल-अप रेसिस्टर IRQ लाइन को हाई पर रिटर्न कर देता है, इस प्रकार फाल्स इंटरप्ट जेनेरेट होता है। लेवल ट्रिगर मोड में, नॉइज़ सिस्टम INTR लाइन पर हाई सिग्नल लेवल का कारण बन सकता है। यदि सिस्टम एक्नॉलेजमेंट रिक्वेस्ट सेंड करता है, तो 8259 के निकट सॉल्व करने के लिए कुछ नहीं है और इस प्रकार रिस्पांस में IRQ7 सेंड करता है। यह प्रथम स्थिति स्पूरियस IRQ7 जेनेरेट करेगी।

इसी प्रकार की स्थिति तब हो सकती है जब 8259 अनमास्क और IRQ इनपुट डी-एसेरशन उचित रूप से सिंक्रनाइज़ नहीं होते हैं। कई सिस्टमों में, IRQ इनपुट को इनपुट/आउटपुट राइट द्वारा डीअसेर्ट किया जाता है, और प्रोसेसर तब तक वेट नहीं करता है जब तक राइट इनपुट/आउटपुट डिवाइस तक नहीं पहुंच जाता है। यदि प्रोसेसर प्रारम्भ रहता है और IRQ इनपुट डीअसर्टेड होने से पूर्व 8259 IRQ को अनमास्क करता है, तो 8259 पुनः INTR को अस्सेर्ट करेगा। जब तक प्रोसेसर इस INTR को रेकग्निजि करता है और 8259 से IRQ को रीड करने के लिए एक्नॉलेजमेंट प्रस्तावित करता है, तब तक IRQ इनपुट डीअसेर्ट हो सकता है, और 8259 स्पूरियस IRQ7 रिटर्न करता है।

दूसरी यह है कि मास्टर 8259 का IRQ2 तब एक्टिव होता है जब स्लेव 8259 की IRQ लाइनें इंटरप्ट एक्नॉलेजमेंट के फॉलिंग एज पर इनएक्टिव होती हैं। यह दूसरी स्थिति स्पूरियस IRQ15 जेनेरेट करेगी, किन्तु यह दुर्लभ है।

पीसी एक्सटी और पीसी/एटी

पीसी एक्सटी आईएसए सिस्टम में 8259 कंट्रोलर था, जबकि पीसी/एटी और उसके पश्चात के सिस्टम में दो 8259 कंट्रोलर, मास्टर और स्लेव थे। IRQ0 से IRQ7 मास्टर 8259 की इंटरप्ट लाइनें हैं, जबकि IRQ8 से IRQ15 स्लेव 8259 की इंटरप्ट लाइनें हैं। 8259 पर पिन पर लेबल IR0 से IR7 तक हैं। IRQ0 से IRQ15 तक आईएसए बस की लाइनों के नाम हैं जिनसे 8259 जुड़े हुए हैं।

वेरिएंट

मॉडल संख्या टेक्नोलॉजी टेम्परेचर रेंज पैकेज रिलीज की डेट ओरिजिनल्य (यूएसडी)[list 1]
ID8259 -40°C to +85°C[2] मार्च/अप्रैल 1979[3] $23.15
M8259 मिलिट्री मार्च/अप्रैल 1979[4] $95.00
82C59A[5] सीएमओएस जुलाई/अगस्त 1984
8259 28 पिन पीएलसीसी[list 2][6]
  1. In quantities of 100 and up
  2. Sampling Q1 1986

यह भी देखें

संदर्भ

  1. http://pdf.datasheetcatalog.com/datasheet/Intel/mXvqwzr.pdf[bare URL PDF]
  2. Intel Corporation, "8086 Available for industrial environment", Intel Preview Special Issue: 16-Bit Solutions, May/June 1980, Page 29
  3. Intel Corporation, "Microcomputer Component: New industrial grade product line answers the demand for high-reliability components to operate in industrial applications.", Intel Preview, March/April 1979, p. 11
  4. Intel Corporation, "Military Products: Intel marches on!", Intel Preview, March/April 1979, p. 19
  5. Intel Corporation, "NewsBit: Intel Licenses Oki on CMOS Version of Several Products", Solutions, July/August 1984, Page 1.
  6. Ashborn, Jim; "Advanced Packaging: A Little Goes A Long Way", Intel Corporation, Solutions, January/February 1986, Page 2
  • Gilluwe, Frank van. The Undocumented PC. A-W Developers Press, 1997. ISBN 0-201-47950-8
  • McGivern, Joseph. Interrupt-Driven PC System Design. Annabooks, 1998. ISBN 0-929392-50-7
  • IBM Personal System/2 Hardware Interface Technical Reference – Architectures. IBM, 1990. IBM Publication 84F8933