क्यों 8085 माइक्रोप्रोसेसर में, घड़ी की आवृत्ति दो से विभाजित होती है?


16

ऐसा क्यों है कि उत्पादित घड़ी आवृत्ति 6.144 मेगाहर्ट्ज है, लेकिन आंतरिक रूप से यह (8085 प्रोसेसर) केवल 3.072 मेगाहर्ट्ज का उपयोग करता है। इसके अलावा क्या एक घड़ी में 6.144 के विशिष्ट मूल्य की ओर जाता है।

मुझे याहू पर एक उत्तर मिला .... http://answers.yahoo.com/question/index?qid=20080810090119AAurr2i

लेकिन मुझे मानना ​​होगा कि मैंने अभी भी इसे अच्छी तरह से प्राप्त नहीं किया है। क्या आप में से कोई भी इस पर कुछ लाइनें फेंक सकता है, कृपया?


2
याहू जवाब बहुत गरीब है। अगर आप लेखक को जानते हैं तो कृपया मुझे क्षमा करें।
कोर्तुक

हम्म, बस माइक्रोप्रोसेसरों को इस सेमेस्टर में ले गया, इसलिए मुझे नहीं पता कि यह कितना गलत हो सकता था। मुझे लगता है कि मुझे यहाँ जवाब मिला ... धन्यवाद।
loxxy

1
MC6800 की और भी अधिक मांग थी। इसमें दो क्लॉक इनपुट (phi1, phi2, ca. 180 डीग फेज शिफ्ट किए गए) थे, जिन्हें नॉन ओवरलैपिंग की जरूरत थी , यानी दूसरे को उठने से पहले कुछ फेज के लिए कम होना चाहिए था। उन घड़ी संकेतों को उत्पन्न करने के लिए एक अतिरिक्त थरथरानवाला आईसी (MC6810?) था।
दही

1
@ कर्ड नॉटी टाइमिंग और इसे BOTH को सप्लाई रेल (उन दिनों में दुर्लभ) के बहुत करीब झूलना पड़ा। pdf.datasheetarchive.com/indexerfiles/Scans-000/… MC6871। MC6810 एक 128 x 8 (!) स्टैटिक रैम चिप था।
स्पेरो पेफेनी

जवाबों:


15

एक घड़ी को दो से विभाजित करने का एक कारण 50% शुल्क चक्र वर्ग तरंग भी है। यह हो सकता है कि 8085 आंतरिक रूप से दोनों घड़ी के किनारों का उपयोग करता है, और अगर एक चक्र का आधा हिस्सा दूसरे की तुलना में बहुत कम हुआ तो यह काम नहीं करेगा।

उन दिनों में जब 8085 नया था, उन अच्छे कैन्ड ऑसिलेटर्स आम नहीं थे, और लोग अक्सर असतत क्रिस्टल, कैपेसिटर और लॉजिक गेट्स से क्लॉक सर्किट को एक साथ जोड़ते थे। दो से विभाजित करना सुनिश्चित करता है कि आपने समान रूप से बढ़ते और गिरने वाले किनारों को फैलाया है।

6.144 मेगाहर्ट्ज के लिए, आप पाएंगे कि इसे सामान्य बॉड दर मान प्राप्त करने के लिए पूर्णांक द्वारा विभाजित किया जा सकता है, कम से कम 38400 तक।


जाँच करना ...

8085 के लिए एक इंटेल डेटा शीट को देखते हुए, तीन दिलचस्प बयान हैं

  1. 8085 में 8024A के लिए 8224 क्लॉक जनरेटर और 8228 सिस्टम कंट्रोलर के साथ सभी सुविधाएँ शामिल हैं

  2. एक्स 1 और एक्स 2: आंतरिक घड़ी जनरेटर को चलाने के लिए एक क्रिस्टल, नियंत्रण रेखा या आरसी नेटवर्क से जुड़े हैं। प्रोसेसर की आंतरिक ऑपरेटिंग आवृत्ति देने के लिए इनपुट आवृत्ति को 2 से विभाजित किया जाता है।

  3. CLK: सिस्टम क्लॉक के रूप में उपयोग के लिए क्लॉक आउटपुट। सीएलके की अवधि एक्स 1, एक्स 2 इनपुट अवधि से दोगुनी है।

