CPU मे रजिस्टर क्या होते हैं और उनके प्रकार और इस्तेमाल की पूरी जानकारी

CPU मे रजिस्टर क्या होते हैं और उनके प्रकार और इस्तेमाल की पूरी जानकारी

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

रजिस्टर को निम्न तरीके से वर्गीकृत किया गया हैं।
1- General Purpose Register
2- Accumulator
3- Special Purpose Registers
   3.1 Program Counter
   3.2 Stack Pointer
   3.3 Status Register
   3.4 Instruction Register
  3.5 Index Register
  3.6 Memory Address Register (MAR)
  3.7 Memory Buffer Register (MBR) or Data Register

जरूरी नहीं हैं की सभी कम्प्युटर के प्रॉसेसर ये सभी रजिस्टर का इस्तेमाल करते हो। लेकिन जो ताकतवर प्रॉसेसर होंगे उनमे ये सभी स्पेशल रजिस्टर जरूर होंगे।

प्रोग्राम काउंटर रजिस्टर

किसी एक प्रोग्राम मे कई इन्सट्रक्शन होते हैं। सीपीयू इन इन्सट्रक्शन को एक-एक करके execute करता हैं। किसी इन्सट्रक्शन के सफलता पूर्वक execute होने के बाद cpu अगले instruction को प्रोसैस के लिए बुलाता हैं। यही पर प्रोग्राम काउंटर का इस्तेमाल होता हैं, प्रोग्राम काउंटर CPU को बताता हैं की अगला इन्सट्रक्शन जिसे रन होना हैं वो रैम मे किस स्थान पर हैं, उस स्थान का एड्रैस cpu को बताता हैं। जैसे ही CPU प्रोग्राम काउंटर के बताए एड्रैस से जानकारी को लेकर सीपीयू मे लता हैं वैसे ही प्रोग्राम काउंटर मे स्टोर पुराने एड्रैस मे increment होता हैं और अगले execute होने वाले instruction के एड्रैस को रख लेता हैं।

See also  कम्प्युटर क्या हैं ? (What is Computer?)

साधारण शब्दो मे प्रोग्राम काउंटर सीपीयू का एक पर्सनल असिस्टेंट हैं जो CPU को उन instruction के memory एड्रैस की जानकारी देता हैं, जिनहे आगे CPU मे भेजा जाना हैं। प्रोग्राम काउंटर next execute होने वाले instruction का एड्रैस स्टोर करता हैं।

Stack Pointer

Stack पोइंटर भी address को ही स्टोर करता हैं। कई बार सीपीयू मे डाटा का प्रोसैस करने के दौरान पुराने डाटा को कही पर होल्ड करने की आवश्यकता महसूस होती हैं, पर सीपीयू मे इतना स्टोरेज नहीं होता हैं की वो ऐसी डाटा सेट को स्टोर करे जो अभी इस्तेमाल नहीं हो रहे हैं, लेकिन कुछ देर बाद इस्तेमाल होंगे। या फिर लास्ट प्रोग्राम जो सीपीयू मे execute हुआ हैं, उसे मेमोरी मे भेजा जाएगा। मेमोरी मे उन्हे कहाँ रखा गया हैं उस लोकेशन की base एड्रैस को stack पोइंटर मे स्टोर किया जाता हैं।

इसको उदाहरण से समझने के लिए मान लेते हैं की आप रोज रात को डायरी लिखते हैं, आज जब आप डायरी लिखने बैठेंगे तो डायरी को वही से खोलेने जहां तक कल आपने लिखा हुआ था। अब आपको पेज नंबर याद होगा की किस पेज नंबर मे आप कल लिख रहे थे।

आप सीधे वही पेज नंबर खोलेंगे और नई जानकारी डायरी मे लिखना चालू कर देंगे। तो इस उदाहरण मे पेज नंबर को एड्रैस मान लेते हैं, डायरी को RAM मान लेते हैं, और आपके दिमाग का वह हिस्सा जिसने पेज नंबर याद किया हुआ था, उसे सीपीयू मे मौजूद Stack पोइंटर मान लेते हैं। आशा हैं आपको Stack Pointer समझ मे आ गया होगा।

Status Register

