इंटेल 8253: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 2: Line 2:


[[Image:Ic-photo-Intel--C8253.JPG|thumb|इंटेल C8253]]
[[Image:Ic-photo-Intel--C8253.JPG|thumb|इंटेल C8253]]
[[Image:Intel 8253 and 8254.svg|thumb|इंटेल 8253 प्रोग्रामयोग्य अंतराल टाइमर। Intel 8254 में समान पिनआउट है।]][[इंटेल]] 8253 और 8254 [[प्रोग्रामयोग्य अंतराल टाइमर]] (पीआईटी) हैं, जो तीन 16-बिट काउंटर का उपयोग करके समय और गिनती कार्य करते हैं।<ref name=i82c54/>
[[Image:Intel 8253 and 8254.svg|thumb|इंटेल 8253 प्रोग्रामयोग्य अंतराल टाइमर। इंटेल 8254 में समान पिनआउट है।]][[इंटेल]] 8253 और 8254 [[प्रोग्रामयोग्य अंतराल टाइमर]] (पीआईटी) हैं, जो तीन 16-बिट काउंटर का उपयोग करके समय और गणना फ़ंक्शन निष्पादित करते हैं।<ref name=i82c54/>


825x परिवार मुख्य रूप से [[Intel 8080]]/[[Intel 8085]]-प्रोसेसर के लिए डिज़ाइन किया गया था, लेकिन बाद में x86 संगत सिस्टम में उपयोग किया गया। 825x चिप्स, या बड़ी चिप में एम्बेडेड समकक्ष सर्किट, सभी [[आईबीएम पीसी संगत]] और वेक्टर -06 सी जैसे सोवियत कंप्यूटरों में पाए जाते हैं।
825x वर्ग मुख्य रूप से [[Intel 8080|इंटेल 8080]]/[[Intel 8085|इंटेल 8085]]-प्रोसेसर के लिए डिज़ाइन किया गया था, परंतु बाद में x86 संगत सिस्टम में उपयोग किया गया। 825x चिप, या बड़ी चिप में एम्बेडेड समकक्ष सर्किट, सभी [[आईबीएम पीसी संगत]] और वेक्टर -06 सी जैसे सोवियत कंप्यूटरों में पाए जाते हैं।


पीसी कंपैटिबल्स में, टाइमर चैनल 0 को [[ व्यवधान अनुरोध (पीसी आर्किटेक्चर) ]] -0 (उच्चतम प्राथमिकता हार्डवेयर इंटरप्ट) को सौंपा गया है। टाइमर चैनल 1 को DRAM रिफ्रेश के लिए असाइन किया गया है (कम से कम 80386 से पहले के शुरुआती मॉडल में)। टाइमर चैनल 2 [[पीसी स्पीकर]] को सौंपा गया है।
पीसी कंपैटिबल्स में, टाइमर चैनल 0 को [[ व्यवधान अनुरोध (पीसी आर्किटेक्चर) | अंतरायन अनुरोध (पीसी आर्किटेक्चर)]] -0 (उच्चतम प्राथमिकता हार्डवेयर इंटरप्ट) को दिया गया है। टाइमर चैनल 1 को डीरैम रिफ्रेश के लिए असाइन किया गया है (कम से कम 80386 से पहले के प्रारम्भिक मॉडल में)। टाइमर चैनल 2 [[पीसी स्पीकर]] को दिया गया है।


इंटेल 82c54 ([[सीएमओएस]] लॉजिक के लिए सी) वेरिएंट 10 मेगाहर्ट्ज क्लॉक सिग्नल तक संभालता है।<ref name=i82c54/>
इंटेल 82c54 ([[सीएमओएस]] लॉजिक के लिए सी) प्रकार 10 मेगाहर्ट्ज क्लॉक सिग्नल तक संभालता है।<ref name=i82c54/>
==इतिहास==
==इतिहास==
8253 का वर्णन 1980 इंटेल कंपोनेंट डेटा कैटलॉग प्रकाशन में किया गया है। 8254, जिसे उच्च क्लॉक स्पीड रेटिंग के साथ 8253 के सुपरसेट के रूप में वर्णित किया गया है, की 1982 इंटेल कंपोनेंट डेटा कैटलॉग में प्रारंभिक डेटा शीट है।
8253 का वर्णन 1980 इंटेल कंपोनेंट डेटा कैटलॉग प्रकाशन में किया गया है। 8254, जिसे उच्च क्लॉक स्पीड रेटिंग के साथ 8253 के सुपरसेट के रूप में वर्णित किया गया है, की 1982 इंटेल कंपोनेंट डेटा कैटलॉग में प्रारंभिक डेटा शीट है।


8254 को एचएमओएस में लागू किया गया है और इसमें रीड बैक कमांड 8253 पर उपलब्ध नहीं है, और ही काउंटर को इंटरलीव करने के लिए पढ़ने और लिखने की अनुमति देता है।<ref>{{cite book |author1=Deepali A. Godse |author2=Atul P. Godse |title=उन्नत माइक्रोप्रोसेसर|publisher=Technical Publications |year=2007 |isbn=978-81-89411-33-6 |page=74}}</ref>
8254 को एचएमओएस में लागू किया गया है और इसमें रीड बैक कमांड 8253 पर उपलब्ध नहीं है, और एक ही काउंटर को इंटरलीव करने के लिए पढ़ने और लिखने की अनुमति देता है।<ref>{{cite book |author1=Deepali A. Godse |author2=Atul P. Godse |title=उन्नत माइक्रोप्रोसेसर|publisher=Technical Publications |year=2007 |isbn=978-81-89411-33-6 |page=74}}</ref>
आधुनिक पीसी कंपेटिबल, या तो चिप सीपीयू या [[साउथब्रिज (कंप्यूटिंग)]] पर सिस्टम का उपयोग करते समय आमतौर पर बैकवर्ड संगतता और इंटरऑपरेबिलिटी के लिए पूर्ण 8254 संगतता लागू करते हैं।<ref>http://pdf.datasheetcatalog.com/datasheet/Intel/mXvqwzr.pdf {{Bare URL PDF|date=March 2022}}</ref> रीड बैक कमांड मल्टीकोर सीपीयू और जीपीयू के साथ इंटरऑपरेबिलिटी के लिए महत्वपूर्ण I/O सुविधा है।


=== वेरिएंट ===
आधुनिक पीसी कंपेटिबल, या तो चिप सीपीयू या [[साउथब्रिज (कंप्यूटिंग)]] पर सिस्टम का उपयोग करते समय सामान्यतः बैकवर्ड संगतता और अंतरप्रचालनीयता के लिए पूर्ण 8254 संगतता लागू करते हैं।<ref>http://pdf.datasheetcatalog.com/datasheet/Intel/mXvqwzr.pdf {{Bare URL PDF|date=March 2022}}</ref> रीड बैक कमांड मल्टीकोर सीपीयू और जीपीयू के साथ अंतरप्रचालनीयता के लिए महत्वपूर्ण आई/ओ सुविधा है।
-55°C से +125°C के तापमान रेंज के साथ Intel M8253 का सैन्य संस्करण है, जिसमें ±10% 5V पावर सहनशीलता भी है।<ref>Intel Corporation, "Focus Components: Military Intelligence: Timers, EPROMs, Leadless Chip Carriers", Solutions, March/April 1983, Page 12.</ref> उपलब्ध 82C53 CMOS संस्करण को ओकी इलेक्ट्रिक इंडस्ट्री|ओकी इलेक्ट्रॉनिक इंडस्ट्री कंपनी लिमिटेड को आउटसोर्स किया गया था।<ref>Intel Corporation, "NewsBit: Intel Licenses Oki on CMOS Version of Several Products", Solutions, July/August 1984, Page 1.</ref> Intel 82C54 का उपलब्ध पैकेज संस्करण 1986 की पहली तिमाही में सैंपलिंग के 28-पिन चिप_कैरियर#प्लास्टिक-लीडेड_चिप_कैरियर में था।<ref>Ashborn, Jim; "Advanced Packaging: A Little Goes A Long Way", Intel Corporation, Solutions, January/February 1986, Page 2</ref>
 
