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

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

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

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

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

आईबीएम

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

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


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

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

यह भी देखें

 * कीबोर्ड बफर
 * एटी कीबोर्ड
 * केवीएम विस्तारक
 * एंबेडेड नियंत्रक

बाहरी संबंध

 * keyboard controller - Computer Dictionary
 * KBD43W13 Keyboard and PS/2 Mouse Controller
 * All Data Sheet