इसलिए, आंतरिक रूप से सामान को अलग-अलग स्थानांतरित करने के लिए घड़ी के विषम किनारों का उपयोग करने के बारे में अटकलें, यह स्पष्ट हो जाता है कि जब उन्होंने 8085 को डिज़ाइन किया था, तो इंटेल उस विशेषता को चिप में एकीकृत करके एक विशेष घड़ी नियंत्रक की आवश्यकता की जगह ले रहा था। एक्सएल-एक्स 2 टाइमबेस को आधे में विभाजित करने से पहले इसे सीएलके के रूप में आउटपुट करना सुनिश्चित करता है कि सिस्टम को एक अच्छा ड्यूटी चक्र भी मिलता है, अगर कुछ और नहीं।


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

2
क्या आप कर्तव्य चक्र कथन के बारे में निश्चित हैं? मैं इस धारणा के तहत था कि एक निर्देश चक्र को कई घड़ी चक्रों की आवश्यकता हो सकती है (उदाहरण के लिए एक निर्देश चक्र, जिसमें एक चक्र और चक्र निष्पादित होता है)। मुझे पूरा यकीन है कि आधुनिक दिन के पीआईसी में भी 4-चरण का निर्देश चक्र होता है, यही वजह है कि पूरे
डेटोक्स में 4/4 है

1
@ ajs410 - 8085 निश्चित रूप से एक निर्देश को पूरा करने के लिए कई घड़ी चक्र लेगा; उस समय से सभी 8 बिट माइक्रो (जो मुझे पता है) ने कुछ भी करने के लिए कम से कम दो घड़ियां लीं। मैं यहां जिस चीज का जिक्र कर रहा हूं, वह पूरी तरह से चिप में आंतरिक है। यदि आप इन पुराने जानवरों के लिए ब्लॉक आरेखों को देखते हैं, तो आप देख सकते हैं कि उनके पास कुछ आंतरिक कली, अस्थायी रजिस्टर और आगे हैं, और यह है कि मैं कल्पना करता हूं कि दोनों किनारों का उपयोग किया जा सकता है। किसी भी बाहरी बस चक्र को उसी ध्रुवता के किनारों के बीच चलाया जाएगा।
जस्टजेफ

6

जिस समय इस चिप को डिजाइन किया गया था, लोग सीपीयू में जितना संभव हो सके उतने ट्रांजिस्टर का इस्तेमाल करते थे, जिससे वे उपलब्ध चिप्स पर फिट हो सकें।

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

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

लेकिन अगर रजिस्टर ए पारदर्शी गेटेड डी कुंडी है, तो आपको गैर-अतिव्यापी घड़ियों की आवश्यकता है। आप कुछ इंटरमीडिएट रिजल्ट को स्टोर करने के लिए एक क्लॉक पर एक पल्स का उपयोग करते हैं (जबकि A अपनी आउटपुट स्थिरांक को पंजीकृत करता है), और फिर नए मान के साथ रजिस्टर A को लोड करने के लिए दूसरी क्लॉक पर एक पल्स (जबकि मध्यवर्ती रजिस्टर अपने आउटपुट को स्थिर रखता है)।

इसके लिए 2-चरण घड़ी की आवश्यकता होती है। गैर-अतिव्यापी 2-चरण घड़ी बनाने का सबसे आसान तरीका (उन दिनों में जब ट्रांजिस्टर दुर्लभ थे) एक छोटा सा बाहरी सर्किट था जो एक इनपुट घड़ी लेता है और इसे दो से विभाजित करता है।

जैसे-जैसे समय बीतता गया, लोगों को यह पता चला कि एक आईसी में अधिक से अधिक ट्रांजिस्टर कैसे पैक करें। तो सीपीयू डिजाइन करने वाले लोग सीपीयू चिप पर एक पूर्ण कंप्यूटर सिस्टम में सीपीयू के आसपास सामान को अधिक से अधिक एकीकृत करते हैं।