=== प्रकार ===
-55°C से +125°C के तापमान श्रेणी के साथ इंटेल M8253 का सैन्य संस्करण है, जिसमें ±10% 5V सामर्थ्य सहनशीलता भी है।<ref>Intel Corporation, "Focus Components: Military Intelligence: Timers, EPROMs, Leadless Chip Carriers", Solutions, March/April 1983, Page 12.</ref> उपलब्ध 82C53 CMOS संस्करण को ओकी इलेक्ट्रिक इंडस्ट्री कंपनी लिमिटेड को आउटसोर्स किया गया था।<ref>Intel Corporation, "NewsBit: Intel Licenses Oki on CMOS Version of Several Products", Solutions, July/August 1984, Page 1.</ref> इंटेल 82C54 का उपलब्ध पैकेज संस्करण 1986 की प्रथम तिमाही में सैंपलिंग के 28-पिन चिप कैरियर में था।<ref>Ashborn, Jim; "Advanced Packaging: A Little Goes A Long Way", Intel Corporation, Solutions, January/February 1986, Page 2</ref>
== विशेषताएँ ==
== विशेषताएँ ==
[[Image:Intel 8253 block diagram.svg|thumb|का ब्लॉक आरेख {{nowrap|Intel 8253}}]]टाइमर में तीन काउंटर हैं, जिनकी संख्या 0 से 2 है।<ref name="Intel 8254">{{cite web |title=8254/82C54: Introduction to Programmable Interval Timer |url=http://www.intel.com:80/design/archives/periphrl/docs/7203.htm |publisher=Intel Corporation |archive-url=https://web.archive.org/web/20161122073424/http://www.intel.com:80/design/archives/periphrl/docs/7203.htm |accessdate=21 August 2011|archive-date=22 November 2016 }}</ref> प्रत्येक चैनल को छह मोड में से में संचालित करने के लिए प्रोग्राम किया जा सकता है। बार प्रोग्राम हो जाने पर, चैनल स्वतंत्र रूप से काम करते हैं।<ref name=i82c54>{{cite web |archive-url=https://web.archive.org/web/20150603122044/http://download.intel.com/design/archives/periphrl/docs/23124406.pdf |archive-date=3 June 2015 |url=http://download.intel.com/design/archives/periphrl/docs/23124406.pdf |url-status=dead |title=Intel 82C54 CHMOS Programmabe Interval Timer |type=datasheet |access-date=26 November 2012 }}</ref>
[[Image:Intel 8253 block diagram.svg|thumb|का ब्लॉक आरेख {{nowrap|Intel 8253}}]]टाइमर में तीन काउंटर हैं, जिनकी संख्या 0 से 2 है।<ref name="Intel 8254">{{cite web |title=8254/82C54: Introduction to Programmable Interval Timer |url=http://www.intel.com:80/design/archives/periphrl/docs/7203.htm |publisher=Intel Corporation |archive-url=https://web.archive.org/web/20161122073424/http://www.intel.com:80/design/archives/periphrl/docs/7203.htm |accessdate=21 August 2011|archive-date=22 November 2016 }}</ref> प्रत्येक चैनल को छह मोड में से में संचालित करने के लिए प्रोग्राम किया जा सकता है। एक बार प्रोग्राम हो जाने पर, चैनल स्वतंत्र रूप से कार्य करते हैं।<ref name=i82c54>{{cite web |archive-url=https://web.archive.org/web/20150603122044/http://download.intel.com/design/archives/periphrl/docs/23124406.pdf |archive-date=3 June 2015 |url=http://download.intel.com/design/archives/periphrl/docs/23124406.pdf |url-status=dead |title=Intel 82C54 CHMOS Programmabe Interval Timer |type=datasheet |access-date=26 November 2012 }}</ref>
प्रत्येक काउंटर में दो इनपुट पिन होते हैं - सीएलके ([[ घड़ी ]] इनपुट) और गेट - और डेटा आउटपुट के लिए पिन, आउट। तीन काउंटर एक-दूसरे से स्वतंत्र 16-बिट डाउन काउंटर हैं, और इन्हें केंद्रीय प्रसंस्करण इकाई द्वारा आसानी से पढ़ा जा सकता है।<ref>{{cite web |title=MSM 82c53 Datasheet |url=http://www.sharpmz.org/download/8253.pdf}}</ref>
प्रत्येक काउंटर में दो इनपुट पिन होते हैं - "CLK"  ([[ घड़ी ]] इनपुट) और "GATE" - और डेटा आउटपुट के लिए पिन, "OUT"। तीन काउंटर एक-दूसरे से स्वतंत्र 16-बिट डाउन काउंटर हैं, और इन्हें केंद्रीय प्रसंस्करण इकाई द्वारा सरलता से पढ़ा जा सकता है।<ref>{{cite web |title=MSM 82c53 Datasheet |url=http://www.sharpmz.org/download/8253.pdf}}</ref>
* डेटा बस बफ़र में माइक्रोप्रोसेसर और आंतरिक रजिस्टरों के बीच डेटा बस को बफ़र करने का तर्क होता है। इसमें 8 इनपुट पिन हैं, जिन्हें आमतौर पर D7..D0 के रूप में लेबल किया जाता है, जहां D7 [[सबसे महत्वपूर्ण बिट]] है।
* डेटा बस बफ़र में माइक्रोप्रोसेसर और आंतरिक रजिस्टरों के बीच डेटा बस को बफ़र करने का तर्क होता है। इसमें 8 इनपुट पिन हैं, जिन्हें सामान्यतः D7..D0 के रूप में लेबल किया जाता है, जहां D7 [[सबसे महत्वपूर्ण बिट]] है।
* रीड/राइट लॉजिक में 5 पिन होते हैं, जो नीचे सूचीबद्ध हैं।{{overline|X}} दर्शाता है कि X सक्रिय निम्न सिग्नल है।
* रीड/राइट लॉजिक में 5 पिन होते हैं, जो निम्न सूचीबद्ध हैं। {{overline|X}} दर्शाता है कि X एक सक्रिय निम्न सिग्नल है।
** {{overline|RD}}: संकेत पढ़ें
** {{overline|RD}}: रीड सिग्नल
** {{overline|WR}}: संकेत लिखें
** {{overline|WR}}: राइट सिग्नल
** {{overline|CS}}: चिप चयन सिग्नल
** {{overline|CS}}: चिप सिलेक्ट सिग्नल
** A0, A1: [[पता पंक्ति]]याँ
** A0, A1: [[पता पंक्ति|एड्रैस लाइन]]


उपरोक्त हार्डवेयर सिग्नल सेट करके पीआईटी का ऑपरेशन मोड बदल दिया जाता है। उदाहरण के लिए, कंट्रोल वर्ड रजिस्टर पर लिखने के लिए, किसी को सेट करना होगा {{overline|CS}}=0, {{overline|RD}}=1, {{overline|WR}}=0, ए1=ए0=1.
उपरोक्त हार्डवेयर सिग्नल सेट करके पीआईटी का ऑपरेशन मोड बदल दिया जाता है। उदाहरण के लिए, कंट्रोल वर्ड रजिस्टर पर लिखने के लिए, किसी को {{overline|CS}}=0, {{overline|RD}}=1, {{overline|WR}}=0, A1=A0=1 सेट करना होगा।


* कंट्रोल वर्ड रजिस्टर में प्रोग्राम की गई जानकारी होती है जिसे ([[माइक्रोप्रोसेसर]] द्वारा) डिवाइस पर भेजा जाएगा। यह परिभाषित करता है कि पीआईटी का प्रत्येक चैनल तार्किक रूप से कैसे काम करता है। इन बंदरगाहों तक प्रत्येक पहुंच में लगभग 1 µs का समय लगता है।
* कंट्रोल वर्ड रजिस्टर में प्रोग्राम की गई सूचना होती है जिसे ([[माइक्रोप्रोसेसर]] द्वारा) डिवाइस पर भेजा जाएगा। यह परिभाषित करता है कि पीआईटी का प्रत्येक चैनल तार्किक रूप से कैसे कार्य करता है। इन पोर्ट तक प्रत्येक पहुंच में लगभग 1 µs का समय लगता है।


काउंटरों को आरंभ करने के लिए, माइक्रोप्रोसेसर को इस रजिस्टर में नियंत्रण शब्द (सीडब्ल्यू) लिखना होगा। यह रीड/राइट लॉजिक ब्लॉक के पिन के लिए उचित मान सेट करके और फिर डेटा/बस बफर ब्लॉक में नियंत्रण शब्द भेजकर किया जा सकता है।
काउंटरों को आरंभ करने के लिए, माइक्रोप्रोसेसर को इस रजिस्टर में नियंत्रण शब्द (सीडब्ल्यू) लिखना होगा। यह रीड/राइट लॉजिक ब्लॉक के पिन के लिए उचित मान सेट करके और फिर डेटा/बस बफर ब्लॉक में नियंत्रण शब्द भेजकर किया जा सकता है।


नियंत्रण शब्द रजिस्टर में 8 बिट्स हैं, जिन्हें D7..D0 लेबल किया गया है (D7 सबसे महत्वपूर्ण बिट है)। डिकोडिंग कुछ जटिल है. अधिकांश मान तीन काउंटरों में से के लिए पैरामीटर सेट करते हैं:
नियंत्रण शब्द रजिस्टर में 8 बिट्स हैं, जिन्हें D7..D0 लेबल किया गया है (D7 सबसे महत्वपूर्ण बिट है)। डिकोडिंग कुछ जटिल है।  अधिकांश मान तीन काउंटरों में से एक  के लिए पैरामीटर सेट करते हैं:
* सबसे महत्वपूर्ण दो बिट्स (यदि 11 नहीं) उस काउंटर रजिस्टर का चयन करें जिस पर कमांड लागू होता है।
* सबसे महत्वपूर्ण दो बिट्स (यदि 11 नहीं) उस काउंटर रजिस्टर का चयन करें जिस पर कमांड लागू होता है।
* अगले दो बिट्स (यदि 00 नहीं हैं) उस प्रारूप का चयन करें जिसका उपयोग काउंटर रजिस्टर में बाद में पढ़ने/लिखने की पहुंच के लिए किया जाएगा। इसे आमतौर पर ऐसे मोड पर सेट किया जाता है जहां एक्सेस सबसे कम-महत्वपूर्ण और सबसे-महत्वपूर्ण बाइट्स के बीच वैकल्पिक होता है। 8253 और 8254 के बीच अंतर यह है कि पहले वाले में आंतरिक बिट था जो पढ़ने और लिखने दोनों को प्रभावित करता था, इसलिए यदि प्रारूप 2-बाइट पर सेट किया गया था, तो lsbyte को पढ़ने से निम्नलिखित लेखन को msbyte पर निर्देशित किया जाएगा। 8254 में पढ़ने और लिखने के लिए अलग-अलग बिट्स का उपयोग किया गया।
* अग्रिम दो बिट्स (यदि 00 नहीं हैं) उस फॉर्मैट का चयन करें जिसका उपयोग काउंटर रजिस्टर में बाद में पढ़ने/लिखने की पहुंच के लिए किया जाएगा। इसे सामान्यतः ऐसे मोड पर सेट किया जाता है जहां एक्सेस सबसे कम-महत्वपूर्ण और सबसे-महत्वपूर्ण बाइट्स के बीच वैकल्पिक होता है। 8253 और 8254 के बीच अंतर यह है कि पहले वाले में आंतरिक बिट था जो पढ़ने और लिखने दोनों को प्रभावित करता था, इसलिए यदि फॉर्मैट 2-बाइट पर सेट किया गया था, तो lsbyte को पढ़ने से निम्नलिखित लेखन को msbyte पर निर्देशित किया जाएगा। 8254 में पढ़ने और लिखने के लिए अलग-अलग बिट्स का उपयोग किया गया।
* अगले तीन बिट्स उस मोड का चयन करें जिसमें काउंटर काम करेगा।
* अग्रिम तीन बिट्स उस मोड का चयन करें जिसमें काउंटर कार्य करेगा।
* सबसे कम महत्वपूर्ण बिट यह चुनता है कि काउंटर बाइनरी या [[बाइनरी-कोडित दशमलव]] में काम करेगा या नहीं। (बीसीडी गिनती लगभग कभी भी उपयोग नहीं की जाती है और इसे एमुलेटर या साउथब्रिज में ठीक से लागू नहीं किया जा सकता है।)
* सबसे कम महत्वपूर्ण बिट यह चयनित है कि काउंटर बाइनरी या [[बाइनरी-कोडित दशमलव]] में कार्य करेगा या नहीं। (बीसीडी गणना लगभग कभी भी उपयोग नहीं की जाती है और इसे एमुलेटर या साउथब्रिज में ठीक से लागू नहीं किया जा सकता है।)


हालाँकि, दो अन्य रूप भी हैं:
यद्यपि, दो अन्य रूप भी हैं:
* किसी दिए गए टाइमर के लिए गिनती को लॉक करें। अगला रीड, रीड के समय काउंटर वैल्यू लौटाने के बजाय, लैच कमांड के पल में काउंटर वैल्यू लौटाएगा। रीड पूरा होने के बाद, बाद में पढ़ा गया वर्तमान काउंटर लौटा देगा। जब लैच कमांड का उपयोग किया जाता है, तो मोड और बीसीडी स्थिति नहीं बदली जाती है।
* किसी दिए गए टाइमर के लिए गणना को लॉक करें। अग्रिम रीड, रीड के समय काउंटर वैल्यू लौटाने के अतिरिक्त, लैच कमांड के समय में काउंटर वैल्यू लौटाएगा। रीड पूर्ण होने के पश्चात, बाद में पढ़ा गया वर्तमान काउंटर लौटा देगा। जब लैच कमांड का उपयोग किया जाता है, तो मोड और बीसीडी स्थिति नहीं बदली जाती है।
* (केवल 8254) एकाधिक टाइमर के लिए स्थिति को लॉक करें और/या गिनती करें। यह बिटमैप का उपयोग करके साथ कई लैच कमांड की अनुमति देता है। साथ ही, वर्तमान चैनल कॉन्फ़िगरेशन को गिनती के अतिरिक्त वापस पढ़ा जा सकता है।
* (मात्र 8254) एकाधिक टाइमर के लिए स्थिति को लॉक करें और/या गणना करें। यह बिटमैप का उपयोग करके साथ कई लैच कमांड की अनुमति देता है। साथ ही, वर्तमान चैनल कॉन्फ़िगरेशन को गणना के अतिरिक्त वापस पढ़ा जा सकता है।


{| class="wikitable" style="text-align: center;"
{| class="wikitable" style="text-align: center;"
|+ 8253/8254 control word
|+ 8253/8254 कंट्रोल वर्ड
|-
|-
!colspan=8| Bit #/Name
!colspan=8| बिट #/नाम
!rowspan=2| Short Description
!rowspan=2| संक्षिप्त वर्णन
|-
|-
! D7<br />SC1
! D7<br />SC1
Line 63: Line 64:
|colspan=3| mode
|colspan=3| mode
|align=center| BCD
|align=center| BCD
|align=left| Set mode of Counter 0  
|align=left| काउंटर 0 का मोड सेट करें
|-
|-
| 0
| 0
Line 70: Line 71:
|colspan=3| mode
|colspan=3| mode
|align=center| BCD
|align=center| BCD
|align=left| Set mode of Counter 1  
|align=left| काउंटर 1 का मोड सेट करें
|-
|-
| 1
| 1
Line 77: Line 78:
|colspan=3| mode
|colspan=3| mode
| BCD
| BCD
|align=left| Set mode of Counter 2 (at port 42h)
|align=left| काउंटर 2 का मोड सेट करें (पोर्ट 42 घंटे पर)
|-
|-
| 1
| 1
Line 87: Line 88:
| C0
| C0
|bgcolor=lightgrey| x
|bgcolor=lightgrey| x
|align=left| Read-back command (8254 only)
|align=left| रीड-बैक कमांड (मात्र 8254)
|-
|-
|colspan=9|  
|colspan=9|  
Line 95: Line 96:
| 0
| 0
|colspan=4 bgcolor=lightgrey| &mdash; x &mdash;
|colspan=4 bgcolor=lightgrey| &mdash; x &mdash;
|align=left| Latch counter value.  Next read of counter will read snapshot of value.
|align=left| कुंडी काउंटर वैल्यू। काउंटर का अग्रिम टेक्स्ट वैल्यू का स्नैपशॉट पढ़ेगा।
|-
|-
|colspan=2|counter
|colspan=2|counter
Line 102: Line 103:
|colspan=3| mode
|colspan=3| mode
| BCD
| BCD
|align=left| Read/Write low byte of counter value only
|align=left| केवल काउंटर वैल्यू की कम बाइट पढ़ें/लिखें
|-
|-
|colspan=2|counter
|colspan=2|counter
Line 109: Line 110:
|colspan=3| mode
|colspan=3| mode
| BCD
| BCD
|align=left| Read/Write high byte of counter value only
|align=left| केवल काउंटर वैल्यू की उच्च बाइट पढ़ें/लिखें
|-
|-
|colspan=2|counter
|colspan=2|counter
Line 116: Line 117:
|colspan=3| mode
|colspan=3| mode
| BCD
| BCD
|align=left| 2×Read/2xWrite low byte then high byte of counter value
|align=left| 2×पढ़ें/2xकम बाइट लिखें फिर काउंटर वैल्यू का उच्च बाइट
|-
|-
|colspan=9|  
|colspan=9|  
Line 126: Line 127:
| 0
| 0
| BCD
| BCD
|align=left| Mode 0: Interrupt on Terminal Count
|align=left| मोड 0: टर्मिनल काउंट पर व्यवधान
|-
|-
|colspan=2| counter
|colspan=2| counter
Line 134: Line 135:
| 1
| 1
| BCD
| BCD
|align=left| Mode 1: Hardware Retriggerable One-Shot
|align=left| मोड 1: हार्डवेयर रिट्रिगरेबल वन-शॉट
|-
|-
|colspan=2| counter
|colspan=2| counter
Line 142: Line 143:
| 0
| 0
| BCD
| BCD
|align=left| Mode 2: Rate Generator
|align=left| मोड 2: रेट जेनरेटर
|-
|-
|colspan=2| counter
|colspan=2| counter
Line 150: Line 151:
| 1
| 1
| BCD
| BCD
|align=left| Mode 3: Square Wave
|align=left| मोड 3: स्क्वायर वेव
|-
|-
|colspan=2| counter
|colspan=2| counter
Line 158: Line 159:
| 0
| 0
| BCD
| BCD
|align=left| Mode 4: Software Triggered Strobe
|align=left| मोड 4: सॉफ्टवेयर ट्रिगर स्ट्रोब
|-
|-
|colspan=2| counter
|colspan=2| counter
Line 166: Line 167:
| 1
| 1
| BCD
| BCD
|align=left| Mode 5: Hardware Triggered Strobe (Retriggerable)
|align=left| मोड 5: हार्डवेयर ट्रिगर स्ट्रोब (रिट्रिगरेबल)
|-
|-
|colspan=9|
|colspan=9|
Line 174: Line 175:
|colspan=3| mode
|colspan=3| mode
| 0
| 0
|align=left| Counter is a 16-bit binary counter (0–65535)
|align=left| काउंटर एक 16-बिट बाइनरी काउंटर है (0-65535)
|-
|-
|colspan=2| counter
|colspan=2| counter
Line 274: Line 275:
|align=left| Read-back command applies to counter 0
|align=left| Read-back command applies to counter 0
|}
|}
पीआईटी सेट करते समय, माइक्रोप्रोसेसर पहले नियंत्रण संदेश भेजता है, फिर पीआईटी को गिनती संदेश भेजता है। गिनती की प्रक्रिया पीआईटी को ये संदेश प्राप्त होने के बाद शुरू होगी, और, कुछ मामलों में, अगर यह गेट इनपुट [[संकेत किनारा]] बढ़ते सिग्नल किनारे का पता लगाता है।
पीआईटी सेट करते समय, माइक्रोप्रोसेसर पहले नियंत्रण संदेश भेजता है, फिर पीआईटी को गणना संदेश भेजता है। गणना की प्रक्रिया पीआईटी को ये संदेश प्राप्त होने के पश्चात शुरू होगी, और, कुछ मामलों में, अगर यह "GATE" इनपुट [[संकेत किनारा]] बढ़ते सिग्नल किनारे का पता लगाता है।
स्थिति बाइट प्रारूप. बिट 7 सॉफ़्टवेयर को OUT पिन की वर्तमान स्थिति की निगरानी करने की अनुमति देता है। बिट 6 इंगित करता है कि गिनती कब पढ़ी जा सकती है; जब यह बिट 1 होता है, तो गिनती तत्व अभी तक लोड नहीं हुआ है और प्रोसेसर द्वारा वापस पढ़ा नहीं जा सकता है। बिट्स 5 से 0 नियंत्रण रजिस्टर में लिखे गए अंतिम बिट्स के समान हैं।
स्थिति बाइट फॉर्मैट. बिट 7 सॉफ़्टवेयर को OUT पिन की वर्तमान स्थिति की निगरानी करने की अनुमति देता है। बिट 6 इंगित करता है कि गणना कब पढ़ी जा सकती है; जब यह बिट 1 होता है, तो गणना तत्व अभी तक लोड नहीं हुआ है और प्रोसेसर द्वारा वापस पढ़ा नहीं जा सकता है। बिट्स 5 से 0 नियंत्रण रजिस्टर में लिखे गए अंतिम बिट्स के समान हैं।
   {| class="wikitable" style="text-align: center;"
   {| class="wikitable" style="text-align: center;"
|+ 8254 status word
|+ 8254 status word
Line 313: Line 314:
|colspan=3| mode
|colspan=3| mode
| BCD
| BCD
|align=left| Counter mode bits, as defined for the control word register
|align=left| Counter mode bits, as defined for the कंट्रोल वर्ड register
|}
|}


Line 319: Line 320:
नियंत्रण शब्द के D3, D2 और D1 बिट्स टाइमर के ऑपरेटिंग मोड को सेट करते हैं। कुल मिलाकर 6 मोड हैं; मोड 2 और 3 के लिए, डी3 बिट को नजरअंदाज कर दिया जाता है, इसलिए गायब मोड 6 और 7 मोड 2 और 3 के लिए उपनाम हैं।
नियंत्रण शब्द के D3, D2 और D1 बिट्स टाइमर के ऑपरेटिंग मोड को सेट करते हैं। कुल मिलाकर 6 मोड हैं; मोड 2 और 3 के लिए, डी3 बिट को नजरअंदाज कर दिया जाता है, इसलिए गायब मोड 6 और 7 मोड 2 और 3 के लिए उपनाम हैं।


सभी मोड GATE इनपुट के प्रति संवेदनशील हैं, GATE उच्च के कारण सामान्य ऑपरेशन होता है, लेकिन GATE कम का प्रभाव मोड पर निर्भर करता है:
सभी मोड GATE इनपुट के प्रति संवेदनशील हैं, GATE उच्च के कारण सामान्य ऑपरेशन होता है, परंतु GATE कम का प्रभाव मोड पर निर्भर करता है:
* मोड 0 और 4: GATE कम होने पर गिनती निलंबित कर दी जाती है, और GATE अधिक होने पर गिनती फिर से शुरू हो जाती है।
* मोड 0 और 4: GATE कम होने पर गणना निलंबित कर दी जाती है, और GATE अधिक होने पर गणना फिर से शुरू हो जाती है।
* मोड 1 और 5: GATE के बढ़ते किनारे की गिनती शुरू होती है। गिनती को प्रभावित किए बिना GATE नीचे जा सकता है, लेकिन और बढ़ती बढ़त शुरुआत से ही गिनती को फिर से शुरू कर देगी।
* मोड 1 और 5: GATE के बढ़ते किनारे की गणना शुरू होती है। गणना को प्रभावित किए बिना GATE निम्न जा सकता है, परंतु और बढ़ती बढ़त शुरुआत से ही गणना को फिर से शुरू कर देगी।
* मोड 2 और 3: गेट लो फोर्स को तुरंत हाई आउट करें (क्लॉक पल्स की प्रतीक्षा किए बिना) और काउंटर को रीसेट करता है (अगली क्लॉक गिरने वाले किनारे पर)। जब GATE फिर से ऊपर चला जाता है, तो गिनती फिर से शुरू हो जाती है।
* मोड 2 और 3: "GATE" लो फोर्स को तुरंत हाई आउट करें (क्लॉक पल्स की प्रतीक्षा किए बिना) और काउंटर को रीसेट करता है (अगली क्लॉक गिरने वाले किनारे पर)। जब GATE फिर से ऊपर चला जाता है, तो गणना फिर से शुरू हो जाती है।


=== मोड 0 (000): टर्मिनल गिनती पर व्यवधान ===
=== मोड 0 (000): टर्मिनल गणना पर अंतरायन ===
मोड 0 का उपयोग सॉफ्टवेयर नियंत्रण के तहत सटीक समय विलंब उत्पन्न करने के लिए किया जाता है। इस मोड में, काउंटर इसमें लोड किए गए प्रारंभिक COUNT मान से 0 तक गिनती शुरू कर देगा। गिनती दर इनपुट घड़ी आवृत्ति के बराबर है।
मोड 0 का उपयोग सॉफ्टवेयर नियंत्रण के तहत सटीक समय विलंब उत्पन्न करने के लिए किया जाता है। इस मोड में, काउंटर इसमें लोड किए गए प्रारंभिक COUNT मान से 0 तक गणना शुरू कर देगा। गणना दर इनपुट घड़ी आवृत्ति के बराबर है।


कंट्रोल वर्ड लिखे जाने के बाद OUT पिन को कम सेट किया जाता है, और COUNT प्रोग्राम होने के बाद गिनती घड़ी चक्र शुरू होती है। काउंटर 0 तक पहुंचने तक OUT कम रहता है, जिस बिंदु पर OUT को तब तक उच्च सेट किया जाएगा जब तक कि काउंटर पुनः लोड न हो जाए या नियंत्रण शब्द न लिखा जाए। काउंटर चारों ओर से लपेटता है <code>0xFFFF</code> आंतरिक रूप से और गिनती जारी रहती है, लेकिन OUT पिन फिर कभी नहीं बदलता है। सामान्य गणना के लिए गेट सिग्नल को उच्च स्तर पर सक्रिय रहना चाहिए। यदि गेट नीचे चला जाता है, तो गिनती रोक दी जाती है, और फिर से ऊपर जाने पर गिनती फिर से शुरू हो जाती है।
कंट्रोल वर्ड लिखे जाने के पश्चात OUT पिन को कम सेट किया जाता है, और COUNT प्रोग्राम होने के पश्चात गणना घड़ी चक्र शुरू होती है। काउंटर 0 तक पहुंचने तक OUT कम रहता है, जिस बिंदु पर OUT को तब तक उच्च सेट किया जाएगा जब तक कि काउंटर पुनः लोड न हो जाए या नियंत्रण शब्द न लिखा जाए। काउंटर चारों ओर से लपेटता है <code>0xFFFF</code> आंतरिक रूप से और गणना जारी रहती है, परंतु OUT पिन फिर कभी नहीं बदलता है। सामान्य गणना के लिए "GATE" सिग्नल को उच्च स्तर पर सक्रिय रहना चाहिए। यदि "GATE" निम्न चला जाता है, तो गणना रोक दी जाती है, और फिर से ऊपर जाने पर गणना फिर से शुरू हो जाती है।


नई गिनती की पहली बाइट गिनती रजिस्टर में लोड होने पर पिछली गिनती को रोक देती है।
नई गणना की पहली बाइट गणना रजिस्टर में लोड होने पर पिछली गणना को रोक देती है।


=== मोड 1 (001): प्रोग्रामयोग्य शॉट ===
=== मोड 1 (001): प्रोग्रामयोग्य शॉट ===
इस मोड में 8253 का उपयोग [[मोनोस्टेबल मल्टीवाइब्रेटर]] के रूप में किया जा सकता है। GATE इनपुट का उपयोग ट्रिगर इनपुट के रूप में किया जाता है।
इस मोड में 8253 का उपयोग [[मोनोस्टेबल मल्टीवाइब्रेटर]] के रूप में किया जा सकता है। GATE इनपुट का उपयोग ट्रिगर इनपुट के रूप में किया जाता है।


प्रारंभ में OUT उच्च होगा। एक-शॉट पल्स शुरू करने के लिए ट्रिगर के बाद क्लॉक पल्स पर OUT कम हो जाएगा, और जब तक काउंटर शून्य तक नहीं पहुंच जाता तब तक कम रहेगा। फिर OUT उच्च स्तर पर जाएगा और अगले ट्रिगर के बाद CLK पल्स तक उच्च बना रहेगा।
प्रारंभ में OUT उच्च होगा। एक-शॉट पल्स शुरू करने के लिए ट्रिगर के पश्चात क्लॉक पल्स पर OUT कम हो जाएगा, और जब तक काउंटर शून्य तक नहीं पहुंच जाता तब तक कम रहेगा। फिर OUT उच्च स्तर पर जाएगा और अग्रिम ट्रिगर के पश्चात CLK पल्स तक उच्च बना रहेगा।


नियंत्रण शब्द और प्रारंभिक गणना लिखने के बाद, काउंटर सशस्त्र है। ट्रिगर के परिणामस्वरूप काउंटर लोड होता है और अगले सीएलके पल्स पर आउट कम सेट होता है, इस प्रकार एक-शॉट पल्स शुरू होता है। एन की प्रारंभिक गणना के परिणामस्वरूप अवधि में एक-शॉट पल्स एन सीएलके चक्र प्राप्त होगा।
नियंत्रण शब्द और प्रारंभिक गणना लिखने के पश्चात, काउंटर सशस्त्र है। ट्रिगर के परिणामस्वरूप काउंटर लोड होता है और अग्रिम "CLK"  पल्स पर आउट कम सेट होता है, इस प्रकार एक-शॉट पल्स शुरू होता है। एन की प्रारंभिक गणना के परिणामस्वरूप अवधि में एक-शॉट पल्स एन "CLK"  चक्र प्राप्त होगा।


वन-शॉट पुनः ट्रिगर करने योग्य है, इसलिए किसी भी ट्रिगर के बाद एन सीएलके पल्स के लिए आउट कम रहेगा। एक-शॉट पल्स को काउंटर में समान गिनती दोबारा लिखे बिना दोहराया जा सकता है। GATE का OUT पर कोई प्रभाव नहीं पड़ता. यदि ऑनशॉट पल्स के दौरान काउंटर पर नई गिनती लिखी जाती है, तो वर्तमान वन-शॉट प्रभावित नहीं होता है जब तक कि काउंटर को फिर से चालू न किया जाए। उस स्थिति में, काउंटर को नई गिनती के साथ लोड किया जाता है और नई गिनती समाप्त होने तक वनशॉट पल्स जारी रहता है।
वन-शॉट पुनः ट्रिगर करने योग्य है, इसलिए किसी भी ट्रिगर के पश्चात एन "CLK"  पल्स के लिए आउट कम रहेगा। एक-शॉट पल्स को काउंटर में समान गणना दोबारा लिखे बिना दोहराया जा सकता है। GATE का OUT पर कोई प्रभाव नहीं पड़ता. यदि ऑनशॉट पल्स के दौरान काउंटर पर नई गणना लिखी जाती है, तो वर्तमान वन-शॉट प्रभावित नहीं होता है जब तक कि काउंटर को फिर से चालू न किया जाए। उस स्थिति में, काउंटर को नई गणना के साथ लोड किया जाता है और नई गणना समाप्त होने तक वनशॉट पल्स जारी रहता है।


=== मोड 2 (X10): दर जनरेटर ===
=== मोड 2 (X10): दर जनरेटर ===
इस मोड में, डिवाइस डिवाइड-बाय-एन काउंटर के रूप में कार्य करता है, जिसका उपयोग आमतौर पर वास्तविक समय घड़ी व्यवधान उत्पन्न करने के लिए किया जाता है।
इस मोड में, डिवाइस डिवाइड-बाय-एन काउंटर के रूप में कार्य करता है, जिसका उपयोग सामान्यतः वास्तविक समय घड़ी अंतरायन उत्पन्न करने के लिए किया जाता है।


अन्य तरीकों की तरह, COUNT भेजे जाने के बाद गिनती प्रक्रिया अगला घड़ी चक्र शुरू कर देगी। तब तक OUT ऊंचा रहेगा जब तक काउंटर 1 तक नहीं पहुंच जाता, और क्लॉक पल्स के लिए कम हो जाएगा। अगले चक्र में, गिनती पुनः लोड की जाती है, OUT फिर से उच्च हो जाता है, और पूरी प्रक्रिया खुद को दोहराती है।
अन्य तरीकों की तरह, COUNT भेजे जाने के पश्चात गणना प्रक्रिया अग्रिम घड़ी चक्र शुरू कर देगी। तब तक OUT ऊंचा रहेगा जब तक काउंटर 1 तक नहीं पहुंच जाता, और क्लॉक पल्स के लिए कम हो जाएगा। अग्रिम चक्र में, गणना पुनः लोड की जाती है, OUT फिर से उच्च हो जाता है, और पूरी प्रक्रिया खुद को दोहराती है।


उच्च दालों के बीच का समय काउंटर के रजिस्टर में पूर्व निर्धारित गिनती पर निर्भर करता है, और निम्न सूत्र का उपयोग करके गणना की जाती है:
उच्च दालों के बीच का समय काउंटर के रजिस्टर में पूर्व निर्धारित गणना पर निर्भर करता है, और निम्न सूत्र का उपयोग करके गणना की जाती है:


काउंटर में लोड किया जाने वाला मान = <math>f_{\rm input}\over f_{\rm output}</math>
काउंटर में लोड किया जाने वाला मान = <math>f_{\rm input}\over f_{\rm output}</math>
Line 351: Line 352:


=== मोड 3 (X11): वर्ग तरंग जनरेटर ===
=== मोड 3 (X11): वर्ग तरंग जनरेटर ===
यह मोड मोड 2 के समान है। हालाँकि, आउटपुट की उच्च और निम्न क्लॉक पल्स की अवधि मोड 2 से भिन्न होगी।
यह मोड मोड 2 के समान है। यद्यपि, आउटपुट की उच्च और निम्न क्लॉक पल्स की अवधि मोड 2 से भिन्न होगी।


कल्पना करना <math>n</math> काउंटर में लोड की गई संख्या (COUNT संदेश) है, तो आउटपुट अधिक होगा <math>\left\lceil{n\over2}\right\rceil</math> मायने रखता है, और इसके लिए कम है <math>\left\lfloor{n\over2}\right\rfloor</math> मायने रखता है. इस प्रकार, अवधि होगी <math>n</math> मायने रखता है, और यदि <math>n</math> अजीब है, अतिरिक्त आधा चक्र OUT उच्च के साथ व्यतीत होता है।
कल्पना करना <math>n</math> काउंटर में लोड की गई संख्या (COUNT संदेश) है, तो आउटपुट अधिक होगा <math>\left\lceil{n\over2}\right\rceil</math> मायने रखता है, और इसके लिए कम है <math>\left\lfloor{n\over2}\right\rfloor</math> मायने रखता है. इस प्रकार, अवधि होगी <math>n</math> मायने रखता है, और यदि <math>n</math> अजीब है, अतिरिक्त आधा चक्र OUT उच्च के साथ व्यतीत होता है।


=== मोड 4 (100): सॉफ्टवेयर ट्रिगर स्ट्रोब ===
=== मोड 4 (100): सॉफ्टवेयर ट्रिगर स्ट्रोब ===
कंट्रोल वर्ड और COUNT लोड होने के बाद, काउंटर शून्य तक पहुंचने तक आउटपुट उच्च रहेगा। फिर काउंटर 1 घड़ी चक्र (एक स्ट्रोब) के लिए कम पल्स उत्पन्न करेगा - उसके बाद आउटपुट फिर से उच्च हो जाएगा।
कंट्रोल वर्ड और COUNT लोड होने के पश्चात, काउंटर शून्य तक पहुंचने तक आउटपुट उच्च रहेगा। फिर काउंटर 1 घड़ी चक्र (एक स्ट्रोब) के लिए कम पल्स उत्पन्न करेगा - उसके पश्चात आउटपुट फिर से उच्च हो जाएगा।


GATE निम्न गिनती को निलंबित कर देता है, जो GATE के दोबारा उच्च होने पर फिर से शुरू हो जाती है।
GATE निम्न गणना को निलंबित कर देता है, जो GATE के दोबारा उच्च होने पर फिर से शुरू हो जाती है।


=== मोड 5 (101): हार्डवेयर ट्रिगर स्ट्रोब ===
=== मोड 5 (101): हार्डवेयर ट्रिगर स्ट्रोब ===
यह मोड मोड 4 के समान है। हालाँकि, गिनती प्रक्रिया GATE इनपुट द्वारा ट्रिगर होती है।
यह मोड मोड 4 के समान है। यद्यपि, गणना प्रक्रिया GATE इनपुट द्वारा ट्रिगर होती है।


कंट्रोल वर्ड और COUNT प्राप्त करने के बाद, आउटपुट हाई सेट कर दिया जाएगा। बार जब डिवाइस GATE इनपुट पर बढ़ते किनारे का पता लगा लेता है, तो यह गिनती शुरू कर देगा। जब काउंटर 0 पर पहुंचता है, तो आउटपुट घड़ी चक्र के लिए कम हो जाएगा - उसके बाद यह GATE के अगले बढ़ते किनारे पर चक्र को दोहराने के लिए फिर से उच्च हो जाएगा।
कंट्रोल वर्ड और COUNT प्राप्त करने के पश्चात, आउटपुट हाई सेट कर दिया जाएगा। बार जब डिवाइस GATE इनपुट पर बढ़ते किनारे का पता लगा लेता है, तो यह गणना शुरू कर देगा। जब काउंटर 0 पर पहुंचता है, तो आउटपुट घड़ी चक्र के लिए कम हो जाएगा - उसके पश्चात यह GATE के अग्रिम बढ़ते किनारे पर चक्र को दोहराने के लिए फिर से उच्च हो जाएगा।


== आईबीएम पीसी प्रोग्रामिंग ==
== आईबीएम पीसी प्रोग्रामिंग ==


8253 का उपयोग 1981 में उनकी शुरूआत के बाद से आईबीएम पीसी संगतों में किया गया था।<ref>{{cite web |url=http://www.microsoft.com/whdc/system/sysinternals/mm-timer.mspx |title=मल्टीमीडिया टाइमर समर्थन प्रदान करने के लिए दिशानिर्देश|website=[[Microsoft]] |date=20 September 2002 |accessdate=2010-10-13}}</ref> आधुनिक समय में, इस PIT को x[[86]] PC में अलग चिप के रूप में शामिल नहीं किया गया है। बल्कि, इसकी कार्यक्षमता मदरबोर्ड चिपसेट के साउथब्रिज (कंप्यूटिंग) के हिस्से के रूप में शामिल है। आधुनिक चिपसेट में, यह परिवर्तन x86 I/O एड्रेस स्पेस में PIT के रजिस्टरों तक काफ़ी तेज़ पहुंच के रूप में दिखाई दे सकता है।
8253 का उपयोग 1981 में उनकी शुरूआत के पश्चात से आईबीएम पीसी संगतों में किया गया था।<ref>{{cite web |url=http://www.microsoft.com/whdc/system/sysinternals/mm-timer.mspx |title=मल्टीमीडिया टाइमर समर्थन प्रदान करने के लिए दिशानिर्देश|website=[[Microsoft]] |date=20 September 2002 |accessdate=2010-10-13}}</ref> आधुनिक समय में, इस PIT को x[[86]] PC में अलग चिप के रूप में शामिल नहीं किया गया है। बल्कि, इसकी कार्यक्षमता मदरबोर्ड चिपसेट के साउथब्रिज (कंप्यूटिंग) के हिस्से के रूप में शामिल है। आधुनिक चिपसेट में, यह परिवर्तन x86 आई/एड्रेस स्पेस में PIT के रजिस्टरों तक काफ़ी तेज़ पहुंच के रूप में दिखाई दे सकता है।


सभी पीसी संगत पीआईटी को 105/88 = 1.193 की क्लॉक दर पर संचालित करते हैं{{overline|18}} मेगाहर्ट्ज, {{frac|3}} [[एनटीएससी]] [[ रंग-विस्फोट ]] फ्रीक्वेंसी जो सिस्टम क्लॉक (14.31818 मेगाहर्ट्ज) को 12 से विभाजित करने से आती है। यह सबसे पहले [[ रंग ग्राफ़िक्स एडाप्टर ]] पीसी का होल्डओवर है - उन्होंने ही [[क्रिस्टल थरथरानवाला]] से सभी आवश्यक आवृत्तियों को प्राप्त किया, और टीवी आउटपुट को संभव बनाने के लिए, इस ऑसिलेटर को एनटीएससी रंग सबकैरियर आवृत्ति के गुणक पर चलाना था। यह आवृत्ति, 2 से विभाजित है<sup>16</sup> (सबसे बड़ा विभाजक जो 8253 सक्षम है) [[MS-DOS]] और संबंधित ऑपरेटिंग सिस्टम में उपयोग किए जाने वाले ≈18.2 Hz टाइमर इंटरप्ट का उत्पादन करता है।
सभी पीसी संगत पीआईटी को 105/88 = 1.193 की क्लॉक दर पर संचालित करते हैं{{overline|18}} मेगाहर्ट्ज, {{frac|3}} [[एनटीएससी]] [[ रंग-विस्फोट ]] फ्रीक्वेंसी जो सिस्टम क्लॉक (14.31818 मेगाहर्ट्ज) को 12 से विभाजित करने से आती है। यह सबसे पहले [[ रंग ग्राफ़िक्स एडाप्टर ]] पीसी का होल्डओवर है - उन्होंने ही [[क्रिस्टल थरथरानवाला]] से सभी आवश्यक आवृत्तियों को प्राप्त किया, और टीवी आउटपुट को संभव बनाने के लिए, इस ऑसिलेटर को एनटीएससी रंग सबकैरियर आवृत्ति के गुणक पर चलाना था। यह आवृत्ति, 2 से विभाजित है<sup>16</sup> (सबसे बड़ा विभाजक जो 8253 सक्षम है) [[MS-DOS]] और संबंधित ऑपरेटिंग सिस्टम में उपयोग किए जाने वाले ≈18.2 Hz टाइमर इंटरप्ट का उत्पादन करता है।


मूल आईबीएम पीसी में, काउंटर 0 का उपयोग टाइमकीपिंग व्यवधान उत्पन्न करने के लिए किया जाता है। काउंटर 1 का उपयोग [[DRAM]] मेमोरी के रिफ्रेश को ट्रिगर करने के लिए किया जाता है। काउंटर 2 का उपयोग पीसी स्पीकर के माध्यम से टोन उत्पन्न करने के लिए किया जाता है।
मूल आईबीएम पीसी में, काउंटर 0 का उपयोग टाइमकीपिंग अंतरायन उत्पन्न करने के लिए किया जाता है। काउंटर 1 का उपयोग [[DRAM|डीरैम]] मेमोरी के रिफ्रेश को ट्रिगर करने के लिए किया जाता है। काउंटर 2 का उपयोग पीसी स्पीकर के माध्यम से टोन उत्पन्न करने के लिए किया जाता है।


नए मदरबोर्ड में [[उन्नत कॉन्फ़िगरेशन और पावर इंटरफ़ेस]] (एसीपीआई) के माध्यम से अतिरिक्त काउंटर, स्थानीय उन्नत प्रोग्रामयोग्य इंटरप्ट कंट्रोलर पर काउंटर और [[उच्च परिशुद्धता इवेंट टाइमर]] शामिल हैं। [[ CPU ]] ही [[टाइम स्टाम्प काउंटर]] की सुविधा भी प्रदान करता है।
नए मदरबोर्ड में [[उन्नत कॉन्फ़िगरेशन और पावर इंटरफ़ेस|उन्नत कॉन्फ़िगरेशन और सामर्थ्य इंटरफ़ेस]] (एसीपीआई) के माध्यम से अतिरिक्त काउंटर, स्थानीय उन्नत प्रोग्रामयोग्य इंटरप्ट कंट्रोलर पर काउंटर और [[उच्च परिशुद्धता इवेंट टाइमर]] शामिल हैं। [[ CPU ]] ही [[टाइम स्टाम्प काउंटर]] की सुविधा भी प्रदान करता है।


पीसी पर टाइमर0 (चिप) का पता पोर्ट 40h..43h पर है और दूसरे टाइमर1 (चिप) का पता 50h..53h पर है।
पीसी पर टाइमर0 (चिप) का पता पोर्ट 40h..43h पर है और दूसरे टाइमर1 (चिप) का पता 50h..53h पर है।


x86 पीसी पर, कई वीडियो कार्ड BIOS और सिस्टम BIOS अपने स्वयं के उपयोग के लिए दूसरे काउंटर को पुन: प्रोग्राम करेंगे। रीप्रोग्रामिंग आम तौर पर वीडियो मोड में बदलाव के दौरान होती है, जब वीडियो BIOS निष्पादित किया जा सकता है, और सिस्टम प्रबंधन मोड और पावर सेविंग स्थिति में परिवर्तन के दौरान, जब सिस्टम BIOS निष्पादित किया जा सकता है। यह कई x86 सिस्टमों पर टाइमर के दूसरे काउंटर के किसी भी गंभीर वैकल्पिक उपयोग को रोकता है।
x86 पीसी पर, कई वीडियो कार्ड BIOS और सिस्टम BIOS अपने स्वयं के उपयोग के लिए दूसरे काउंटर को पुन: प्रोग्राम करेंगे। रीप्रोग्रामिंग आम तौर पर वीडियो मोड में बदलाव के दौरान होती है, जब वीडियो BIOS निष्पादित किया जा सकता है, और सिस्टम प्रबंधन मोड और सामर्थ्य सेविंग स्थिति में परिवर्तन के दौरान, जब सिस्टम BIOS निष्पादित किया जा सकता है। यह कई x86 सिस्टमों पर टाइमर के दूसरे काउंटर के किसी भी गंभीर वैकल्पिक उपयोग को रोकता है।


जैसा कि ऊपर कहा गया है, चैनल 0 को काउंटर के रूप में लागू किया गया है। आमतौर पर, काउंटर का प्रारंभिक मान कंट्रोल को बाइट्स भेजकर सेट किया जाता है, फिर डेटा I/O पोर्ट रजिस्टर करता है (36h का मान पोर्ट 43h पर भेजा जाता है, फिर कम बाइट पोर्ट 40h पर भेजा जाता है, और उच्च बाइट के लिए फिर से पोर्ट 40h भेजा जाता है) . काउंटर शून्य तक गिनती करता है, फिर सीपीयू को [[ हार्डवेयर व्यवधान ]] (आईआरक्यू 0, आईएनटी 8) भेजता है। फिर काउंटर अपने प्रारंभिक मूल्य पर रीसेट हो जाता है और फिर से उलटी गिनती शुरू कर देता है। सबसे तेज़ संभव व्यवधान आवृत्ति मेगाहर्ट्ज़ के आधे से थोड़ा अधिक है। सबसे धीमी संभावित आवृत्ति, जो आमतौर पर MS-DOS या संगत ऑपरेटिंग सिस्टम चलाने वाले कंप्यूटरों द्वारा उपयोग की जाती है, लगभग 18.2 Hz है। इन वास्तविक मोड ऑपरेटिंग सिस्टम के तहत, BIOS वास्तविक मोड पते 0040:006c में प्राप्त होने वाली INT 8 कॉल की संख्या जमा करता है, जिसे प्रोग्राम द्वारा पढ़ा जा सकता है।
जैसा कि ऊपर कहा गया है, चैनल 0 को काउंटर के रूप में लागू किया गया है। सामान्यतः, काउंटर का प्रारंभिक मान कंट्रोल को बाइट्स भेजकर सेट किया जाता है, फिर डेटा आई/पोर्ट रजिस्टर करता है (36h का मान पोर्ट 43h पर भेजा जाता है, फिर कम बाइट पोर्ट 40h पर भेजा जाता है, और उच्च बाइट के लिए फिर से पोर्ट 40h भेजा जाता है) . काउंटर शून्य तक गणना करता है, फिर सीपीयू को [[ हार्डवेयर व्यवधान | हार्डवेयर अंतरायन]] (आईआरक्यू 0, आईएनटी 8) भेजता है। फिर काउंटर अपने प्रारंभिक वैल्यू पर रीसेट हो जाता है और फिर से उलटी गणना शुरू कर देता है। सबसे तेज़ संभव अंतरायन आवृत्ति मेगाहर्ट्ज़ के आधे से थोड़ा अधिक है। सबसे धीमी संभावित आवृत्ति, जो सामान्यतः MS-DOS या संगत ऑपरेटिंग सिस्टम चलाने वाले कंप्यूटरों द्वारा उपयोग की जाती है, लगभग 18.2 Hz है। इन वास्तविक मोड ऑपरेटिंग सिस्टम के तहत, BIOS वास्तविक मोड पते 0040:006c में प्राप्त होने वाली INT 8 कॉल की संख्या जमा करता है, जिसे प्रोग्राम द्वारा पढ़ा जा सकता है।


जैसे ही टाइमर उलटी गिनती करता है, इसके मूल्य को सीधे इसके I/O पोर्ट को दो बार पढ़कर भी पढ़ा जा सकता है, पहले कम बाइट के लिए, और फिर उच्च बाइट के लिए। हालाँकि, फ्री-रनिंग काउंटर एप्लिकेशन जैसे कि x86 पीसी में, पहले नियंत्रण रजिस्टर में वांछित चैनल के लिए [[ कुंडी (इलेक्ट्रॉनिक्स) ]] कमांड लिखना आवश्यक है, ताकि पढ़े गए दोनों बाइट्स ही मान के हों।
जैसे ही टाइमर उलटी गणना करता है, इसके वैल्यू को सीधे इसके आई/पोर्ट को दो बार पढ़कर भी पढ़ा जा सकता है, पहले कम बाइट के लिए, और फिर उच्च बाइट के लिए। यद्यपि, फ्री-रनिंग काउंटर एप्लिकेशन जैसे कि x86 पीसी में, पहले नियंत्रण रजिस्टर में वांछित चैनल के लिए [[ कुंडी (इलेक्ट्रॉनिक्स) ]] कमांड लिखना आवश्यक है, ताकि पढ़े गए दोनों बाइट्स ही मान के हों।


2002 के माइक्रोसॉफ्ट दस्तावेज़ के अनुसार, क्योंकि इस हार्डवेयर [8254] को पढ़ने और लिखने के लिए आईओ पोर्ट के माध्यम से संचार की आवश्यकता होती है, प्रोग्रामिंग में कई चक्र लगते हैं, जो ओएस के लिए अत्यधिक महंगा है। इस वजह से, व्यवहार में एपेरियोडिक कार्यक्षमता का उपयोग नहीं किया जाता है।<ref>[http://msdn.microsoft.com/en-us/library/windows/hardware/gg463347.aspx Guidelines For Providing Multimedia Timer Support]</ref>
2002 के माइक्रोसॉफ्ट दस्तावेज़ के अनुसार, क्योंकि इस हार्डवेयर [8254] को पढ़ने और लिखने के लिए आईओ पोर्ट के माध्यम से संचार की आवश्यकता होती है, प्रोग्रामिंग में कई चक्र लगते हैं, जो ओएस के लिए अत्यधिक महंगा है। इस वजह से, व्यवहार में एपेरियोडिक कार्यक्षमता का उपयोग नहीं किया जाता है।<ref>[http://msdn.microsoft.com/en-us/library/windows/hardware/gg463347.aspx Guidelines For Providing Multimedia Timer Support]</ref>
Line 394: Line 395:
== बाहरी संबंध ==
== बाहरी संबंध ==
* [http://bochs.sourceforge.net/techspec/intel-82c54-timer.pdf.gz 82C54 Datasheet]
* [http://bochs.sourceforge.net/techspec/intel-82c54-timer.pdf.gz 82C54 Datasheet]
* [http://www.sharpmz.org/mz-700/8253ovview.htm Overview of the Intel 8253 PIT chip] {{Webarchive|url=https://web.archive.org/web/20110929182916/http://www.sharpmz.org/mz-700/8253ovview.htm |date=29 September 2011 }}
* [http://www.sharpmz.org/mz-700/8253ovview.htm Overview of the इंटेल 8253 PIT chip] {{Webarchive|url=https://web.archive.org/web/20110929182916/http://www.sharpmz.org/mz-700/8253ovview.htm |date=29 September 2011 }}
* [http://www.sharpmz.org/mz-700/memio.htm Intel 8253 complete datasheets] {{Webarchive|url=https://web.archive.org/web/20120220012258/http://www.sharpmz.org/mz-700/memio.htm |date=20 February 2012 }}
* [http://www.sharpmz.org/mz-700/memio.htm इंटेल 8253 complete datasheets] {{Webarchive|url=https://web.archive.org/web/20120220012258/http://www.sharpmz.org/mz-700/memio.htm |date=20 February 2012 }}
* [https://web.archive.org/web/20160617133551/http://www.intel.com:80/design/archives/periphrl/docs/7178.htm 8254/82C54 Programmable Interval Timer FAQ]
* [https://web.archive.org/web/20160617133551/http://www.intel.com:80/design/archives/periphrl/docs/7178.htm 8254/82C54 Programmable Interval Timer FAQ]
* [http://wiki.osdev.org/Programmable_Interval_Timer Programmable Interval Timer - OSDev Wiki]
* [http://wiki.osdev.org/Programmable_Interval_Timer Programmable Interval Timer - OSDev Wiki]

Revision as of 17:45, 7 December 2023

इंटेल C8253
इंटेल 8253 प्रोग्रामयोग्य अंतराल टाइमर। इंटेल 8254 में समान पिनआउट है।

इंटेल 8253 और 8254 प्रोग्रामयोग्य अंतराल टाइमर (पीआईटी) हैं, जो तीन 16-बिट काउंटर का उपयोग करके समय और गणना फ़ंक्शन निष्पादित करते हैं।[1]

825x वर्ग मुख्य रूप से इंटेल 8080/इंटेल 8085-प्रोसेसर के लिए डिज़ाइन किया गया था, परंतु बाद में x86 संगत सिस्टम में उपयोग किया गया। 825x चिप, या बड़ी चिप में एम्बेडेड समकक्ष सर्किट, सभी आईबीएम पीसी संगत और वेक्टर -06 सी जैसे सोवियत कंप्यूटरों में पाए जाते हैं।

पीसी कंपैटिबल्स में, टाइमर चैनल 0 को अंतरायन अनुरोध (पीसी आर्किटेक्चर) -0 (उच्चतम प्राथमिकता हार्डवेयर इंटरप्ट) को दिया गया है। टाइमर चैनल 1 को डीरैम रिफ्रेश के लिए असाइन किया गया है (कम से कम 80386 से पहले के प्रारम्भिक मॉडल में)। टाइमर चैनल 2 पीसी स्पीकर को दिया गया है।

इंटेल 82c54 (सीएमओएस लॉजिक के लिए सी) प्रकार 10 मेगाहर्ट्ज क्लॉक सिग्नल तक संभालता है।[1]

इतिहास

8253 का वर्णन 1980 इंटेल कंपोनेंट डेटा कैटलॉग प्रकाशन में किया गया है। 8254, जिसे उच्च क्लॉक स्पीड रेटिंग के साथ 8253 के सुपरसेट के रूप में वर्णित किया गया है, की 1982 इंटेल कंपोनेंट डेटा कैटलॉग में प्रारंभिक डेटा शीट है।

8254 को एचएमओएस में लागू किया गया है और इसमें रीड बैक कमांड 8253 पर उपलब्ध नहीं है, और एक ही काउंटर को इंटरलीव करने के लिए पढ़ने और लिखने की अनुमति देता है।[2]

आधुनिक पीसी कंपेटिबल, या तो चिप सीपीयू या साउथब्रिज (कंप्यूटिंग) पर सिस्टम का उपयोग करते समय सामान्यतः बैकवर्ड संगतता और अंतरप्रचालनीयता के लिए पूर्ण 8254 संगतता लागू करते हैं।[3] रीड बैक कमांड मल्टीकोर सीपीयू और जीपीयू के साथ अंतरप्रचालनीयता के लिए महत्वपूर्ण आई/ओ सुविधा है।

प्रकार

-55°C से +125°C के तापमान श्रेणी के साथ इंटेल M8253 का सैन्य संस्करण है, जिसमें ±10% 5V सामर्थ्य सहनशीलता भी है।[4] उपलब्ध 82C53 CMOS संस्करण को ओकी इलेक्ट्रिक इंडस्ट्री कंपनी लिमिटेड को आउटसोर्स किया गया था।[5] इंटेल 82C54 का उपलब्ध पैकेज संस्करण 1986 की प्रथम तिमाही में सैंपलिंग के 28-पिन चिप कैरियर में था।[6]

विशेषताएँ

का ब्लॉक आरेख Intel 8253

टाइमर में तीन काउंटर हैं, जिनकी संख्या 0 से 2 है।[7] प्रत्येक चैनल को छह मोड में से में संचालित करने के लिए प्रोग्राम किया जा सकता है। एक बार प्रोग्राम हो जाने पर, चैनल स्वतंत्र रूप से कार्य करते हैं।[1]

प्रत्येक काउंटर में दो इनपुट पिन होते हैं - "CLK" (घड़ी इनपुट) और "GATE" - और डेटा आउटपुट के लिए पिन, "OUT"। तीन काउंटर एक-दूसरे से स्वतंत्र 16-बिट डाउन काउंटर हैं, और इन्हें केंद्रीय प्रसंस्करण इकाई द्वारा सरलता से पढ़ा जा सकता है।[8]

  • डेटा बस बफ़र में माइक्रोप्रोसेसर और आंतरिक रजिस्टरों के बीच डेटा बस को बफ़र करने का तर्क होता है। इसमें 8 इनपुट पिन हैं, जिन्हें सामान्यतः D7..D0 के रूप में लेबल किया जाता है, जहां D7 सबसे महत्वपूर्ण बिट है।
  • रीड/राइट लॉजिक में 5 पिन होते हैं, जो निम्न सूचीबद्ध हैं। X दर्शाता है कि X एक सक्रिय निम्न सिग्नल है।
    • RD: रीड सिग्नल
    • WR: राइट सिग्नल
    • CS: चिप सिलेक्ट सिग्नल
    • A0, A1: एड्रैस लाइन

उपरोक्त हार्डवेयर सिग्नल सेट करके पीआईटी का ऑपरेशन मोड बदल दिया जाता है। उदाहरण के लिए, कंट्रोल वर्ड रजिस्टर पर लिखने के लिए, किसी को CS=0, RD=1, WR=0, A1=A0=1 सेट करना होगा।

  • कंट्रोल वर्ड रजिस्टर में प्रोग्राम की गई सूचना होती है जिसे (माइक्रोप्रोसेसर द्वारा) डिवाइस पर भेजा जाएगा। यह परिभाषित करता है कि पीआईटी का प्रत्येक चैनल तार्किक रूप से कैसे कार्य करता है। इन पोर्ट तक प्रत्येक पहुंच में लगभग 1 µs का समय लगता है।

काउंटरों को आरंभ करने के लिए, माइक्रोप्रोसेसर को इस रजिस्टर में नियंत्रण शब्द (सीडब्ल्यू) लिखना होगा। यह रीड/राइट लॉजिक ब्लॉक के पिन के लिए उचित मान सेट करके और फिर डेटा/बस बफर ब्लॉक में नियंत्रण शब्द भेजकर किया जा सकता है।

नियंत्रण शब्द रजिस्टर में 8 बिट्स हैं, जिन्हें D7..D0 लेबल किया गया है (D7 सबसे महत्वपूर्ण बिट है)। डिकोडिंग कुछ जटिल है। अधिकांश मान तीन काउंटरों में से एक के लिए पैरामीटर सेट करते हैं:

  • सबसे महत्वपूर्ण दो बिट्स (यदि 11 नहीं) उस काउंटर रजिस्टर का चयन करें जिस पर कमांड लागू होता है।
  • अग्रिम दो बिट्स (यदि 00 नहीं हैं) उस फॉर्मैट का चयन करें जिसका उपयोग काउंटर रजिस्टर में बाद में पढ़ने/लिखने की पहुंच के लिए किया जाएगा। इसे सामान्यतः ऐसे मोड पर सेट किया जाता है जहां एक्सेस सबसे कम-महत्वपूर्ण और सबसे-महत्वपूर्ण बाइट्स के बीच वैकल्पिक होता है। 8253 और 8254 के बीच अंतर यह है कि पहले वाले में आंतरिक बिट था जो पढ़ने और लिखने दोनों को प्रभावित करता था, इसलिए यदि फॉर्मैट 2-बाइट पर सेट किया गया था, तो lsbyte को पढ़ने से निम्नलिखित लेखन को msbyte पर निर्देशित किया जाएगा। 8254 में पढ़ने और लिखने के लिए अलग-अलग बिट्स का उपयोग किया गया।
  • अग्रिम तीन बिट्स उस मोड का चयन करें जिसमें काउंटर कार्य करेगा।
  • सबसे कम महत्वपूर्ण बिट यह चयनित है कि काउंटर बाइनरी या बाइनरी-कोडित दशमलव में कार्य करेगा या नहीं। (बीसीडी गणना लगभग कभी भी उपयोग नहीं की जाती है और इसे एमुलेटर या साउथब्रिज में ठीक से लागू नहीं किया जा सकता है।)

यद्यपि, दो अन्य रूप भी हैं:

  • किसी दिए गए टाइमर के लिए गणना को लॉक करें। अग्रिम रीड, रीड के समय काउंटर वैल्यू लौटाने के अतिरिक्त, लैच कमांड के समय में काउंटर वैल्यू लौटाएगा। रीड पूर्ण होने के पश्चात, बाद में पढ़ा गया वर्तमान काउंटर लौटा देगा। जब लैच कमांड का उपयोग किया जाता है, तो मोड और बीसीडी स्थिति नहीं बदली जाती है।
  • (मात्र 8254) एकाधिक टाइमर के लिए स्थिति को लॉक करें और/या गणना करें। यह बिटमैप का उपयोग करके साथ कई लैच कमांड की अनुमति देता है। साथ ही, वर्तमान चैनल कॉन्फ़िगरेशन को गणना के अतिरिक्त वापस पढ़ा जा सकता है।
8253/8254 कंट्रोल वर्ड
बिट #/नाम संक्षिप्त वर्णन
D7
SC1
D6
SC2
D5
RW1
D4
RW0
D3
M2
D2
M1
D1
M0
D0
BCD
0 0 format mode BCD काउंटर 0 का मोड सेट करें
0 1 format mode BCD काउंटर 1 का मोड सेट करें
1 0 format mode BCD काउंटर 2 का मोड सेट करें (पोर्ट 42 घंटे पर)
1 1 count status C2 C1 C0 x रीड-बैक कमांड (मात्र 8254)
counter 0 0 — x — कुंडी काउंटर वैल्यू। काउंटर का अग्रिम टेक्स्ट वैल्यू का स्नैपशॉट पढ़ेगा।
counter 0 1 mode BCD केवल काउंटर वैल्यू की कम बाइट पढ़ें/लिखें
counter 1 0 mode BCD केवल काउंटर वैल्यू की उच्च बाइट पढ़ें/लिखें
counter 1 1 mode BCD 2×पढ़ें/2xकम बाइट लिखें फिर काउंटर वैल्यू का उच्च बाइट
counter format 0 0 0 BCD मोड 0: टर्मिनल काउंट पर व्यवधान
counter format 0 0 1 BCD मोड 1: हार्डवेयर रिट्रिगरेबल वन-शॉट
counter format x 1 0 BCD मोड 2: रेट जेनरेटर
counter format x 1 1 BCD मोड 3: स्क्वायर वेव
counter format 1 0 0 BCD मोड 4: सॉफ्टवेयर ट्रिगर स्ट्रोब
counter format 1 0 1 BCD मोड 5: हार्डवेयर ट्रिगर स्ट्रोब (रिट्रिगरेबल)
counter format mode 0 काउंटर एक 16-बिट बाइनरी काउंटर है (0-65535)
counter format mode 1 Counter is a 4-digit binary-coded decimal counter (0–9999)
1 1 count status C2 C1 C0 x Read-back command (8254 only)
1 1 0 0 C2 C1 C0 x Next read of selected counters will read back latched status, then count
1 1 0 1 C2 C1 C0 x Next read of selected counters will read back latched count
1 1 1 0 C2 C1 C0 x Next read of selected counters will read back latched status
1 1 1 1 C2 C1 C0 x Do nothing (latch nothing on any or all counters)
1 1 count status 0 0 0 x Do nothing (latch count and/or status on no counters)
1 1 count status 1 C1 C0 x Read-back command applies to counter 2
1 1 count status C2 1 C0 x Read-back command applies to counter 1
1 1 count status C2 C1 1 x Read-back command applies to counter 0

पीआईटी सेट करते समय, माइक्रोप्रोसेसर पहले नियंत्रण संदेश भेजता है, फिर पीआईटी को गणना संदेश भेजता है। गणना की प्रक्रिया पीआईटी को ये संदेश प्राप्त होने के पश्चात शुरू होगी, और, कुछ मामलों में, अगर यह "GATE" इनपुट संकेत किनारा बढ़ते सिग्नल किनारे का पता लगाता है। स्थिति बाइट फॉर्मैट. बिट 7 सॉफ़्टवेयर को OUT पिन की वर्तमान स्थिति की निगरानी करने की अनुमति देता है। बिट 6 इंगित करता है कि गणना कब पढ़ी जा सकती है; जब यह बिट 1 होता है, तो गणना तत्व अभी तक लोड नहीं हुआ है और प्रोसेसर द्वारा वापस पढ़ा नहीं जा सकता है। बिट्स 5 से 0 नियंत्रण रजिस्टर में लिखे गए अंतिम बिट्स के समान हैं।

8254 status word
Bit #/Name Short Description
D7
Output
Status
D6
null
count
D5
RW1
D4
RW0
D3
M2
D2
M1
D1
M0
D0
BCD
0 Out pin is 0
1 Out pin is 1
0 Counter can be read
1 The counter is being set
format mode BCD Counter mode bits, as defined for the कंट्रोल वर्ड register

ऑपरेशन मोड

नियंत्रण शब्द के D3, D2 और D1 बिट्स टाइमर के ऑपरेटिंग मोड को सेट करते हैं। कुल मिलाकर 6 मोड हैं; मोड 2 और 3 के लिए, डी3 बिट को नजरअंदाज कर दिया जाता है, इसलिए गायब मोड 6 और 7 मोड 2 और 3 के लिए उपनाम हैं।

सभी मोड GATE इनपुट के प्रति संवेदनशील हैं, GATE उच्च के कारण सामान्य ऑपरेशन होता है, परंतु GATE कम का प्रभाव मोड पर निर्भर करता है:

  • मोड 0 और 4: GATE कम होने पर गणना निलंबित कर दी जाती है, और GATE अधिक होने पर गणना फिर से शुरू हो जाती है।
  • मोड 1 और 5: GATE के बढ़ते किनारे की गणना शुरू होती है। गणना को प्रभावित किए बिना GATE निम्न जा सकता है, परंतु और बढ़ती बढ़त शुरुआत से ही गणना को फिर से शुरू कर देगी।
  • मोड 2 और 3: "GATE" लो फोर्स को तुरंत हाई आउट करें (क्लॉक पल्स की प्रतीक्षा किए बिना) और काउंटर को रीसेट करता है (अगली क्लॉक गिरने वाले किनारे पर)। जब GATE फिर से ऊपर चला जाता है, तो गणना फिर से शुरू हो जाती है।

मोड 0 (000): टर्मिनल गणना पर अंतरायन

मोड 0 का उपयोग सॉफ्टवेयर नियंत्रण के तहत सटीक समय विलंब उत्पन्न करने के लिए किया जाता है। इस मोड में, काउंटर इसमें लोड किए गए प्रारंभिक COUNT मान से 0 तक गणना शुरू कर देगा। गणना दर इनपुट घड़ी आवृत्ति के बराबर है।

कंट्रोल वर्ड लिखे जाने के पश्चात OUT पिन को कम सेट किया जाता है, और COUNT प्रोग्राम होने के पश्चात गणना घड़ी चक्र शुरू होती है। काउंटर 0 तक पहुंचने तक OUT कम रहता है, जिस बिंदु पर OUT को तब तक उच्च सेट किया जाएगा जब तक कि काउंटर पुनः लोड न हो जाए या नियंत्रण शब्द न लिखा जाए। काउंटर चारों ओर से लपेटता है 0xFFFF आंतरिक रूप से और गणना जारी रहती है, परंतु OUT पिन फिर कभी नहीं बदलता है। सामान्य गणना के लिए "GATE" सिग्नल को उच्च स्तर पर सक्रिय रहना चाहिए। यदि "GATE" निम्न चला जाता है, तो गणना रोक दी जाती है, और फिर से ऊपर जाने पर गणना फिर से शुरू हो जाती है।

नई गणना की पहली बाइट गणना रजिस्टर में लोड होने पर पिछली गणना को रोक देती है।

मोड 1 (001): प्रोग्रामयोग्य शॉट

इस मोड में 8253 का उपयोग मोनोस्टेबल मल्टीवाइब्रेटर के रूप में किया जा सकता है। GATE इनपुट का उपयोग ट्रिगर इनपुट के रूप में किया जाता है।

प्रारंभ में OUT उच्च होगा। एक-शॉट पल्स शुरू करने के लिए ट्रिगर के पश्चात क्लॉक पल्स पर OUT कम हो जाएगा, और जब तक काउंटर शून्य तक नहीं पहुंच जाता तब तक कम रहेगा। फिर OUT उच्च स्तर पर जाएगा और अग्रिम ट्रिगर के पश्चात CLK पल्स तक उच्च बना रहेगा।

नियंत्रण शब्द और प्रारंभिक गणना लिखने के पश्चात, काउंटर सशस्त्र है। ट्रिगर के परिणामस्वरूप काउंटर लोड होता है और अग्रिम "CLK" पल्स पर आउट कम सेट होता है, इस प्रकार एक-शॉट पल्स शुरू होता है। एन की प्रारंभिक गणना के परिणामस्वरूप अवधि में एक-शॉट पल्स एन "CLK" चक्र प्राप्त होगा।

वन-शॉट पुनः ट्रिगर करने योग्य है, इसलिए किसी भी ट्रिगर के पश्चात एन "CLK" पल्स के लिए आउट कम रहेगा। एक-शॉट पल्स को काउंटर में समान गणना दोबारा लिखे बिना दोहराया जा सकता है। GATE का OUT पर कोई प्रभाव नहीं पड़ता. यदि ऑनशॉट पल्स के दौरान काउंटर पर नई गणना लिखी जाती है, तो वर्तमान वन-शॉट प्रभावित नहीं होता है जब तक कि काउंटर को फिर से चालू न किया जाए। उस स्थिति में, काउंटर को नई गणना के साथ लोड किया जाता है और नई गणना समाप्त होने तक वनशॉट पल्स जारी रहता है।

मोड 2 (X10): दर जनरेटर

इस मोड में, डिवाइस डिवाइड-बाय-एन काउंटर के रूप में कार्य करता है, जिसका उपयोग सामान्यतः वास्तविक समय घड़ी अंतरायन उत्पन्न करने के लिए किया जाता है।

अन्य तरीकों की तरह, COUNT भेजे जाने के पश्चात गणना प्रक्रिया अग्रिम घड़ी चक्र शुरू कर देगी। तब तक OUT ऊंचा रहेगा जब तक काउंटर 1 तक नहीं पहुंच जाता, और क्लॉक पल्स के लिए कम हो जाएगा। अग्रिम चक्र में, गणना पुनः लोड की जाती है, OUT फिर से उच्च हो जाता है, और पूरी प्रक्रिया खुद को दोहराती है।

उच्च दालों के बीच का समय काउंटर के रजिस्टर में पूर्व निर्धारित गणना पर निर्भर करता है, और निम्न सूत्र का उपयोग करके गणना की जाती है:

काउंटर में लोड किया जाने वाला मान = ध्यान दें कि COUNT रजिस्टर में मानों की सीमा होती है से 1; रजिस्टर कभी भी शून्य तक नहीं पहुंचता.

मोड 3 (X11): वर्ग तरंग जनरेटर

यह मोड मोड 2 के समान है। यद्यपि, आउटपुट की उच्च और निम्न क्लॉक पल्स की अवधि मोड 2 से भिन्न होगी।

कल्पना करना काउंटर में लोड की गई संख्या (COUNT संदेश) है, तो आउटपुट अधिक होगा मायने रखता है, और इसके लिए कम है मायने रखता है. इस प्रकार, अवधि होगी मायने रखता है, और यदि अजीब है, अतिरिक्त आधा चक्र OUT उच्च के साथ व्यतीत होता है।

मोड 4 (100): सॉफ्टवेयर ट्रिगर स्ट्रोब

कंट्रोल वर्ड और COUNT लोड होने के पश्चात, काउंटर शून्य तक पहुंचने तक आउटपुट उच्च रहेगा। फिर काउंटर 1 घड़ी चक्र (एक स्ट्रोब) के लिए कम पल्स उत्पन्न करेगा - उसके पश्चात आउटपुट फिर से उच्च हो जाएगा।

GATE निम्न गणना को निलंबित कर देता है, जो GATE के दोबारा उच्च होने पर फिर से शुरू हो जाती है।

मोड 5 (101): हार्डवेयर ट्रिगर स्ट्रोब

यह मोड मोड 4 के समान है। यद्यपि, गणना प्रक्रिया GATE इनपुट द्वारा ट्रिगर होती है।

कंट्रोल वर्ड और COUNT प्राप्त करने के पश्चात, आउटपुट हाई सेट कर दिया जाएगा। बार जब डिवाइस GATE इनपुट पर बढ़ते किनारे का पता लगा लेता है, तो यह गणना शुरू कर देगा। जब काउंटर 0 पर पहुंचता है, तो आउटपुट घड़ी चक्र के लिए कम हो जाएगा - उसके पश्चात यह GATE के अग्रिम बढ़ते किनारे पर चक्र को दोहराने के लिए फिर से उच्च हो जाएगा।

आईबीएम पीसी प्रोग्रामिंग

8253 का उपयोग 1981 में उनकी शुरूआत के पश्चात से आईबीएम पीसी संगतों में किया गया था।[9] आधुनिक समय में, इस PIT को x86 PC में अलग चिप के रूप में शामिल नहीं किया गया है। बल्कि, इसकी कार्यक्षमता मदरबोर्ड चिपसेट के साउथब्रिज (कंप्यूटिंग) के हिस्से के रूप में शामिल है। आधुनिक चिपसेट में, यह परिवर्तन x86 आई/ओ एड्रेस स्पेस में PIT के रजिस्टरों तक काफ़ी तेज़ पहुंच के रूप में दिखाई दे सकता है।

सभी पीसी संगत पीआईटी को 105/88 = 1.193 की क्लॉक दर पर संचालित करते हैं18 मेगाहर्ट्ज, 13 एनटीएससी रंग-विस्फोट फ्रीक्वेंसी जो सिस्टम क्लॉक (14.31818 मेगाहर्ट्ज) को 12 से विभाजित करने से आती है। यह सबसे पहले रंग ग्राफ़िक्स एडाप्टर पीसी का होल्डओवर है - उन्होंने ही क्रिस्टल थरथरानवाला से सभी आवश्यक आवृत्तियों को प्राप्त किया, और टीवी आउटपुट को संभव बनाने के लिए, इस ऑसिलेटर को एनटीएससी रंग सबकैरियर आवृत्ति के गुणक पर चलाना था। यह आवृत्ति, 2 से विभाजित है16 (सबसे बड़ा विभाजक जो 8253 सक्षम है) MS-DOS और संबंधित ऑपरेटिंग सिस्टम में उपयोग किए जाने वाले ≈18.2 Hz टाइमर इंटरप्ट का उत्पादन करता है।

मूल आईबीएम पीसी में, काउंटर 0 का उपयोग टाइमकीपिंग अंतरायन उत्पन्न करने के लिए किया जाता है। काउंटर 1 का उपयोग डीरैम मेमोरी के रिफ्रेश को ट्रिगर करने के लिए किया जाता है। काउंटर 2 का उपयोग पीसी स्पीकर के माध्यम से टोन उत्पन्न करने के लिए किया जाता है।

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

पीसी पर टाइमर0 (चिप) का पता पोर्ट 40h..43h पर है और दूसरे टाइमर1 (चिप) का पता 50h..53h पर है।

x86 पीसी पर, कई वीडियो कार्ड BIOS और सिस्टम BIOS अपने स्वयं के उपयोग के लिए दूसरे काउंटर को पुन: प्रोग्राम करेंगे। रीप्रोग्रामिंग आम तौर पर वीडियो मोड में बदलाव के दौरान होती है, जब वीडियो BIOS निष्पादित किया जा सकता है, और सिस्टम प्रबंधन मोड और सामर्थ्य सेविंग स्थिति में परिवर्तन के दौरान, जब सिस्टम BIOS निष्पादित किया जा सकता है। यह कई x86 सिस्टमों पर टाइमर के दूसरे काउंटर के किसी भी गंभीर वैकल्पिक उपयोग को रोकता है।

जैसा कि ऊपर कहा गया है, चैनल 0 को काउंटर के रूप में लागू किया गया है। सामान्यतः, काउंटर का प्रारंभिक मान कंट्रोल को बाइट्स भेजकर सेट किया जाता है, फिर डेटा आई/ओ पोर्ट रजिस्टर करता है (36h का मान पोर्ट 43h पर भेजा जाता है, फिर कम बाइट पोर्ट 40h पर भेजा जाता है, और उच्च बाइट के लिए फिर से पोर्ट 40h भेजा जाता है) . काउंटर शून्य तक गणना करता है, फिर सीपीयू को हार्डवेयर अंतरायन (आईआरक्यू 0, आईएनटी 8) भेजता है। फिर काउंटर अपने प्रारंभिक वैल्यू पर रीसेट हो जाता है और फिर से उलटी गणना शुरू कर देता है। सबसे तेज़ संभव अंतरायन आवृत्ति मेगाहर्ट्ज़ के आधे से थोड़ा अधिक है। सबसे धीमी संभावित आवृत्ति, जो सामान्यतः MS-DOS या संगत ऑपरेटिंग सिस्टम चलाने वाले कंप्यूटरों द्वारा उपयोग की जाती है, लगभग 18.2 Hz है। इन वास्तविक मोड ऑपरेटिंग सिस्टम के तहत, BIOS वास्तविक मोड पते 0040:006c में प्राप्त होने वाली INT 8 कॉल की संख्या जमा करता है, जिसे प्रोग्राम द्वारा पढ़ा जा सकता है।

जैसे ही टाइमर उलटी गणना करता है, इसके वैल्यू को सीधे इसके आई/ओ पोर्ट को दो बार पढ़कर भी पढ़ा जा सकता है, पहले कम बाइट के लिए, और फिर उच्च बाइट के लिए। यद्यपि, फ्री-रनिंग काउंटर एप्लिकेशन जैसे कि x86 पीसी में, पहले नियंत्रण रजिस्टर में वांछित चैनल के लिए कुंडी (इलेक्ट्रॉनिक्स) कमांड लिखना आवश्यक है, ताकि पढ़े गए दोनों बाइट्स ही मान के हों।

2002 के माइक्रोसॉफ्ट दस्तावेज़ के अनुसार, क्योंकि इस हार्डवेयर [8254] को पढ़ने और लिखने के लिए आईओ पोर्ट के माध्यम से संचार की आवश्यकता होती है, प्रोग्रामिंग में कई चक्र लगते हैं, जो ओएस के लिए अत्यधिक महंगा है। इस वजह से, व्यवहार में एपेरियोडिक कार्यक्षमता का उपयोग नहीं किया जाता है।[10]

यह भी देखें

संदर्भ

  1. 1.0 1.1 1.2 "Intel 82C54 CHMOS Programmabe Interval Timer" (PDF) (datasheet). Archived from the original (PDF) on 3 June 2015. Retrieved 26 November 2012.
  2. Deepali A. Godse; Atul P. Godse (2007). उन्नत माइक्रोप्रोसेसर. Technical Publications. p. 74. ISBN 978-81-89411-33-6.
  3. http://pdf.datasheetcatalog.com/datasheet/Intel/mXvqwzr.pdf[bare URL PDF]
  4. Intel Corporation, "Focus Components: Military Intelligence: Timers, EPROMs, Leadless Chip Carriers", Solutions, March/April 1983, Page 12.
  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
  7. "8254/82C54: Introduction to Programmable Interval Timer". Intel Corporation. Archived from the original on 22 November 2016. Retrieved 21 August 2011.
  8. "MSM 82c53 Datasheet" (PDF).
  9. "मल्टीमीडिया टाइमर समर्थन प्रदान करने के लिए दिशानिर्देश". Microsoft. 20 September 2002. Retrieved 2010-10-13.
  10. Guidelines For Providing Multimedia Timer Support

अग्रिम पठन

बाहरी संबंध