6.3.6 · D3 · HinglishInterconnects, Buses & SoC

Worked examplesNetwork-on-Chip (NoC) topologies

4,630 words21 min read↑ Read in English

6.3.6 · D3 · Hardware › Interconnects, Buses & SoC › Network-on-Chip (NoC) topologies

Yeh page ek drill hai. Hum parent note se paanch topologies lete hain aur unse har tarah ke questions nikalte hain: normal cases, tiny/degenerate networks, extreme limits, ek word problem, aur ek exam-twist. Shuru karne se pehle ek vaada: koi bhi symbol yahaan nahi aayega jo humne pehle earn nahi kiya ho. Chalo teen numbers ko phir se pin karte hain jo hum baar baar compute karte hain, seedhe saadhe shabdon mein.

128 Gb/s per link number apni jeb mein rakh lo — zyaatatar examples ise reuse karte hain.


The scenario matrix

Is topic ke har question ka answer inhi cells mein se ek mein hai. Har worked example neeche us cell ke tag ke saath aaya hai jisko woh fill karta hai.

# Case class Tricky kyun hai Filled by
A Normal mesh — rectangular, interior + edge nodes do grid dimensions ko mix karna Ex 1
B Torus wraparound — kya shortcut help karta hai? har axis par wrap vs. no-wrap decide karna Ex 2
C Hypercube routing — bit-flip path binary labels se routes padhna Ex 3
D Fat-tree bandwidth — link fattening link width har level par change hoti hai Ex 4
E Ring degenerate — worst bisection tiny bisection, even vs odd Ex 5
F Zero/degenerate input mesh, , ring formulas apne edge par Ex 6
G Limiting behaviour — big- growth order par kaun sa topology jeetta hai Ex 7
H Real-world word problem — power budget ke under topology choose karna English → constraints translate karna Ex 8
I Exam twist — non-square torus, odd dimension floor ke traps Ex 9

Example 1 — Normal mesh (cell A)

Figure — Network-on-Chip (NoC) topologies

Figure s01, steps se pehle padho: yellow node-dots ki ek 3-row by 5-column grid jo white links se judi hai. Ek thick pink line worst-case route trace karti hai bottom-left node se chaar links right, phir do links upar top-right node tak — yahi diameter path hai. Ek vertical blue dotted line do columns ke beech girti hai; yeh 3 rows mein se har ek mein ek horizontal link cross karti hai, toh 3 links cut hoti hain — yahi bisection cut hai.

Steps.

  1. Do grid sizes identify karo: rows , columns . Yeh step kyun? Mesh diameter formula ko dono dimensions alag alag chahiye, kyunki aap har axis par independently travel karte ho — grid par koi diagonal nahi hota.

  2. Diameter: worst case ek corner se opposite corner tak hai (figure s01 mein pink path). Yeh step kyun? Aapko 2 rows aur 4 columns walk karne hain; har walked link ek hop hai, aur koi shortcut nahi hai, toh aap unhe sum karte ho.

  3. Bisection: 15 nodes ko jitna ho sake evenly split karo. Kyunki odd hai, perfectly equal split impossible hai, toh "halves" matlab hai ek side par 7 nodes aur doosri par 8 (ek se differ karte hain — upar di gayi definition ke hisaab se allowed). Figure s01 mein blue dotted vertical cut aisa split achieve karti hai aur fewest links severate karti hai: har row mein ek horizontal link, yaani links. Horizontal cut instead links sever karti — zyada, toh hum use reject karte hain. Yeh step kyun? Bisection width minimum balanced cut hai. Vertical cut links sever karti hai; woh minimum hi true bottleneck hai.

Recall Example 1 Verify karo

Units: hops dimensionless hain (link counts) ✓. Bandwidth: ✓. Sanity: diameter 6, mesh se match karta hai (woh bhi 6) kyunki — same total travel. Accha, ek wider-but-shorter grid ek square se tie kar sakta hai.


Example 2 — Torus wraparound (cell B)

Figure — Network-on-Chip (NoC) topologies