विकिपीडिया घड़ी संकेत लेख की पंक्तियों के बीच पढ़ते हुए , मुझे यह आभास होता है कि जिन लोगों ने 8085 और 6502 और उस युग के अन्य चिप्स को डिज़ाइन किया था, उनमें पिछली पीढ़ी के एकीकृत सीपीयू की तुलना में बस थोड़ा अधिक जगह थी, और उन्होंने सबसे अच्छा फैसला किया उस कमरे का उपयोग उस छोटे से बाहरी सर्किट को चिप पर रखना था। लेकिन उन्होंने सभी रजिस्टरों को पहले की तरह ही गेटेड डी लैच रखा।

इसलिए घड़ी की आवृत्ति दो से विभाजित होती है। आप पहली बाहरी घड़ी पल्स के बारे में सोच सकते हैं जो उस मध्यवर्ती परिणाम रजिस्टर को अपडेट करने के लिए Phase_one आंतरिक घड़ी सिग्नल पर एक पल्स उत्पन्न कर रही है, और बाहरी घड़ी से दूसरी पल्स चरण -two आंतरिक घड़ी सिग्नल पर एक पल्स उत्पन्न कर रही है जो प्रोग्रामर-दृश्य रजिस्टर को अपडेट करने के लिए है।


यदि एक कुंडी फिर से लोड किए बिना कुछ माइक्रोसेकंड से अधिक नहीं जाएगी, तो सर्किट को और भी सरल बना सकता है, ताकि एक "कुंडी" एक एकल-ट्रांजिस्टर पास-गेट और एक पलटनेवाला से अधिक कुछ न हो।
सुपरकैट

1
उपरोक्त लिखने के बाद से, मैंने 6502 के डिजाइन में देखा; कई आंतरिक बसें एक घड़ी के चरण में बिना शर्त उच्च चालित होती हैं, और फिर दूसरे घड़ी चरण के दौरान एक चयनित रजिस्टर उपयुक्त बिट्स को खींच सकता है। यदि उदाहरण के लिए पाँच रजिस्टर हैं जो बस में आउटपुट कर सकते हैं, तो इसका मतलब है कि प्रत्येक रजिस्टर के आउटपुट के लिए एक पुल-अप डिवाइस की आवश्यकता के बजाय, चिप बस एक स्विच किए गए पुल-अप डिवाइस और प्रत्येक रजिस्टर के लिए दो दो श्रृंखला-वायर्ड ट्रांजिस्टर का उपयोग कर सकती है। उपयुक्त होने पर बस को नीचे खींचने के लिए। मुझे उम्मीद है कि 8085 लगभग निश्चित रूप से इसी तरह की चाल का उपयोग करेगा।
सुपरकैट

2

निर्देश चक्र को कई घड़ी चक्रों में विभाजित करने के बहुत सारे कारण हैं। एक अच्छा उदाहरण मुख्य मेमोरी बस तक पहुंच रहा है।

अधिकांश आधुनिक प्रोसेसर वॉन-न्यूमैन आर्किटेक्चर हैं; यानी उनका कोड और डेटा दोनों एक ही मेमोरी चिप में मौजूद हैं। ठीक है, अगर आप एक निर्देश पढ़ना चाहते हैं, और वह निर्देश मेमोरी से एक चर लोड करने जा रहा है ... तो यह दो मेमोरी एक्सेस है। लेकिन अधिकांश मेमोरी केवल सिंगल-पोर्ट है (अर्थात, यह केवल प्रति चक्र एक रीड या राइटिंग कर सकता है)। तो आप निर्देश कैसे पढ़ते हैं और अपने चर को कैसे पढ़ते हैं?

इसका समाधान दो-चरण अनुदेश चक्र का उपयोग करना है। पहला चरण मेमोरी से निर्देश लाएगा, और दूसरा चरण फिर मुख्य मेमोरी से चर को पढ़ (या लिख ​​सकता है)।

कुछ पुराने चिप्स और भी आगे बढ़ गए। दिन में वापस, यदि आपकी चिप में 16-बिट्स एड्रेस करने योग्य मेमोरी है, लेकिन बाहरी एड्रेस बस केवल 8-बिट्स है, तो आप एड्रेस लैच इनेबल से परिचित होंगे। एक घड़ी चक्र 16-बिट पते के ऊपरी 8-बिट्स भेजता है, और अगले घड़ी चक्र निचले 8-बिट्स भेजता है। एक तीसरा चक्र स्मृति से / से चर को पढ़ / लिख सकता है।

