कीबोर्ड नियंत्रक (कंप्यूटिंग): Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 2: Line 2:
[[File:AT hauptplatine stromanschluss.jpg|thumb|[[एटी (फॉर्म फैक्टर)]] -[[मुख्य बोर्ड]] पर कीबोर्ड कंट्रोलर और एटी-कीबोर्ड जैक]]कंप्यूटिंग में, एक कीबोर्ड कंट्रोलर एक डिवाइस है जो एक [[कीबोर्ड (कंप्यूटिंग)]] को [[कंप्यूटर]] से जोड़ता है। इसका मुख्य कार्य [[कंप्यूटर कीबोर्ड कुंजियाँ]] को दबाने या छोड़ने पर कंप्यूटर को सूचित करना है। जब कीबोर्ड से डेटा आता है, तो [[सेंट्रल प्रोसेसिंग यूनिट]] को इनपुट को संभालने की अनुमति देने के लिए कंट्रोलर एक [[बाधा डालना]] (एक ''कीबोर्ड इंटरप्ट'') उठाता है।
[[File:AT hauptplatine stromanschluss.jpg|thumb|[[एटी (फॉर्म फैक्टर)]] -[[मुख्य बोर्ड]] पर कीबोर्ड कंट्रोलर और एटी-कीबोर्ड जैक]]कंप्यूटिंग में, एक कीबोर्ड कंट्रोलर एक डिवाइस है जो एक [[कीबोर्ड (कंप्यूटिंग)]] को [[कंप्यूटर]] से जोड़ता है। इसका मुख्य कार्य [[कंप्यूटर कीबोर्ड कुंजियाँ]] को दबाने या छोड़ने पर कंप्यूटर को सूचित करना है। जब कीबोर्ड से डेटा आता है, तो [[सेंट्रल प्रोसेसिंग यूनिट]] को इनपुट को संभालने की अनुमति देने के लिए कंट्रोलर एक [[बाधा डालना]] (एक ''कीबोर्ड इंटरप्ट'') उठाता है।


यदि कीबोर्ड एक अलग [[कंप्यूटर परिधीय]] प्रणाली इकाई है (जैसे कि अधिकांश आधुनिक [[डेस्कटॉप कंप्यूटर]]ों में), तो कीबोर्ड कंट्रोलर सीधे चाबियों से जुड़ा नहीं होता है, किन्तु किसी प्रकार के [[आनुक्रमिक अंतरापृष्ठ]] के माध्यम से कीबोर्ड में एम्बेडेड [[microcontroller|मिक्रोकंट्रोलर]] से [[स्कैनकोड]] प्राप्त करता है। इस स्थितियोंमें, नियंत्रक आमतौर पर तार के माध्यम से कीबोर्ड पर डेटा वापस भेजकर कीबोर्ड के एलईडी को भी नियंत्रित करता है।
यदि कीबोर्ड एक अलग [[कंप्यूटर परिधीय]] प्रणाली इकाई है (जैसे कि अधिकांश आधुनिक [[डेस्कटॉप कंप्यूटर]]ों में), तो कीबोर्ड कंट्रोलर सीधे चाबियों से जुड़ा नहीं होता है, किन्तु किसी प्रकार के [[आनुक्रमिक अंतरापृष्ठ]] के माध्यम से कीबोर्ड में एम्बेडेड [[microcontroller|मिक्रोकंट्रोलर]] से [[स्कैनकोड]] प्राप्त करता है। इस स्थितियों में, नियंत्रक सामान्यतः तार के माध्यम से कीबोर्ड पर डेटा वापस भेजकर कीबोर्ड के एलईडी को भी नियंत्रित करता है।


