5.2.4 · D1 · HinglishProcessor Datapath & Pipelining

FoundationsPipeline registers and control signals

2,200 words10 min read↑ Read in English

5.2.4 · D1 · Hardware › Processor Datapath & Pipelining › Pipeline registers aur control signals

Pipeline registers samajhne se pehle, tumhe parent note ke har word ka matlab pata hona chahiye. Neeche, har symbol bilkul zero se banaaya gaya hai: seedha matlab → picture → kyun topic ko yeh chahiye. Upar se neeche padho; har ek woh zameen hai jis par agla khada hai.


1. Ek "signal" — ek wire jo ya toh high hai ya low

Pehle figure ke top par dekho: ek single wire seedhi line ki tarah draw ki gayi hai, jis par uski value ya likhi hai. Kyun yeh chahiye: parent note RegWrite, MemRead, wagerah ki baat karta hai — unme se har ek aisi ek wire hai. Agar tum ek bit hold karne wali wire picture nahi kar sakte, toh "control signal" sirf ek lafz hai.


2. Ek "bit" aur ek "bus" — ek wire vs. wires ki ek ribbon

Figure ki doosri row mein, ek patli line ek bit hai; 32 lines ki ek moti ribbon ek 32-bit bus hai. Kyun yeh chahiye: parent likhta hai "ALU result = 32 bits", "dest reg # = 5 bits". Har number us width ki ek bus hai. Jab hum baad mein ek register ki size ke liye widths add karte hain, toh hum literally wires ginn rahe hote hain.


3. Combinational logic — bina memory ka ek function

Ek machine picture karo jis mein left pe input wires hain aur right pe output wires, aur andar bas gates ka ek tangle — koi clock nahi, koi storage nahi. Single-cycle datapath ka ALU, adders, multiplexers — sab is tarah ke blocks hain.


4. Clock — woh drumbeat jo sab kuch aage badhata hai

Figure mein, clock ko ek square wave ki tarah draw kiya gaya hai — flat low, jump up, flat high, jump down — rising edges amber arrows se mark kiye gaye hain. Pipeline ka har stage rising edges ke beech exactly ek cycle kaam karta hai.

Kyun yeh chahiye: "clock edge par latch karo" woh sentence hai jis par yeh poora topic tika hai. Bina yeh jaane ki edge kya hoti hai, "edge-triggered register" khokha hai.

Recall Kyun ek steady drumbeat aur "jab ready ho" nahi?

Kyunki 5 stages ko lockstep mein hand off karna hota hai — ek tray sirf tab move hoti hai jab sab ne apna cycle ka slice finish kar liya ho. Ek shared clock guarantee karta hai ki sab ek saath step karte hain. Dekho Clocking and edge-triggered flip-flops.


5. Ek register — memory wali deewar (edge-triggered flip-flop)

Figure 2 ka right side ek register ko ek box ki tarah dikhata hai: left par ek input bus , right par ek output bus , aur clock line par ek chota triangle jiska matlab hai "edge-triggered". Har amber edge par, par jo bhi hai woh par snapshot ho jaata hai aur hold ho jaata hai.


6. Paanch stages — paanch workers

Figure 3 inhe paanch boxes left-to-right ke roop mein draw karta hai, har pair ke beech ek register wall ke saath. Walls gino: IF–ID, ID–EX, EX–MEM, MEM–WB ke beech — yeh chaar walls hain, jo IF/ID, ID/EX, EX/MEM, MEM/WB naamon wale chaar registers dete hain. WB ke baad koi wall nahi, kyunki WB register file mein likhta hai jo already memory hai.

Kyun yeh chahiye: har register uss ke naam se jaana jaata hai jis do stages ke beech woh baitha hai. Agar stages fuzzy hain, toh IF/ID aur EX/MEM ke naam sirf shor hain.


7. Opcode — instruction ka ID badge

32-bit instruction bus ko labelled fields mein split karo — opcode, register numbers, immediate. Kyun yeh chahiye: opcode sirf ID mein visible hota hai. Yeh akela fact force karta hai ki har control signal ID mein paida ho, jo ki yahi core reason hai ki signals ko phir travel karna padta hai.


8. Register file aur register number (5 bits)

Kyun yeh chahiye: parent stress karta hai ki destination register number (5 bits) ID/EX → EX/MEM → MEM/WB ke saath ride karna chahiye, warna WB galat register mein likhega. Woh "5" ka answer hai.


9. Control signals — sticky notes

Parent inhe teen bundles mein group karta hai is hisaab se ki kaunsa stage unhe use karta hai:

Bundle Signals Use hota hai Width
EX ALUSrc, ALUOp, RegDst EX
MEM MemRead, MemWrite, Branch MEM
WB RegWrite, MemtoReg WB

Kyun yeh chahiye: control signals ID mein paida hote hain par baad mein consume hote hain, toh inhe pipeline registers ke andar store kiya jaana chahiye aur aage carry kiya jaana chahiye, har stage par apna bundle drop karte hue. Yahi parent ka central mechanism hai — dekho Control unit design.


10. Widths jodhna — kyun ek register exactly utna hi wide hota hai jitna uska cargo

Kyun yeh chahiye: yeh bas wires ginna hai (Section 2) har cargo item ke across. Addition hi ek tool hai kyunki wires ki bus ke baad wires ki bus wires ki bus hai — kuch aur subtle nahi ho raha.


Yeh foundations topic ko kaise feed karte hain

signal one wire 0 or 1

bit and bus

combinational logic no memory

clock and rising edge

register edge triggered memory

five stages IF ID EX MEM WB

four pipeline registers

opcode visible only in ID

control signals born in ID

register file and 5 bit reg number

dest number must travel

Pipeline registers and control signals

sum widths equals cargo


Equipment checklist

Self-test: right side cover karo aur reveal karne se pehle har ek ka jawab do.

Ek single signal wire par sirf do values kya ho sakti hain?
(low) aur (high).
Ek 32-bit bus mein kitni wires hoti hain?
32 parallel wires, jo ek 32-bit number carry karti hain.
ka kya matlab hai?
MEM control bundle 3 wires (bits) wide hai.
Combinational logic cycles ke beech value hold kyun nahi kar sakta?
Uski koi memory nahi hai — uska output sirf abhi present inputs par depend karta hai.
Rising clock edge par ek register ke saath exactly kya hota hai?
Yeh apna input apne output par copy karta hai aur phir agle edge tak use frozen hold karta hai.
Paanch stages order mein bolo.
IF, ID, EX, MEM, WB.
Chaar pipeline registers kyun hain, paanch kyun nahi?
Paanch stages ke beech sirf chaar walls hain; WB ke baad register file already storage provide karti hai.
Opcode kaunse stage mein visible hai, aur yeh kyun matter karta hai?
Sirf ID mein — toh sab control signals waheen generate hone chahiye aur phir aage transport kiye jaane chahiye.
Register number exactly 5 bits kyun hota hai?
Kyunki aur address karne ke liye 32 registers hain.
Pipeline register ki width kaise compute karte hain?
Har us field ki wire-count add karo jo baad wale stage ko abhi bhi chahiye — kuch zyada nahi, kuch kam nahi.

Connections