📘 CodingMarble Learn

प्रोसेसर के अंदर: रजिस्टर, फ़ेच-एक्ज़िक्यूट चक्र, पता-विधान और इंटरप्ट

प्रोसेसर में ALU, नियंत्रण इकाई (CU), घड़ी और रजिस्टर (PC, MAR, MDR, CIR, संचायक ACC, स्टेटस रजिस्टर) होते हैं, जो पता बस, डेटा बस और नियंत्रण बस से मुख्य मेमोरी से जुड़े हैं। हर निर्देश फ़ेच होता है (MAR ← [PC]; MDR ← [मेमोरी], PC ← [PC] + 1; CIR ← [MDR]), opcode और operand में डिकोड होता है, फिर एक्ज़िक्यूट। ऑपरेंड तात्कालिक (ख़ुद मान) या प्रत्यक्ष (मेमोरी पता) हो सकता है। असेंबली में LDR, STR, ADD, SUB, CMP, B, BEQ जैसे संक्षेप हैं। प्रदर्शन कोर, कैश, घड़ी गति, शब्द लंबाई और बस चौड़ाई पर निर्भर है। इंटरप्ट में प्रोसेसर अस्थिर वातावरण स्टैक पर सहेजकर ISR चलाता है और फिर लौटता है।

🎬 कदम-दर-कदम कहानी

  1. ये प्रोसेसर के भाग हैं: ALU गणना करता है, CU आदेश देता है, घड़ी टिक करती है, और रजिस्टर छोटा डेटा रखते हैं। बसें पते और डेटा ले जाती हैं।
  2. फ़ेच: PC का पता MAR में जाता है। निर्देश मेमोरी से MDR में आता है, फिर CIR में। PC एक बढ़ जाता है।
  3. डिकोड और एक्ज़िक्यूट: CU निर्देश को opcode और operand में बाँटता है। प्रत्यक्ष पता-विधान में ऑपरेंड एक पता है। तात्कालिक में वह ख़ुद मान है।
  4. अब एक छोटा असेंबली प्रोग्राम चलता है। 7 लोड करो, 3 जोड़ो, 10 सेव करो, रुको। संचायक को बदलते देखिए।
  5. एक इंटरप्ट आता है। प्रोसेसर निर्देश पूरा करता है, PC और रजिस्टर स्टैक पर रखता है, एक ख़ास रूटीन चलाता है, फिर सब वापस लेकर आगे बढ़ता है।
  6. खुद खेलिए: प्रोग्राम ख़ुद चरण-दर-चरण चलाइए, पता-विधान बदलिए और इंटरप्ट भेजिए।

टिप: 3D दृश्य को घुमाने के लिए खींचें। ज़ूम के लिए दो उंगलियाँ इस्तेमाल करें।

🤔 आम शंकाएँ और उनके जवाब

RAM है तो रजिस्टर क्यों चाहिए?

रजिस्टर CPU के अंदर हैं और बहुत तेज़ हैं; CPU रजिस्टर के मानों पर काम करता है और बाकी सब के लिए RAM।

निर्देश चलने से पहले PC क्यों बढ़ता है?

ताकि वह पहले से अगले निर्देश को दिखाए; ब्रांच बस PC को बदल देती है।

CPU को कैसे पता कि ऑपरेंड मान है या पता?

पता-विधान opcode के बिट में होता है; CU डिकोड करते समय इसे पढ़ती है।

परिणाम सेव करते समय MDR क्यों?

मेमोरी से आना-जाना हमेशा MDR से होता है, और पता MAR में रहता है।

स्थिति सहेजने के लिए स्टैक ही क्यों?

स्टैक 'आख़िर में आया, पहले गया' है, इसलिए एक के अंदर दूसरे इंटरप्ट सही क्रम में लौटते हैं।

ADD को प्रत्यक्ष विधान में बदलूँ तो क्या होगा?

तब ADD 3 के बजाय मेमोरी[10] लाता है। खुद खेलिए में आज़माकर ACC की तुलना कीजिए।

प्रोसेसर और उसके भाग

फ़ेच–डिकोड–एक्ज़िक्यूट चक्र

रजिस्टर ट्रांसफ़र नोटेशन में ([ ] = 'की सामग्री'):

  1. MAR ← [PC]: अगले निर्देश का पता MAR में।
  2. PC ← [PC] + 1: PC अब उसके बाद वाले निर्देश को दिखाता है।
  3. MDR ← [मेमोरी]पते पर: निर्देश डेटा बस से MDR में।
  4. CIR ← [MDR]: निर्देश CIR में।
  5. डिकोड: CU उसे opcode (क्या करना) और operand (किस पर करना) में बाँटती है।
  6. एक्ज़िक्यूट: जैसे ACC में मान लोड करना, ALU से गणना, परिणाम सेव करना, या ब्रांच के लिए PC बदलना।
  7. इंटरप्ट जाँचो, फिर दोहराओ।

निर्देश समुच्चय और पता-विधान

निर्देश समुच्चय (instruction set) किसी प्रोसेसर द्वारा चलाए जा सकने वाले सभी मशीनी निर्देशों की सूची है; हर प्रोसेसर परिवार का अपना होता है। मशीन कोड निर्देश में opcode (मूल क्रिया और पता-विधान) और एक या ज़्यादा operand होते हैं।

उदाहरण: पता 10 पर 7 हो, तो ADD #10 10 जोड़ता है, पर ADD 10 7 जोड़ता है।

