Is page pe kuch bhi assume nahi kiya gaya. Parent note Register renaming padhne se pehle, aapko clearly samajhna hoga ki register kya hota hai, "dependency" asal mein kya hai, aur uske formulas mein har arrow aur bracket ka kya matlab hai. Hum har piece ko build karenge, usse ek picture se anchor karenge, aur tabhi use karenge.
Socho ek row of labelled cups. Har cup exactly ek value hold karta hai. Processor sirf unhi values pe arithmetic kar sakta hai jo cups mein baithi hain — un values pe nahi jo abhi bhi main memory mein hain.
Parent note registers ko lamaat do kinds mein split karta rehta hai. Yeh split is topic ka poora dil hai, isliye hum dono ko zero se define karte hain.
Notation Rarch ka matlab sirf hai "koi architectural register", aur Rphys ka matlab hai "koi physical register". Subscript ek label on the label hai jo batata hai ki aap kis world mein hain: visible naming world, ya hidden storage world.
Instructions ek sequence banati hain. Kabhi-kabhi baad ki instruction ko pehli ka wait karna padta hi hai; kabhi-kabhi yeh sirf aisa lagta hai. Parent note inhe RAW, WAR, WAW kehta hai. Aao har naam ka matlab samjhein.
Letters Read aur Write ke liye hain, jo same register pe time order mein apply hote hain. Naam ko "X-After-Y" ki tarah padhein:
Ek arrow ke left mein jo cheez hai, woh aapko pehle se picture mein honi chahiye, tab hi uske right wali cheez samajh aayegi. Renaming (bottom right) in sab ke upar baitta hai.
CPU ke andar ek tiny fast storage box jo exactly ek number hold karti hai.
The difference between an architectural and a physical register is
architectural = ek naam jo program bolne ki permission rakhta hai (fixed, kam); physical = silicon mein ek actual storage box (hidden, zyada).
The arrow in R1→P10 means
"naam R1 abhi box P10 ki taraf point kar raha hai" — ek lookup/pointer, equality NAHI.
RAW stands for and means
Read After Write — baad ki instruction woh value read karti hai jo pehli ne write ki thi; ek TRUE dependency.
WAR and WAW are called false dependencies because
ye sirf same naam pe clash hain; baad wale writer ko alag box de do toh ye khatam ho jaate hain, kyunki koi real data flow nahi hoti.
RAT[R2] means
alias table mein R2 ki row look up karo aur padhlo ki woh abhi kaunsi physical box ki taraf point kar rahi hai.
FreeList.pop() does
pile se ek currently-empty physical box uthata hai taaki use nayi destination ko assign kiya ja sake.
The ROB records the old physical mapping so that
agar exception instruction ko cancel kare toh pointer restore kiya ja sake, aur yeh bhi pata chale ki commit hone pe kaunsi box free karni hai.
In Rdest ← Rsrc1 op Rsrc2, the ← means
"ki value mein jaata hai" — right side compute karo, phir destination mein store karo.
Nphys≥Narch+NROB says
aapko kam se kam ek box har committed naam ke liye aur ek har in-flight instruction ke liye chahiye, warna decode stall ho jaata hai (register pressure).