6.3.10 · D3 · HinglishInterconnects, Buses & SoC

Worked examplesIP cores and SoC bus fabric

2,415 words11 min read↑ Read in English

6.3.10 · D3 · Hardware › Interconnects, Buses & SoC › IP cores and SoC bus fabric

Ye page parent topic ka "har case pe prove karo" companion hai. Parent ne bataya tha kya hain AXI channels, crossbars, aur APB/AHB/AXI throughput. Yahan hum har tarah ke numeric question grind karte hain jo ye topic throw kar sakta hai — chote easy wale, degenerate wale (ek master, zero outstanding transactions), limiting wale (infinite burst length), ek real-world word problem, aur ek exam-style twist jo ek trap chhupaata hai.

Koi bhi formula aane se pehle hum use plain words mein rebuild karte hain, taaki koi bhi symbol aisa na ho jisse tum mila nahi ho.


The scenario matrix

Bus fabric throughput aur crossbar sizing ke har question ko in case classes mein se kisi ek mein daala ja sakta hai. Isse ek checklist samjho: agar tum har row se ek example answer kar sako, toh exam pe kuch bhi surprise nahi kar sakta.

# Case class Tricky kya hai Covered by
A Simple throughput (fixed cycles/transfer) bas numbers plug karo Ex 1
B Burst amortization (overhead N beats pe spread hota hai) "+overhead" term Ex 2
C Degenerate input — burst length = 1 overhead dominate karta hai, formula phir bhi kaam karna chahiye Ex 3
D Limiting input — burst length → ∞ throughput ek ceiling ke paas pahunchta hai Ex 4
E Parallelism (multiple outstanding transactions) multiply karo, lekin asli bottleneck dekho Ex 5
F Crossbar sizing (switches/arbiters ginana) growth, degenerate Ex 6
G Real-world word problem — bandwidth budget meet karna MB/s ↔ bits translate karo, protocol chuno Ex 7
H Exam twist — trap: bus width vs. clock vs. efficiency sab ek saath change hote hain bits aur bytes mix mat karo Ex 8

Do tools jo hum har jagah reuse karte hain:


Ex 1 — Case A: plain APB transfer

Forecast: padhne se pehle guess karo — kya ye 1-cycle bus se aage jayega ya peeche? (Peeche rehna chahiye, kyunki 2 cycles 1 se slow hai.)

Steps

  1. bits, cycles-per-transfer , Hz identify karo. Ye step kyun? Tool 1 ko exactly ye teen numbers chahiye; pehle naam lene se mix-up nahi hota.

  2. Tool 1 apply karo: Ye step kyun? Ye units convert karne se pehle raw bit-rate hai.

  3. Bits → bytes convert karo (8 se divide karo): Ye step kyun? MB/s woh unit hai jo question ne maangi thi.

Verify: Sanity — 2 cycles 1-cycle bus ki aadhi speed hai, aur 1-cycle 32-bit 100 MHz bus MB/s hai. 400 ka aadha 200 hai ✓. Parent note ke APB figure se match karta hai.


Ex 2 — Case B: AHB burst, overhead amortized

Forecast: 200 MB/s se zyada (APB se better) lekin ideal 400 MB/s se kam — kyunki 2 waste hue cycles 8 useful cycles mein chhupi hain.

Steps

  1. , , ko Tool 2 mein plug karo. Ye step kyun? Yahi "useful cycles vs total cycles" ka idea hai.

  2. Bytes mein convert karo: . Ye step kyun? Answer MB/s mein maanga gaya tha.

Verify: Efficiency . Aur ideal MB/s ka MB/s ✓.


Ex 3 — Case C: degenerate burst,

Forecast: ye APB-jaisi numbers ki taraf collapse karna chahiye, kyunki sirf 1 useful word ke saath 2 overhead cycles dominate karte hain.

Steps

  1. ko Tool 2 mein daalo. Kyun? Degenerate case formula ko break nahi karna chahiye — ise honestly plug karo.

  2. Convert karo: .

Verify: Efficiency . Ye APB ke 200 MB/s se bura hai — samajh aata hai: ek un-batched single word zyaatar cycles setup pe waste karta hai, isliye lone accesses ke liye bursting bekar hai. Yahi reason hai ki bursts exist karte hain.


Ex 4 — Case D: limiting behaviour,

Forecast: ideal 400 MB/s ke paas pahunchna chahiye lekin kabhi exceed nahi karna — fixed 2 cycles negligible ho jaate hain jab lakhon beats pe spread ho jaate hain.

Figure dikhata hai efficiency kaise 1 ki taraf badhti hai jab barhta hai:

Figure — IP cores and SoC bus fabric

Steps

  1. ke saath Tool 2 ka limit lo. Limit kyun? "Jab bahut bada ho jaata hai" bilkul wahi sawaal hai jiska limit jawab deta hai — ye wo value batata hai jiske paas curve creep karta hai lekin kabhi cross nahi karta. (Upar aur neeche se divide karo: .)

  2. Toh throughput bits/s .