Status register को flag रजिस्टर भी कहते हैं। इस रजिस्टर का इस्तेमाल गणना के दौरान कुछ एक्सट्रा जानकारियों को रखने के लिए होता हैं। यह रजिस्टर तरह-तरह की जानकारियों को रखता हैं इस लिए इसने अपने रजिस्टर को flag मे तोड़ रखा हुआ हैं, हर flag अलग जानकारी को रखता हैं। किसी भी status रजिस्टर मे निम्न प्रकार के flag हो सकते हैं। ये flag इंटेल के 8085 प्रॉसेसर मे पाये जाते हैं।
1- Carry Flag – यह flag carry की जानकारी को रखता हैं, जब भी कम्प्युटर मे किसी संख्या को जोड़ा जाता हैं, और जोड़ने के बाद उसमे carry आता हैं तो उसकी जानकारी इस flag मे रखी जाती हैं।
2- Zero Flag – इस flag का इस्तेमाल arithmetic operation मे प्राप्त रिज़ल्ट से संबन्धित जानकारी को रखने के लिए किया जाता हैं, यह flag यह जनकरी स्टोर करता हैं की जोड़े या घटाए गए वैल्यू का रिज़ल्ट zero हैं या नहीं। अगर zero हैं तो यह 1 स्टोर करेगा। और अगर रिज़ल्ट non-zero हैं तो 0 स्टोर करेगा।
3- Sign Flag – इस flag का इस्तेमाल यह जानकारी रखने के लिए होता हैं की CPU के द्वारा प्रोसैस किया गया रिज़ल्ट नेगेटिवे हैं या पॉज़िटिव हैं। मान लीजिये सीपीयू ने 2 मे (-3) को जोड़ा तो रिज़ल्ट -1 आए तब sign flag 1 स्टोर करेगा जिसका मतलब हैं की रिज़ल्ट नेगेटिव(माइनस मे) हैं।
4- Parity Flag – इस फ्लाग मे यह जानकारी रखी जाती हैं की सीपीयू ने जो रिज़ल्ट जनरेट किया हैं उसमे Number of One’s कितनी बार हैं। जैसे CPU ने 3 को 4 से जोड़ा तो रिज़ल्ट 7 आया अब 7 को binary मे कन्वर्ट करो तो one even बार आया हैं या odd time आया हैं। 7 का बाइनरि 0111 यहा पर आप देख सकते हैं की number of ones 3 बार आया हैं यानि की odd time one रिज़ल्ट मे दिख रहा हैं। तब parity flag मे 0 स्टोर होगा, इसका मतलब हैं की रिज़ल्ट मे number of ones विषम बार आया हैं।
5- Auxiliary Carry – यह भी carry फ्लाग की तरह carry की जानकारी को स्टोर करता हैं पर इसका स्थान अलग होता हैं। जब भी 3 bit की वैल्यू को जोड़ा जाता हैं और उससे कोई carry 4th bit की वैल्यू मे जा रही होती हैं, तो उस कैरि को Auxiliary Carry Flag मे स्टोर करते हैं।

See also  MS DOS की सहायता से C Program को कैसे Run करे | Excute C Program using CMD

Instruction Register –

इस रजिस्टर मे execute होने वाले इन्सट्रक्शन को स्टोर किया जाता हैं। कुछ कम्प्युटर मे दो इन्सट्रक्शन रजिस्टर भी होते हैं।

Memory Address Register –

CPU का यह रजिस्टर भी एड्रैस को ही स्टोर करता हैं, यह एड्रैस किसी instruction या डाटा का हो सकता हैं। इस एड्रैस के माध्यम से ही मेमोरी से instruction या फिर data को CPU मे fetch करके लाएँगे। प्रोग्राम काउंटर मे स्टोर एड्रैस को CPU के द्वारा MAR को दिया जाता हैं, इसके बाद MAR एड्रैस के अनुसार data या instruction को fetch करके सीपीयू मे लाता हैं।

Memory Buffer Register –

इसे डाटा रजिस्टर कहते हैं इसमे कोई एड्रैस स्टोर नहीं होता हैं, बल्कि वह डाटा स्टोर होता हैं जिसे सीपीयू मे प्रोसैस के लिए भेजा जाएगा। यह रजिस्टर RAM से data bus के माध्यम से जुड़ा होता हैं। MAR के बताए एड्रैस मे अगर कोई डाटा होता हैं तो उस डाटा को MBR मे ही भेजा जाता हैं। RAM और CPU, डाटा का आदान प्रदान इसी रजिस्टर के मधायम से करते हैं।

Leave a Reply

Your email address will not be published. Required fields are marked *