6.3.1 · D5 · HinglishInterconnects, Buses & SoC

Question bankBus topologies and arbitration

1,678 words8 min read↑ Read in English

6.3.1 · D5 · Hardware › Interconnects, Buses & SoC › Bus topologies and arbitration

Yeh parent note Bus topologies and arbitration (6.3.1) ke liye ek question bank hai. Har item ek one-line reveal hai: prompt padho, apna jawab ek reason ke saath zor se bolo, phir check karo. Goal yeh hai ki is topic ke jo quietly misconceptions plant hote hain unhe pakda jaaye — arithmetic karne ka kaam nahi hai (woh drill pages mein hai).


Sach ya jhooth — justify karo

A shared parallel bus lets two masters transfer data at the same time as long as they use different address ranges
False. Shared bus mein saare masters ek hi physical wires use karte hain, isliye addresses chahe alag hon — kisi bhi waqt sirf one transaction hoti hai — yeh time-division multiplexing hai, spatial separation nahi.
A crossbar with masters and slaves can always run transfers at once
False. Yeh zyaada se zyaada transfers run kar sakta hai, aur tabhi jab koi do masters ek hi slave ko target na karein — agar do masters ek slave chahein toh us slave ke port par serialize hona padega.
Round-robin arbitration guarantees every master a bounded worst-case wait
True. Jab ek master skip hota hai toh woh zyaada se zyaada baaki masters ka wait karta hai, isliye — starvation impossible hai.
Fixed-priority arbitration gives the highest-priority master a bounded worst-case wait
True — lekin sirf highest wale ke liye, jo har cycle jeet sakta hai. Lowest-priority master ka wait unbounded hota hai — yahi asli trap hai.
TDM wastes bandwidth when a scheduled master has nothing to send
True. Pure TDM mein, ek slot reserve rehta hai chahe uska owner idle ho, toh woh slot unused chala jaata hai — yeh bilkul deterministic timing ki keemat hai.
A point-to-point topology (like a switch fabric) removes arbitration entirely
False. Arbitration phir bhi hoti hai, lekin woh distributed hoti hai — ek global arbiter ki jagah har switch port locally arbitrate karta hai.
Adding more devices to a crossbar keeps per-master bandwidth constant, so crossbars scale for free
False. Per-master bandwidth preserved rehti hai, lekin switch count (quadratic) badhta hai, isliye die area aur wiring cost explode ho jaati hai — bandwidth nahi, yahi crossbar ki size ko limit karta hai.
In a hierarchical/tree bus, two devices on the same local bus get full local bandwidth
True. Intra-bus traffic kabhi bridge nahi touch karta, isliye par chalta hai; sirf cross-bridge traffic tak throttle hoti hai.
Round-robin is always more efficient than fixed priority
False. Asymmetric load ke under (ek master busy, baaki idle) round-robin phir bhi idle masters ko poll karta rehta hai, cycles waste hoti hain, jabki fixed priority bus seedha active master ko de deta hai.

Error dhundo

"PCI is fast because it's a 32-bit parallel bus, so 10 devices each get the full 133 MB/s."
Error hai sharing ko ignore karna. 133 MB/s total bandwidth hai, jo contending masters mein split hoti hai — 10 devices ke contention mein har ek roughly dekhta hai, ~13 MB/s tak girta hai.
"A crossbar has no arbitration, that's the whole point of parallel paths."
Galat — crossbar ko per-slave arbitration chahiye hoti hai. Parallel paths tabhi kaam karti hain jab masters alag slaves hit karein; do masters jo ek hi slave target karein woh phir bhi us ek port ke liye ladte hain.
"Fixed priority is fair because the most important task always wins."
Error hai priority aur fairness ko ek samajhna. Importance binary nahi hoti: ek low-priority lekin latency-sensitive task (audio DMA) deadlines miss kar sakta hai jab ek high-priority CPU bus hog kare. Fairness ke liye sabko bounded latency chahiye.
"TDM needs a fast arbiter because it decides the winner every cycle."
TDM ulta karta hai — schedule precomputed hota hai, isliye slot ke dauran grant pehle se tay hoti hai aur koi arbitration logic nahi chalta. Isliye TDM sasta aur deterministic hota hai.
"Switching from shared PCI to PCIe made things faster mainly by raising the clock."
Badi wajah topology hai: PCIe point-to-point hai dedicated lanes ke saath, isliye short impedance-matched traces GHz signaling enable karti hain aur woh electrical loading hata di jo shared-bus frequency cap karti thi.
"Round-robin worst-case wait is transactions for masters."
Off by one. Ek skipped master baaki masters ka wait karta hai, giving nahi.
"Because a crossbar avoids a shared data bus, its cost grows linearly with the number of ports."
Cost quadratic hai: switches. Ek 8×8 crossbar ko pehle se 64 switches chahiye — yahi superlinear growth hai isliye bade systems Network-on-Chip ki taraf jaate hain.