80 के दशक में [[आईबीएम पीसी एटी]] ने कीबोर्ड से इंटरफेस करने के लिए [[इंटेल 8042]] चिप का उपयोग किया था। इस कंप्यूटर ने [[Intel 80286|इंटेल 80286]] में चिप बग के लिए वर्कअराउंड लागू करने के लिए [[ए 20 लाइन]] तक पहुंच को भी नियंत्रित किया।<ref name="painFromThePast">{{Cite web|url=http://www.win.tue.nl/~aeb/linux/kbd/A20.html|title=A20 - a pain from the past}}</ref> सीपीयू को संरक्षित मोड से [[वास्तविक मोड]] में संक्रमण की अनुमति देने के लिए कीबोर्ड नियंत्रक का उपयोग एक सॉफ्टवेयर सीपीयू रीसेट आरंभ करने के लिए भी किया गया था<ref name="painFromThePast"/>क्योंकि 286 ने सीपीयू को रीसेट होने तक सीपीयू को संरक्षित मोड से वास्तविक मोड में जाने की अनुमति नहीं दी। यह एक समस्या थी क्योंकि [[BIOS]] और ऑपरेटिंग सिस्टम सेवाओं को एकमात्र वास्तविक मोड में प्रोग्राम द्वारा ही कॉल किया जा सकता था। इन व्यवहारों का उपयोग बहुत सारे सॉफ़्टवेयर द्वारा किया गया है जो इस व्यवहार की अपेक्षा करते हैं, और इसलिए कीबोर्ड नियंत्रकों ने A20 लाइन को नियंत्रित करना जारी रखा है और सॉफ़्टवेयर [[इंटरप्ट अनुरोध (पीसी आर्किटेक्चर)]] का प्रदर्शन तब भी किया है जब कीबोर्ड नियंत्रक के माध्यम से रीसेट की आवश्यकता [[इंटेल 80386]] द्वारा हटा दी गई थी। सीपीयू रीसेट के बिना संरक्षित मोड से वास्तविक मोड में स्विच करने की क्षमता। यदि PS/2 माउस पोर्ट सम्मलित है तो कीबोर्ड कंट्रोलर PS/2 पोर्ट | PS/2 [[माउस (कंप्यूटिंग)]] इनपुट को भी हैंडल करता है।
80 के दशक में [[आईबीएम पीसी एटी]] ने कीबोर्ड से इंटरफेस करने के लिए [[इंटेल 8042]] चिप का उपयोग किया था। इस कंप्यूटर ने [[Intel 80286|इंटेल 80286]] में चिप बग के लिए वर्कअराउंड लागू करने के लिए [[ए 20 लाइन]] तक पहुंच को भी नियंत्रित किया।<ref name="painFromThePast">{{Cite web|url=http://www.win.tue.nl/~aeb/linux/kbd/A20.html|title=A20 - a pain from the past}}</ref> सीपीयू को संरक्षित मोड से [[वास्तविक मोड]] में संक्रमण की अनुमति देने के लिए कीबोर्ड नियंत्रक का उपयोग एक सॉफ्टवेयर सीपीयू रीसेट आरंभ करने के लिए भी किया गया था<ref name="painFromThePast"/>क्योंकि 286 ने सीपीयू को रीसेट होने तक सीपीयू को संरक्षित मोड से वास्तविक मोड में जाने की अनुमति नहीं दी। यह एक समस्या थी क्योंकि [[BIOS|बेसिक इनपुट आउटपुट सिस्टम( बायोस)]] और ऑपरेटिंग सिस्टम सेवाओं को एकमात्र वास्तविक मोड में प्रोग्राम द्वारा ही कॉल किया जा सकता था। इन व्यवहारों का उपयोग बहुत सारे सॉफ़्टवेयर द्वारा किया गया है जो इस व्यवहार की अपेक्षा करते हैं, और इसलिए कीबोर्ड नियंत्रकों ने A20 लाइन को नियंत्रित करना जारी रखा है और सॉफ़्टवेयर [[इंटरप्ट अनुरोध (पीसी आर्किटेक्चर)]] का प्रदर्शन तब भी किया है जब कीबोर्ड नियंत्रक के माध्यम से रीसेट की आवश्यकता [[इंटेल 80386]] द्वारा हटा दी गई थी। सीपीयू रीसेट के बिना संरक्षित मोड से वास्तविक मोड में स्विच करने की क्षमता। यदि PS/2 माउस पोर्ट सम्मलित है तो कीबोर्ड कंट्रोलर PS/2 पोर्ट | PS/2 [[माउस (कंप्यूटिंग)]] इनपुट को भी हैंडल करता है।


आज कीबोर्ड कंट्रोलर या तो एक सुपर I/O डिवाइस के अंदर एक इकाई है या गायब है, जिसमें कीबोर्ड कंट्रोलर USB कीबोर्ड में ही एकीकृत है, और चिपसेट द्वारा संचालित A20 लाइन को नियंत्रित करने में इसकी भूमिका है।
आज कीबोर्ड कंट्रोलर या तो एक सुपर I/O डिवाइस के अंदर एक इकाई है या गायब है, जिसमें कीबोर्ड कंट्रोलर यूनिवर्सल सीरियल बस(यूएसबी) कीबोर्ड में ही एकीकृत है, और चिपसेट द्वारा संचालित A20 लाइन को नियंत्रित करने में इसकी भूमिका है।


== आईबीएम ==
== आईबीएम ==


* आईबीएम कीबोर्ड कंट्रोलर के निर्माण में एक छोटी भूमिका निभाता है। आईबीएम संगत कंप्यूटरों के साथ, मदरबोर्ड पर कीबोर्ड नियंत्रक या इंटेल 8042 कीबोर्ड नियंत्रक पाया जाता है। कंट्रोलर कंप्यूटर कीबोर्ड से प्राप्त इनपुट, A20 लाइन, रीसेट, स्कैन कोड को डिक्रिप्ट करने के साथ-साथ PS/2 माउस को हैंडल करता है। कीबोर्ड के बाद के मॉडल के साथ, 8042 को 8742 माइक्रो-कंट्रोलर से बदल दिया गया, जिसमें एक माइक्रोप्रोसेसर, रैंडम एक्सेस मेमोरी (रैम) और I/O पोर्ट थे।<ref>{{Cite web|url=https://www.computerhope.com/jargon/k/keybcont.htm|title=What is a Keyboard Controller?|website=www.computerhope.com|language=en|access-date=2019-12-04}}</ref>
* आईबीएम कीबोर्ड कंट्रोलर के निर्माण में एक छोटी भूमिका निभाता है। आईबीएम संगत कंप्यूटरों के साथ, मदरबोर्ड पर कीबोर्ड नियंत्रक या इंटेल 8042 कीबोर्ड नियंत्रक पाया जाता है। कंट्रोलर कंप्यूटर कीबोर्ड से प्राप्त इनपुट, A20 लाइन, रीसेट, स्कैन कोड को डिक्रिप्ट करने के साथ-साथ PS/2 माउस को हैंडल करता है। कीबोर्ड के बाद के मॉडल के साथ, 8042 को 8742 माइक्रो-कंट्रोलर से बदल दिया गया, जिसमें एक माइक्रोप्रोसेसर, रैंडम एक्सेस मेमोरी (रैम) और I/O पोर्ट थे।<ref>{{Cite web|url=https://www.computerhope.com/jargon/k/keybcont.htm|title=What is a Keyboard Controller?|website=www.computerhope.com|language=en|access-date=2019-12-04}}</ref>
* आईबीएम पीसी/एटी और अधिकतर सभी बाद के पीसी में पाए जाने वाले क्लासिक 8042-स्टाइल कीबोर्ड कंट्रोलर (केबीसी) का उपयोग करने की कोशिश करने वाला कोई भी व्यक्ति आमतौर पर त्रुटिहीन प्रलेखन की कमी के साथ एक समस्या में चलता है। 8042 (या 8742, या बाद के सुपर I/O चिप्स में निर्मित संगत भागों की संख्या) वास्तव में अधिक  अच्छी प्रकार से प्रलेखित है। पकड़ यह है कि 8042 एक प्रोग्राम करने योग्य माइक्रो-नियंत्रक है जिसका अपना नियंत्रण सॉफ़्टवेयर (आमतौर पर) रीड  ओनली  मेमोरी (रोम)है। कुछ समय पहले तक, कुछ कंपनियों (आईबीएम, एएमआई, फीनिक्स) के बाहर कोई नहीं जानता था कि नियंत्रण सॉफ्टवेयर वास्तव में क्या करता है।<ref name="os2museum.com">{{Cite web|url=http://www.os2museum.com/wp/ibm-pcat-8042-keyboard-controller-commands/|title=IBM PC/AT 8042 Keyboard Controller Commands {{!}} OS/2 Museum|website=www.os2museum.com|language=en-US|access-date=2019-12-04}}</ref>
* आईबीएम पीसी/एटी और अधिकतर सभी बाद के पीसी में पाए जाने वाले क्लासिक 8042-स्टाइल कीबोर्ड कंट्रोलर (केबीसी) का उपयोग करने की कोशिश करने वाला कोई भी व्यक्ति सामान्यतः त्रुटिहीन प्रलेखन की कमी के साथ एक समस्या में चलता है। 8042 (या 8742, या बाद के सुपर I/O चिप्स में निर्मित संगत भागों की संख्या) वास्तव में अधिक  अच्छी प्रकार से प्रलेखित है। पकड़ यह है कि 8042 एक प्रोग्राम करने योग्य माइक्रो-नियंत्रक है जिसका अपना नियंत्रण सॉफ़्टवेयर (सामान्यतः) रीड  ओनली  मेमोरी (रोम)है। कुछ समय पहले तक, कुछ कंपनियों (आईबीएम, एएमआई, फीनिक्स) के बाहर कोई नहीं जानता था कि नियंत्रण सॉफ्टवेयर वास्तव में क्या करता है।<ref name="os2museum.com">{{Cite web|url=http://www.os2museum.com/wp/ibm-pcat-8042-keyboard-controller-commands/|title=IBM PC/AT 8042 Keyboard Controller Commands {{!}} OS/2 Museum|website=www.os2museum.com|language=en-US|access-date=2019-12-04}}</ref>
* आईबीएम ने कई आदेशों का दस्तावेजीकरण किया जो मेजबान केबीसी को भेज सकता है। यह समझा जाना चाहिए कि वे सभी कमांड एक शुद्ध सॉफ्टवेयर निर्माण हैं, जिसमें 8042 हार्डवेयर के बारे में कुछ भी नहीं है जो यह निर्धारित करता है कि कमांड को किसी विशिष्ट प्रारूप, फ़ंक्शन का पालन करने की आवश्यकता है, या कि उन्हें वहां बिल्कुल भी होना चाहिए। इसलिए, 8042 रीड  ओनली  मेमोरी (रोम)कोड को समझना ही कमांड क्या हैं और वे क्या करते हैं, यह समझने का एकमात्र विधि है, इस चेतावनी के साथ कि विभिन्न नियंत्रकों के पास उनके रीड  ओनली  मेमोरी (रोम)में कुछ अलग कोड हो सकते हैं और करते हैं।<ref name="os2museum.com"/>
* आईबीएम ने कई आदेशों का दस्तावेजीकरण किया जो मेजबान केबीसी को भेज सकता है। यह समझा जाना चाहिए कि वे सभी कमांड एक शुद्ध सॉफ्टवेयर निर्माण हैं, जिसमें 8042 हार्डवेयर के बारे में कुछ भी नहीं है जो यह निर्धारित करता है कि कमांड को किसी विशिष्ट प्रारूप, फ़ंक्शन का पालन करने की आवश्यकता है, या कि उन्हें वहां बिल्कुल भी होना चाहिए। इसलिए, 8042 रीड  ओनली  मेमोरी (रोम)कोड को समझना ही कमांड क्या हैं और वे क्या करते हैं, यह समझने का एकमात्र विधि है, इस चेतावनी के साथ कि विभिन्न नियंत्रकों के पास उनके रीड  ओनली  मेमोरी (रोम)में कुछ अलग कोड हो सकते हैं और करते हैं।<ref name="os2museum.com"/>


Line 19: Line 19:
"उपेक्षित" के रूप में सूचीबद्ध आदेश कोई कार्य नहीं करते हैं।
"उपेक्षित" के रूप में सूचीबद्ध आदेश कोई कार्य नहीं करते हैं।


* 00h–1Fh: अप्रत्यक्ष रूप से KBC रैंडम एक्सेस मेमोरी (रैम) पढ़ें। प्रलेखित नहीं।
* 00h–1Fh: अप्रत्यक्ष रूप से केबीसी रैंडम एक्सेस मेमोरी (रैम) पढ़ें। प्रलेखित नहीं।
* 20h–3Fh: ऑफ़सेट 20h-3Fh पर KBC रैंडम एक्सेस मेमोरी (रैम) पढ़ें। एकमात्र कमांड 20h को IBM द्वारा प्रलेखित किया गया है।
* 20h–3Fh: ऑफ़सेट 20h-3Fh पर केबीसी रैंडम एक्सेस मेमोरी (रैम) पढ़ें। एकमात्र कमांड 20h को आईबीएमद्वारा प्रलेखित किया गया है।
* 40h–5Fh: KBC रैंडम एक्सेस मेमोरी (रैम) को अप्रत्यक्ष रूप से लिखें। प्रलेखित नहीं।
* 40h–5Fh: केबीसीरैंडम एक्सेस मेमोरी (रैम) को अप्रत्यक्ष रूप से लिखें। प्रलेखित नहीं।
* 60h–7Fh: ऑफ़सेट 20h-3Fh पर KBC रैंडम एक्सेस मेमोरी (रैम) लिखें। एकमात्र कमांड 60h को IBM द्वारा प्रलेखित किया गया है। ऑफ़सेट 20h पर बाइट कमांड बाइट है और विशेष रूप से व्यवहार किया जाता है।
* 60h–7Fh: ऑफ़सेट 20h-3Fh पर केबीसी रैंडम एक्सेस मेमोरी (रैम) लिखें। एकमात्र कमांड 60h को आईबीएम द्वारा प्रलेखित किया गया है। ऑफ़सेट 20h पर बाइट कमांड बाइट है और विशेष रूप से व्यवहार किया जाता है।
* 80h–A8h: उपेक्षित।
* 80h–A8h: उपेक्षित।
* आह: आत्म परीक्षण। यह आदेश प्रलेखित है, किन्तु इसके दुष्प्रभाव नहीं हैं।
* आह: आत्म परीक्षण। यह आदेश प्रलेखित है, किन्तु इसके दुष्प्रभाव नहीं हैं।
* एबीएच: इंटरफ़ेस परीक्षण।
* एबीएच: इंटरफ़ेस परीक्षण।
* एसीएच: डायग्नोस्टिक डंप। तृतीय पक्षों द्वारा उल्लेखित, किन्तु IBM द्वारा प्रलेखित नहीं।
* एसीएच: डायग्नोस्टिक डंप। तृतीय पक्षों द्वारा उल्लेखित, किन्तु आईबीएमद्वारा प्रलेखित नहीं।
* एडीएच: कीबोर्ड अक्षम करें।
* एडीएच: कीबोर्ड अक्षम करें।
* AEh: कीबोर्ड सक्षम करें।
* AEh: कीबोर्ड सक्षम करें।
* AFh-BFh: उपेक्षित।
* AFh-BFh: उपेक्षित।
* C0h: इनपुट पोर्ट पढ़ें।
* C0h: इनपुट पोर्ट पढ़ें।
* C1h: निरंतर इनपुट पोर्ट पोल, हाई निबल। तृतीय पक्षों द्वारा उल्लेखित, किन्तु IBM द्वारा प्रलेखित नहीं।
* C1h: निरंतर इनपुट पोर्ट पोल, हाई निबल। तृतीय पक्षों द्वारा उल्लेखित, किन्तु आईबीएम द्वारा प्रलेखित नहीं।
* C2h: निरंतर इनपुट पोर्ट पोल, लो निबल। तृतीय पक्षों द्वारा उल्लेखित, किन्तु IBM द्वारा प्रलेखित नहीं।
* C2h: निरंतर इनपुट पोर्ट पोल, लो निबल। तृतीय पक्षों द्वारा उल्लेखित, किन्तु आईबीएम द्वारा प्रलेखित नहीं।
* C3h-CFh: उपेक्षित।
* C3h-CFh: उपेक्षित।
* D0h: आउटपुट पोर्ट पढ़ें।
* D0h: आउटपुट पोर्ट पढ़ें।
Line 42: Line 42:


== निष्कर्ष ==
== निष्कर्ष ==
एक पोर्टेबल कंप्यूटिंग डिवाइस जिसमें सम्मलित है: एक कीबोर्ड नियंत्रक जिसमें कीस्ट्रोक इनपुट प्राप्त करने के लिए पहला इनपुट होता है और एक मुख्य प्रोसेसर के लिए कीस्ट्रोक इनपुट को संप्रेषित करने के लिए आउटपुट होता है; और द्वितीयक बस के माध्यम से उक्त कीबोर्ड नियंत्रक के लिए एक इंटरफ़ेस वाला द्वितीयक प्रोसेसर, कहा गया है कि द्वितीयक बस का उपयोग बैटरी मॉड्यूल के साथ संचार करने के लिए भी किया जा रहा है, जिसमें कहा गया है कि कीबोर्ड नियंत्रक उक्त द्वितीयक बस के माध्यम से उक्त द्वितीयक प्रोसेसर को कीस्ट्रोक इनपुट देता है।<ref>{{Cite patent|title=Computing device having a low power secondary processor coupled to a keyboard controller|country=US|status=application|number=2002129288|pubdate=2002-09-12|assign1=[[Hewlett-Packard Development Company]]|inventor1-last=Loh|inventor1-first=Weng|inventor2-last=Loughran|inventor2-first=Stephen}}, now abandoned.</ref> कीबोर्ड कंट्रोलर को IBM® संगत पर्सनल कंप्यूटर कीबोर्ड सीरियल इंटरफ़ेस का समर्थन करने के लिए प्रोग्राम किया गया है। कुंजीपटल नियंत्रक कीबोर्ड से सीरियल डेटा प्राप्त करता है, डेटा की समता की जांच करता है, स्कैन कोड का अनुवाद करता है, और डेटा को आउटपुट बफर में डेटा के बाइट के रूप में प्रस्तुत करता है। जब डेटा को इसके आउटपुट बफ़र में रखा जाता है, तो कंट्रोलर सिस्टम को बाधित कर देगा। डेटा का बाइट स्वचालित रूप से डाले गए विषम समता बिट के साथ कीबोर्ड पर क्रमिक रूप से भेजा जाएगा। सभी डेटा ट्रांसमिशन को स्वीकार करने के लिए कीबोर्ड की आवश्यकता होती है। भेजे गए पिछले बाइट के लिए पावती प्राप्त होने तक कीबोर्ड पर कोई प्रसारण नहीं भेजा जाना चाहिए। आईबीएम पीसी मशीनों और उनके कॉम्पिटिबल्स के प्रदर्शन को बेहतर बनाने के लिए कीबोर्ड कंट्रोलर और BIOS। पारंपरिक 8042 कीबोर्ड BIOS की प्रकार, सॉफ़्टवेयर कार्यान्वयन के अतिरिक्त  इस कीबोर्ड नियंत्रक में एक हार्डवेयर्ड कार्यप्रणाली का उपयोग किया जाता है। यह कीबोर्ड कंट्रोलर को कीबोर्ड से CPU BIOS में भेजे गए सभी कमांड का तुरंत उत्तर देने में सक्षम बनाता है। यह माइक्रोसॉफ्ट विंडोज, नोवेल और अन्य प्रोग्राम जैसे लोकप्रिय प्रोग्राम को बहुत तेजी से चलाने में सक्षम बनाता है।<ref>{{Cite web|url=https://www.alldatasheet.com/datasheet-pdf/pdf/110969/SMSC/KBD42W11.html|title=KBD42W11 Datasheet(PDF) - SMSC Corporation|website=www.alldatasheet.com|access-date=2019-12-04}}</ref>
एक पोर्टेबल कंप्यूटिंग डिवाइस जिसमें सम्मलित है: एक कीबोर्ड नियंत्रक जिसमें कीस्ट्रोक इनपुट प्राप्त करने के लिए पहला इनपुट होता है और एक मुख्य प्रोसेसर के लिए कीस्ट्रोक इनपुट को संप्रेषित करने के लिए आउटपुट होता है; और द्वितीयक बस के माध्यम से उक्त कीबोर्ड नियंत्रक के लिए एक इंटरफ़ेस वाला द्वितीयक प्रोसेसर, कहा गया है कि द्वितीयक बस का उपयोग बैटरी मॉड्यूल के साथ संचार करने के लिए भी किया जा रहा है, जिसमें कहा गया है कि कीबोर्ड नियंत्रक उक्त द्वितीयक बस के माध्यम से उक्त द्वितीयक प्रोसेसर को कीस्ट्रोक इनपुट देता है।<ref>{{Cite patent|title=Computing device having a low power secondary processor coupled to a keyboard controller|country=US|status=application|number=2002129288|pubdate=2002-09-12|assign1=[[Hewlett-Packard Development Company]]|inventor1-last=Loh|inventor1-first=Weng|inventor2-last=Loughran|inventor2-first=Stephen}}, now abandoned.</ref> कीबोर्ड कंट्रोलर को आईबीएम® संगत पर्सनल कंप्यूटर कीबोर्ड सीरियल इंटरफ़ेस का समर्थन करने के लिए प्रोग्राम किया गया है। कुंजीपटल नियंत्रक कीबोर्ड से सीरियल डेटा प्राप्त करता है, डेटा की समता की जांच करता है, स्कैन कोड का अनुवाद करता है, और डेटा को आउटपुट बफर में डेटा के बाइट के रूप में प्रस्तुत करता है। जब डेटा को इसके आउटपुट बफ़र में रखा जाता है, तो कंट्रोलर सिस्टम को बाधित कर देगा। डेटा का बाइट स्वचालित रूप से डाले गए विषम समता बिट के साथ कीबोर्ड पर क्रमिक रूप से भेजा जाएगा। सभी डेटा ट्रांसमिशन को स्वीकार करने के लिए कीबोर्ड की आवश्यकता होती है। भेजे गए पिछले बाइट के लिए पावती प्राप्त होने तक कीबोर्ड पर कोई प्रसारण नहीं भेजा जाना चाहिए। आईबीएम पीसी मशीनों और उनके कॉम्पिटिबल्स के प्रदर्शन को बेहतर बनाने के लिए कीबोर्ड कंट्रोलर और बायोस। पारंपरिक 8042 कीबोर्ड बायोस की प्रकार, सॉफ़्टवेयर कार्यान्वयन के अतिरिक्त  इस कीबोर्ड नियंत्रक में एक हार्डवेयर्ड कार्यप्रणाली का उपयोग किया जाता है। यह कीबोर्ड कंट्रोलर को कीबोर्ड से केंद्रीय संचालन इकाई (सीपीयू )  बायोस में भेजे गए सभी कमांड का तुरंत उत्तर देने में सक्षम बनाता है। यह माइक्रोसॉफ्ट विंडोज, नोवेल और अन्य प्रोग्राम जैसे लोकप्रिय प्रोग्राम को बहुत तेजी से चलाने में सक्षम बनाता है।<ref>{{Cite web|url=https://www.alldatasheet.com/datasheet-pdf/pdf/110969/SMSC/KBD42W11.html|title=KBD42W11 Datasheet(PDF) - SMSC Corporation|website=www.alldatasheet.com|access-date=2019-12-04}}</ref>





Revision as of 23:01, 13 February 2023

एटी (फॉर्म फैक्टर) -मुख्य बोर्ड पर कीबोर्ड कंट्रोलर और एटी-कीबोर्ड जैक

कंप्यूटिंग में, एक कीबोर्ड कंट्रोलर एक डिवाइस है जो एक कीबोर्ड (कंप्यूटिंग) को कंप्यूटर से जोड़ता है। इसका मुख्य कार्य कंप्यूटर कीबोर्ड कुंजियाँ को दबाने या छोड़ने पर कंप्यूटर को सूचित करना है। जब कीबोर्ड से डेटा आता है, तो सेंट्रल प्रोसेसिंग यूनिट को इनपुट को संभालने की अनुमति देने के लिए कंट्रोलर एक बाधा डालना (एक कीबोर्ड इंटरप्ट) उठाता है।

यदि कीबोर्ड एक अलग कंप्यूटर परिधीय प्रणाली इकाई है (जैसे कि अधिकांश आधुनिक डेस्कटॉप कंप्यूटरों में), तो कीबोर्ड कंट्रोलर सीधे चाबियों से जुड़ा नहीं होता है, किन्तु किसी प्रकार के आनुक्रमिक अंतरापृष्ठ के माध्यम से कीबोर्ड में एम्बेडेड मिक्रोकंट्रोलर से स्कैनकोड प्राप्त करता है। इस स्थितियों में, नियंत्रक सामान्यतः तार के माध्यम से कीबोर्ड पर डेटा वापस भेजकर कीबोर्ड के एलईडी को भी नियंत्रित करता है।

80 के दशक में आईबीएम पीसी एटी ने कीबोर्ड से इंटरफेस करने के लिए इंटेल 8042 चिप का उपयोग किया था। इस कंप्यूटर ने इंटेल 80286 में चिप बग के लिए वर्कअराउंड लागू करने के लिए ए 20 लाइन तक पहुंच को भी नियंत्रित किया।[1] सीपीयू को संरक्षित मोड से वास्तविक मोड में संक्रमण की अनुमति देने के लिए कीबोर्ड नियंत्रक का उपयोग एक सॉफ्टवेयर सीपीयू रीसेट आरंभ करने के लिए भी किया गया था[1]क्योंकि 286 ने सीपीयू को रीसेट होने तक सीपीयू को संरक्षित मोड से वास्तविक मोड में जाने की अनुमति नहीं दी। यह एक समस्या थी क्योंकि बेसिक इनपुट आउटपुट सिस्टम( बायोस) और ऑपरेटिंग सिस्टम सेवाओं को एकमात्र वास्तविक मोड में प्रोग्राम द्वारा ही कॉल किया जा सकता था। इन व्यवहारों का उपयोग बहुत सारे सॉफ़्टवेयर द्वारा किया गया है जो इस व्यवहार की अपेक्षा करते हैं, और इसलिए कीबोर्ड नियंत्रकों ने A20 लाइन को नियंत्रित करना जारी रखा है और सॉफ़्टवेयर इंटरप्ट अनुरोध (पीसी आर्किटेक्चर) का प्रदर्शन तब भी किया है जब कीबोर्ड नियंत्रक के माध्यम से रीसेट की आवश्यकता इंटेल 80386 द्वारा हटा दी गई थी। सीपीयू रीसेट के बिना संरक्षित मोड से वास्तविक मोड में स्विच करने की क्षमता। यदि PS/2 माउस पोर्ट सम्मलित है तो कीबोर्ड कंट्रोलर PS/2 पोर्ट | PS/2 माउस (कंप्यूटिंग) इनपुट को भी हैंडल करता है।

आज कीबोर्ड कंट्रोलर या तो एक सुपर I/O डिवाइस के अंदर एक इकाई है या गायब है, जिसमें कीबोर्ड कंट्रोलर यूनिवर्सल सीरियल बस(यूएसबी) कीबोर्ड में ही एकीकृत है, और चिपसेट द्वारा संचालित A20 लाइन को नियंत्रित करने में इसकी भूमिका है।

आईबीएम

  • आईबीएम कीबोर्ड कंट्रोलर के निर्माण में एक छोटी भूमिका निभाता है। आईबीएम संगत कंप्यूटरों के साथ, मदरबोर्ड पर कीबोर्ड नियंत्रक या इंटेल 8042 कीबोर्ड नियंत्रक पाया जाता है। कंट्रोलर कंप्यूटर कीबोर्ड से प्राप्त इनपुट, A20 लाइन, रीसेट, स्कैन कोड को डिक्रिप्ट करने के साथ-साथ PS/2 माउस को हैंडल करता है। कीबोर्ड के बाद के मॉडल के साथ, 8042 को 8742 माइक्रो-कंट्रोलर से बदल दिया गया, जिसमें एक माइक्रोप्रोसेसर, रैंडम एक्सेस मेमोरी (रैम) और I/O पोर्ट थे।[2]
  • आईबीएम पीसी/एटी और अधिकतर सभी बाद के पीसी में पाए जाने वाले क्लासिक 8042-स्टाइल कीबोर्ड कंट्रोलर (केबीसी) का उपयोग करने की कोशिश करने वाला कोई भी व्यक्ति सामान्यतः त्रुटिहीन प्रलेखन की कमी के साथ एक समस्या में चलता है। 8042 (या 8742, या बाद के सुपर I/O चिप्स में निर्मित संगत भागों की संख्या) वास्तव में अधिक अच्छी प्रकार से प्रलेखित है। पकड़ यह है कि 8042 एक प्रोग्राम करने योग्य माइक्रो-नियंत्रक है जिसका अपना नियंत्रण सॉफ़्टवेयर (सामान्यतः) रीड ओनली मेमोरी (रोम)है। कुछ समय पहले तक, कुछ कंपनियों (आईबीएम, एएमआई, फीनिक्स) के बाहर कोई नहीं जानता था कि नियंत्रण सॉफ्टवेयर वास्तव में क्या करता है।[3]
  • आईबीएम ने कई आदेशों का दस्तावेजीकरण किया जो मेजबान केबीसी को भेज सकता है। यह समझा जाना चाहिए कि वे सभी कमांड एक शुद्ध सॉफ्टवेयर निर्माण हैं, जिसमें 8042 हार्डवेयर के बारे में कुछ भी नहीं है जो यह निर्धारित करता है कि कमांड को किसी विशिष्ट प्रारूप, फ़ंक्शन का पालन करने की आवश्यकता है, या कि उन्हें वहां बिल्कुल भी होना चाहिए। इसलिए, 8042 रीड ओनली मेमोरी (रोम)कोड को समझना ही कमांड क्या हैं और वे क्या करते हैं, यह समझने का एकमात्र विधि है, इस चेतावनी के साथ कि विभिन्न नियंत्रकों के पास उनके रीड ओनली मेमोरी (रोम)में कुछ अलग कोड हो सकते हैं और करते हैं।[3]


केबीसी कमांड की सूची[3]

"उपेक्षित" के रूप में सूचीबद्ध आदेश कोई कार्य नहीं करते हैं।

  • 00h–1Fh: अप्रत्यक्ष रूप से केबीसी रैंडम एक्सेस मेमोरी (रैम) पढ़ें। प्रलेखित नहीं।
  • 20h–3Fh: ऑफ़सेट 20h-3Fh पर केबीसी रैंडम एक्सेस मेमोरी (रैम) पढ़ें। एकमात्र कमांड 20h को आईबीएमद्वारा प्रलेखित किया गया है।
  • 40h–5Fh: केबीसीरैंडम एक्सेस मेमोरी (रैम) को अप्रत्यक्ष रूप से लिखें। प्रलेखित नहीं।
  • 60h–7Fh: ऑफ़सेट 20h-3Fh पर केबीसी रैंडम एक्सेस मेमोरी (रैम) लिखें। एकमात्र कमांड 60h को आईबीएम द्वारा प्रलेखित किया गया है। ऑफ़सेट 20h पर बाइट कमांड बाइट है और विशेष रूप से व्यवहार किया जाता है।
  • 80h–A8h: उपेक्षित।
  • आह: आत्म परीक्षण। यह आदेश प्रलेखित है, किन्तु इसके दुष्प्रभाव नहीं हैं।
  • एबीएच: इंटरफ़ेस परीक्षण।
  • एसीएच: डायग्नोस्टिक डंप। तृतीय पक्षों द्वारा उल्लेखित, किन्तु आईबीएमद्वारा प्रलेखित नहीं।
  • एडीएच: कीबोर्ड अक्षम करें।
  • AEh: कीबोर्ड सक्षम करें।
  • AFh-BFh: उपेक्षित।
  • C0h: इनपुट पोर्ट पढ़ें।
  • C1h: निरंतर इनपुट पोर्ट पोल, हाई निबल। तृतीय पक्षों द्वारा उल्लेखित, किन्तु आईबीएम द्वारा प्रलेखित नहीं।
  • C2h: निरंतर इनपुट पोर्ट पोल, लो निबल। तृतीय पक्षों द्वारा उल्लेखित, किन्तु आईबीएम द्वारा प्रलेखित नहीं।
  • C3h-CFh: उपेक्षित।
  • D0h: आउटपुट पोर्ट पढ़ें।
  • D1h: आउटपुट पोर्ट लिखें।
  • D2h–DEh: ध्यान नहीं दिया गया।
  • E0h: परीक्षण इनपुट पढ़ें।
  • E1h–EFh: उपेक्षित।
  • F0h-FFh: पल्स आउटपुट बिट्स।

निष्कर्ष

एक पोर्टेबल कंप्यूटिंग डिवाइस जिसमें सम्मलित है: एक कीबोर्ड नियंत्रक जिसमें कीस्ट्रोक इनपुट प्राप्त करने के लिए पहला इनपुट होता है और एक मुख्य प्रोसेसर के लिए कीस्ट्रोक इनपुट को संप्रेषित करने के लिए आउटपुट होता है; और द्वितीयक बस के माध्यम से उक्त कीबोर्ड नियंत्रक के लिए एक इंटरफ़ेस वाला द्वितीयक प्रोसेसर, कहा गया है कि द्वितीयक बस का उपयोग बैटरी मॉड्यूल के साथ संचार करने के लिए भी किया जा रहा है, जिसमें कहा गया है कि कीबोर्ड नियंत्रक उक्त द्वितीयक बस के माध्यम से उक्त द्वितीयक प्रोसेसर को कीस्ट्रोक इनपुट देता है।[4] कीबोर्ड कंट्रोलर को आईबीएम® संगत पर्सनल कंप्यूटर कीबोर्ड सीरियल इंटरफ़ेस का समर्थन करने के लिए प्रोग्राम किया गया है। कुंजीपटल नियंत्रक कीबोर्ड से सीरियल डेटा प्राप्त करता है, डेटा की समता की जांच करता है, स्कैन कोड का अनुवाद करता है, और डेटा को आउटपुट बफर में डेटा के बाइट के रूप में प्रस्तुत करता है। जब डेटा को इसके आउटपुट बफ़र में रखा जाता है, तो कंट्रोलर सिस्टम को बाधित कर देगा। डेटा का बाइट स्वचालित रूप से डाले गए विषम समता बिट के साथ कीबोर्ड पर क्रमिक रूप से भेजा जाएगा। सभी डेटा ट्रांसमिशन को स्वीकार करने के लिए कीबोर्ड की आवश्यकता होती है। भेजे गए पिछले बाइट के लिए पावती प्राप्त होने तक कीबोर्ड पर कोई प्रसारण नहीं भेजा जाना चाहिए। आईबीएम पीसी मशीनों और उनके कॉम्पिटिबल्स के प्रदर्शन को बेहतर बनाने के लिए कीबोर्ड कंट्रोलर और बायोस। पारंपरिक 8042 कीबोर्ड बायोस की प्रकार, सॉफ़्टवेयर कार्यान्वयन के अतिरिक्त इस कीबोर्ड नियंत्रक में एक हार्डवेयर्ड कार्यप्रणाली का उपयोग किया जाता है। यह कीबोर्ड कंट्रोलर को कीबोर्ड से केंद्रीय संचालन इकाई (सीपीयू ) बायोस में भेजे गए सभी कमांड का तुरंत उत्तर देने में सक्षम बनाता है। यह माइक्रोसॉफ्ट विंडोज, नोवेल और अन्य प्रोग्राम जैसे लोकप्रिय प्रोग्राम को बहुत तेजी से चलाने में सक्षम बनाता है।[5]


यह भी देखें

संदर्भ

  1. 1.0 1.1 "A20 - a pain from the past".
  2. "What is a Keyboard Controller?". www.computerhope.com (in English). Retrieved 2019-12-04.
  3. 3.0 3.1 3.2 "IBM PC/AT 8042 Keyboard Controller Commands | OS/2 Museum". www.os2museum.com (in English). Retrieved 2019-12-04.
  4. US application 2002129288, Loh, Weng & Loughran, Stephen, "Computing device having a low power secondary processor coupled to a keyboard controller", published 2002-09-12, assigned to Hewlett-Packard Development Company , now abandoned.
  5. "KBD42W11 Datasheet(PDF) - SMSC Corporation". www.alldatasheet.com. Retrieved 2019-12-04.


बाहरी संबंध