Verify: Figure mein red curve dekho: ye dashed ceiling ki taraf flatten hoti hai aur kabhi touch nahi karti — bilkul wahi jo limit describe karta hai. Overhead amortized to zero ho jaata hai.


Ex 5 — Case E: AXI parallelism (multiple outstanding)

Forecast: roughly ek single burst ka 4× — lekin sirf tab agar slave aur wires actually carry kar sakein.

Steps

  1. Single-burst throughput (Tool 2): Ye step kyun? Multiply karne se pehle humein per-transaction number chahiye.

  2. 4 outstanding transactions se multiply karo: Ye step kyun? Outstanding transactions time mein overlap karte hain, isliye unke throughputs add hote hain — ek limit tak.

Verify: MB/s ✓ (parent ke ≈1400 MB/s estimate se match karta hai).


Ex 6 — Case F: crossbar sizing (aur degenerate )

Forecast: (a) switches ke saath badhte hain toh 32 expect karo; arbiters aur comparators ek-per-slave = 8 each. (b) ek master ke saath arbitrate karne ko kuch nahi.

Crossbar grid — har red dot ek switch hai:

Figure — IP cores and SoC bus fabric

Steps

  1. Switches . Kyun? Har master ko har slave tak possible path chahiye; wo ek crosspoint per (master, slave) pair hai — red dots gino.

  2. Arbiters . Kyun? Har slave ko ek saath kai masters request kar sakte hain; ek referee per slave winner choose karta hai.

  3. Address comparators . Kyun? Har slave ek address range own karta hai; ek comparator decide karta hai "kya ye address mera hai?"

  4. Degenerate : switches , lekin arbiters structurally exist karte hain, phir bhi har ek ke paas sirf ek requester hai → wo actually kabhi arbitrate nahi karte. Ye note kyun karo? Exam claim kar sakta hai "jab ho toh arbiters drop kar sakte hain." Structurally wo ek-per-slave hain; logically wo pass-through mein degenerate ho jaate hain. Dono baat kaho.

Verify: Complexity hai: ko double karke 8 karo toh switches milte hain — exactly double. Har dimension mein linear ✓.


Ex 7 — Case G: real-world word problem

Forecast: 4K60 famously "kuch GB/s" hai. Ek 64-bit 200 MHz link peak pe GB/s hai — ye close hoga, isliye carefully compute karo.

Steps

  1. Bytes per frame: bytes. Kyun? Per frame total data = width × height × bytes-per-pixel.

  2. Required bandwidth: frames/s: Kyun? Har second 60 frames, toh per-frame ko 60 se multiply karo.

  3. Link peak: bits at Hz:

  4. pe usable: . Kyun? Real fabrics kabhi peak nahi pahunchte; efficiency factor overhead cycles account karta hai.

  5. Compare karo: chahiye MB/s, mile MB/s. Link enough NAHI hai MB/s se short hai.

Verify: ✓, toh answer "no" sahi hai. Fix options: 128-bit tak widen karo, clock badhao, ya compression add karo. Units check: bytes/s vs bytes/s throughout ✓.


Ex 8 — Case H: exam twist (sab kuch ek saath change hota hai)

Forecast: eyeball mat karo — numbers engineered hain close rehne ke liye.

Steps

  1. Bus X: bits/s . Kyun? Tool 1 mein 1 cycle/transfer ke saath sirf reh jaata hai.

  2. Bus Y: bits/s .

  3. Compare karo: Bus X jeet jaata hai, MB/s. Surprise kyun? Width aur clock dono product ke roop mein matter karte hain. Narrow bus ke zyada clock ne compensate kar liya. Kabhi assume mat karo "wider = faster".

Verify: aur ; ratio , toh Bus X faster hai ✓. Bytes mein: vs ✓.


Recall

Recall

ka burst AHB ko APB se slow kyun bana deta hai? Ek useful word aur 2 overhead cycles ke saath, efficiency hai; bursting tabhi payoff karta hai jab kai words ek address phase share karein. ::: Overhead ek single-word transfer mein dominate karta hai.

Recall Jab burst length

ho, toh kaun sa throughput approach karta hai aur kyun? Ye — ceiling — approach karta hai — kyunki fixed cycles amortized to zero ho jaate hain. ::: Peak width×clock rate.

Recall Ek single 32-bit channel pe, 4 outstanding AXI transactions 4× bandwidth kyun nahi de sakte?

Wire abhi bhi sirf bits/s carry karta hai; outstanding transactions latency hide karte hain, wire capacity add nahi karte. Real 4× ke liye multiple physical channels chahiye. ::: Channel abhi bhi physical bottleneck hai.

Recall

masters aur slaves wale full crossbar mein: kitne switches, arbiters, comparators? switches, arbiters, comparators. ::: NM, M, M.

See also: Interconnect Topologies · DMA · Memory-Mapped I/O · DRAM Controllers · PCIe · Cache Coherence Protocols · Power Management