Figure s02, steps se pehle padho: yellow node-dots aur white links ki same rectangular grid, lekin ab har row ke leftmost aur rightmost node blue dashed wrap link se jude hain, aur har column ke top aur bottom node bhi — yeh dashed links hi shortcuts hain. Ek thick pink segment ek single row par ek aisa shortcut dikhata hai: node 0 paanch links walk karne ke bajaye seedha node 5 par wrap-hop mein pahunch jaata hai.

Steps.

  1. Torus diameter formula: jahan ka matlab hai round down (woh sabse bada whole number jo ho). Floor kyun? nodes ki ring par aap kabhi ring ka half se zyada nahi walk karte — halfway point ke baad doosri taraf se jaana shorter hota hai. ka half, rounded down, woh worst-case half-trip hai.

  2. , plug in karo: Yeh step kyun? Har axis apna half-ring worst case contribute karta hai; do axes independent hain toh hum add karte hain.

  3. Mesh se compare karo (Ex-1 style): mesh . Toh wrap dono axes par help karta hai, 8 → 5 cut karke. Yeh step kyun? Figure s02 mein blue dashed wrap links hi shortcuts hain; 6-long axis par, node 0 paanch ki bajaye ek wrap-hop mein node 5 tak pahunch jaata hai.

  4. Bisection: nodes ko 12-12 ke do equal halves mein split karo (24 even hai, toh perfectly equal split exist karta hai). Ek vertical cut ab mesh se do baar zyada links sever karti hai: har row mein ek straight link aur ek wrap link same vertical line cross karte hain, kyunki har row ki ring ek loop hai aur loop ka koi bhi cut usse do jagah pass karta hai. Yeh step kyun? straight links, plus 4 wrap links, minimum balanced cut par 8 links deta hai; links double hone se bandwidth double ho gayi.

Recall Example 2 Verify karo

Diameter: ✓, aur (mesh) ✓ toh wrap help karta hai. Bisection: ✓, exactly mesh ki se double.


Example 3 — Hypercube bit-flip routing (cell C)

Figure — Network-on-Chip (NoC) topologies

Figure s03, steps se pehle padho: solah yellow node-dots, har ek apne 4-bit binary code ke saath labelled, do nested squares (cube-of-cubes projection) ki tarah drawn. Thin white links har do nodes ko jodti hain jinka label exactly ek bit mein differ karta hai. Thick pink arrows routing path trace karte hain: har arrow par label ka exactly ek bit flip hota hai, aur chaar arrows ke baad hum 6 par pahunch jaate hain.

Steps.

  1. Dono node numbers ko 4-bit binary mein likho. Bit ki "place value" hai: bit 0 = 1s, bit 1 = 2s, bit 2 = 4s, bit 3 = 8s. Binary kyun? Ek hypercube node bits se label hota hai, aur link sirf un nodes ke beech exist karta hai jo exactly ek bit mein differ karte hain. Toh labels hi map hain.

  2. Bit by bit compare karo. Symbol ("XOR") 1 output karta hai jahan do bits differ karte hain, 0 jahan agree karte hain: XOR kyun? Yeh literally disagreeing bits ko spotlight karta hai. Answer mein har 1 ek aisa link hai jo hume us bit ko fix karne ke liye cross karna hai.

  3. 1s gino (Hamming distance): mein chaar 1s hain → 4 hops. Yeh hop count ke barabar kyun hai? Har hop exactly ek bit flip karta hai; aapko chaar bits flip karne hain; isliye minimum chaar hops, aur koi bhi order kaam karta hai.

  4. Low-to-high bits flip karte hue path walk karo (figure s03 mein pink arrows follow karo): Yeh order kyun? Order free hai — XOR guarantee karta hai ki saare chaar flips hume 6 par hi land karenge, sequence chahe jo bhi ho.

Recall Example 3 Verify karo

, popcount ✓. 9 ke saare bits flip karne ke baad final node: ✓. Path endpoints correct, 4 hops ✓.


