5.1.1 · D2 · HinglishInstruction Set Architecture (ISA)

Visual walkthroughCISC vs RISC philosophies

2,223 words10 min read↑ Read in English

5.1.1 · D2 · Hardware › Instruction Set Architecture (ISA) › CISC vs RISC philosophies

Hum ek hi number dhundh rahe hain: ek program ko kitne seconds lagte hain? Us number ko (Time ke liye) bolte hain. End tak aap exactly dekhoge ki kaunse knobs ko upar ya neeche move karte hain.


Step 1 — Ek program asal mein hota kya hai (kaam ginno)

KYA HAI. Ek program, jab run hota hai, toh basically ek lambi list hoti hai chhoti-chhoti commands ki jinhein CPU ek-ek karke manta hai. Har command ek instruction hai. = CPU ne actually kitne instructions execute kiye, uski total count.

kyun? Kuch bhi time karne se pehle, hume kaam ginna padega. Aap "yeh trip kaafi lamba tha" tab tak nahi bol sakte jab tak aap nahi jaante kitne steps liye. hamaari step count hai.

PICTURE. Neeche, ek hi kaam A = A + B do tareekon se likha gaya hai. CISC ek chhote stack of instructions use karta hai (small ); RISC ek uncha stack use karta hai (large ). Kaam wahi hai, bas tower ki height alag hai.


Step 2 — Instructions instantly khatam nahi hote: cycle

KYA HAI. Ek CPU ki ek heartbeat hoti hai — ek clock jo tick karta hai. Ek tick ek clock cycle hai. Koi bhi instruction "zero time" mein khatam nahi hota; har ek kuch ticks khata hai.

Cycle kyun? Hume effort ki ek aisi unit chahiye jo poore instruction se chhoti ho, kyunki kuch instructions aasaan hote hain (1 tick) aur kuch bhaari (kaafi ticks). Cycle woh ruler hai jisse hum instruction-effort measure karte hain.

PICTURE. Clock ticks ki ek row. Ek simple RISC ADD 1 tick mein fit ho jaata hai. Ek rich CISC ADD [A],[B] (jo secretly load, add, aur store karta hai) kaafi ticks mein failta hai.


Step 3 — Ek tick free nahi hota: iska cost hai seconds mein

KYA HAI. Clock ka har tick ek fixed amount of real time tak rehta hai. Isse bolte hain — cycle time, seconds mein measure kiya jaata hai. 2 GHz clock ek second mein 2 billion baar tick karta hai, toh har tick nanoseconds ka hota hai.

kyun? CPI ne bataya kitne ticks. Lekin ticks seconds nahi hote jab tak hum nahi jaante ek tick kitna lamba hota hai. exchange rate hai: ticks → seconds.

PICTURE. Ek akela tick apni width nanoseconds mein dikhane ke liye stretch kiya gaya. Simple hardwired RISC control tick ko narrow rehne deta hai (short ); complex CISC control ek wider tick force karta hai (long ), kyunki zyada logic settle hona chahiye agla tick aane se pehle.


Step 4 — Teeno knobs ko multiply karke total time nikalo

KYA HAI. Ab units ko chain karo. Hamare paas hai:

Multiply kyun karte hain, aur yahi teen kyun? Dekho units kaise ek chain ki tarah cancel hote hain — yahi poora reason hai ki formula ek product hai, sum nahi:

Har factor ek conversion hai: instructions → cycles → seconds. Multiplication (addition nahi) isliye zaroori hai kyunki har stage pichle wale ko scale karta hai — instructions double karo aur cycles-each bhi double karo toh time chaar guna ho jaata hai.

PICTURE. Teen sliders , CPI, label kiye hue, jo ek box mein jaate hain jisko output milta hai. Koi bhi slider upar karo toh output bar stretch ho jaata hai.


Step 5 — CISC ki chaal: chhota karo, kahin aur price chukao

KYA HAI. CISC pehle knob par attack karta hai. Ek rich instruction jaise ADD [A],[B] chaar RISC instructions ka kaam karta hai, toh gir jaata hai.

Yeh ulta kyun pad sakta hai. Us akele instruction ko fir bhi andar load, add, aur store karna padta hai — toh uska CPI high hota hai (kaafi ticks). Aur extra decoding logic tick ko choda kar deta hai, toh bhi badhta hai. CISC ne ek slider neeche kiya aur accidentally doosre do upar dhakail diye.

PICTURE. Phir se wahi teen-slider box, CISC colors mein: slider girta hai, lekin CPI aur sliders utha jaate hain — output bar mushkil se chhota hota hai (ya bada bhi ho jaata hai).


Step 6 — RISC ki chaal: badhne do, CPI aur crush karo

KYA HAI. RISC uncha tower accept karta hai — zyada instructions, bada . Iske badle mein, har instruction simple aur uniform hota hai, toh:

  • CPI ki taraf drive hota hai (har instruction ≈ ek tick, Pipelining ki wajah se),
  • chhota ho jaata hai (simple hardwired control, koi microcode nahi jo tick slow kare).

