क्रमिक परिपथ, कालन, आँकड़ा परिवर्तक, स्मृतियाँ तथा कंप्यूटर संगठन
कुंडियाँ व फ्लिप-फ्लॉप: स्तर बनाम कोर
डिजिटल परिपथ में भंडारण धनात्मक प्रतिपुष्टि से आता है। दो प्रतिलोमकों को क्रॉस-कपल कीजिए और युग्म की दो स्थायी अवस्थाएँ होती हैं, जो एक बिट है; प्रतिपुष्टि पथों में से एक खोल दीजिए ताकि निवेश अवस्था को बाध्य कर सके और आपके पास कुंडी है। SR कुंडी प्रतिनिधि रूप है: दो NOR द्वार क्रॉस-कपल, जहाँ S निर्गम को उच्च और R उसे निम्न करता है, तथा S = R = 1 वर्जित है क्योंकि वह दोनों निर्गमों को निम्न कर देता है और जब निवेश साथ छोड़े जाएँ तो अगली अवस्था अपरिभाषित रह जाती है। एक सक्षमक जोड़िए और स्तर-संवेदी D कुंडी प्रकट होती है — जब तक सक्षमक उच्च है निर्गम D का अनुसरण करता है, और यह ठीक वही व्यवहार है जिसे तुल्यकालिक अभिकल्पन सहन नहीं कर सकता, क्योंकि पारदर्शी कुंडी से दौड़ते आँकड़े एक ही घड़ी-कला में कई सोपानों से गुजर सकते हैं।
फ्लिप-फ्लॉप केवल घड़ी-कोर पर प्रतिचयन करके उस भेद्यता को हटाता है। मानक रचना मास्टर-स्लेव है: विपरीत सक्षमक ध्रुवता वाली दो D कुंडियाँ श्रेणी में, अतः घड़ी निम्न रहते मास्टर पारदर्शी है और उच्च रहते स्लेव, और कोई पथ छोर से छोर तक कभी पारदर्शी नहीं होता। CMOS में कुंडियाँ स्वयं प्रायः NOR द्वारों के बजाय संचरण द्वारों से बनती हैं, जो सस्ता है, और D प्रकार का प्रभुत्व वहीं से आता है — आधुनिक पुस्तकालय D फ्लिप-फ्लॉप देता है और शेष सब उसके चारों ओर बनाता है। सारणियों के बजाय अभिलक्षण समीकरण जानिए, क्योंकि अवस्था-अनुरेखण में आप समीकरण ही प्रतिस्थापित करते हैं: D प्रकार हेतु Q+ = D, T प्रकार हेतु Q+ = T ⊕ Q, JK हेतु Q+ = J·Q′ + K′·Q, तथा S·R = 0 की शर्त पर SR हेतु Q+ = S + R′·Q।
| अवयव | अभिलक्षण समीकरण | वह अड़चन जिसका प्रश्न दोहन करता है |
|---|---|---|
| SR कुंडी, NOR से बनी | Q+ = S + R′Q, जहाँ SR = 0 | स्तर संवेदी, तथा S = R = 1 वर्जित है |
| D कुंडी | सक्षम रहते Q+ = D, अन्यथा धारण | पारदर्शी, अतः आँकड़े दौड़कर पार जा सकते हैं |
| D फ्लिप-फ्लॉप, मास्टर-स्लेव | कोर पर प्रतिचयित Q+ = D | स्थापन व धारण खिड़की भर D स्थिर चाहिए |
| JK फ्लिप-फ्लॉप | Q+ = JQ′ + K′Q | J = K = 1 उलटता है, जिसे SR स्थिति वर्जित करती थी |
| T फ्लिप-फ्लॉप | Q+ = T ⊕ Q | निवेश जुड़ा JK — गणक का स्वाभाविक कोष्ठ |
t के पश्चात् भी अनिर्णीत रहने की प्रायिकता exp(−t/τ) की तरह गिरती है — अल्प, परंतु कभी शून्य नहीं, और किसी उत्तम परिपथ से कभी हटाई न जा सकने वाली। इसीलिए कालित प्रांत में प्रवेश करते अतुल्यकालिक निवेश को श्रेणी में दो फ्लिप-फ्लॉपों से गुजारा जाता है: पहला मेटास्थायी हो सकता है, और दूसरा उसका प्रतिचयन पूरे एक घड़ी-आवर्त पश्चात् करता है, जब तक अवशिष्ट प्रायिकता नगण्य हो जाती है। परीक्षणीय बिंदु उत्तर का आकार है, कोई संख्या नहीं: तुल्यकालक विफलता की दर घटाते हैं और उन्हें विफलताओं के बीच औसत समय के रूप में उद्धृत किया जाता है, और यह दावा कि कोई अभिकल्पन मेटास्थायित्व-मुक्त है, गलत है।प्रचालन विलंब, स्थापन व धारण, तथा क्रांतिक पथ
कालित सोपान का वर्णन चार विलंब करते हैं, और उन्हें आपस में मिला देना इस खंड की सर्वाधिक महँगी आदत है। प्रचालन विलंब t_pcq घड़ी-कोर से लेकर फ्लिप-फ्लॉप का निर्गम स्थिर हो जाने तक का दीर्घतम समय है। संदूषण विलंब t_ccq उस कोर से लेकर निर्गम के बदलना आरंभ करने तक का लघुतम समय है। स्थापन समय t_su वह अवधि है जितनी देर आँकड़ा कोर से पूर्व ही स्थिर रहना चाहिए, और धारण समय t_h वह अवधि जितनी देर वह कोर के पश्चात् स्थिर रहना चाहिए। दो फ्लिप-फ्लॉपों के बीच के संयोजनात्मक तर्क के अपने दीर्घतम व लघुतम पथ हैं, t_pd तथा t_cd। क्रांतिक पथ पूरे अभिकल्पन का दीर्घतम रजिस्टर-से-रजिस्टर मार्ग है, और घड़ी-आवर्त उससे अधिक होना चाहिए; लघुतम मार्ग भी महत्व रखता है, परंतु पूर्णतः भिन्न कारण से।
एक सोपान को पूरा चलाकर देखिए। लीजिए t_pcq = 0.9 ns, t_ccq = 0.5 ns, t_su = 0.4 ns, t_h = 0.25 ns, ऐसा संयोजनात्मक खंड जिसका दीर्घतम पथ t_pd = 3.2 ns व लघुतम t_cd = 0.15 ns है, तथा दोनों फ्लिप-फ्लॉपों के बीच 0.2 ns की घड़ी विषमता। स्थापन प्रतिबंध कहता है कि एक कोर पर छोड़ा गया आँकड़ा अगले कोर से पूर्व पहुँचकर स्थिर हो जाना चाहिए: T_c ≥ t_pcq + t_pd + t_su + t_skew = 0.9 + 3.2 + 0.4 + 0.2 = 4.7 ns, अतः f_max = 1/4.7 ns ≈ 212.8 MHz। धारण प्रतिबंध भिन्न असमिका है जिसमें T_c कहीं नहीं है: t_ccq + t_cd ≥ t_h + t_skew, अर्थात् 0.5 + 0.15 = 0.65 ns के सामने 0.25 + 0.2 = 0.45 ns, जो 0.2 ns अवकाश सहित संतुष्ट है। अब विषमता को 0.45 ns कर दीजिए और धारण आवश्यकता 0.70 ns बन जाती है, जिसमें 0.65 ns विफल है — और कोई घड़ी आवृत्ति इसे नहीं सुधारती, क्योंकि असमिका में घड़ी-आवर्त आता ही नहीं।
| प्रतिबंध | असमिका | हल किए सोपान में मान | विफल होने पर उपाय |
|---|---|---|---|
| स्थापन, दीर्घ पथ | T_c ≥ t_pcq + t_pd + t_su + t_skew (असमिका) | 4.7 ns, अतः 212.8 MHz | घड़ी धीमी करें, अथवा तर्क को पाइपलाइन करें |
| धारण, लघु पथ | t_ccq + t_cd ≥ t_h + t_skew (असमिका) | 0.45 ns के सामने 0.65 ns, अतः 0.2 ns अवकाश | विलंब बफर जोड़ें, अथवा विषमता घटाएँ — घड़ी कभी नहीं |
गणक व शिफ्ट रजिस्टर, नैनोसेकंड में गिने गए
मॉड-N गणक को ⌈log₂ N⌉ फ्लिप-फ्लॉप चाहिए, अतः मॉड-12 गणक चार लेता है और मॉड-100 गणक सात, जहाँ अप्रयुक्त अवस्थाएँ या अभिकल्पन से अगम्य होती हैं या विकोडन तर्क द्वारा वापस मोड़ी जाती हैं। परीक्षणीय विभाजन गणना नहीं, कालन है। तरंग (अतुल्यकालिक) गणक में प्रत्येक फ्लिप-फ्लॉप का निर्गम अगले को कालित करता है, अतः विलंब जुड़ते हैं: 7 ns प्रचालन विलंब वाले चार फ्लिप-फ्लॉप कोर के पश्चात् 4 × 7 = 28 ns तक निर्गमों को अस्थिर छोड़ते हैं, जो उपयोग योग्य घड़ी को लगभग 1/28 ns ≈ 35.7 MHz पर सीमित करता है और, उससे भी बुरा, इसका अर्थ है कि निर्गम बस उन गणनाओं से गुजरती है जिन्हें अनुक्रम वस्तुतः कभी नहीं छूता। उन क्षणिक प्रतिरूपों का विकोडन कीजिए और आपको स्पंद-दोष मिलते हैं — इसीलिए तरंग गणक के निर्गमों को कभी सीधे विकोडक नहीं चलाना चाहिए।
तुल्यकालिक गणक प्रत्येक फ्लिप-फ्लॉप को उसी कोर से कालित करता है, अतः निर्गम साथ बदलते हैं और विलंब संचित नहीं होते। उसे इसके बजाय पाश का एक सोपान सीमित करता है: T_c = t_pcq + t_comb + t_su। उन्हीं 7 ns फ्लिप-फ्लॉपों, सोपानों के बीच 4 ns की सक्षमक-श्रृंखला तर्क तथा 2 ns स्थापन आवश्यकता के साथ, T_c = 13 ns तथा f_max ≈ 76.9 MHz — तरंग गणक की सीमा से दुगुने से भी अधिक। देखिए उस व्यंजक से क्या लुप्त हो गया: बिटों की संख्या। तुल्यकालिक गणक में पाँचवाँ सोपान जोड़ना उसे धीमा नहीं करता, बशर्ते वह सक्षमक-श्रृंखला न बढ़ाए, जबकि तरंग गणक में एक जोड़ना सदैव करता है। द्वार-गणना नहीं, वही असमता कारण है कि अधिक तर्क की कीमत के बावजूद तुल्यकालिक गणकों का प्रभुत्व है।
शिफ्ट रजिस्टर श्रृंखला में n फ्लिप-फ्लॉप है, प्रत्येक अगले को पोषित करता, अतः क्रमिक बिट धारा ठीक n घड़ियों से विलंबित होती है — मानक क्रमिक-से-समांतर व समांतर-से-क्रमिक परिवर्तक, तथा प्रत्येक अंकीय छानक के भीतर की विलंब रेखा। निर्गम को वापस पोषित कीजिए और अनुक्रम बंद हो जाता है: n सोपानों के वलय गणक की n अवस्थाएँ होती हैं जिनमें एक तप्त बिट परिचालित होता है, जबकि जॉनसन अथवा मरोड़े-वलय गणक पूरक वापस पोषित करता है और उन्हीं n फ्लिप-फ्लॉपों से 2n अवस्थाएँ पाता है। दो टैप किए सोपानों का XOR वापस पोषित कीजिए और आपके पास रैखिक प्रतिपुष्टि शिफ्ट रजिस्टर है, जो संचार परीक्षण उपकरणों में छद्म-यादृच्छिक बिट अनुक्रम उत्पन्न करता है। तीसरे व चौथे सोपान पर टैप वाला 4-बिट LFSR 15 अवस्थाओं का चक्र चलता है — सभी शून्य के अतिरिक्त प्रत्येक प्रतिरूप, जो एक स्थिर बिंदु है जिसे रजिस्टर कभी छोड़ नहीं सकता। सामान्यतः n-बिट उच्चिष्ठ LFSR की 2^n − 1 अवस्थाएँ होती हैं, और अनुपस्थित वह सदैव पूर्ण-शून्य शब्द होता है।
| संरचना | प्रतिपुष्टि | चक्र में अवस्थाएँ |
|---|---|---|
| द्विआधारी गणक | सक्षमक श्रृंखला पर टॉगल तर्क | 16, पूर्ण गणना |
| वलय गणक | अंतिम निर्गम से प्रथम निवेश | 4, एक तप्त बिट परिचालित |
| जॉनसन गणक | अंतिम निर्गम का पूरक | 8, फ्लिप-फ्लॉप गणना का दुगुना |
| उच्चिष्ठ LFSR | तीसरे व चौथे सोपान का XOR | 15, पूर्ण-शून्य शब्द के अतिरिक्त सभी |
परिमित अवस्था मशीनें: मीली, मूर तथा एक घड़ी का अंतर
तुल्यकालिक FSM एक अवस्था रजिस्टर तथा संयोजनात्मक तर्क के दो खंड है: वर्तमान अवस्था व निवेशों को पढ़ता अगली-अवस्था तर्क, तथा निर्गम तर्क। मूर मशीन में निर्गम केवल अवस्था का फलन है; मीली मशीन में वह अवस्था व वर्तमान निवेश का फलन है। उस एक अंतर के तीन परिणाम परीक्षा तक ले जाने योग्य हैं। मीली मशीन को प्रायः कम अवस्थाएँ चाहिए, क्योंकि कुछ विभेदन निवेश कर देता है। उसका निर्गम एक घड़ी पूर्व प्रकट होता है, क्योंकि वह संक्रमण के रजिस्टर में दर्ज होने की प्रतीक्षा नहीं करता। और उसका निर्गम स्पंद-दोष कर सकता है, क्योंकि वह संयोजनात्मक तर्क से सीधे निवेश का अनुसरण करता है, जबकि मूर निर्गम केवल घड़ी-कोर के तुरंत पश्चात् बदलता है और अतः बिना किसी शर्त के अन्य तर्क चलाने योग्य स्वच्छ होता है।
इसे देखने हेतु मानक संसूचक दोनों प्रकार से अभिकल्पित कीजिए। कार्य यह है कि जब भी क्रमिक निवेश ने प्रतिरूप 101 पूरा किया हो तब निर्गम उठाया जाए, जहाँ अतिव्यापन अनुमत है। मूर मशीन के रूप में चार अवस्थाएँ चाहिए: S0 में कोई उपयोगी उपसर्ग नहीं, S1 ने 1 देखा है, S2 ने 10 देखा है, तथा S3 ने 101 देखा है और वही एकमात्र अवस्था है जिसका निर्गम 1 है। जाँचने योग्य संक्रमण S3 से बाहर के हैं: 0 पर वह S2 जाता है, क्योंकि अनुक्रम अब 10 पर समाप्त होता है, और 1 पर वह S1 जाता है, क्योंकि अनुक्रम अब एकल उपयोगी 1 पर समाप्त होता है। उन दोनों को गलत कीजिए और मशीन अतिव्यापन पकड़ना बंद कर देती है। मीली मशीन के रूप में तीन अवस्थाएँ पर्याप्त हैं — A, 1 के पश्चात् B, 10 के पश्चात् C — और निर्गम C से निवेश 1 पर होने वाले संक्रमण पर अभिपुष्ट होता है, जो ठीक उसी अतिव्यापन कारण से A के बजाय B को लौटता है।
| वर्तमान अवस्था | अर्थ | निवेश 0 पर अगली अवस्था | निवेश 1 पर अगली अवस्था | निर्गम |
|---|---|---|---|---|
S0 | अभी कोई उपयोगी उपसर्ग नहीं | S0 | S1 | 0 |
S1 | 1 देखा | S2 | S1 | 0 |
S2 | 10 देखा | S0 | S3 | 0 |
S3 | 101 देखा, प्रतिरूप पूर्ण | S2, क्योंकि पुच्छ अब 10 है | S1, क्योंकि पुच्छ अब 1 है | 1 |
मूर सारणी में S0 से आरंभ कर निवेश 1101011 का अनुरेखण कीजिए, और भ्रमण की गई अवस्थाएँ हैं S1, S1, S2, S3, S2, S3, S1। S3 की दोनों यात्राओं में निर्गम उच्च है, अतः मशीन दो संसूचन बताती है — जो सही है, क्योंकि 1101011 में 101 उसके दूसरे बिट से आरंभ होकर तथा पुनः चौथे से आरंभ होकर मिलता है, और दोनों उपस्थितियाँ एक 1 साझा करती हैं। जिस मशीन ने एक संसूचन बताया वह अतिव्यापन संक्रमणों के बिना बनी थी; जिसने तीन बताए उसने एक गढ़ लिया। ध्यान दीजिए कि मूर हेतु ⌈log₂ 4⌉ = 2 तथा मीली हेतु ⌈log₂ 3⌉ = 2 फ्लिप-फ्लॉप चाहिए, अतः इस उदाहरण में अवस्थाओं की मीली बचत कोई हार्डवेयर नहीं देती — इस धारणा का उपयोगी सुधार कि कम अवस्थाओं का अर्थ सदैव छोटा परिपथ है।
S3 (101) से 0 पर निवेश 1010 पर समाप्त होता है, जिसका दीर्घतम उपयोगी पुच्छ 10 है, अतः अगली अवस्था S2 है, और अतिव्यापन का प्रबंधन स्मरण रखने के बजाय स्वतः निकल आता है। वही विधि किसी भी प्रतिरूप व किसी भी वर्णमाला तक बढ़ती है, और परीक्षा के दबाव में तीर खींचकर आशा करने से बहुत तीव्र है। वह आरंभ से पूर्व ही अवस्था-गणना बता देती है: जब कोई उपसर्ग पुनरावृत्त न हो तो k लंबाई के प्रतिरूप को k + 1 मूर अवस्थाएँ चाहिए।प्रतिचयन व धारण, ADC तथा DAC
ADC को निर्णय करते समय अपना निवेश स्थिर चाहिए, अतः लगभग प्रत्येक परिवर्तक के पूर्व प्रतिचयन व धारण होता है: एक स्विच जो निवेश को बफर द्वारा धारण संधारित्र C_H से जोड़ता है, तथा एक उच्च-प्रतिबाधा प्रवर्धक जो स्विच खुलने पर संधारित्र को पढ़ता है। चार संख्याएँ इसे अभिलक्षित करती हैं। अर्जन समय वह अवधि है जितनी देर स्विच बंद रहना चाहिए ताकि संधारित्र अपेक्षित त्रुटि के भीतर स्थिर हो जाए — जिसे स्रोत प्रतिरोध व C_H निर्धारित करते हैं। द्वारक समय तथा उसका कंपन इस बात की अनिश्चितता है कि स्विच वस्तुतः कब खुला, जो निवेश की ढाल को आयाम-त्रुटि में बदल देता है। अवनमन धारित वोल्टता का वह मंद क्षय है जो स्विच व प्रवर्धक निवेश में क्षरण से होता है। तथा पीठिका त्रुटि वह पग है जो स्विच खुलते समय आवेश द्वारा अंतःक्षेपित होता है।
अवनमन वहीं है जहाँ स्वच्छ संख्यात्मक प्रश्न रहता है, क्योंकि वह अनुरूप भाग को विभेदन से बाँधता है। लीजिए 5 V संदर्भ वाला 12-बिट परिवर्तक। एक न्यूनतम महत्वपूर्ण बिट 5/4096 = 1.2207 mV है, और धारण सोपान हेतु समझदार त्रुटि बजट उसका आधा, 0.6104 mV है। अब धारण संधारित्र C_H = 100 pF हो जिसका कुल क्षरण 10 nA है। अवनमन दर dV/dt = I/C = 10 × 10^(−9) / 100 × 10^(−12) = 100 V/s है, जो 0.1 mV/µs है। बजट को दर से भाग दीजिए: वोल्टता 0.6104 / 0.1 = 6.1 µs तक धारित रह सकती है, इससे आगे अवनमन अकेला आधा बिट खा जाता है। वही एक भाग तय करता है कि दिया गया परिवर्तक दिए गए प्रतिचयन-धारण से चलाया जा सकता है या नहीं, और वह दोनों दिशाओं की अभिकल्पन-खिंचाई समझाता है — बड़ा C_H धीमे अवनमित होता है पर अर्जन में अधिक समय लेता है, और दोनों आवश्यकताएँ कहीं मध्य में मिलती हैं।
वही 12-बिट, 5 V परिवर्तक अन्य मानक आँकड़े भी निर्धारित करता है। क्वांटीकरण त्रुटि ± आधे LSB = ±0.61 mV से परिबद्ध है, और पूर्ण-मापक ज्या पर आदर्श परिवर्तक का संकेत-से-क्वांटीकरण-रव अनुपात 6.02n + 1.76 = 6.02 × 12 + 1.76 = 74.0 dB है — यही कारण है कि विभेदन बिटों में और गतिक परिसर डेसिबल में उद्धृत होता है, जहाँ एक बिट लगभग 6 dB का है। ADC पक्ष पर स्थापत्य गति व हार्डवेयर का सौदा इस प्रकार करते हैं कि उसे गद्य के बजाय सारणी के रूप में जानना उपयोगी है। DAC पक्ष पर, भारित-प्रतिरोध DAC को R से 2^(n−1)R तक फैले प्रतिरोध चाहिए, जो 12 बिट पर बनाया ही नहीं जा सकता, जबकि R-2R सोपानिका को केवल दो प्रतिरोध मान चाहिए और अतः वास्तविक पुरजे उसी का प्रयोग करते हैं। V_ref = 8 V वाले 8-बिट R-2R DAC हेतु निर्गम V_ref × D/256 है; कोड 10100000 का D = 160 है, अतः निर्गम 8 × 160/256 = 5.000 V है, और एक LSB 8/256 = 31.25 mV है।
| स्थापत्य | वह निर्णय कैसे करता है | परिवर्तन समय | 12 बिट पर हार्डवेयर |
|---|---|---|---|
| फ्लैश | सभी देहलियाँ एक ही समय तुलित | एक घड़ी — सर्वाधिक तीव्र | 2^12 − 1 = 4095 तुलनित्र, और इसीलिए फ्लैश 6 से 8 बिट पर रुक जाता है |
| उत्तरोत्तर सन्निकटन | द्विआधारी खोज, प्रति घड़ी एक बिट | n घड़ियाँ, अतः 1 MHz घड़ी पर 12 µs | एक तुलनित्र व एक DAC |
| द्वि-ढाल, समाकलक | समाकलक को आरोपित कर विसर्जित करता है | 2 × 2^n गणनाओं तक — अभिकल्पन से मंद | एक समाकलक व एक गणक; मुख्य-रेखा गुंजार अस्वीकृत |
| सिग्मा-डेल्टा | एक बिट का अति-प्रतिचयन, तत्पश्चात् अंकीय छानन | प्रति निर्गम प्रतिदर्श अनेक अति-प्रतिचयित घड़ियाँ | एक-बिट पाश तथा दशमन छानक; सर्वोत्तम विभेदन |
ROM, SRAM व DRAM: एक बिट की लागत
तीनों स्मृतियाँ एक ही स्थापत्य हैं — एक पता विकोडक जो सरणी की एक पंक्ति चलाता है, तथा एक स्तंभ परिपथ जो चयनित कोष्ठ पढ़ता या लिखता है — और वे लगभग पूर्णतः कोष्ठ में भिन्न हैं। ROM कोष्ठ किसी क्रॉसिंग पर ट्रांजिस्टर की उपस्थिति या अनुपस्थिति है, अतः ROM वस्तुतः मुद्रित सत्य-सारणी है: पता रेखाएँ निवेश हैं, संबोधित शब्द निर्गम। इससे ROM सामान्य संयोजनात्मक तर्क खंड बन जाता है, और आकार का प्रश्न सीधे निकलता है: चार चरों के तीन स्वेच्छ फलन कार्यान्वित करने हेतु आपको 3 बिट के 2^4 शब्द चाहिए, जो 16 × 3 = 48 बिट है, और कोई न्यूनीकरण न आवश्यक है न संभव। SRAM कोष्ठ दो क्रॉस-कपल प्रतिलोमक तथा दो अभिगम ट्रांजिस्टर, अर्थात् छह ट्रांजिस्टर है, जो शक्ति उपस्थित रहने तक अपना मान रखता है और जिसे बिना विक्षोभ पढ़ा जा सकता है। DRAM कोष्ठ एक ट्रांजिस्टर व एक संधारित्र है, और इसीलिए DRAM, SRAM से कई गुना घना व प्रति बिट सस्ता है, और उस घनत्व की कीमत वह दो बार चुकाता है।
पहली कीमत यह है कि DRAM पठन विनाशकारी है। अत्यंत लघु कोष्ठ संधारित्र का आवेश उससे कई गुना बड़ी बिट-रेखा धारिता पर साझा करने से केवल कुछ दस मिलीवोल्ट संकेत बचता है, जिसे संवेदन प्रवर्धक को हल करके पुनः लिखना पड़ता है — अतः प्रत्येक पठन एक पठन-परिवर्तन-लेखन है, और अगले अभिगम से पूर्व पंक्ति को पूर्व-आरोपित करना पड़ता है। दूसरी कीमत पुनराभरण है। क्षरण कोष्ठ को विसर्जित करता है, अतः प्रत्येक पंक्ति को एक धारण समय के भीतर पुनः लिखना पड़ता है, प्रारूपिक रूप से 64 ms। अतः 4096 पंक्तियों वाले पुरजे को प्रत्येक 64 ms / 4096 = 15.625 µs पर एक पंक्ति पुनराभरित करनी पड़ती है, और यदि एक पुनराभरण चक्र 100 ns लेता है तो उपरिव्यय उपलब्ध बैंडविड्थ का 100 ns / 15.625 µs = 0.64 % है — अल्प, परंतु कभी शून्य नहीं, और इसीलिए DRAM के साथ नियंत्रक होता है और SRAM के साथ नहीं।
| स्मृति | कोष्ठ | पठन व्यवहार | प्रयोग कहाँ |
|---|---|---|---|
| मास्क ROM व उसके प्रोग्राम्य सजातीय | क्रॉसिंग पर ट्रांजिस्टर उपस्थित अथवा अनुपस्थित | अविनाशकारी, अवाष्पशील | बूट कोड, संदर्श सारणियाँ, स्थिर-तारित तर्क |
| SRAM | छह ट्रांजिस्टर, दो क्रॉस-कपल प्रतिलोमक | अविनाशकारी, पुनराभरण नहीं, सर्वाधिक तीव्र | रजिस्टर, कैश, चिप-स्थ बफर |
| DRAM | एक ट्रांजिस्टर, एक संधारित्र | विनाशकारी, संवेदन प्रवर्धक व पुनराभरण चाहिए | मुख्य स्मृति, जहाँ भी घनत्व निर्णायक हो |
दूसरा परीक्षणीय अभ्यास पता-अंकगणित है, जो शुद्ध गणना है। 1K × 8 चिप में 2^10 शब्द हैं, अतः उसे 10 पता रेखाएँ व 8 आँकड़ा रेखाएँ चाहिए। उनमें से चार से 4K × 8 स्मृति बनाइए और पता बस 12 बिट चौड़ी होती है: A9 से A0 तक प्रत्येक चिप को समांतर में जाती हैं, तथा A11 व A10 एक 2-से-4 विकोडक चलाती हैं जिसके चार निर्गम चिप चयन हैं, अतः किसी भी पते का उत्तर ठीक एक युक्ति देती है। सामान्य नियम एक बार कहने योग्य है: निम्न-क्रम पता बिट चिप के भीतर चयन करते हैं और उच्च-क्रम बिट चिपों के बीच, और यह पूछने वाले प्रश्न का उत्तर कि कौन-सी रेखाएँ कहाँ जाएँ, चिप की गहराई का log₂ गिनकर मिलता है। शब्द-चौड़ाई विस्तार दूसरी दिशा है — दो 1K × 4 चिप साथ रखकर 1K × 8 बनते हैं, जहाँ दोनों पर वही पता जाता है और आँकड़ा बसें विकोडित न होकर संयोजित होती हैं।
कंप्यूटर संगठन, उन चार मदों में जो EC माँगता है
सर्वप्रथम मशीन अनुदेश व संबोधन विधियाँ आती हैं, और प्रवेश का सर्वाधिक तीव्र मार्ग क्षेत्र-अंकगणित है। 6-बिट ऑपकोड तथा तीन 5-बिट रजिस्टर क्षेत्रों वाले 32-बिट अनुदेश में तत्काल मान हेतु 32 − 6 − 15 = 11 बिट बचते हैं, जो दो के पूरक मान के रूप में −1024 से +1023 तक फैलते हैं; ऑपकोड को 7 बिट कीजिए और तत्काल परिसर आधा हो जाता है। संबोधन विधि केवल अनुदेश क्षेत्रों को प्रभावी पते में बदलने का नियम है। आधार के रूप में R1 = 0x2000, अनुक्रमांक के रूप में R2 = 0x40 तथा 0x8 के विस्थापन के साथ, आधार-जोड़-अनुक्रमांक-जोड़-विस्थापन देता है EA = 0x2000 + 0x40 + 0x8 = 0x2048। स्मृति अभिगमों की गणना दूसरा मानक प्रश्न है, और महत्व क्रम का है: तत्काल व रजिस्टर विधियाँ पाठ के अतिरिक्त स्मृति को छूती ही नहीं, प्रत्यक्ष व रजिस्टर-अप्रत्यक्ष एक अभिगम लेती हैं, तथा स्मृति-अप्रत्यक्ष दो, क्योंकि पता स्वयं पहले लाना पड़ता है।
| विधि | प्रभावी पता अथवा प्रचालक | प्रयोजन |
|---|---|---|
| तत्काल | प्रचालक अनुदेश में ही है | अचर, जहाँ स्मृति अभिगम बिल्कुल नहीं |
| रजिस्टर | प्रचालक R1 की अंतर्वस्तु है | सर्वाधिक तीव्र रूप, प्रत्येक ALU संक्रिया द्वारा प्रयुक्त |
| रजिस्टर अप्रत्यक्ष | EA = 0x2000, अर्थात् R1 की अंतर्वस्तु | संरचना में चलता संकेतक |
| आधार सहित विस्थापन | EA = 0x2000 + 0x8 = 0x2008 | अभिलेख के भीतर नियत विचलन पर कोई क्षेत्र |
| आधार जोड़ अनुक्रमांक जोड़ विस्थापन | EA = 0x2000 + 0x40 + 0x8 = 0x2048 | आधारित संरचना के भीतर सरणी अवयव |
| स्मृति अप्रत्यक्ष | 0x2008 पर का शब्द लाइए, तत्पश्चात् उसे पता मानिए | छलांग सारणियाँ — तथा दो स्मृति अभिगम, एक नहीं |
| PC सापेक्ष | EA = PC + विस्थापन | शाखन, तथा स्थिति-निरपेक्ष कोड |
ALU पिछले अध्याय का अंकगणितीय केंद्र है जिसे फलन-चयन में लपेट दिया गया हो: पूर्ववर्णित रीति से बना एक योजक-घटाकयंत्र, एक तर्क एकक, एक विस्थापक, तथा एक बहुसंकेतक जो चुनता है कि कौन-सा परिणाम निर्गम तक पहुँचे, जहाँ स्थिति ध्वजाएँ — शून्य, वहन, चिह्न व अतिप्रवाह — पार्श्व-प्रभाव के रूप में उत्पन्न होती हैं। आँकड़ा-पथ रजिस्टर, ALU, बसें व स्मृति अंतरपृष्ठ है; नियंत्रण एकक वह है जो सक्षमक, चयन व लेखन रेखाओं को सही क्रम में अभिपुष्ट करता है। नियंत्रण दो प्रकार का होता है, और सौदा वही है जो इस पूरे खंड में चलता है। स्थिर-तारित नियंत्रण ठीक उसी प्रकार की परिमित अवस्था मशीन है जो इस अध्याय में पहले अभिकल्पित हुई: तीव्र, और निर्माण पर ही नियत। सूक्ष्म-प्रोग्रामित नियंत्रण एक लघु स्मृति रखता है जिसके शब्द स्वयं नियंत्रण संकेत हैं, अतः सारणी पुनः लिखकर अनुदेश समुच्चय बदला जा सकता है: लचीला, और उस स्मृति के अभिगम समय जितना धीमा।
अनुदेश पाइपलाइनिंग अंतिम मद है, और वह उसी क्रांतिक-पथ विचार पर अंकगणित है जिसने फ्लिप-फ्लॉप सोपान को नियंत्रित किया था। निष्पादन को सोपानों में बाँटिए और उनके बीच कुंडियाँ रखिए; तब घड़ी-आवर्त मंदतम सोपान जोड़ कुंडी उपरिव्यय है, औसत कभी नहीं। लीजिए चार-सोपानी पाइपलाइन जिसके सोपानों को 1.8, 2.4, 2.0 तथा 1.6 ns चाहिए और कुंडी विलंब 0.2 ns है। अपाइपलाइनित मशीन प्रति अनुदेश 1.8 + 2.4 + 2.0 + 1.6 = 7.8 ns लेती है; पाइपलाइनित 2.4 + 0.2 = 2.6 ns पर कालित होती है, अतः आदर्श त्वरण 7.8/2.6 = 3.0 है — चार सोपानों के सामने, क्योंकि असंतुलन अंतर को व्यर्थ कर देता है। 100 अनुदेशों की परिमित दौड़ हेतु पाइपलाइन को (k + n − 1) चक्र चाहिए, अर्थात् 100 × 7.8 = 780 ns के सामने (4 + 99) × 2.6 = 267.8 ns, अर्थात् 2.91 का त्वरण। दोनों संख्याएँ k से कम हैं, दो पृथक् कारणों से, और प्रश्न प्रायः उनमें ठीक एक ही लागू करता है।
2.4 ns सोपान को 1.2 ns के दो में बाँटना घड़ी-आवर्त को 1.6 + 0.2 = 1.8 ns तक गिरा देगा और त्वरण बढ़ा देगा, जबकि कहीं और पाँचवाँ सोपान जोड़ना कुछ भी न बदलेगा, क्योंकि आवर्त तब भी मंदतम सोपान ही निर्धारित करता है। पाइपलाइनिंग का व्यावहारिक पठन यही है और उसे नियम रूप में कहना उपयोगी है: गहराई केवल संतुलन के पश्चात् सहायक है। वही अंकगणित यह सीमा भी तय करता है कि कितनी गहराई तक जाना सार्थक है, क्योंकि कुंडी उपरिव्यय प्रति चक्र एक बार चुकाया जाता है और छोटे चक्र का बड़ा अंश बन जाता है — 0.2 ns उपरिव्यय पर 1.0 ns पर कालित अभिकल्पन प्रत्येक चक्र का पाँचवाँ भाग केवल कुंडियों पर व्यय कर रहा है। और यहीं EC अभ्यर्थी को रुक जाना चाहिए: संकट, अग्रसारण व शाखा पूर्वानुमान कंप्यूटर विज्ञान पेपर की सामग्री है, यहाँ नामित चार मदों की नहीं।मुख्य बिंदु
- कुंडी स्तर-संवेदी है और फ्लिप-फ्लॉप कोर-प्रवर्तित; सारणियों के बजाय अभिलक्षण समीकरण
Q+ = D,Q+ = T ⊕ QतथाQ+ = JQ′ + K′Qजानिए। - स्थापन घड़ी तय करता है:
T_c ≥ t_pcq + t_pd + t_su + t_skewने 4.7 ns तथा 212.8 MHz दिया। धारण मेंT_cनहीं है, अतः धारण उल्लंघन किसी भी आवृत्ति पर बचा रहता है। - तरंग गणक का विलंब
n × t_pdकी तरह संचित होता है — चार 7 ns सोपानों हेतु 28 ns — जबकि तुल्यकालिक गणक का आवर्त एक सोपान है,t_pcq + t_comb + t_su, जिसमें बिट-गणना नहीं आती। - FSM अवस्थाओं को उस दीर्घतम प्रतिरूप-उपसर्ग से नाम दीजिए जो अब भी निवेश का पुच्छ हो, और अतिव्यापन संसूचन स्वयं निकल आता है — 101 संसूचक को चार मूर अथवा तीन मीली अवस्थाएँ चाहिए।
- 12-बिट, 5 V परिवर्तक हेतु एक LSB 1.2207 mV है तथा आदर्श SQNR 74.0 dB; 10 nA क्षरण वाला 100 pF धारण संधारित्र 0.1 mV/µs अवनमित होता है और केवल 6.1 µs तक धारण कर सकता है।
- SRAM प्रति बिट छह ट्रांजिस्टर लेता है और अविनाशकारी पठन करता है; DRAM एक ट्रांजिस्टर व एक संधारित्र लेता है, विनाशकारी पठन करता है, और 4096 पंक्तियाँ प्रत्येक 64 ms में, प्रति 15.625 µs एक पंक्ति, पुनराभरित करनी पड़ती हैं।
- पाइपलाइन की घड़ी मंदतम सोपान जोड़ कुंडी उपरिव्यय है: 1.8, 2.4, 2.0 व 1.6 ns के सोपान 2.6 ns पर कालित होते हैं, जो 3.0 का आदर्श त्वरण तथा 100 अनुदेशों पर 2.91 देते हैं।
अभ्यास प्रश्न (8)
उत्तर खोलने से पहले प्रत्येक प्रश्न हल करें। हर व्याख्या सही विकल्प के साथ लुभावना गलत विकल्प भी बताती है, क्योंकि अंक वहीं जाते हैं।
छह flip-flop से बना एक shift register मुड़े-वलय (Johnson) counter के रूप में जोड़ा गया है, जिसमें अंतिम चरण के निर्गम का पूरक पहले चरण के निवेश पर लौटाया जाता है। इसके पुनरावर्ती चक्र में कितनी भिन्न अवस्थाएँ होती हैं?
उत्तर देखें
उत्तर: A — 12
Johnson counter अंतिम चरण का पूरक पहले चरण पर लौटाता है, अतः register पहले एक से भरता है और फिर खाली होता है, n चरणों के लिए 2n भिन्न प्रतिरूपों से गुजरते हुए: 2 x 6 = 12. आकर्षक 6 साधारण ring counter की गणना है, जो सत्य निर्गम लौटाता है और केवल एक hot bit n स्थानों में घुमाता है। 64 छह flip-flop के द्विआधारी counter की पूर्ण गणना 2^6 है, और 63 छह-bit अधिकतम LFSR के चक्र की लंबाई है, जो केवल पूर्ण-शून्य शब्द छोड़ता है।पाँच समान flip-flop, प्रत्येक का propagation delay 6 ns, पहले अतुल्यकालिक ripple counter के रूप में और फिर तुल्यकालिक counter के रूप में जोड़े जाते हैं जिसमें चरणों के बीच 3 ns का enable-chain तर्क है तथा प्रत्येक flip-flop को 2 ns setup time चाहिए। पुनः जोड़ने पर उच्चतम प्रयोज्य clock आवृत्ति किस गुणक से सुधरती है?
उत्तर देखें
उत्तर: C — 2.73
ripple counter में प्रत्येक flip-flop अगले को clock करता है, अतः विलंब जुड़ते हैं और निर्गम 5 x 6 = 30 ns तक अस्थिर रहते हैं, जिससे clock 1/30 ns पर सीमित होता है। तुल्यकालिक counter प्रत्येक चरण को साथ clock करता है, अतः उसका आवर्तकाल लूप का एक चरण है, t_pcq + t_comb + t_su = 6 + 3 + 2 = 11 ns. अतः आवृत्ति अनुपात 30/11 = 2.73 है, और ध्यान दें कि तुल्यकालिक व्यंजक से bit संख्या लुप्त हो गई है। मान 3.33 तुल्यकालिक आवर्तकाल को 6 + 3 = 9 ns लिखकर setup time छोड़ने से आता है; 5.00 केवल एक flip-flop विलंब से तुलना करने पर आता है।एक flash analogue-to-digital converter अपने निवेश की प्रत्येक देहली से एक साथ तुलना करके 7 bit विभेदित करता है। इसके resistor-ladder नेटवर्क को कितने comparator चाहिए?
उत्तर देखें
उत्तर: B — 127
n bit का flash converter संदर्भ को 2^n समान चरणों में बाँटता है, और उन चरणों की सीमाएँ ही वे देहलियाँ हैं जिनकी जाँच होनी है, अतः 2^n - 1 comparator चाहिए: 2^7 - 1 = 127. आकर्षक 128 स्वयं 2^n है, जो सीमाओं के बजाय निर्गम कूटों की गणना से मिलता है; सर्वोच्च कूट के ऊपर या निम्नतम के नीचे कोई comparator नहीं चाहिए। मान 7 bit गिनता है, जो successive-approximation converter को clock चक्रों में चाहिए, comparator में नहीं, और 126 दो घटाने से आता है।एक ही छह चरों के पाँच स्वेच्छ बूलीय फलन एक ही ROM द्वारा lookup table के रूप में साकार करने हैं, जहाँ छह चर सीधे address रेखाओं को चलाते हैं। इसे करने वाली न्यूनतम ROM धारिता, bit में, क्या है?
उत्तर देखें
उत्तर: D — 320
छह address चर 2^6 = 64 शब्दों में से एक चुनते हैं, और प्रत्येक शब्द को पाँचों फलनों के लिए एक-एक निर्गम bit रखना है, अतः ROM 64 शब्द गुणा 5 bit, अर्थात 320 bit का है। कोई न्यूनीकरण संभव या आवश्यक नहीं, क्योंकि ROM सत्य सारणी स्वयं संचित करता है। आकर्षक 192 वस्तुतः 2^5 x 6 है, जो दोनों संख्याओं की भूमिकाएँ बदलने से बनता है; 64 शब्द गिनता है पर भूल जाता है कि प्रत्येक शब्द पाँच bit चौड़ा है, और 30 केवल छह चरों और पाँच फलनों का गुणनफल है।एक processor ऐसा अनुदेश पहले ही ला चुका है जो स्मृति से दो operand पढ़ता है, पहला register-indirect संबोधन से और दूसरा memory-indirect संबोधन से। अनुदेश शब्द स्वयं लाए जाने के बाद की ही पहुँचों को गिनते हुए, दोनों operand को processor में लाने के लिए कितनी स्मृति-पहुँचें चाहिए?
उत्तर देखें
उत्तर: A — 3
register-indirect संबोधन में प्रभावी पता पहले से register में है, अतः ठीक एक पहुँच operand लाती है। memory-indirect संबोधन में केवल पते का संकेतक है, अतः पहले पता पढ़ना है और फिर operand, अर्थात दो पहुँचें। कुल 1 + 2 = 3. आकर्षक 2 memory-indirect को register-indirect मानकर प्रत्येक operand के लिए एक पहुँच गिनता है, जो ठीक वही भेद है जिसके लिए ये दोनों विधियाँ हैं; 4 दोनों के लिए दो-दो पहुँचें गिनता है, और 1 केवल अंतिम operand पठन गिनता है।एक मशीन का निष्पादन चार pipeline चरणों में बाँटा गया है जिनके संयोजनात्मक विलंब 3.0, 5.0, 4.0 तथा 2.0 ns हैं, और प्रत्येक अंतर-चरण latch 0.25 ns जोड़ता है। फिर 5.0 ns वाला चरण 2.5 ns के दो चरणों में बाँटा जाता है, जिनके बीच उसी 0.25 ns का एक और latch है। एक ही लंबे चरण में वही कार्य करने वाली अ-pipeline मशीन की तुलना में पुनःसंतुलित pipeline का आदर्श speedup क्या है?
उत्तर देखें
उत्तर: B — 3.29
अ-pipeline मशीन को एक अनुदेश के लिए 3.0 + 5.0 + 4.0 + 2.0 = 14.0 ns लगते हैं। विभाजन के बाद चरण विलंब 3.0, 2.5, 2.5, 4.0 तथा 2.0 ns हैं, अतः सबसे धीमा अब 4.0 ns है और clock आवर्तकाल सबसे धीमा चरण जमा एक latch, 4.0 + 0.25 = 4.25 ns है। आदर्श speedup 14.0/4.25 = 3.29 है। आकर्षक 2.67 वस्तुतः 14.0/5.25 है, जो विभाजन से पहले के pipeline का speedup है, और गलत है क्योंकि सीमित करने वाला चरण 5.0 ns से बदलकर 4.0 ns हो गया है। मान 3.50 वस्तुतः 14.0/4.0 है, जो latch भूलने से आता है, और 5.00 केवल नई चरण-संख्या है।किसी असंबद्ध clock प्रदेश से आने वाला अतुल्यकालिक निवेश दो श्रेणीबद्ध flip-flop से गुजारकर ग्रहण किया जाता है, दोनों गंतव्य clock से clock किए जाते हैं। यह व्यवस्था वास्तव में क्या प्राप्त करती है?
उत्तर देखें
उत्तर: C — यह किसी भी metastable स्तर को सुलझने के लिए एक और पूरा clock आवर्तकाल देती है, जिससे विफलता दर घटती है पर कभी शून्य नहीं होती।
flip-flop की दो स्थायी अवस्थाओं के बीच एक अस्थायी संतुलन बिंदु होता है, और प्रतिचयन खिड़की के भीतर आने वाला data किनारा आंतरिक नोड को उसके निकट छोड़ सकता है। वहाँ से निपटारा चरघातांकी है, अतः समय t के बाद भी अनिर्णीत रहने की प्रायिकता exp(-t/tau) की भाँति घटती है पर कभी शून्य नहीं होती। दूसरा flip-flop पहले को पूरा एक clock आवर्तकाल बाद प्रतिचयित करता है, जब तक वह शेष प्रायिकता नगण्य हो चुकी होती है, अतः synchroniser विफलता दर घटाता है और mean time between failures के रूप में उद्धृत होता है। यह दावा कि कोई metastable स्तर कभी आगे नहीं पहुँच सकता, ठीक वही है जिसे चरघातांक मना करता है।एक तुल्यकालिक अभिकल्प में flip-flop के बीच संयोजनात्मक तर्क वाले register-से-register पथ हैं, और उसका नियंत्रण एक परिमित अवस्था मशीन के रूप में लिखा गया है। ऐसे अभिकल्प के विषय में निम्नलिखित में से कौन से कथन सही हैं?
उत्तर देखें
उत्तर: A — उन पथों में से किसी पर hold-time उल्लंघन clock आवृत्ति घटाकर दूर नहीं किया जा सकता, क्योंकि hold असमिका में clock आवर्तकाल आता ही नहीं।; B — यदि नियंत्रण Mealy मशीन के रूप में लिखा है तो उसका निर्गम clock आवर्तकाल के बीच में बदल सकता है, जबकि Moore निर्गम केवल clock किनारे के तुरंत बाद बदलता है।
setup प्रतिबंध T_c >= t_pcq + t_pd + t_su + t_skew है और hold प्रतिबंध t_ccq + t_cd >= t_h + t_skew है। clock आवर्तकाल केवल पहले में आता है, अतः hold विफलता उसी किनारे के विरुद्ध दौड़ है और किसी भी आवृत्ति पर, शून्य पर भी, बनी रहती है; उपचार संरचनात्मक हैं, जैसे छोटे पथ पर विलंब जोड़ना या clock वृक्ष पुनःसंतुलित करना। Mealy निर्गम अवस्था तथा वर्तमान निवेश का फलन है, अतः वह निवेश परिवर्तन का अनुसरण संयोजनात्मक तर्क से करता है और आवर्तकाल के भीतर glitch कर सकता है, जबकि Moore निर्गम केवल पंजीकृत अवस्था पर निर्भर है। skew दोनों प्रतिबंधों के बीच सौदा नहीं है: वह setup तथा hold दोनों बजटों को एक साथ खाता है। और Mealy मशीन को प्रायः Moore से कम अवस्थाएँ चाहिए, अधिक नहीं।