Yahaan tree ka branching factor hai — har internal switch ke kitne children hain. Ek binary fat-tree mein hota hai (har switch do children tak fan out karta hai). Is example mein hum poore time use karte hain.

Figure — Network-on-Chip (NoC) topologies

Figure s04, steps se pehle padho: ek binary tree bottom-up drawn. Sabse neeche ki row mein 8 yellow leaf-dots hain (processing elements). Unke upar 4 switches hain, phir 2, phir top par ek root. Links har level upar jaane par visibly thicker hoti jaati hain: thin white leaf links (128 Gb/s), thicker blue level-1 links (256 Gb/s), thickest pink links root mein (512 Gb/s). Yahi thickening "fat" hai fat-tree mein.

Steps.

  1. Binary () fat-tree mein leaves ke saath levels: leaves ke upar switch levels hain. Link bandwidth har level upar double hoti hai. Double kyun? Har higher level par half switches ko saari neeche ki traffic carry karni hoti hai, toh choke se bachne ke liye har higher link ko do baar fat hona padta hai.

  2. Root link bandwidth. Parent note ka rule: root link . kyun? Single top cut tree ko leaves ke do halves mein split karta hai; root ko unke beech saari cross-traffic carry karni hoti hai.

  3. Bisection bandwidth: tree ko uske narrowest balanced point par kaato. Fat-tree mein tightest balanced cut root par hi hota hai — yeh 8 leaves ko 4-4 ke do groups mein split karta hai, aur us cut ko cross karne wale only links root mein jaane wale links hain. Binary fat-tree mein root tak 2 top links pahunchte hain (har level-2 switch se ek), har ek ki width Gb/s hai, toh cut par 4 leaf-equivalent links = 512 Gb/s hain. kyun, kyun nahi? Minimum balanced cut sirf root mein enter karne wale links sever karta hai, jo milke leaf-links worth bandwidth carry karte hain — har leaf link nahi. Fattening is cut ko leaves ke aggregate se worse nahi hone deta, lekin bisection root cut par set hoti hai, giving Gb/s. "Fat" ka point yeh hai ki root cut ek thin tree ke relative bottleneck nahi hai, yeh nahi ki yeh magically aggregate double kar deta hai.

  4. Diameter: leaf se root tak, phir doosre leaf tak: hops. kyun? Tree upar levels hai (isliye , branching factor, log ke base mein hai — har switch par zyada children matlab kam levels); neeche bhi levels; worst case dono karta hai. ke saath: .

Recall Example 4 Verify karo

Root: ✓. Bisection: Gb/s ✓ (minimum balanced cut root par hai — 4 leaf-links worth, 8 nahi). Diameter: ✓.


Example 5 — Ring, the bisection villain (cell E)

Figure — Network-on-Chip (NoC) topologies

Figure s05, steps se pehle padho: aath yellow node-dots ek circle mein evenly arranged, 0–7 numbered, white links se ek closed loop mein joined. Ek horizontal blue dotted line loop ko slice karti hai; kyunki loop ek single closed curve hai, line exactly do jagah use cross karti hai — 2 links sever karti hai. Ek thick pink arc node 0 se node 4 tak diameter route trace karta hai (4 hops, ring ka far side).

Steps.

  1. Diameter hops. Kyun? Ring nodes ka ek single loop hai; sabse door node diametrically opposite hai, dono directions se half-way around.

  2. Bisection: chahe aap ring ko 4-4 nodes ke do equal halves mein kahin bhi kaato, ek seedhi line exactly 2 links cross karti hai (loop ke do arcs, figure s05 mein dikhaye gaye hain). Sirf 2 kyun? Ring ek loop hai; loop ka koi bhi cut use exactly do jagah sever karta hai. Yeh constant hai — yeh ke saath kabhi grow nahi karta.

  3. "Terrible?" Per-node compare karo: 8 nodes 256 Gb/s cut share kar rahe hain = 32 Gb/s effective per node, mesh ke bahut bade bisection ke muqable. Jaise jaise badhta hai ring ki bisection 256 par hi rehti hai jabki traffic badhti hai — bottleneck worse hota jaata hai. Yeh kyun matter karta hai: bisection bandwidth balanced all-to-all traffic ki ceiling hai; rising demand ke saath fixed ceiling hi bottleneck ki definition hai (Latency and Throughput Trade-offs).