असेंबली भाषा की क्रियाएँ

असेंबली भाषा छोटे स्मरक (mnemonics) इस्तेमाल करती है, जो मशीन कोड से एक-एक मिलते हैं। आम क्रियाएँ:

चयन और लूप CMP और शर्ती ब्रांच से लेबल पर कूदकर लिखे जाते हैं।

प्रोसेसर के प्रदर्शन को प्रभावित करने वाले कारक

इंटरप्ट और अस्थिर वातावरण सहेजना

इंटरप्ट प्रोसेसर को संकेत है कि किसी चीज़ पर ध्यान चाहिए: की दबाना, टाइमर, प्रिंटर में काग़ज़ ख़त्म, हार्डवेयर ख़राबी या सॉफ़्टवेयर त्रुटि।

  1. प्रोसेसर चालू फ़ेच-एक्ज़िक्यूट चक्र पूरा करता है, फिर इंटरप्ट जाँचता है।
  2. अगर कोई इंटरप्ट प्रतीक्षा में है और उसकी प्राथमिकता चालू काम से ऊँची है, तो अस्थिर वातावरण (PC, रजिस्टर, स्टेटस फ़्लैग) स्टैक पर push होता है।
  3. PC में सही इंटरप्ट सर्विस रूटीन (ISR) का पता डाला जाता है, अक्सर इंटरप्ट वेक्टर तालिका से।
  4. ISR चलता है (ऊँची प्राथमिकता वाला इंटरप्ट इसे भी रोक सकता है)।
  5. सहेजे मान स्टैक से pop होकर वापस आते हैं और प्रोग्राम ठीक वहीं से आगे चलता है।

मुख्य सूत्र और परिभाषाएँ

हल किए गए उदाहरण

1. फ़ेच चरण में हर रजिस्टर में क्या होता है, बताइए।

PC में अगले निर्देश का पता है; वह MAR में कॉपी होता है। उस पते का निर्देश डेटा बस से MDR में आता है और PC बढ़ता है। फिर निर्देश MDR से CIR में जाता है, डिकोड के लिए तैयार।

2. पता 20 पर 5 है और ACC में 2। (a) ADD #20 (b) ADD 20 के बाद ACC?

(a) तात्कालिक: 2 + 20 = 22। (b) प्रत्यक्ष: 2 + मेमोरी[20] = 2 + 5 = 7।

3. 24-बिट पता बस कितने मेमोरी स्थान पता कर सकती है?

2²⁴ = 1,67,77,216 स्थान (16 Mi)।

4. ट्रेस कीजिए: MOV R0, #4 / ADD R0, R0, #6 / CMP R0, #10 / BEQ done / MOV R0, #0 / done: HALT।

R0 = 4, फिर 10। CMP से ज़ीरो फ़्लैग सेट (R0 = 10)। BEQ done पर कूदता है, MOV R0, #0 छूट जाता है। अंत में R0 = 10।

5. इंटरप्ट पर अस्थिर वातावरण क्यों सहेजना ज़रूरी है?

ISR वही रजिस्टर इस्तेमाल करेगा और PC बदलेगा। PC, रजिस्टर और फ़्लैग सहेजे बिना मूल प्रोग्राम सही जगह से सही मानों के साथ नहीं लौट पाएगा।

6. कोर दोगुने करने से प्रोग्राम दोगुना तेज़ क्यों नहीं होता?

सिर्फ़ समानांतर चल सकने वाले हिस्सों को फ़ायदा होता है; बाकी एक कोर पर चलता है। कोर कैश और मेमोरी बैंडविड्थ भी बाँटते हैं और तालमेल में समय लगता है।

आम गलतियाँ

अभ्यास क्विज़

1. अगले निर्देश का पता कौन-सा रजिस्टर रखता है?
2. कौन-सी बस CPU से मेमोरी की ओर एक-तरफ़ा है?
3. ADD #5 में पता-विधान है:
4. इंटरप्ट में अस्थिर वातावरण कहाँ सहेजा जाता है?
5. कौन-सा प्रोसेसर प्रदर्शन सीधे नहीं बढ़ाता?

अभ्यास: खुद जवाब दो

अपना जवाब लिखो या चुनो, फिर जाँचें दबाओ। अटको तो संकेत देखो; जवाब देने के बाद पूरा हल दिखेगा।

अक्सर पूछे जाने वाले प्रश्न

CPU के मुख्य रजिस्टर कौन-से हैं?

PC, MAR, MDR, CIR, संचायक या सामान्य रजिस्टर, और स्टेटस रजिस्टर।

तात्कालिक और प्रत्यक्ष पता-विधान में क्या अंतर है?

तात्कालिक में ऑपरेंड ही मान है; प्रत्यक्ष में ऑपरेंड वह मेमोरी पता है जहाँ मान रखा है।

इंटरप्ट सर्विस रूटीन क्या है?

एक छोटा प्रोग्राम जो प्रोसेसर अपनी स्थिति स्टैक पर सहेजकर इंटरप्ट संभालने के लिए चलाता है।

यह कहाँ पढ़ाया जाता है

इंग्लैंडYear 124.7 Computer organisation and architecture
इंग्लैंडYear 134.6-4.7 Computer systems and architecture (A-level)

पहले यह पढ़ें

आगे पढ़ें

इससे जुड़े पाठ

सभी कंप्यूटर विज्ञान पाठ