6.3.6 · D1 · Hardware › Interconnects, Buses & SoC › Network-on-Chip (NoC) topologies
Bahut saare cores wala chip ek chhoti city hai, aur cores ke beech data move karna ek traffic problem hai: routers aur roads ka arrangement (jisko §0 topology kahlata hai) wo road map hai, aur jo bhi hum measure karte hain — sabse door ki trip kitni lambi hai, kitna traffic flow ho sakta hai, har junction pe kitni roads milti hain — ye sab us map pe counting hi hai. "Routers as junctions aur links as roads" ki picture ko samajh lo, aur parent note ka har formula obvious counting ban jaayega.
Isse pehle ki tum topic note mein koi formula padho, tumhe vocabulary chahiye. Ye page har symbol, word, aur picture define karta hai jis par parent rely karta hai — bilkul zero se shuru karke.
Network-on-Chip mein har cheez bilkul do cheezon se bani hai.
Definition Node, Link, aur Topology
Node chip pe ek single junction hai — ek chhota circuit jise router kehte hain jo data receive karta hai aur decide karta hai aage kahan bhejna hai. Ek core, cache, ya memory controller ek node se connect hota hai.
Link do nodes ko directly connect karne wala wires ka bundle hai — junctions ke beech ek one-hop road.
Topology simply wo pattern hai ki kaunse nodes links se jude hain — road map ki shape.
Figure dekho: kaale circles nodes hain, unke beech kaali lines links hain, aur jo overall pattern banta hai wo topology hai. Poora baaki topic bas itna hi hai — "hum in dots aur lines ko kaise arrange karte hain?"
Intuition "Junction" kyun sahi mental image hai
Junction ek kaam karta hai: koi cheez aati hai, aur use kuch roads mein se ek se jaana padta hai. Har property jis ki hum care karte hain (latency, bandwidth) ye ek statement hai ki packet junction se junction tak kaise hop karta hai . Ye picture pakad lo — ab hum isme numbers daalnge.
N aur M — kitne nodes hain
N network mein nodes ka saada count hai (ya ek grid ke ek side ke nodes ki sankhya). Jab kisi shape mein do directions hoon — jaise rectangular grid — to hum ek side ke liye N aur doosri side ke liye M use karte hain. To "4 × 4 grid" ka matlab hai N = 4 rows aur M = 4 columns, jo N × M = 16 nodes deta hai.
Picture: dots count karo. Bas itna hi. N aur M kabhi mysterious nahi hote — ye wo circles hain jo tum dekh sakte ho.
Topic ko iske liye kyun zaroorat hai: har formula (diameter, bandwidth) N ke terms mein likha hota hai, kyunki hum jaanna chahte hain jab hum zyada cores add karte hain to network kaise behave karta hai . N mein ek formula future batata hai — 64 ya 256 cores pe kya hoga.
Hop ek single link ke paas ek journey hai — ek node se neighbouring node tak move karna. Agar ek packet router → router → router travel karta hai, wo 2 hops hai.
Figure mein red path top-left node se bottom-right node tak 4 hops mein jaata hai. Har red segment exactly ek hop hai. Chip pe distance millimetres mein nahi — hops mein measure hoti hai, kyunki har hop mein ek router jitni delay lagti hai.
Mnemonic Hop = ek handshake
Har baar jab packet ek link cross karta hai wo ek naye router se "haath milaata" hai. Handshakes count karo = hops count karo.
Ab hum pehla real metric define kar sakte hain.
D
Diameter D kisi bhi do nodes ke beech sabse zyada hops ki sankhya hai, unke beech shortest path use karke. Ye network ka "worst-case commute" hai.
worst case kyun important hai
Agar tum kisi customer ko delivery time promise karo, to tum sabse slow possible trip quote karte ho, na ki sabse lucky wali. Diameter ek chip designer ko batata hai ki koi bhi do cores maximum kitni latency suffer kar sakte hain. Chhota D matlab "door se door cores bhi paas hain."
Picture: sabse awkward corner pe khade ho, sabse awkward opposite corner tak shortest route chalke jao, aur hops count karo. Wo count D hai.
Chalte hain isko grid ke liye concrete banate hain, taaki tum exactly dekh sako ki parent ka mesh formula kahan se aata hai.
D = ( N − 1 ) + ( M − 1 ) ki derivation
Hum kya karte hain: ek hi sabse buri trip ke hops count karte hain — ek door corner se opposite door corner tak.
Kyun: grid mein koi diagonal roads nahi hain, to column 1 se column N tak move karne ke liye tumhe har column boundary pe ek hop lena padta hai, jo N − 1 hops hai. Isi tarah row 1 se row M tak move karne mein M − 1 hops lagte hain.
Kaisa dikhta hai: §2 ke figure mein red staircase path trace karo — har rightward step aur har upward step ek hop hai. Do directions add karne se D = ( N − 1 ) + ( M − 1 ) milta hai.
4 × 4 mesh ke liye: D = ( 4 − 1 ) + ( 4 − 1 ) = 6 hops.
Ek node ka degree hai kitne links use touch karte hain — kitne neighbours tak wo ek hop mein pahunch sakta hai.
Figure mein beech ka red node degree 4 hai (North, South, East, West roads). Edge pe wala node kam roads rakhta hai, isliye lower degree.
Intuition Degree = cost kyun hai
Junction mein har road ke liye apne wires aur router pe apna port chahiye (buffers, arbitration logic). Zyada degree = bada, hotter, zyada expensive router. Isliye degree ek price tag hai, aur jo topologies degree chhota aur constant rakhti hain (jaise ring jisme degree 2 hai) wo build karne mein sasti hain. Isliye parent warn karta hai "more links ≠ always better" — tum har port ke liye pay karte ho.
Ye wo metric hai jise log sabse zyada galat samajhte hain, isliye hum ise dheere dheere build karte hain.
Definition Bisection aur bisection bandwidth
Network ko bisect karna matlab ek line kheenchna jo nodes ko do barabar halves mein split karta hai (agar nodes ki total sankhya N odd hai, to exact halves impossible hain, isliye hum jitna ho sake utna evenly split karte hain — ek side ⌈ N /2 ⌉ nodes leti hai, doosri ⌊ N /2 ⌋ ).
Kisi ek aisi balanced cut ke liye, wo cross karne wale har link ka data rate add karo. Bisection bandwidth B b us total ka minimum hai SABHI possible balanced cuts ke upar — network ke do equal halves ke beech sabse narrow possible bridge ki width.
Figure mein red dashed line grid ko beech se cut karti hai. Sirf wo links jo ise cross karte hain (4 hain) left half aur right half ke beech traffic carry kar sakte hain. Agar dono halves ek doosre se full blast baat karna chahein, saara traffic un kuch links se squeeze hoga.
minimum kyun?
Network utna hi strong hai jitna uska sabse weak choke-point. Agar nodes ko half-half split karne ka koi tarika bahut kam links se serve hota hai, to ek adversarial traffic pattern exactly us split ko target karega aur jam kar dega. Isliye hum worst (smallest) balanced cut report karte hain, na ki koi lucky wide wala. Ek ring, kahin bhi cut karo, sirf 2 links hi cut hoti hain — chahe kitne bhi nodes add karo, half chip doosri half se sirf 2 roads ke through baat karta hai. Isliye parent ring ki bisection ko "terrible" kehta hai. Bada B b matlab network heavy all-to-all traffic ke under jam nahi hoga — dekho Latency and Throughput Trade-offs .
Har B b formula "(links crossing ki sankhya) × B link " ke roop mein likha hota hai. To B link kya hai?
Definition Link bandwidth
B link
Link bandwidth wo hai jitna data ek link per second move karta hai, bits per second (b/s) mein.
Intuition Frequency ko width se multiply kyun karte hain?
Link ko ek conveyor belt samjho. w hai belt pe side-by-side kitne boxes fit hote hain ; f hai har second belt kitni baar ek step forward lurches karta hai . Boxes-per-second = boxes-per-step × steps-per-second = w ⋅ f . Bas itni hi derivation hai.
Worked example Ek link ki rate
w = 64 bits, f = 2 GHz = 2 × 1 0 9 firings/second.
B link = 64 ⋅ 2 × 1 0 9 = 1.28 × 1 0 11 b/s = 128 Gb/s .
Ye wahi "64 bits @ 2 GHz = 128 Gb/s" hai jo parent note mein baar baar dikhta hai.
Formulas mein kuch maths notation ke pieces hain. Ye raha har ek, zero se.
⌊ x ⌋
⌊ x ⌋ ka matlab hai "x ko nearest whole number tak neeche round karo. " To ⌊ 4 ⌋ = 4 , ⌊ 4.9 ⌋ = 4 , ⌊ 3.5 ⌋ = 3 . (Iska partner ⌈ x ⌉ , jo §5 mein use hota hai, upar round karta hai: ⌈ 3.5 ⌉ = 4 .)
Topic ko iske liye kyun zaroorat hai: hops whole numbers hote hain — aadha hop nahi ho sakta. Ring ka diameter ⌊ N /2 ⌋ kehta hai "zyada se zyada aadha chakkar, neeche rounded." N = 8 ke liye, ⌊ 8/2 ⌋ = 4 hops.
log 2 N — "N tak pahunchne ke liye kitne doublings"
log 2 N jawaab deta hai: 1 se shuru karke, N tak pahunchne ke liye mujhe kitni baar double karna padega? Kyunki 1 → 2 → 4 → 8 → 16 mein 4 doublings hain, log 2 16 = 4 .
Intuition Logarithms best topologies mein kyun aate hain
Ek hypercube ka diameter log 2 N hai. Ye astonishingly chhota hai: cores ki sankhya double karo, aur worst-case trip sirf ek hop badh jaati hai. Jab bhi koi structure tum se har step pe remaining distance aadhi karne deta hai, steps ki sankhya ek logarithm hai. Isliye log = comparison table mein "great scalability" — ye theme hai System-on-Chip (SoC) Design scaling ka.
Definition Bit, binary label, aur bit-indexing
Bit ek single 0 ya 1 hai. Bits mein likha node ka number uska binary label hai — jaise node 5 hai 0101. Hum bits ko right se, 0 se shuru karke index karte hain: sabse rightmost bit bit 0 hai (the least-significant bit , worth 2 0 = 1 ), agla bit 1 hai (worth 2 1 = 2 ), phir bit 2 (worth 4 ), aur aage bhi. To 0101 mein jo bits 1 hain wo hain bit 0 aur bit 2.
⊕
XOR operation ⊕ do bits compare karta hai aur 1 deta hai agar wo differ karte hain, 0 agar match karte hain . Do binary labels pe apply karne par, ye exactly wo positions highlight karta hai jahan wo disagree karte hain.
5 ⊕ 2 1
5 = 0101. 2 1 = 0010 (sirf bit 1 set). XOR exactly bit 1 flip karta hai (right se count karke, index 0): 0101 → 0111 = 7 . To node 5 node 7 se "bit 1 flip karke" connect hota hai.
Definition Hamming distance
Do binary labels ke beech Hamming distance simply un bit positions ki count hai jisme wo differ karte hain — equivalently, unke XOR mein 1s ki sankhya.
Intuition XOR (aur Hamming distance) hypercube neighbours kyun describe karta hai
Hypercube mein, do nodes neighbours hote hain agar aur sirf agar unke labels ek bit mein differ karte hain — Hamming distance 1. Kisi bhi do nodes ke beech travel karne ke liye tumhe har disagreeing bit ko fix karna padta hai, aur har fix ek hop hai, isliye hops ki sankhya unki Hamming distance ke barabar hai. XOR wo tool hai jo un differing bits ko turant reveal karta hai — isliye parent ise use karta hai. Routers ise kaise exploit karte hain dekhne ke liye Routing Algorithms dekho.
O ( something ) — growth shape
O ( f ( N )) shorthand hai "jab N bada hota hai, ye quantity roughly f ( N ) jaisi grow karti hai ," constant factors ignore karke. O ( N ) square root jaisi grow karti hai; O ( log N ) bahut dheere grow karta hai; O ( N ) straight line mein grow karta hai.
Topic ko iske liye kyun zaroorat hai: comparison table O ( ⋅ ) use karta hai taaki tum ek nazar mein topologies compare kar sako bina koi specific N choose kiye . Ye jawaab deta hai "kaunsi topology bahut bade chips pe jeetegi?" — ye System-on-Chip (SoC) Design scaling ka theme hai.
Link = road between nodes
Diameter D = worst-case hops
Link bandwidth Blink = f times w
NoC Topologies parent note
Ise top-to-bottom padho: do atoms (node, link) har metric ko feed karte hain, metrics aur maths notation formulas ko feed karte hain, aur formulas parent topic hain. Power aur coherence downstream hain — dekho Power Management in SoCs aur Cache Coherence Protocols .
Answers cover karo; jab tum har ek bol sako tab ready ho.
Node kya hai, ek phrase mein? Ek router — ek junction jahan data aata hai aur aage bheja jaata hai.
Link kya hai? Wires ka ek bundle jo do nodes ke beech ek one-hop road banata hai.
Topology kya hai? Wo pattern ki kaunse nodes links se jude hain — road map ki shape.
Ek hop kya hai? Ek link ke paas ek single journey, neighbouring node tak.
Diameter D define karo. Kisi bhi do nodes ke beech largest shortest-path hop count (worst-case commute).
Mesh ka diameter ( N − 1 ) + ( M − 1 ) kyun hai? Koi diagonals nahi, isliye sabse door corner-to-corner trip ke liye tum N − 1 hops across aur M − 1 hops down pay karte ho.
Node ka degree define karo. Use touch karne wale links ki sankhya = one-hop neighbours ki sankhya = router cost.
Bisection bandwidth kya measure karta hai? Sabhi balanced cuts ke upar MINIMUM, us cut ko cross karne wale links ki total data rate ka.
Odd number of nodes ko "halves" mein kaise split karte hain? Jitna ho sake utna evenly — ek side ⌈ N /2 ⌉ nodes leti hai, doosri ⌊ N /2 ⌋ .
B link do aur har factor explain karo.B link = f ⋅ w ; f = firings per second, w = bits per firing.
⌊ x ⌋ kya karta hai?x ko nearest whole number tak neeche round karta hai.
log 2 N kya count karta hai?1 se N tak pahunchne ke liye kitne doublings (isliye hypercube diameter chhota hai).
"Bit 0" kaunsa bit hai? Sabse rightmost (least-significant) bit, worth 2 0 = 1 .
a ⊕ b do bits ke liye kya deta hai?1 agar bits differ karte hain, 0 agar match karte hain — hypercube neighbours reveal karta hai.
Hamming distance define karo. Un bit positions ki count jahan do labels differ karte hain = unke XOR mein 1s ki sankhya = hypercube mein hop count.
O ( log N ) ka matlab O ( N ) ke comparison mein kya hai?Bahut dheere grow karta hai (great scaling) versus straight line mein grow karta hai.