Visual walkthrough — Classic 5-stage pipeline (IF - ID - EX - MEM - WB)
5.2.3 · D2· Hardware › Processor Datapath & Pipelining › Classic 5-stage pipeline (IF - ID - EX - MEM - WB)
Hum poore walkthrough mein teen simple symbols use karenge. Inhe pehle naam lete hain, kisi bhi picture se pehle, taaki koi bhi cheez kabhi surprise na kare:
Neeche sab kuch ticks count karna hai aur se multiply karna hai. Bas yahi poora derivation hai.
Step 1 — Ek instruction jobs ki ek chain hai
KYA. Ek single instruction lo. Yeh ek indivisible blob mein nahi ho sakta — yeh actually chhote jobs ka ek sequence hai jo order mein hone chahiye: usse fetch karo, phir decode karo, phir compute karo, phir memory touch karo, phir answer write back karo.
KYUN. Har job ko pichle job ka output chahiye. Tum ek instruction ko decode nahi kar sakte jo tumne fetch nahi ki; tum woh numbers add nahi kar sakte jo tumne read nahi kiye. Yeh forced order hi hai jo ek line (assembly line) ko natural shape banata hai — dekho Register File read in ID jo ALU Design in EX ko feed karta hai.
PICTURE. Neeche, ek instruction boxes se left-to-right flow karti hai. Har box ek job hai; arrows hain "result aage do."

Step 2 — Non-pipelined machine: koi overlap allowed nahi
KYA. Ab instructions ek aisi machine par run karo jo unhe overlap karne se mana karti hai: instruction 2 box 1 mein tab tak start nahi ho sakti jab tak instruction 1 box se poori tarah nahi nikal jaati.
KYUN. Yeh hamaara baseline hai — woh cheez jise pipelining ko beat karna hai. Agar hum nahi jaante ki "slow" kaisa dikhta hai, toh "fast" ka koi matlab nahi.
PICTURE. Har instruction puri line akele occupy karti hai, phir agla shuru hota hai. Bade white gaps notice karo: jab instruction 1 "compute" mein hai, "fetch" box idle baitha hai.

Step 3 — Unhe overlap karo: har tick ek nayi instruction
KYA. Wohi boxes rakho, lekin jis moment instruction 1 box 1 (fetch) chhod deti hai, instruction 2 ko box 1 mein enter karne do. Har tick, sab ek box right shift karte hain, aur ek fresh instruction left se slide karti hai.
KYUN. Step 2 mein woh idle boxes wasted hardware the. Overlapping unhe fill kar deta hai: full speed par saare boxes ek saath alag-alag instructions par busy hain. Yeh assembly line hai. Woh chhoti trays jo har instruction ki half-done state ko boxes ke beech hold karti hain woh pipeline registers hain (IF/ID, ID/EX, …).
PICTURE. Yeh classic staircase diagram hai. Ek column (ek tick) padho saare boxes ko busy dekhne ke liye; ek row (ek instruction) padho uski 5-box journey dekhne ke liye.

Step 4 — Ticks count karna: "fill" phir "one-per-tick"
KYA. Count karo ki poora staircase kitne ticks leta hai. Do phases:
- Fill: pehli instruction ko abhi bhi apne poore ticks chahiye far right tak pahunchne aur finish karne ke liye. Pehla result tick par aata hai.
- Steady state: us pehle result ke baad, ek aur instruction right end se har single tick pop out karti hai. instructions baaki hain finish hone ke liye.
KYUN. Hum literally staircase figure padh rahe hain. Pehla finish delayed hai (pipe ko fill hona hai); uske baad har finish ek tick apart hai kyunki poori line ek saath aage badhti hai.
PICTURE. Wahi staircase, ab annotated: orange bracket fill ticks mark karta hai, magenta bracket one-per-tick finishes mark karta hai.

Step 5 — Do times divide karo: speedup formula appear hoti hai
KYA. Baseline (Step 2) ko overlapped time (Step 4) se divide karo. Speedup = "kitni baar faster."
KYUN. "Factor of se faster" ka matlab hai purana-time divided by naya-time. Isse zyada kuch nahi.
PICTURE. Do bars, same instructions: lamba bar short bar ke upar; unki lengths ka ratio speedup hai.

Step 6 — Limit: yeh par kyun cap hoti hai (large )
KYA. ko enormous push karo (millions of instructions). Dekho fraction kaise settle hota hai.
KYUN. Real programs billions of instructions run karte hain, isliye large- behaviour wahi hai jo matter karta hai. Hum upar aur neeche se divide karte hain dekhne ke liye kya bachta hai.
- aur — "fill cost" instructions par spread hoti hai; jaise badhta hai woh tak shrink ho jaate hain.
- Jo bachta hai — sirf . Pipeline zyada se zyada times faster ho sakti hai, kyunki best case mein instructions overlap karte hain.
PICTURE. Speedup versus ka ek curve: yeh climb karta hai aur dashed line ki taraf flatten ho jaata hai, kabhi cross nahi karta.

Step 7 — Edge & degenerate cases (woh corners jinpar tum trip nahi kar sakte)
Har corner ke liye KYA / KYUN / PICTURE, taaki koi scenario surprise na kare:
Annotated figure mein teeno corners side by side dikhaye gaye hain.

Ek-picture summary
Upar ki sab cheez ek single diagram mein collapse hoti hai: staircase (overlap), do brackets ( fill, steady), do comparison bars, aur ratio jo speedup hai — limit corner mein pinned hai.

Recall Feynman retelling — poora walkthrough simple words mein
Ek instruction actually paanch chhote jobs hain jo row mein hote hain, isliye akele yeh 5 ticks leti hai (Step 1). Agar tum har instruction ko poori tarah finish hone do next shuru karne se pehle, toh 1000 run karne mein ticks lagte hain — aur zyaadatar boxes poore time idle baithte hain (Step 2). Toh iska badla, jis instant pehla box free ho, tum ek nayi instruction slide in karo: ab paanchon boxes ek saath paanch alag instructions par kaam karte hain (Step 3). Ticks count karo: pehla result 5 ticks wait karta hai pipe fill hone ke liye, phir ek result har tick nikalta hai baaki 999 ke liye (Step 4). Slow time ko fast time se divide karo aur tick-length cancel ho jaati hai, bach jaata hai (Step 5). Bade programs ke liye woh fraction ki taraf climb karta hai lekin kabhi pass nahi karta, kyunki best case mein sirf instructions overlap karte hain (Step 6). Aur corners mein — ek instruction, ek stage, ya uneven boxes — gain khatam ho jaata hai ya shrink ho jaata hai, jo exactly wahi hai jo formula predict karta hai (Step 7).