इंटेल 8259: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 1: Line 1:


[[File:Intel 8259A IRQ chip.JPG|thumb|पीसी एक्सटी से इंटेल 8259A आईआरक्यू चिप का क्लोज़अप।]]
[[File:Intel 8259A IRQ chip.JPG|thumb|पीसी एक्सटी से इंटेल 8259A IRQ चिप का क्लोज़अप।]]
[[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 ओरिजिनल [[आईबीएम पीसी]] और [[आईबीएम पीसी एटी]] में आईएसए बस के लिए इंटरप्ट कंट्रोलर था।


Line 6: Line 6:


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


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


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


एज और लेवल इंटरप्ट ट्रिगर मोड 8259A द्वारा समर्थित हैं। निश्चित प्राथमिकता और घूर्णन प्राथमिकता मोड समर्थित हैं।
एज और लेवल इंटरप्ट ट्रिगर मोड 8259A द्वारा सपोर्टेड हैं। फिक्स्ड प्रायोरिटी और रोटेटिंग प्रायोरिटी मोड सपोर्टेड हैं।


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


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


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


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


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


=== अन्य ऑपरेटिंग सिस्टम ===
=== अन्य ऑपरेटिंग सिस्टम ===
Line 33: Line 33:


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


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


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


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


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


दूसरा यह है कि मास्टर 8259 का IRQ2 तब सक्रिय होता है जब स्लेव 8259 की IRQ लाइनें इंटरप्ट पावती के गिरते किनारे पर निष्क्रिय होती हैं। यह दूसरा मामला नकली IRQ15 उत्पन्न करेगा, लेकिन यह दुर्लभ है।
दूसरा यह है कि मास्टर 8259 का IRQ2 तब सक्रिय होता है जब स्लेव 8259 की IRQ लाइनें इंटरप्ट पावती के गिरते किनारे पर निष्क्रिय होती हैं। यह दूसरा मामला नकली IRQ15 उत्पन्न करेगा, लेकिन यह दुर्लभ है।
Line 49: Line 49:
{{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 तक ISA बस की लाइनों के नाम हैं जिनसे 8259 जुड़े हुए हैं।


== वेरिएंट ==
== वेरिएंट ==
Line 55: Line 55:
{| class="wikitable"
{| class="wikitable"
|-
|-
! मॉडल संख्या !! टेक्नोलॉजी !! टेम्परेचर रेंज !! पैकेज !! रिलीज की डेट !! मूल्य (यूएसडी)<ref group=list>In quantities of 100 and up</ref>
! मॉडल संख्या !! टेक्नोलॉजी !! टेम्परेचर रेंज !! पैकेज !! रिलीज की डेट !! ओरिजिनल्य (यूएसडी)<ref group=list>In quantities of 100 and up</ref>
|-
|-
| ID8259 || || -40°C to +85°C<ref>Intel Corporation, "8086 Available for industrial environment", Intel Preview Special Issue: 16-Bit Solutions, May/June 1980, Page 29</ref> || || मार्च/अप्रैल 1979<ref>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</ref> || $23.15
| ID8259 || || -40°C to +85°C<ref>Intel Corporation, "8086 Available for industrial environment", Intel Preview Special Issue: 16-Bit Solutions, May/June 1980, Page 29</ref> || || मार्च/अप्रैल 1979<ref>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</ref> || $23.15

Revision as of 11:06, 8 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 से जुड़ा है। ISA बस की IRQ2 लाइन, जो ओरिजिनल रूप से इस IR2 से जुड़ी थी, को दास के IR1 पर पुनः भेजा गया था। इस प्रकार पुरानी IRQ2 लाइन अब CPU में IRQ9 उत्पन्न करती है। DOS डिवाइस ड्राइवरों के साथ बैकवर्ड संगतता की अनुमति देने के लिए जो अभी भी IRQ2 के लिए सेट हैं, IRQ9 के लिए BIOS द्वारा हैंडलर स्थापित किया गया है जो ओरिजिनल IRQ2 हैंडलर पर इंटरप्ट को रीडायरेक्ट करता है।

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

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

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

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

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

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

नकली व्यवधान

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

पहली 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 का IRQ2 तब सक्रिय होता है जब स्लेव 8259 की IRQ लाइनें इंटरप्ट पावती के गिरते किनारे पर निष्क्रिय होती हैं। यह दूसरा मामला नकली IRQ15 उत्पन्न करेगा, लेकिन यह दुर्लभ है।

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

पीसी एक्सटी उद्योग मानक वास्तुकला सिस्टम में 8259 कंट्रोलर था, जबकि पीसी/एटी और बाद के सिस्टम में दो 8259 कंट्रोलर, मास्टर और स्लेव थे। IRQ0 से IRQ7 मास्टर 8259 की इंटरप्ट लाइनें हैं, जबकि IRQ8 से IRQ15 स्लेव 8259 की इंटरप्ट लाइनें हैं। 8259 पर पिन पर लेबल IR0 से IR7 तक हैं। IRQ0 से IRQ15 तक ISA बस की लाइनों के नाम हैं जिनसे 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