Yeh kyun jeet sakta hai. RISC ne ek slider upar kiya () lekin doono sliders neeche kheenche (CPI, ). Agar neeche ke pulls kaafi strong hain, toh product phir bhi chhota nikalta hai.

PICTURE. RISC colors mein slider box: badhta hai, lekin CPI aur collapse hote hain, aur output bar CISC se chhota end hota hai.


Step 7 — Bet par real numbers lagao

KYA HAI. Parent note ke numbers lo aur unhe directly compare karne layak bars mein badlo.

CPI rel.
CISC
RISC

Yahi poora argument kyun hai. RISC ne 50% zyada instructions use kiye (M vs M) phir bhi 1.65 vs 5.0 mein khatam hua — lagbhag faster. Bada worth it tha kyunki CPI giri aur giri.

PICTURE. Do stacked-factor bars. CISC ka bar par chhota hai lekin overall lamba; RISC ka bar par uncha hai lekin overall kaafi chhota.


Step 8 — Degenerate cases (jab bet buri hoti hai)

KYA HAI. Koi bhi formula hamesha nahi jeetta. Knobs ko extremes tak dhakelte hain.

Case A — CPI 1 tak nahi pahunch sakta. Agar workload dependencies aur cache misses se bhara hai, toh pipelining stall hoti hai aur RISC ka CPI upar creep karta hai. Tab RISC ka bada bina kisi CPI reward ke hurt karta hai.

Case B — already floored. Agar dono designs same transistor limits hit karte hain, equal ho jaata hai. Battle sirf tak collapse ho jaati hai, aur clever microcode wala CISC compete kar sakta hai.

Case C — memory bottleneck hai, CPU nahi. Agar program apna life RAM ka wait karte hue bitaata hai, toh , CPI, ya mein se koi bhi zyada matter nahi karta — poori equation memory latency ke aage daab jaati hai. Yahi wajah hai ki modern chips (x86 vs ARM) converge ho gaye: silicon internals caches aur decoders se kam important hain.

PICTURE. RISC vs CISC bars ko har stressed case mein redraw karo — gap chhota hota hai, khatam hota hai, ya ulta bhi ho sakta hai.


Ek-picture summary

Poora walkthrough ek canvas par: teen knobs (, CPI, ) ek product mein jaate hain; CISC drop karta hai lekin baaki dono inflate karta hai; RISC inflate karta hai lekin baaki dono crush karta hai; winner woh hai jiski product bar chhoti ho — aur break-even condition exactly batati hai kab.

Recall Feynman retelling — kisi dost ko explain karo

Ek program ko time karna ek road trip time karne jaisa hai. Pehle, kitne steps lete ho? Yeh hai. RISC zyada, chhote steps leta hai; CISC kam, giant steps. Doosra, har step mein kitna effort — har step kitni heartbeats leta hai. Yeh CPI hai; RISC ke tiny steps ek heartbeat ke hote hain, CISC ke giant steps kaafi hote hain. Teesra, ek heartbeat kitna lamba hota hai — yeh hai; RISC ek fast, steady pulse rakhta hai kyunki uski logic simple hai, jabki CISC ki complicated logic pulse ko slow kardi hai. Teeno multiply karo — steps × heartbeats-per-step × seconds-per-heartbeat — aur total seconds milte hain. RISC deliberately zyada steps leta hai kyunki woh har step sasta banata hai aur fast heartbeat maintain karta hai, aur usually yeh dono savings extra steps ko beat kar dete hain. Lekin agar steps stall hone laggein, ya road (memory) jammed ho, toh bet tie ya lose bhi ho sakti hai. Yeh puri debate hai, ek multiplication mein.


Flashcards

CPU time equation product kyun hai, sum kyun nahi?
Kyunki har factor ek unit-conversion hai (instructions → cycles → seconds); sirf multiply karne se units pure seconds mein cancel hote hain, aur har stage pichle wale ko scale karta hai.
CISC , CPI, mein se har ek ke saath kya karta hai?
chhota karta hai, lekin CPI aur badata hai (rich instructions kaafi ticks lete hain aur slower, wider clocks ki zaroorat hoti hai).
RISC , CPI, mein se har ek ke saath kya karta hai?
badhata hai, lekin CPI ko 1 ki taraf drive karta hai aur simple hardwired control aur pipelining se chhota karta hai.
RISC ka CISC ke against break-even condition batao.
RISC jab jeetta hai jab (CPI_C·T_c,C)/(CPI_R·T_c,R) > N_R/N_C — per-instruction savings ratio instruction-inflation ratio se zyada hona chahiye.
Ek case batao jahan RISC ka bet fail ho.
Jab CPI 1 tak nahi pahunch sakta (stalls/misses), jab dono ke liye already equal ho, ya jab memory latency dominate kare aur CPU factors barely matter karein.