5.1.5 · D2 · HinglishInstruction Set Architecture (ISA)

Visual walkthroughx86 architecture overview

2,023 words9 min read↑ Read in English

5.1.5 · D2 · Hardware › Instruction Set Architecture (ISA) › x86 architecture overview

Yeh real-mode addressing ka central result hai, woh fossil jo poore ISA ko shape kiya.


Step 1 — Bit kya hai, number kya hai, aur "address" kya hai?

KYA: Hum boxes ko line up karte hain aur dekhte hain ki woh kitne alag-alag numbers name kar sakte hain.

KYU: Isse pehle ki hum pooche "hum kitna bada address bana sakte hain," humein exactly pata hona chahiye ki boxes ka ek group kaha tak count kar sakta hai. Baaki sab sirf counting hai.

PICTURE: Neeche, har box ek bit hai. boxes ki ek row alag-alag patterns rakh sakti hai, toh woh byte-numbers se lekar tak name kar sakti hai.

Figure — x86 architecture overview

  • — har single box ya toh hai ya , toh do possibilities har box mein.
  • — boxes ki count; har naya box reach ko double karta hai.
  • — un boxes ke point karne wale distinct byte-numbers ka grand total.

Step 2 — Ek 16-bit register sirf 64 KB tak pahunch sakta hai

KYA: Hum ek 16-bit register ki reach calculate karte hain.

KYU: Yahi woh wall thi jisme Intel jaake laga. Yeh ek trick ki poori zaroorat set karta hai — tum ek single 16-bit number se isse escape nahi kar sakte.

  • — sola boxes, har ek doubling karta hua, Step 1 se.
  • — reachable addresses ki exact count.
  • — wahi number human units mein ().

PICTURE: Ek 16-bit register ek chhota ruler hai jo sirf byte tak pahunchta hai. Intel chahta tha ek ruler jo bytes ( MB ) tak pahunche. Donon rulers ke beech ka gap poori story hai.

Figure — x86 architecture overview

Step 3 — Left shifting multiply karne ke barabar kyun hai

KYA: Hum dikhate hain ki ek binary number ko boxes left slide karne se woh se multiply ho jaata hai.

KYU: Decimal mein, ke right mein likhne se milta hai — ek . Binary mein, right mein ek add karna ek hai. Yeh "" (jo hardware karta hai) aur "" (jo formula kehta hai) ke beech ka bridge hai.

  • — physically har bit ko boxes left move karo, right mein zeros fill karo.
  • — yeh sliding jo multiplier produce karti hai.
  • Hamare liye hai, aur hai, toh hi hai.

PICTURE: Dekho wahi bits boxes left ride karti hain; right mein chaar naye zero-boxes appear hote hain. Number bada ho gaya bina koi actual multiplication ke — sirf wires.

Figure — x86 architecture overview

Step 4 — Segment ko top 20 bits par stretch karo

KYA: 16-bit segment lo, use shift karo, aur result ko 20-bit ruler par rakh do.

KYU: Step 2 ne kaha tha hum top par 4 bits short hain; Step 3 ne tool diya. Ab hum actually segment ko bits se mein place karte hain, bottom ke 4 bits empty chhod kar (sab zero).

  • Segment ke 16 bits ab address-positions mein hain.
  • Positions zero hain — ek hole jo bharney ka intezaar kar raha hai.

PICTURE: Laal band woh shifted segment hai jo 20-bit ruler par upar baitha hai. Bottom mein chaar empty boxes note karo — woh emptiness exactly woh jagah hai jo Step 5 mein offset fill karega.

Figure — x86 architecture overview

Step 5 — Offset ko low bits mein daalo

KYA: Shifted segment mein 16-bit offset add karo.

WHY: Segment ne neighbourhood choose kiya; offset exact ghar choose karta hai. Hum yahan add karte hain (shift nahi) kyunki hum do positioned quantities ko ek final number mein combine kar rahe hain — hardware address adder yeh ek pass mein karta hai.

PICTURE: Segment (laal, high) aur offset (kala, low) beech mein overlap karte hain aur ek 20-bit address par sum hote hain. Woh overlap hi wajah hai ki bits sirf dete hain, nahi: donon numbers middle bits share karte hain.

Figure — x86 architecture overview

Step 6 — Kaam karta hua number: dekho woh kahan land karta hai

KYA: Parent note ka example haari machine se guzaro.

KYU: Yeh prove karne ke liye ki pictures exactly wahi hex produce karti hain jo hardware karta.

Segment , Offset :

  • — shift ek hex zero append karta hai (hex digit = 4 bits, toh = ek hex place).
  • — offset naya khula hua low nibble fill karta hai.
Figure — x86 architecture overview

Step 7 — Edge cases jo tumhe kabhi surprise nahi karni chahiye

Har case, har quirk — contract demand karta hai ki hum sab dikhayein.

PICTURE: Reachable addresses ki number line, jisme charon cases pin kiye hue hain — zero, low, aliased, aur edge ke upar wala wrap.

Figure — x86 architecture overview

Ek-picture summary

Do 16-bit numbers → ek shift → ek add → ek 20-bit address. Yahi poori machine hai, aur yahi poori wajah hai ki x86 40 saal tak segment registers kyun carry karta raha (zyada tar disabled, cleaner designs ke contrast mein, aur RISC ki fixed-width duniya se alag).

Figure — x86 architecture overview
Recall Feynman retelling — ek story ki tarah batao

Socho tumhare ghar ka number ek chhote 16-digit slot mein fit hona chahiye, lekin tumhara shehar grow ho gaya aur ab 20-digit house numbers chahiye. Trick: do chhote numbers use karo. Pehla number (segment) kehta hai shehar ka kaunsa block — lekin hum use chaar jagah upar slide karte hain taaki iska matlab "block" ho, "house" nahi. Woh left-by-four sliding secretly ek multiply-by-sixteen hai, wires se kiya, math se nahi. Doosra number (offset) us block ka exact ghar hai, aur woh neatly un chaar empty slots mein drop ho jaata hai jo slide ne abhi khola. Dono add karo aur tumhara poora 20-digit address ready. Aur kyunki block-number aur house-number kuch middle digits share karte hain, do alag (block, house) pairs ek hi ghar point kar sakte hain — woh overlap real-mode aliasing hai. Dono numbers ko unke max par push karo aur tum shehar ki edge ke bahar spill karte ho — purana chip tumhe wapas start par wrap kar deta tha. Woh wrap ek aisa fossil hai jise tum aaj bhi thoda much kar sakte ho.


Recall

Recall Walkthrough checkpoints
  1. Ek -box register kitne addresses reach karta hai? ::: .
  2. 1 MB space ke liye ek 16-bit register kitne bits short hai? ::: 4 bits ().
  3. Hardware mein "" ko kaunsa operation replace karta hai? ::: Left shift by 4 ().
  4. Segment , offset ka physical address? ::: .
  5. Do (segment, offset) pairs ek byte kyun name kar sakte hain? ::: Unki ranges middle bits mein overlap karti hain (aliasing).