Why questions

Why does adding devices to a shared bus lower its maximum clock frequency?
Har device shared wires mein capacitance add karta hai, signal rise/fall times slow ho jaati hain; slower edges ke liye lower clock chahiye taaki signals valid rahen, isliye heavy loading ka matlab hai lower .
Why does fixed priority cause starvation but round-robin does not?
Fixed priority hamesha top requester ko re-select karta hai, isliye ek busy high-priority master lower ones ko forever lock out kar sakta hai; round-robin pointer advance karta hai har grant ke baad, guarantee karta hai ki slots mein sabko turn milega.
Why is TDM preferred for hard real-time systems even though it wastes idle slots?
Kyunki ek master ko exact time pata hoti hai jab use bus milegi — bounded, jitter-free latency zyaada important hai peak utilization se jab deadline miss karna hard failure ho.
Why does a crossbar give "zero interference" between, say, a CPU reading DRAM and a GPU writing a display buffer?
Woh alag slaves ko target karte hain, isliye switch matrix har ek ko ek independent point-to-point path par route karta hai — unke beech contend karne ke liye koi shared data wire nahi hai.
Why do hierarchical buses place frequently-communicating devices on the same local bus?
Taaki unka traffic local rahe — woh par chale, bridge latency avoid kare, aur root bus congest na kare jis par doosre subtrees depend karte hain.
Why is arbitration overhead a real cost even when no collision happens?
Bus idle rehti hai arbitration cycles ke dauran jab arbiter resolve kar raha hota hai ki kaun jaaye; un cycles mein koi data nahi jaata, isliye woh seedha usable bandwidth se subtract hote hain.
Why can cache-coherence traffic make a shared bus worse than its raw bandwidth suggests?
Coherence extra transactions (invalidations, snoops) add karti hai jo har master ko shared wires par observe karni padti hain, ek shared pathway consume karta hai chahe koi useful data move na ho.

Edge cases

What happens in round-robin when the master whose turn it is has no request?
Arbiter use skip kar deta hai aur pointer next master tak advance karta hai — data ke liye koi bus cycle waste nahi hota, halaanki check itself asymmetric load mein ek cycle le sakta hai.
What is the worst-case latency for the highest-priority master under fixed priority?
Essentially ek transaction — woh apne neeche sabko preempt kar sakta hai, isliye uska wait bounded hai us transfer se jo already chal rahi hai (ya ek atomic/locked burst jise woh interrupt nahi kar sakta).
For a crossbar with master, how many concurrent transfers are possible and does the crossbar help?
Sirf transfer at a time, isliye crossbar ki parallelism koi benefit nahi deti — ek akela master multiple simultaneous paths exploit nahi kar sakta; tumne switches ek plain link ke liye kharche.
In TDM, what does a master with zero assigned slots () experience?
Use kabhi bus access nahi milta — uski allocated bandwidth . Yeh ek valid (lekin useless) configuration hai aur dikhata hai ki TDM allocation check karni chahiye ki har active master cover ho.
If bridge bandwidth equals local bandwidth (), what does a hierarchical bus reduce to for cross-bus traffic?
Cross-bus transfers dekhte hain, isliye bridge bottleneck nahi rehta aur inter-bus traffic intra-bus jaisi behave karti hai — is case mein hierarchy sirf wiring bachata hai, bandwidth nahi.
What is per-master bandwidth on a shared bus when only one master is active ()?
Poori bus bandwidth penalty sirf contention mein aati hai; akela master slow nahi hota, isliye shared buses tab tak theek lagte hain jab tak load nahi badhta.
In a crossbar, what happens when all masters simultaneously target the same slave?
Woh us slave ke port par fully serialize ho jaate hain — concurrency 1 par collapse ho jaati hai, isliye yeh worst case bilkul shared bus jaisa perform karta hai crossbar ke hardware ke bawajood.
Recall Quick self-test

Which single property distinguishes a crossbar's cost from its bandwidth behaviour? ::: Bandwidth ke saath scale karta hai (helpful), lekin switch count ke saath scale karta hai (quadratic cost) — woh bahut alag rates par badhte hain. Name the arbitration scheme that needs no runtime arbiter during a grant. ::: TDM — schedule precomputed hota hai, isliye har slot ka winner pehle se fixed hota hai.