Siksha Sarovar

Siksha Sarovar (sikshasarovar.com) is a free educational web application that helps students in India learn programming and prepare for academic and competitive exams. The platform offers structured coding courses (C, C++, Python, Java, HTML, CSS, PHP, Power BI, AI, Machine Learning, Data Science), complete university curriculum notes for BCA/MCA students with previous year question papers, Class 10 and Class 12 CBSE/HBSE school notes, and dedicated preparation material for SSC, UPSC, Banking, Railway and other government exams. Browsing the site is completely free and requires no account. Users may optionally sign in with Google solely to save their learning progress, quiz scores and personal preferences across devices.

Privacy Policy | Terms of Service | Contact Siksha Sarovar | About Siksha Sarovar

v4.0.9 · PWA
Siksha Sarovar logo
Siksha Sarovar
Your Learning Universe

Siksha Sarovar is a free e-learning platform for coding courses, BCA university notes and competitive exam preparation. Optional Google sign-in saves your learning progress across devices.

Initializing knowledge base…
Compiling modules 0%

Unit 5: Bus Organization, Arbitration & Standards

Lesson 15 of 17 in the free Logical Organization of Computer-II notes on Siksha Sarovar, written by Rohit Jangra.

2.1 Anatomy of a Bus

A bus is a shared set of lines connecting CPU, memory and I/O — cheap and extensible precisely because it is shared, which then creates the two problems this lesson solves: timing (when is data valid?) and arbitration (who may talk?).

Sub-busCarriesDirectionNotes
Address buslocation being accessedCPU → memory/I/Owidth fixes addressable space: 32 lines → 2³² = 4 GB
Data busthe data itselfbidirectionalwidth = word transferred per cycle (64 bits typical)
Control busREAD/WRITE strobes, clock, interrupt, bus-request linesmixedorchestrates everything

2.2 Synchronous vs Asynchronous Buses

Synchronous: all events are tied to a shared clock — the protocol is "address on edge 1, data valid on edge 3." Simple, fast logic, but every device must keep up with the clock, and the bus must be short (clock skew). Asynchronous: no shared clock; validity is negotiated by handshaking, so fast and slow devices coexist and the transfer takes exactly as long as the slave needs.

Two-way handshake (source-initiated write):
1. Master: places data, raises  MSYN (master ready)
2. Slave : accepts data, raises SSYN (slave done)
3. Master: sees SSYN, drops MSYN (and data)
4. Slave : sees MSYN low, drops SSYN     -> bus idle again
AspectSynchronousAsynchronous
Timing referencecommon clockhandshake signals
Speed matchingall locked to slowest device classeach transfer self-timed
Interface logicsimplermore complex
Bus lengthshort (skew)can be longer
Examplesclassic memory buses, PCIUnibus-style peripheral buses

A simpler cousin: the strobe — one control pulse from source or destination announces the transfer, but with no acknowledgment the sender never learns whether data was actually taken; the handshake exists precisely to add that confirmation. This "strobe vs handshake" contrast is a standard 5-marker.

2.3 Bus Arbitration

With several potential bus masters (CPU, DMA controller, other processors), an arbiter must serialise access. Three centralized schemes:

  • 1. Daisy chaining: one shared bus-request line; the grant signal snakes through devices in priority order, and the first requester absorbs it. Cheapest (few lines), fixed priority, starvation possible, one dead device severs the chain.
  • 2. Polling: the arbiter broadcasts device numbers on poll lines (log₂ n lines); when a requesting device sees its own number it claims the bus. Priority = polling order, which software can rotate — flexible, but slower.
  • 3. Independent requests: every device has its own request and grant pair into a priority encoder. Fastest arbitration, fully programmable priority, cost = 2n lines.
CriterionDaisy ChainPollingIndependent
Extra lines~2log₂ n2n
Arbitration speedslow (propagation)slowestfastest
Priorityfixed by positionrotatablefully flexible
Fault sensitivityhighmoderatelow

Distributed arbitration (no central arbiter — contenders drive their IDs on shared lines and the highest self-selects) appears in short-note form.

2.4 Standard Buses: PCI and USB

  • PCI: classic parallel shared bus — 32/64 bits wide at 33/66 MHz (32-bit @ 33 MHz → 133 MB/s peak), multiplexed address/data lines, plug-and-play configuration space, centralized arbitration. Its scaling wall (skew across many parallel lines, shared bandwidth) led to PCI Express: serial point-to-point lanes (x1/x4/x8/x16), packet-switched, no sharing — e.g., a Gen3 lane ≈ 1 GB/s, so a x16 GPU slot ≈ 16 GB/s.
  • USB (Universal Serial Bus): serial, host-centric tiered-star topology, up to 127 devices per host controller, hot-pluggable, supplies power. Generations: USB 1.1 → 12 Mbps, 2.0 → 480 Mbps, 3.0 → 5 Gbps, USB4 → 40 Gbps. Transfer types (control, interrupt, bulk, isochronous) map neatly onto device needs — isochronous (guaranteed bandwidth, no retry) for audio/video is the detail examiners fish for.

🎯 Exam Focus

  1. Name the three bus groups and state what a 20-bit address bus with a 16-bit data bus can address.
  2. Differentiate synchronous and asynchronous bus transfers; draw/describe the two-way handshake sequence.
  3. Why does a strobe-based transfer need upgrading to a handshake? What failure does it fix?
  4. Compare daisy chaining, polling and independent-request bus arbitration (lines, speed, priority, fault tolerance).
  5. Contrast PCI and PCI Express on topology, signalling and scalability.
  6. Describe USB's topology, device limit and the four transfer types with one use case each.