Recall Example 5 Verify karo

Diameter ✓. Bisection ✓, se independent.


Example 6 — Degenerate & zero inputs (cell F)

Steps.

  1. (a) mesh. row, columns. . 0 kyun? Ek row ke saath vertically kuch travel karna hi nahi, toh woh term zero ho jaata hai — mesh ek line mein collapse ho gaya (wrap ke bina ring). Formula gracefully degrade karta hai.

  2. (b) 1-node network. Diameter (ek node khud se 0 hops door hai). Bisection: aap ek node ko do non-empty groups mein split nahi kar sakte, toh bisection undefined / effectively 0 hai. 0 hops kyun? Diameter do distinct nodes ke beech max distance hai; ek node ke saath koi pair nahi, toh empty set par max 0 hai by convention. Yahi true "zero input" hai.

  3. (c) 2-node ring. Diameter : do nodes 1 hop apart hain. Ek convention par commit karo: hum ring ko ek undirected cycle graph model karte hain, jahan koi bhi do adjacent nodes ke beech exactly ek link hota hai. par "cycle" degenerate ho jaata hai — graph theory do parallel edges do nodes ke beech rakhega, lekin standard NoC convention ek single physical link ka hai, toh hum ek link use karte hain. Ring bisection formula blindly lagaana claim karega ki 2 links cut cross karte hain — lekin degenerate 2-node ring mein sirf ek link hai, toh formula yahaan overcount karta hai. Definition se honest value (minimum links to split 2 nodes into 1+1) 1 link hai: Formula kyun break karta hai: mein "2" ek genuine loop ke do arcs count karta hai, lekin 2-node ring mein koi genuine loop nahi hai (cycle ke liye nodes chahiye), toh sirf ek link hai katne ke liye. Edge cases exactly wahan hain jahan blind formula-plugging fail hoti hai.

Recall Example 6 Verify karo

(a) ✓. (b) diameter ✓. (c) diameter ✓; bisection Gb/s (single-link convention) committed, formula ka spurious 256 nahi ✓.


Example 7 — Limiting behaviour as (cell G)

Figure — Network-on-Chip (NoC) topologies

Figure s06, steps se pehle padho: diameter (vertical axis, hops) ka node count (horizontal axis, log scale par drawn taaki doublings evenly spaced hon) ke against ek plot. Teen curves rise karti hain: ek steep pink line "ring " labelled jo 512 tak shoot karti hai, ek gentler blue curve "mesh " labelled jo 62 tak pahunchti hai, aur ek nearly-flat yellow curve "hypercube " labelled jo 10 tak barely pahunchti hai. Curves ke beech visual gap hi scalability story hai.

Steps.

  1. Square mesh: (kyunki ). . kyun? Square grid ki side hoti hai, aur diameter — yeh ki tarah grow karta hai.

  2. Hypercube: chahiye. . kyun? Har dimension node count double karta hai, toh dimensions ki sankhya (aur hops) hai — teeno mein sabse slow-growing.

  3. Ring: . kyun? Ring ka worst case half ring hai, toh yeh linearly grow karta hai — fastest-growing, by far the worst.

  4. Rank (fastest→slowest growth): Ring → Mesh → Hypercube . Yeh ordering kyun — iske peeche visual reasoning: dekho kya hota hai jab aap double karte ho (figure s06 ke log axis par ek step right).

    • Ring : double karne se double ho jaata hai — pink line ki height har step par double hoti hai, toh woh rocket ki tarah upar jaati hai. Linear growth matlab diameter poore network ka ek fixed fraction hai, toh woh climb karna kabhi band nahi karta.
    • Mesh : double karne se sirf multiply hota hai — blue curve rise karti hai, lekin har doubling ring se chota jump add karta hai. Square-root growth ko cushion karta hai kyunki square grid ko side se wide karna nodes ko ek ki jagah do dimensions mein spread karta hai.
    • Hypercube : double karne se sirf +1 hop add hota hai (ek aur dimension = ek aur bit) — yellow curve nearly flat hai. Poora ek dimension add karne ka cost sirf ek extra flip hai, toh diameter sabse slow possible tarike se grow karta hai. Numbers ordering visually aur arithmetically confirm karte hain: . Yeh kyun matter karta hai: thousand-core chips ke liye sirf log-class topologies latency sane rakhti hain — high router degree ki cost par (System-on-Chip (SoC) Design).
