संगणक · संगणकाची मूलतत्त्वे · विषय 1 / 16
संगणकाची रचना आणि CPU
Computer Organization and the CPU
असं समजा…
किराणा दुकानदार आणि सामानाची चिठ्ठी
कोल्हापूरच्या एका गल्लीत रमेशचं किराणा दुकान आहे. एक गिऱ्हाईक त्याच्या हातात चिठ्ठी ठेवतं: "1 kg साखर, 2 पुडे Parle-G, 500 g तूरडाळ". पुढे जी ओळ करायची आहे, त्या ओळीवर रमेश बोट ठेवतो. ती ओळ तो वाचतो (fetch), तिचा अर्थ समजून घेतो — कोणत्या फळीवरचं, किती (decode) — मग माल तोलतो आणि त्याची किंमत आपल्या छोट्या पाटीवरच्या चालू बेरजेत मिळवतो (execute). बोट पुढच्या ओळीवर सरकतं आणि चिठ्ठी संपेपर्यंत हेच चक्र चालू राहतं. ती चिठ्ठी म्हणजे मेमरीत ठेवलेला program; त्याचं बोट म्हणजे Program Counter; प्रत्येक ओळ समजून घेऊन हातांना काय करायचं ते सांगणारा त्याचा मेंदू म्हणजे Control Unit; कॅल्क्युलेटर म्हणजे ALU; आणि चालू बेरीज धरून ठेवणारी पाटी म्हणजे एक register (accumulator). लक्षात घ्या — त्याचा मेंदू स्वतः काहीच तोलत नाही, बेरीजही करत नाही; तो फक्त हुकूम देतो. Control Unit नेमकं हेच करतो.
| रोजच्या जीवनात | परीक्षेच्या विषयात |
|---|---|
| गिऱ्हाइकाची चिठ्ठी (क्रमाने लिहिलेले सामान) | मुख्य मेमरीत साठवलेला program |
| पुढे करायच्या ओळीवर ठेवलेलं बोट | Program Counter (PC) |
| आत्ता वाचत असलेली ओळ | Instruction Register (IR) |
| मेंदू: ओळ समजून घेतो, हातांना हुकूम देतो | Control Unit — decode करून control signals पाठवतो |
| कॅल्क्युलेटर + चालू बेरजेची पाटी | ALU + accumulator register |
संकल्पना
जवळजवळ प्रत्येक संगणक (computer) von Neumann (stored-program) प्रारूप पाळतो: program आणि त्याचा data दोन्ही एकत्र मुख्य स्मृतीत (main memory) असतात आणि CPU एका वेळी एक instruction आणतो. संगणकात पाच कार्यात्मक घटक असतात — input, मेमरी, ALU, control unit, output. CPU म्हणजे ALU + control unit + registers, एकाच chip वर.
ALU (अंकगणित व तर्क एकक — Arithmetic Logic Unit) अंकगणित (+, −) आणि तार्किक क्रिया (AND, OR, NOT, तुलना) करतो. Control Unit (नियंत्रण एकक) कोणत्याही data वर स्वतः प्रक्रिया करत नाही: तो प्रत्येक instruction decode करतो आणि clock च्या तालावर इतर सर्व घटकांना control signals (memory read, memory write, ALU ने कोणती क्रिया करायची) पाठवतो. Registers म्हणजे CPU च्या आतली अगदी छोटी, सर्वांत वेगवान साठवण जागा: PC, IR, MAR, MDR (यालाच MBR म्हणतात), accumulator आणि flag (status) register.
CPU instruction cycle सतत पुन्हा पुन्हा चालवतो: fetch (MAR ← PC; MDR ← M[MAR]; IR ← MDR; PC ← PC + 1), decode (CU opcode वाचतो), execute (ALU, मेमरी किंवा I/O क्रिया; flags अद्ययावत होतात). त्यानंतर interrupt आला आहे का ते तपासतो आणि पुन्हा सुरुवात करतो. वेग clock ठरवतो: 2 GHz clock म्हणजे दर सेकंदाला 2 × 10⁹ cycles, म्हणून एक cycle 0.5 ns चा असतो.
महत्त्वाचे मुद्दे व सूत्रे
- CPU = ALU + Control Unit + registers; CU हुकूम देतो, ALU हिशोब करतो
- PC: पुढच्या instruction चा address; IR: आत्ता execute होत असलेली instruction
- MAR: मेमरीकडे पाठवलेला address; MDR/MBR: मेमरीकडून येणारा किंवा मेमरीकडे जाणारा data
- Accumulator मध्ये ALU चे निकाल राहतात; flag register मध्ये Zero, Sign, Carry, Overflow bits असतात
- Fetch: MAR ← PC → MDR ← M[MAR] → IR ← MDR, PC ← PC + 1
- Clock period = 1 ÷ frequency; instruction ला लागणारा वेळ = cycles × period
- Von Neumann: program आणि data साठी एकच मेमरी (“von Neumann bottleneck”); Harvard: instructions आणि data साठी वेगवेगळ्या मेमरी
- Control unit ची रचना: hardwired (वेगवान, ठरलेले logic) किंवा microprogrammed (control memory, बदल करणे सोपे)
सोडवलेले उदाहरण
मेमरीत address 100–102 वर हा program आहे: LOAD 500, ADD 501, STORE 502. M[500] = 7 आणि M[501] = 5. PC 100 पासून सुरू होतो. registers चा मागोवा घ्या. शेवटी M[502] आणि PC किती?
उकल पाहा
- Fetch 1: MAR ← 100, IR ←
LOAD 500, PC ← 101. Execute: AC ← M[500] = 7. - Fetch 2: MAR ← 101, IR ←
ADD 501, PC ← 102. Execute: ALU बेरीज करतो, AC ← 7 + M[501] = 12. - Fetch 3: MAR ← 102, IR ←
STORE 502, PC ← 103. Execute: M[502] ← AC = 12. - प्रत्येक fetch च्या वेळी PC एकने वाढतो, म्हणून तीन instructions नंतर तो 103 कडे निर्देश करतो.
उत्तर: M[502] = 12, PC = 103
परीक्षेसाठी झटपट युक्ती
“कोणता register” असा प्रश्न आला की स्वतःला विचारा: यात address आहे की content? Address PC आणि MAR मध्ये राहतात; content IR, MDR आणि accumulator मध्ये. Clock च्या प्रश्नांसाठी, ns मधील period = 1 ÷ (GHz ची किंमत): 2.5 GHz → 0.4 ns.
नेहमीच्या चुका
- PC मध्ये चालू instruction चा नव्हे, तर पुढच्या instruction चा address असतो (fetch च्या वेळीच तो वाढवला जातो).
- Control Unit कोणताही हिशोब करत नाही; a < b सारखी तुलनासुद्धा ALU च करतो.
सराव · प्रश्न परीक्षेप्रमाणे इंग्रजीत, खाली मराठी अर्थ · उत्तर तपासण्यासाठी पर्याय निवडा
Q1. Which register holds the address of the next instruction to be fetched?
पुढे fetch होणाऱ्या instruction चा address कोणत्या register मध्ये असतो?
उत्तर: B. PC नेहमी पुढच्या instruction कडे निर्देश करतो; IR मध्ये सध्या execute होत असलेली instruction असते.
Q2. Which sequence correctly describes the fetch phase of the instruction cycle?
Instruction cycle मधील fetch टप्प्याचे अचूक वर्णन कोणता क्रम करतो?
उत्तर: D. Address PC → MAR जातो, मेमरी तो word MDR मध्ये देते, तो IR मध्ये copy होतो आणि PC एकने वाढतो.
Q3. Which unit of the CPU interprets instructions and generates timing and control signals, but does not itself process data?
CPU चा कोणता घटक instructions चा अर्थ लावतो आणि timing व control signals निर्माण करतो, पण स्वतः data वर प्रक्रिया करत नाही?
उत्तर: A. CU decode करतो आणि दिशा देतो; data वरची सगळी प्रक्रिया ALU करतो.
Q4. A processor runs at 2.5 GHz. An instruction needs 5 clock cycles. How long does the instruction take?
एक processor 2.5 GHz वर चालतो. एका instruction ला 5 clock cycles लागतात. त्या instruction ला किती वेळ लागेल?
उत्तर: C. Clock period = 1 ÷ 2.5 GHz = 0.4 ns. वेळ = 5 × 0.4 ns = 2 ns.