निष्पादन किए जाने वाले परवर्ती अनुदेश पर दृष्टि रखने के लिए निम्नलिखित में से कौन-से रजिस्टर का उपयोग किया जाता है ?
- (a)मेमोरी एड्रेस रजिस्टर
- (b)मेमोरी बफ़र रजिस्टर
- (c)प्रोग्राम काउंटर
- (d)मेमोरी डेटा रजिस्टर
उत्तर
क्यों
सही उत्तर — C, (c) प्रोग्राम काउंटर । प्रोग्राम काउंटर वह विशेष रजिस्टर है जिसमें अगले निष्पादित होने वाले अनुदेश का पता रखा जाता है ; कुछ संरचनाओं में इसे अनुदेश सूचक भी कहते हैं । केंद्रीय प्रसंस्करण इकाई एक चक्र में काम करती है — लाओ, समझो, चलाओ । चक्र के आरंभ में प्रोग्राम काउंटर में जो पता होता है वह मेमोरी एड्रेस रजिस्टर में भेजा जाता है, उस पते से अनुदेश स्मृति से लाकर मेमोरी डेटा रजिस्टर में आता है और वहाँ से अनुदेश रजिस्टर में चला जाता है । ठीक इसी बीच प्रोग्राम काउंटर स्वयं आगे बढ़ जाता है और अगले अनुदेश का पता धारण कर लेता है, ताकि वर्तमान अनुदेश के निष्पादन के समाप्त होते ही अगला चक्र बिना रुके आरंभ हो सके । इसीलिए इसका नाम काउंटर है — यह क्रम में गिनता चलता है । यही रजिस्टर प्रोग्राम के प्रवाह को भी संभालता है । जब कोई शाखा या कूद अनुदेश आता है, तब उसमें दिया गया लक्ष्य पता प्रोग्राम काउंटर में भर दिया जाता है और नियंत्रण वहीं चला जाता है ; जब कोई उपनेम बुलाया जाता है, तब लौटने का पता स्टैक में सुरक्षित रखकर प्रोग्राम काउंटर उपनेम के पहले अनुदेश पर लगाया जाता है, और लौटते समय वही सुरक्षित पता उसमें वापस आ जाता है । अवरोध आने पर भी यही होता है — चालू पता सुरक्षित रखकर प्रोग्राम काउंटर अवरोध सेवा नेम पर भेजा जाता है । दूसरे शब्दों में, किसी भी क्षण कंप्यूटर कहाँ खड़ा है, यह प्रोग्राम काउंटर बताता है, और शेष तीनों विकल्प स्मृति तक पहुँचने के साधन हैं, न कि प्रवाह पर दृष्टि रखने के । इसलिए इस प्रश्न का उत्तर प्रोग्राम काउंटर ही है ।
अन्य विकल्प क्यों गलत हैं
- (a)मेमोरी एड्रेस रजिस्टर — मेमोरी एड्रेस रजिस्टर में भी पता ही रहता है, और यही इस विकल्प को भ्रामक बनाता है — पर वह पता उस स्थान का है जिसे इसी क्षण पढ़ा या लिखा जा रहा है, अगले अनुदेश का नहीं । जब भी प्रसंस्करण इकाई को स्मृति से कुछ लाना या स्मृति में कुछ रखना होता है, वह पहले उस स्थान का पता इसी रजिस्टर में रखती है और फिर पता बस के द्वारा वह स्मृति तक पहुँचता है । अनुदेश लाने के समय यह पता प्रोग्राम काउंटर से आता है, पर आँकड़े पढ़ने-लिखने के समय वही रजिस्टर किसी और स्थान का पता धारण करता है । अर्थात् मेमोरी एड्रेस रजिस्टर हर स्मृति-व्यवहार में बदलता रहता है, जबकि प्रोग्राम काउंटर कार्यक्रम के प्रवाह पर दृष्टि रखता है । दोनों का काम अलग है — एक पहुँच का साधन है, दूसरा क्रम का ।
- (b)मेमोरी बफ़र रजिस्टर — मेमोरी बफ़र रजिस्टर पता नहीं, आँकड़ा रखता है । यह वह अस्थायी ठहराव है जहाँ स्मृति से पढ़ी गई सामग्री आकर रुकती है, या जिसे स्मृति में लिखने के लिए तैयार किया जाता है ; बीच में यह इसलिए रखा जाता है क्योंकि प्रसंस्करण इकाई और स्मृति की गति एक नहीं होती । ध्यान दीजिए कि इसी प्रश्न में विकल्प (d) मेमोरी डेटा रजिस्टर भी है, और वह इसी रजिस्टर का दूसरा नाम है — दोनों एक ही वस्तु के दो प्रचलित नाम हैं । जब किसी प्रश्न में एक ही वस्तु दो नामों से दो विकल्पों में खड़ी हो, तब उनमें से कोई भी उत्तर नहीं हो सकता, क्योंकि तब दो विकल्प एक साथ सही हो जाते ; यह पहचान अकेले ही दो विकल्प काट देती है ।
- (d)मेमोरी डेटा रजिस्टर — मेमोरी डेटा रजिस्टर मेमोरी बफ़र रजिस्टर का ही दूसरा नाम है, इसलिए इसका काम भी वही है — स्मृति से आने-जाने वाले आँकड़े या अनुदेश को अस्थायी रूप से धारण करना । अनुदेश चक्र में इसकी भूमिका इतनी ही है कि स्मृति से लाया गया अनुदेश पहले इसमें आता है और फिर अनुदेश रजिस्टर को सौंप दिया जाता है ; उसके बाद यह अगले आँकड़े के लिए ख़ाली हो जाता है । अगला अनुदेश कहाँ है, यह इसे न पता होता है और न इसका काम है । रजिस्टरों को इसी बँटवारे से याद रखिए — पता रखने वाले, आँकड़ा रखने वाले, अनुदेश रखने वाले, और क्रम पर दृष्टि रखने वाला । इस प्रश्न में जो पूछा गया है वह अंतिम श्रेणी है, और उसमें केवल प्रोग्राम काउंटर आता है ।
अवधारणा
रजिस्टर प्रसंस्करण इकाई के भीतर की सबसे तेज़ और सबसे छोटी स्मृति हैं, और हर रजिस्टर का एक निश्चित काम होता है । प्रोग्राम काउंटर अगले निष्पादित होने वाले अनुदेश का पता रखता है और हर अनुदेश लाने के बाद स्वयं आगे बढ़ जाता है ; शाखा, उपनेम और अवरोध की दशा में उसमें नया पता भर दिया जाता है । अनुदेश रजिस्टर उस अनुदेश को धारण करता है जो इस समय निष्पादित हो रहा है, और नियंत्रण इकाई उसी को समझकर संकेत भेजती है । मेमोरी एड्रेस रजिस्टर उस स्मृति-स्थान का पता रखता है जिस तक इस क्षण पहुँचना है । मेमोरी डेटा रजिस्टर, जिसे मेमोरी बफ़र रजिस्टर भी कहते हैं, उस स्थान से आया या वहाँ भेजा जाने वाला आँकड़ा रखता है । संचायक अंकगणितीय और तार्किक इकाई के परिणाम धारण करता है । दशा या फ़्लैग रजिस्टर पिछली संक्रिया के परिणाम के लक्षण रखता है — शून्य, ऋणात्मक, वहन, अतिप्रवाह — जिनके आधार पर सशर्त शाखाएँ निर्णय लेती हैं । स्टैक सूचक स्टैक के शीर्ष का पता रखता है । इसके अतिरिक्त सामान्य प्रयोजन रजिस्टर होते हैं जिन्हें प्रोग्राम अपनी सुविधा से काम में लाता है ।
अनुदेश चक्र इस पूरे खंड की धुरी है और उसे एक बार क्रम से देख लेने पर रजिस्टरों के प्रश्न स्वतः हल होने लगते हैं । चक्र इस प्रकार चलता है : प्रोग्राम काउंटर का पता मेमोरी एड्रेस रजिस्टर में जाता है ; उस पते से अनुदेश स्मृति से आकर मेमोरी डेटा रजिस्टर में ठहरता है ; वहाँ से वह अनुदेश रजिस्टर में जाता है ; प्रोग्राम काउंटर आगे बढ़ जाता है ; नियंत्रण इकाई अनुदेश को समझती है ; और अंकगणितीय-तार्किक इकाई उसे निष्पादित करती है । कंप्यूटर की यह संरचना जॉन वॉन न्यूमान से जुड़ी उस धारणा पर टिकी है जिसमें अनुदेश और आँकड़े दोनों एक ही स्मृति में रहते हैं, इसीलिए अनुदेश को भी पते से मँगाना पड़ता है । परीक्षा में यह खंड प्रायः इसी रूप में आता है — कोई एक रजिस्टर या इकाई उठाकर उसका काम पूछ लेना ।
मुख्य तथ्य
- प्रोग्राम काउंटर अगले निष्पादित होने वाले अनुदेश का पता धारण करता है ; इसे कुछ संरचनाओं में अनुदेश सूचक भी कहा जाता है ।
- अनुदेश लाने के तुरंत बाद प्रोग्राम काउंटर आगे बढ़ जाता है, जिससे वर्तमान अनुदेश के निष्पादन के साथ ही अगले का पता तैयार रहता है ।
- शाखा या कूद अनुदेश में लक्ष्य पता प्रोग्राम काउंटर में भर दिया जाता है, इसलिए प्रोग्राम का प्रवाह वहीं मुड़ जाता है ।
- उपनेम बुलाते समय लौटने का पता स्टैक में सुरक्षित रखा जाता है और लौटते समय वही पता प्रोग्राम काउंटर में वापस आता है ।
- मेमोरी एड्रेस रजिस्टर उस स्मृति-स्थान का पता रखता है जिसे इस क्षण पढ़ा या लिखा जा रहा है ।
- मेमोरी डेटा रजिस्टर और मेमोरी बफ़र रजिस्टर एक ही रजिस्टर के दो नाम हैं ; वह स्मृति से आने-जाने वाला आँकड़ा धारण करता है ।
- अनुदेश रजिस्टर इस समय निष्पादित हो रहे अनुदेश को रखता है, जिसे नियंत्रण इकाई समझकर संकेत उत्पन्न करती है ।
- अनुदेश चक्र का क्रम है — प्रोग्राम काउंटर से पता, मेमोरी एड्रेस रजिस्टर, स्मृति, मेमोरी डेटा रजिस्टर, अनुदेश रजिस्टर, फिर समझना और निष्पादन ।
आगे की तैयारी
सामान्य भ्रम
- मेमोरी एड्रेस रजिस्टर को प्रोग्राम काउंटर मान लेना । दोनों में पता रहता है, पर एक इस क्षण की पहुँच का और दूसरा अगले अनुदेश का ।
- मेमोरी बफ़र रजिस्टर और मेमोरी डेटा रजिस्टर को दो अलग रजिस्टर समझ लेना । वे एक ही वस्तु के दो नाम हैं ।
- अनुदेश रजिस्टर और प्रोग्राम काउंटर को एक मान लेना । पहला वर्तमान अनुदेश रखता है, दूसरा अगले का पता ।
- प्रोग्राम काउंटर को केवल क्रम से बढ़ने वाला गिनक मान लेना ; शाखा, उपनेम और अवरोध में उसमें नया पता भरा जाता है ।
- रजिस्टर और कैश को एक श्रेणी में रख देना । रजिस्टर प्रसंस्करण इकाई के भीतर हैं और कैश स्मृति पदानुक्रम की अगली सीढ़ी ।
कंप्यूटर का खंड इस पेपर में दो जगह आता है और उसका स्तर स्नातक स्तर की आधारभूत पुस्तक से आगे नहीं जाता । रजिस्टरों पर प्रश्न लगभग सदा एक ही ढंग से बनते हैं : किसी एक रजिस्टर का काम बताकर नाम पूछ लेना, या नाम देकर काम पूछ लेना । इसलिए तैयारी का सबसे कारगर तरीक़ा यह है कि अनुदेश चक्र को एक बार क्रम से लिखकर देख लिया जाए और हर चरण के सामने उस रजिस्टर का नाम रख दिया जाए जो वहाँ काम आता है । इससे चार-पाँच प्रश्न एक साथ सध जाते हैं । दूसरी उपयोगी आदत विकल्पों का पर्याय पहचानना है — यदि दो विकल्प एक ही वस्तु के दो नाम हैं, तो दोनों कट जाते हैं, क्योंकि वस्तुनिष्ठ प्रश्न में एक ही उत्तर होता है । यहाँ मेमोरी बफ़र रजिस्टर और मेमोरी डेटा रजिस्टर ठीक यही जोड़ा बनाते हैं, और उन्हें पहचान लेने पर शेष दो में से चुनना बहुत आसान हो जाता है ।
संबंधित PYQ
EPFO_EOAO_2020_Q70खोलें व हल करें →Which one of the following denotes a sequential electronic circuit that is used to store 1-bit of information ?
- (a) Register
- (b) Transistor
- (c) Flip-flop
- (d) Capacitor
उत्तर(c) Flip-flop
इसी खंड का प्रश्न — 1-bit सूचना संचित करने वाला अनुक्रमिक इलेक्ट्रॉनिक परिपथ ।
EPFO_EOAO_2020_Q66खोलें व हल करें →Which one of the following is not a language translator ?
- (a) Assembler
- (b) Linker
- (c) Interpreter
- (d) Compiler
उत्तर(b) Linker
कंप्यूटर खंड का वर्गीकरण प्रश्न — कौन-सा प्रोग्राम भाषा अनुवादक नहीं है ।
अभ्यास
- practice — not a real PYQ
किसी कंप्यूटर में इस समय निष्पादित हो रहे अनुदेश को धारण करने वाला रजिस्टर निम्नलिखित में से कौन-सा है ?
- (a)प्रोग्राम काउंटर
- (b)अनुदेश रजिस्टर
- (c)मेमोरी एड्रेस रजिस्टर
- (d)स्टैक सूचक
उत्तर(b) अनुदेश रजिस्टर — नियंत्रण इकाई इसी में रखे अनुदेश को समझकर संकेत उत्पन्न करती है ।
- practice — not a real PYQ
अनुदेश चक्र में प्रोग्राम काउंटर का पता सबसे पहले निम्नलिखित में से किस रजिस्टर में भेजा जाता है ?
- (a)अनुदेश रजिस्टर
- (b)संचायक
- (c)मेमोरी एड्रेस रजिस्टर
- (d)दशा रजिस्टर
उत्तर(c) मेमोरी एड्रेस रजिस्टर — वहाँ से पता बस के द्वारा स्मृति तक पहुँचता है ।