Recall Example 7 Verify karo

Mesh ✓; hypercube ✓; ring ✓. Ordering ✓. Doubling test: ring , mesh , hypercube ✓.


Example 8 — Real-world word problem (cell H)

Steps.

  1. par har candidate ke liye degree aur diameter tabulate karo:

    • Ring: degree 2, .
    • Mesh : degree 4 (interior), .
    • Hypercube : degree 4, . Yeh numbers kyun? Degree router power drive karta hai (Power Management in SoCs); diameter worst-case latency drive karta hai.
  2. Latency constraint " hops" apply karo: ring ✓ (just barely), mesh ✓, hypercube ✓. Sab pass karte hain. Pehle yeh kyun check karo? Jo design hard constraint violate kare woh disqualify ho jaata hai chahe power kitni bhi acchi ho.

  3. Power priority apply karo (degree minimize karo): ring degree 2 se jeetta hai, mesh/hypercube ke ports ka half. Degree kyun, diameter nahi, decide karta hai? Problem kehti hai power strict budget hai aur traffic light & local hai — toh bisection bandwidth (ring ki weakness) koi khas matter nahi karti, jabki low port count directly power bachata hai.

  4. Choice: Ring. Yeh 8-hop ceiling exactly meet karta hai, minimal degree 2 hai, lowest wiring/power hai, aur light local traffic kabhi iske poor bisection ko stress nahi karta. Mesh kyun nahi? Mesh ki better latency (6 vs 8) yahaan needed nahi hai, aur iske degree-4 routers zyada power burn karte hain — is budget ke under ek bura trade.

Recall Example 8 Verify karo

Ring diameter limit ✓ ( satisfy karta hai). Degrees: ring 2 mesh 4 hypercube 4 ✓. Ring min-degree feasible option hai ✓.


Example 9 — Exam twist: non-square torus with odd dimension (cell I)

Steps.

  1. Sahi diameter: hops. Har term alag kyun floor karo? 5 ki odd-length ring par, sabse door node 2 hops door hai, 2.5 nahi — aap half hop nahi le sakte. Sum ko round karna (student ka ) fractional hops double-count karta hai jo exist hi nahi karte.

  2. Student ki error pakdo: unhone compute kiya. Sach floor before adding karta hai: . Yeh mistake diameter ko 1 se inflate kar deti hai. Order kyun matter karta hai? ; pehle floor karna physically correct per-axis half-ring hai, aur yeh chota hota hai.

  3. Bisection: . aur kyun? Short axis (3 rows) ke across kaato taaki fewest links sever ho, phir torus wrap ke liye double karo. .

Recall Example 9 Verify karo

✓ (student ka 4 galat hai). Bisection ✓.


Recall Self-test

Ek mesh ka diameter? ::: hops. Ek torus ka diameter? ::: hops. Hypercube node 0 se node 15 tak hops (4-cube mein)? ::: , chaar 1s → 4 hops. Ring ki bisection kabhi kyun nahi badhti? ::: single loop ka koi bhi cut exactly 2 links sever karta hai.

Yeh bhi dekho: Routing Algorithms (packets actually yeh paths kaise choose karte hain), Cache Coherence Protocols (network par kaunsi traffic ride karti hai), Latency and Throughput Trade-offs (diameter vs. bisection design tension kyun hai).