अन्य, बेहतर कारण हैं एक निर्देश चक्र है जो लंबाई में कई घड़ी चक्र है। सबसे अच्छे कारणों में से एक पाइपलाइनिंग है। यह एक चाल है जो आधुनिक प्रोसेसर एक चिप में उपलब्ध सभी निष्पादन इकाइयों का अधिक पूरी तरह से दोहन करने के लिए उपयोग करते हैं; उदाहरण के लिए, जबकि एक निर्देश निष्पादित किया जा रहा है, अगले एक ही समय में लाया जा रहा है।


3
मुझे नहीं लगता कि ओपी पूछ रहा है कि आप कई घड़ियों में एक निर्देश क्यों फैलाएंगे, बल्कि 8085 में आपको इसे 2X घड़ी (जो तब आंतरिक रूप से विभाजित करता है) को फीड करने के लिए डिज़ाइन करने की आवश्यकता होती है। घड़ी की आवृत्ति सीधे।
जस्टजेफ

1
निर्देशों के बारे में आपने जो कुछ भी कहा है, वह चालू है।
जस्टजेफ

1

आंतरिक रूप से, 8085A के कोर को दो चरण की घड़ी की आवश्यकता होती है। आंतरिक तर्क जो दो घड़ी चरणों को प्राप्त करता है, इनपुट घड़ी को भी दो से विभाजित करता है। जैसा कि पहले कहा गया है, 6.144 मेगाहर्ट्ज इनपुट घड़ी का उपयोग बॉड-रेट उद्देश्यों के लिए है, चिप 6Hz पर ठीक चलेगा। चिप को वास्तव में 3 मेगाहर्ट्ज पर रेट किया गया है, जिसमें 6 मेगाहर्ट्ज क्रिस्टल की आवश्यकता होती है, लेकिन 6.144 मेगाहर्ट्ज में आसानी से बॉड दर पीढ़ी देता है (804 के सीएलके आउटपुट से 8085 या 3.072 मेगाहर्ट्ज पर ड्राइविंग ऑस्कर से 6.144 मेगाहर्ट्ज के साथ एक Uart देखा जा सकता है) कई उपयोगी बॉड दरें प्रदान करता है)। मैं अभी भी अपने कुछ रोबोटों में विशेष कार्य करने के लिए इन पुरातन चिप्स का उपयोग करता हूं। मैं अपने खुद के थरथरानवाला के साथ Uarts घड़ी और मैं एक 6.4MHz थरथरानवाला के साथ 8085A घड़ी, जो 3.2MHz पर चिप चलाता है। ३। 2 मेगाहर्ट्ज मेरे अल्ट्रासोनिक ट्रांसड्यूसर के लिए 40KHz घड़ी प्रदान करने के लिए अच्छी तरह से विभाजित करता है। यह मेरे 'बॉट्स' में अधिक आधुनिक आईसी उपकरणों का उपयोग करने के लिए अधिक समझ में आता है, लेकिन मेरे पास एक टन पुराना 8085's, Z80's, 63C09 और 63C09E का, 68B09 और 68B09E का है, आदि के साथ खेलने में मुझे बहुत मजा आता है।


0

घड़ी और कुछ नहीं बल्कि एक क्षण है जब आप एक घटना घटित करना चाहते हैं। अब, हम डिजिटल सर्किट में स्तरीय ट्रिगरिंग को पसंद नहीं करते हैं क्योंकि जब अधिक समय दिया जाता है, तो माइक्रोप्रोसेसर के भीतर विभिन्न सर्किटों के बीच शॉर्ट सर्किट के लिए बातचीत हो सकती है। तो हम बढ़त के लिए चलते हैं। अब, माइक्रोप्रोसेसर को पता नहीं होता है कि एज ट्रिगर कब हुआ है। यह केवल 1 या 0. को समझता है इसलिए जब भी घड़ी की धार का पता लगाया जाता है तो 1 और 0 का उत्पादन करने के लिए एक फ्लिप फ्लॉप की आवश्यकता होती है। इस प्रकार, एक फ्लिप फ्लॉप का उपयोग करना आवश्यक हो जाता है। परिणामस्वरूप घड़ी की आवृत्ति दो से विभाजित होती है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.