YEH KYA HOTE HAIN: edge-triggered registers jo 5 classic stages ke beech rakhe jaate hain. Unhe do stages ke naam par rakha jaata hai jinke beech woh hote hain:
Register
Stages ke beech
Carry karta hai (data)
IF/ID
Fetch → Decode
instruction word, PC+4
ID/EX
Decode → Execute
reg values, sign-ext imm, PC+4, dest reg #
EX/MEM
Execute → Memory
ALU result, branch target, store data, dest reg #
MEM/WB
Memory → Write-back
memory data, ALU result, dest reg #
Note: WB ke baad koi register nahi hota — result register file mein likha jaata hai, jo khud hi stateful storage hai.
Ek sandwich shop ki imagine karo jisme 5 workers ek line mein khade hain: ek bread leta hai, ek cheese lagata hai, ek grill karta hai, ek wrap karta hai, ek hand over karta hai. Har worker ke beech ek chhoti si tray hai. Jab ek worker finish karta hai, woh adha-bana sandwich aur ek sticky note jo batata hai aage kya karna hai tray par rakh deta hai. Agla worker tray uthata hai, note padhta hai, aur apna kaam karta hai. Yeh trays pipeline registers hain, aur sticky notes control signals hain. Is tarah 5 sandwiches ek saath ban rahe hote hain, aur koi nahi bhoolta kya karna hai — kyunki instructions sandwich ke saath travel karti hain!
Chaar (IF/ID, ID/EX, EX/MEM, MEM/WB). WB ke baad koi register nahi kyunki WB register file mein likhta hai, jo already stateful storage hai.
Saare control signals kaunsi stage mein generate hote hain?
ID (Decode) mein, kyunki yahi woh akeli stage hai jo opcode dekhti hai.
Control signals pipeline registers ke andar kyun travel karte hain?
Kyunki RegWrite jaise signals stages baad mein use hote hain (WB), lekin opcode se sirf ID mein decode ho sakte hain; unhe aage transport karna padta hai.
Control signals ko kaun se teen bundles mein group kiya jaata hai?
EX bundle (ALUSrc, ALUOp, RegDst), MEM bundle (MemRead, MemWrite, Branch), WB bundle (RegWrite, MemtoReg).
Destination register number pipeline registers ke through kyun travel karta hai?
Kyunki WB tak instruction word chala gaya hota hai; 5-bit dest # carry kiye bina, WB galat register mein likhega.
ID/EX kya carry karta hai jo EX/MEM mein ab nahi hota?
EX control bundle (ALUSrc, ALUOp, RegDst) — woh EX mein consume hota hai aur baad mein drop ho jaata hai.
Kaunsa pipeline register ALU result aur store data carry karta hai?
EX/MEM.
PC+4 ko IF/ID ke aage kyun carry kiya jaata hai?
Kyunki branch target (PC+4 + imm<<2) baad mein EX mein compute hota hai, toh PC+4 ko us stage tak survive karna zaroori hai.
Ek control bundle ko uski stage consume karne ke baad kya hota hai?
Woh drop ho jaata hai aur agले pipeline register mein latch nahi hota (control ke liye har register pehle wale se narrow hota hai).