निम्नलिखित में से किस रजिस्टर में, अभिगम की जाने वाली मेमोरी में अगले स्थान का पता होता है?
- (a)IR
- (b)MAR
- (c)MBR
- (d)DR
सही उत्तर — B, (b) MAR — यह स्मृति पता रजिस्टर (Memory Address Register) है, और इसी में वह पता रखा जाता है जिस स्मृति-स्थान को अगली बार पढ़ा या लिखा जाना है। पहला क़दम — नामों को खोलिए, क्योंकि चारों विकल्प संक्षेप हैं और उत्तर उन्हीं में छिपा है। IR का पूरा रूप है Instruction Register यानी अनुदेश रजिस्टर; MAR है Memory Address Register यानी स्मृति पता रजिस्टर; MBR है Memory Buffer Register यानी स्मृति बफ़र रजिस्टर, जिसे कई पुस्तकें MDR यानी स्मृति आँकड़ा रजिस्टर भी लिखती हैं; और DR है Data Register यानी आँकड़ा रजिस्टर। जिस संक्षेप में ‘Address’ शब्द है वही पता रखेगा — यह इतना सीधा है कि पूरा रूप याद होते ही प्रश्न हल हो जाता है। दूसरा क़दम — काम देखिए। संसाधक और स्मृति के बीच दो अलग-अलग रास्ते होते हैं : पता बस, जिस पर यह जाता है कि किस स्थान से काम है, और आँकड़ा बस, जिस पर वह सामग्री आती-जाती है। MAR पता बस के सिरे पर बैठा है और वही यह बताता है कि अगला अभिगम (access) किस स्थान पर होगा; MBR आँकड़ा बस के सिरे पर बैठा है और उसमें वह शब्द रहता है जो अभी स्मृति से पढ़ा गया या जिसे लिखा जाना है। दोनों जोड़े में काम करते हैं, और परीक्षा ठीक इसी जोड़े को उलट-पलटकर पूछती है। तीसरा क़दम — अनुदेश चक्र में देखिए कि यह होता कैसे है। पहले प्रोग्राम काउंटर की सामग्री MAR में उतारी जाती है; फिर स्मृति से पढ़ने का संकेत जाता है और वह शब्द MBR में आता है; MBR से वह अनुदेश IR में चला जाता है; प्रोग्राम काउंटर एक क़दम बढ़ जाता है; फिर अनुदेश की व्याख्या होती है और यदि उसमें किसी आँकड़े का पता है तो वह पता भी IR से निकालकर MAR में रखा जाता है और स्मृति दोबारा पढ़ी जाती है। पूरे चक्र में स्मृति को छूने से ठीक पहले हर बार MAR ही भरा जाता है — यही इस प्रश्न का सार है। एक अतिरिक्त बात, जो अलग से भी पूछी जाती है : MAR की चौड़ाई तय कर देती है कि मशीन अधिकतम कितनी स्मृति को संबोधित कर सकती है। n बिट का MAR 2ⁿ स्थानों तक पहुँच सकता है, इसलिए 16 बिट का MAR 65,536 स्थानों तक और 32 बिट का लगभग चार अरब स्थानों तक।
- (a)IR — IR यानी अनुदेश रजिस्टर में पता नहीं, स्वयं अनुदेश रखा जाता है — वही अनुदेश जो अभी-अभी स्मृति से लाया गया है और जिसकी व्याख्या करके संसाधक को यह तय करना है कि करना क्या है। यह विकल्प इसलिए ललचाता है कि अनेक अनुदेशों के भीतर एक पता-क्षेत्र भी होता है, जैसे ‘इस पते से आँकड़ा उठाओ’, इसलिए ऐसा लगता है कि पता तो IR में ही पड़ा है। पर वहाँ पड़ा हुआ पता स्मृति तक अपने आप नहीं जाता : उसे पहले IR से निकालकर MAR में रखा जाता है और तभी पता बस पर भेजा जाता है। अर्थात् IR पते का अस्थायी वाहक भर हो सकता है, स्मृति को संबोधित करने वाला रजिस्टर नहीं। भेद याद रखने का सूत्र यही है — IR बताता है ‘क्या करना है’, MAR बताता है ‘कहाँ करना है’।
- (c)MBR — MBR यानी स्मृति बफ़र रजिस्टर, जिसे कई पुस्तकें MDR यानी स्मृति आँकड़ा रजिस्टर कहती हैं, स्मृति से आने-जाने वाली सामग्री रखता है, उसका पता नहीं। यह MAR का जोड़ीदार है और इसीलिए सबसे अच्छा जाल है : दोनों के नाम ‘Memory’ से शुरू होते हैं, दोनों स्मृति के साथ लेन-देन में लगे हैं, और अभ्यर्थी दोनों को एक ही डिब्बे में रख लेता है। भेद बस की तरफ़ देखने से साफ़ हो जाता है — MAR पता बस पर बैठता है और एक ही दिशा में, संसाधक से स्मृति की ओर, पता भेजता है; MBR आँकड़ा बस पर बैठता है और दोनों दिशाओं में सामग्री ढोता है, पढ़ने पर स्मृति से संसाधक की ओर और लिखने पर उलटी ओर। एक वाक्य में : MAR में पता, MBR में सामग्री।
- (d)DR — DR यानी आँकड़ा रजिस्टर भी सामग्री ही रखता है, पता नहीं — कुछ पाठ्यपुस्तकें तो DR को स्मृति आँकड़ा रजिस्टर का ही दूसरा नाम मानकर चलती हैं, और वहाँ भी उसका काम स्मृति से पढ़ा गया संकार्य (operand) थामे रखना है ताकि अंकगणित-तर्क इकाई उस पर काम कर सके। इसी परिवार के दूसरे रजिस्टर — संचायक (accumulator), सामान्य प्रयोजन के रजिस्टर, तथा दशा रजिस्टर — भी सामग्री या परिणाम की स्थिति रखते हैं, पते नहीं। पते रखने वाले रजिस्टर पूरे संसाधक में गिने-चुने हैं : स्मृति पता रजिस्टर, प्रोग्राम काउंटर, और स्टैक सूचक। इसलिए ऐसे प्रश्न में सबसे तेज़ छँटाई यही है कि पहले यह पूछ लीजिए कि रजिस्टर सामग्री रखता है या पता, और फिर बचे हुए में से चुनिए।
रजिस्टर संसाधक के भीतर की सबसे तेज़ और सबसे छोटी भंडारण इकाइयाँ हैं, जो भंडारण-अनुक्रम में सबसे ऊपर बैठती हैं — उनसे नीचे कैश, फिर मुख्य स्मृति, फिर द्वितीयक भंडारण। उनका काम गिनकर बताया जा सकता है। प्रोग्राम काउंटर उस अनुदेश का पता रखता है जो अगली बार लाया जाना है और हर अनुदेश लाने के बाद स्वयं आगे बढ़ जाता है। स्मृति पता रजिस्टर उस स्थान का पता रखता है जिसे अभी पढ़ा या लिखा जाना है, और वही पता बस पर जाता है। स्मृति बफ़र रजिस्टर उस स्थान से आया या वहाँ भेजा जाने वाला शब्द रखता है। अनुदेश रजिस्टर वर्तमान अनुदेश रखता है ताकि नियंत्रण इकाई उसकी व्याख्या कर सके। संचायक अंकगणित-तर्क इकाई का परिणाम रखता है, और दशा रजिस्टर उस परिणाम के बारे में संकेत — शून्य आया या नहीं, वहन हुआ या नहीं। स्टैक सूचक स्टैक के शीर्ष का पता रखता है। इन्हीं के आपसी लेन-देन से अनुदेश चक्र चलता है, जिसे चार क़दमों में याद रखा जाता है : लाना, व्याख्या करना, संकार्य उठाना, और निष्पादित करना। शब्दावली की एक टिप्पणी : पुस्तिका ने ‘memory’ को ‘मेमोरी’ ज्यों का त्यों रखा है और ‘access’ के लिए ‘अभिगम’ शब्द चुना है, जो हिन्दी की तकनीकी शब्दावली का औपचारिक पद है — दोनों का अर्थ वही है जो अंग्रेज़ी में।
इस प्रश्न का पूरा भार संक्षेपों के पूरे रूप पर है, इसलिए तैयारी की विधि भी वही है : हर संक्षेप के सामने उसका पूरा नाम लिखिए और उस नाम में ही उत्तर ढूँढ़िए। जिस रजिस्टर के नाम में ‘Address’ है वही पता रखेगा, जिसके नाम में ‘Data’ या ‘Buffer’ है वही सामग्री, और जिसके नाम में ‘Instruction’ है वही अनुदेश। यह विधि इस प्रश्नपत्र के आधे कंप्यूटर खंड पर चल जाती है। दूसरी बात, इस प्रश्न में एक जाल छिपा है जो विकल्पों में है ही नहीं : प्रोग्राम काउंटर भी ‘अगले’ का पता रखता है, इसलिए स्टेम पढ़ते ही वह याद आ जाता है और अभ्यर्थी चारों विकल्पों में उसे ढूँढ़ने लगता है। भेद ध्यान से देखिए — प्रोग्राम काउंटर अगले अनुदेश का पता रखता है, जबकि MAR अगले उस स्मृति-स्थान का पता रखता है जिसे छुआ जाना है, चाहे वहाँ अनुदेश हो या आँकड़ा। तीसरी बात, MAR और MBR की जोड़ी को हमेशा साथ याद कीजिए, क्योंकि परीक्षा उन्हीं दोनों को आपस में बदलकर पूछती रही है, और उन्हें अलग रखने का सबसे पक्का सहारा यह है कि MAR पता बस से जुड़ा है और MBR आँकड़ा बस से।
- MAR यानी स्मृति पता रजिस्टर उस स्मृति-स्थान का पता रखता है जिसे अगली बार पढ़ा या लिखा जाना है, और वही पता पता-बस पर भेजा जाता है।
- MBR यानी स्मृति बफ़र रजिस्टर — कहीं-कहीं MDR — स्मृति से आया या वहाँ भेजा जाने वाला शब्द रखता है और आँकड़ा-बस से जुड़ा होता है; MAR और MBR सदैव जोड़े में काम करते हैं।
- IR यानी अनुदेश रजिस्टर वर्तमान अनुदेश रखता है; यदि उस अनुदेश के भीतर कोई पता है तो वह पता IR से निकालकर MAR में रखा जाता है, तभी स्मृति तक पहुँचता है।
- प्रोग्राम काउंटर अगले लाए जाने वाले अनुदेश का पता रखता है और हर अनुदेश लाने के बाद स्वतः आगे बढ़ जाता है; अनुदेश चक्र के आरंभ में उसकी सामग्री MAR में उतारी जाती है।
- अनुदेश चक्र का क्रम : प्रोग्राम काउंटर से MAR, स्मृति से MBR, MBR से IR, प्रोग्राम काउंटर का बढ़ना, व्याख्या, और फिर निष्पादन।
- MAR की चौड़ाई अधिकतम संबोधनीय स्मृति तय करती है — n बिट का MAR 2ⁿ स्थानों तक पहुँच सकता है, इसलिए 16 बिट का MAR 65,536 स्थानों तक।
- पते रखने वाले रजिस्टर गिने-चुने हैं — स्मृति पता रजिस्टर, प्रोग्राम काउंटर और स्टैक सूचक; संचायक, आँकड़ा रजिस्टर तथा दशा रजिस्टर सामग्री या परिणाम की स्थिति रखते हैं।
- MAR और MBR को आपस में बदल देना; दोनों नाम ‘Memory’ से शुरू होते हैं, पर पहला पता-बस पर पता भेजता है और दूसरा आँकड़ा-बस पर सामग्री ढोता है।
- प्रोग्राम काउंटर को उत्तर मान लेना; वह इस प्रश्न के विकल्पों में है ही नहीं, और वह अगले अनुदेश का पता रखता है, न कि अगले छुए जाने वाले स्मृति-स्थान का।
- IR को पता रखने वाला रजिस्टर समझ लेना; उसमें अनुदेश रहता है, और उसके भीतर का पता भी स्मृति तक MAR से होकर ही जाता है।
- DR को पता रखने वाला मान लेना; वह संकार्य या परिणाम रखता है और कई पुस्तकों में स्मृति आँकड़ा रजिस्टर का ही दूसरा नाम है।
- MAR की चौड़ाई और आँकड़ा-बस की चौड़ाई को एक मान लेना; पहली यह तय करती है कि कितने स्थान संबोधित हो सकते हैं, दूसरी यह कि एक बार में कितने बिट आ-जा सकते हैं।
रजिस्टरों से पूछ तीन रूपों में आती है। सबसे आम रूप यही है — किसी रजिस्टर का काम बताकर उसका संक्षिप्त नाम पूछना, या उलटकर संक्षिप्त नाम देकर उसका काम पूछना; ऐसे प्रश्नों में विकल्प सदैव संक्षेप ही होते हैं और उत्तर पूरे रूप से निकल आता है। दूसरा रूप अनुदेश चक्र का है, जहाँ चरणों का सही क्रम या यह पूछा जाता है कि किसी चरण में कौन-सा रजिस्टर भरा जाता है। तीसरा रूप संख्यात्मक है : किसी दी गई चौड़ाई के पता रजिस्टर से कितनी स्मृति संबोधित हो सकती है, जहाँ उत्तर 2 की उतनी घात होता है। तीनों की तैयारी एक छोटी तालिका से हो जाती है जिसमें छः-सात रजिस्टरों के सामने उनका पूरा नाम और एक-पंक्ति काम लिखा हो, और उसके नीचे अनुदेश चक्र का क्रम तीरों के साथ उतार लिया गया हो।
इस प्रश्न से सीधे संबंधित कोई पूर्व PYQ उपलब्ध नहीं।
- practice — not a real PYQ
किसी संगणक में वह कौन-सा रजिस्टर है जो अगले लाए जाने वाले अनुदेश का पता रखता है और प्रत्येक अनुदेश लाए जाने के बाद स्वतः आगे बढ़ जाता है?
- (a)स्मृति पता रजिस्टर (MAR)
- (b)स्मृति बफ़र रजिस्टर (MBR)
- (c)प्रोग्राम काउंटर (PC)
- (d)अनुदेश रजिस्टर (IR)
उत्तर(c) प्रोग्राम काउंटर (PC) — स्वतः आगे बढ़ने वाला गुण केवल इसी का है, और यही इसे MAR से अलग करता है; MAR में पता हर बार बाहर से रखा जाता है और वह स्वयं नहीं बढ़ता।
- practice — not a real PYQ
यदि किसी संगणक का स्मृति पता रजिस्टर 16 बिट का हो, तो वह अधिकतम कितने स्मृति-स्थानों को संबोधित कर सकता है?
- (a)16
- (b)256
- (c)1,024
- (d)65,536
उत्तर(d) 65,536 — n बिट का पता रजिस्टर 2ⁿ भिन्न पते बना सकता है, और 2¹⁶ = 65,536 होता है।