Parent note padhne se pehle tumhe ek vocabulary chahiye. Yeh page har word aur symbol build karta hai jo woh use karta hai, bilkul zero se start karke. Upar se neeche padho — har block sirf wahi words use karta hai jo uske upar already define ho chuke hain.
Ek worker ko imagine karo jiske paas ek to-do list hai. List ki har line ek order hai: "yeh do cheezein add karo", "storage se yeh le aao", "line 40 par jump karo". Worker line 1 karta hai, phir line 2, phir line 3... jab tak koi line "kahin aur jump karo" nahi kehti.
Woh to-do list ek program hai. Har line ek instruction hai. Yahi pura game hai: ek machine jo instructions ki list pe chalti rehti hai.
Notation R1, R2, ... bas yeh boxes name karti hai. Jab parent likhta hai ADD R1, R2, R3, iska matlab hai "box R1 mein R2 aur R3 mein jo hai unka sum daalo".
Yeh woh split hai jis par poora parent note tika hua hai.
Hidden side ke liye tumhe do aur supporting words chahiye:
Pipeline — ek assembly line jahan kai instructions par ek saath kaam hota hai, har ek alag stage par. Socho: factory line par cars, ek paint ho rahi hai jabki agla weld ho raha hai.
Speculation / out-of-order — machine ka guess karna ki branch kidhar jayegi, ya baad ka kaam pehle karna, time bachane ke liye. Socho: ek chef kal ka dish prep karta hai jabki aaj ka abhi bhi ban raha hai — lekin galat guess hone par usse phenk dene ke liye ready.
Inhe yahan master karne ki zaroorat nahi (dekho Pipelining and Hazards aur Out-of-Order Execution and the Reorder Buffer); tumhe bas yeh jaanna hai ki yeh woh gears hain jo invisible rehne chahiye.
Value B ko place A mein daalo (right ko left mein copy karo).
staten+1=execute(instr,staten) ko plain words mein padho.
Ek instruction run karna purane snapshot ko naye snapshot mein badal deta hai.
Architectural vs microarchitectural state?
Architectural = visible parts jinhe ISA promise karta hai (registers, PC, flags, memory); microarchitectural = hidden gears (pipeline, caches, predictors) jinhe tum rely nahi kar sakte.
Commit / retire ka kya matlab hai?
Woh moment jab instruction ka result visible architectural state mein stamp ho jata hai.
Sequential execution — mental picture?
Dominoes ek-ek karke girte hain; agla kabhi nahi girta jab tak current fully nahi gir jaata.
Exception kya hota hai?
Normal flow se ek forced jump kyunki ek instruction ko mid-execution mein koi problem mili.
Handler vs vector vs EPC?
Handler = OS rescue routine; vector = woh fixed address jahan woh rehta hai; EPC = wapas kahan jaana hai uska saved PC bookmark.
Synchronous vs asynchronous?
Synchronous (exception) instruction ke kaaran hota hai aur repeat hota hai; asynchronous (interrupt) external timing se hota hai aur nahi hota.
Precise exception ko ek line mein define karo.
Visible state bilkul waise dikhti hai jaise bad instruction se theek pehle ek clean stop — uske baad kuch bhi touch nahi.