Skip to main content

1.4 Interconnection & Bus Structures

A computer system consists of three main modulesβ€”the CPU, main memory, and Input/Output modules. To form a working system, these components must communicate. This chapter details the shared communication pathways known as buses, compares synchronous and asynchronous timing protocols, traces asynchronous handshake sequences, and analyzes hardware-level bus arbitration schemes.

Learning Objectives

  • Identify the three categories of lines inside a system bus and state their functional purposes.
  • Explain the physical and operational differences between synchronous and asynchronous bus timing models.
  • Trace the handshake signal transitions (strobe vs. full handshake) during an asynchronous read and write cycle.
  • Compare the performance, clock skew issues, and design complexity of synchronous vs. asynchronous system buses.
  • Evaluate the scalability, priority resolution, and hardware lines required for Daisy Chain, Polling, and Independent Request arbitration.
Prerequisites

Before studying this chapter, you should review Chapter 1.2: Multilevel Hierarchical Framework to understand the system interconnection structures of a computer system.

1. Introduction to Interconnection Structures

A computer system's performance is not only determined by the speed of its CPU or the size of its memory, but also by the capacity of its interconnection pathways. The CPU must constantly fetch instructions and data operands from memory, and write results back. The I/O modules must transfer data to and from memory and issue interrupt requests to the CPU. The collection of paths connecting these modules is called the interconnection structure.

2. Why Buses Became Necessary

The evolution of computer interconnection architectures traces a path from simple, rigid connections to modern, high-speed packet-switched interfaces:

  • Point-to-Point Wiring: Early computers utilized dedicated, direct wiring paths between every pair of modules that needed to communicate. While point-to-point links offer maximum throughput, their physical wiring complexity scales quadratically ($O(N^2)$). For $N$ modules, connecting every module requires $N(N-1)/2$ separate physical links, creating an unmanageable mesh of wires as systems grow.
  • Bus-Based Architecture: To solve the point-to-point wiring crisis, designers introduced the shared system bus. A system bus is a shared communication pathway consisting of multiple physical wires. Only one pair of devices can communicate over the bus at any given moment. This shared topology reduces wiring complexity to $O(N)$ and allows easy expansion by plugging new modules into physical bus slots. However, the shared bus becomes a throughput bottleneck as multiple masters compete for access.
  • Modern Switched Interconnects: In modern high-performance systems, shared buses have been replaced by point-to-point switched interconnects (such as PCI Express, QPI/UPI, or HyperTransport). These networks use packet-switched routing and dedicated links to allow multiple parallel transfers, bypassing the shared bus bottleneck.

3. System Bus Partitions

A typical system bus consists of 50 to hundreds of separate physical lines. These lines are grouped into three functional partitions:

  • Data Bus: Transmits data bytes between modules. The number of physical lines determines the data bus width (e.g., 32 or 64 lines), which dictates how many bits the CPU can transfer in a single cycle.
  • Address Bus: Transmits the source or destination address of the data on the data bus. The address bus width determines the maximum addressable memory capacity of the processor. For example, a processor with a 32-bit address bus can access $2^{32}$ bytes ($4\text{ GB}$) of physical memory space.
  • Control Bus: Transmits command, timing, and status signals to coordinate bus access and operations. Key control lines include Memory Read/Write, I/O Read/Write, Transfer Acknowledge, Bus Request, Bus Grant, Clock, and Interrupt lines.
[Figure 1.4.1: Three-Bus Interconnection Architecture]
  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”         β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”         β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚    CPU    β”‚         β”‚ Main Memory  β”‚         β”‚ I/O Module  β”‚
  β””β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜         β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜         β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜
        β”‚                      β”‚                        β”‚
  ======β•ͺ======================β•ͺ========================β•ͺ====== Data Bus
        β”‚                      β”‚                        β”‚
  ======β•ͺ======================β•ͺ========================β•ͺ====== Address Bus
        β”‚                      β”‚                        β”‚
  ======β•ͺ======================β•ͺ========================β•ͺ====== Control Bus
                                
Figure 1.4.1: The three functional partitions of a shared system bus connecting CPU, memory, and I/O.

4. Bus Arbitration

Because the system bus is shared, a conflict arises if multiple master devices (e.g., CPU, DMA controller) attempt to control the bus simultaneously. Bus arbitration is the process of selecting a single master to control the bus for the next cycle. Arbitration schemes are classified as:

4.1 Daisy Chain Arbitration (Serial Priority)

In a Daisy Chain scheme, all masters are connected in a serial link. When a bus request occurs:

  1. A master asserts the shared Bus Request (BR) line.
  2. The Arbiter responds by asserting the Bus Grant (BG) signal, which is wired to the physically closest master (Master 1).
  3. If Master 1 does not need the bus, it passes the BG signal to Master 2. If a master needs the bus, it intercepts the BG signal and asserts Bus Busy (BB).

Trade-offs: Very simple and requires few control lines. However, priority is fixed by physical placement (causing starvation of distant masters), and a failure in any device's pass-through logic breaks the chain.

4.2 Polling and Independent Request Arbitration

  • Polling: The arbiter contains a counter. On a request, it cycles through device addresses on a set of polling lines. The first requesting device that matches the polled address takes control. Priority can be dynamically changed by altering the starting address of the poll.
  • Independent Request: Every master has its own dedicated Bus Request (BR_i) and Bus Grant (BG_i) lines to the arbiter. The arbiter resolves conflicts instantly using priority encoders. This scheme offers the fastest response time and dynamic priority masking but requires a large number of physical pins.

5. Bus Timing Models

Bus timing dictates how data transfers are coordinated over time. The two fundamental timing models are:

  • Synchronous Timing: All bus events are referenced to a global, square-wave clock signal. A transfer cycle occurs within a fixed number of clock periods.
    • Pros: Simple control logic, very high speeds over short physical distances.
    • Cons: All devices must operate at the speed of the slowest device. Subject to **clock skew** (propagation delays mismatching the clock edges at distant parts of the bus).
  • Asynchronous Timing: Bus events are coordinated using handshake signals. One event triggers the next, allowing devices of widely varying speeds to communicate.
    • Pros: Flexible, no clock distribution issues, no clock skew, easily interfaces slow peripherals.
    • Cons: More complex interface logic, susceptible to noise on handshaking lines.

6. Asynchronous Handshake Protocols

Asynchronous buses use handshake lines (typically Master Sync [MSYN] and Slave Sync [SSYN], or Request and Acknowledge) to coordinate transfers. Let's trace a **4-Phase Full Handshake Read Cycle**:

[Figure 1.4.2: 4-Phase Asynchronous Handshake Read Diagram]
  Address:  === VALID =========================
               β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  Request:  β”€β”€β”€β”˜                └──────────────
                     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  Acknowledge: β”€β”€β”€β”€β”€β”€β”˜                └────────
                     === DATA VALID ===
  Data Bus: ─────────▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒────────
               (1)   (2)        (3)   (4)
                                
Figure 1.4.2: Signal transitions during a 4-phase asynchronous read handshake.

The 4 phases of the read handshake proceed as follows:

  1. Phase 1 (Master Initiates): The master places the address on the address bus. After a short delay (to allow the signals to stabilize), the master asserts the **Request** (or MSYN) line. This alerts the slave devices to decode the address.
  2. Phase 2 (Slave Responds): The target slave decodes the address, fetches the requested data from its storage cells, places the data on the data bus, and asserts the **Acknowledge** (or SSYN) line.
  3. Phase 3 (Master Clears Request): The master reads the data from the data bus. Once the data is successfully copied into the CPU's internal buffer (MBR), the master deasserts its **Request** line.
  4. Phase 4 (Slave Clears Acknowledge): Seeing the request line go low, the slave releases the data bus and deasserts its **Acknowledge** line. The cycle is complete, and the bus is ready for the next transfer.

7. Worked Examples & Numerical Problems

Numerical Example 1.4.1

Bus Bandwidth Calculations

Problem: A synchronous system bus operates at a clock frequency of $100\text{ MHz}$. Each bus cycle requires 2 clock periods to transfer a single 32-bit data word. Calculate the maximum bus bandwidth in Megabytes per second ($\text{MB/s}$).

Solution:

  1. Determine clock cycle duration: $$T_{clock} = \frac{1}{f} = \frac{1}{100\text{ MHz}} = 10\text{ ns}$$
  2. Determine bus cycle duration: $$T_{bus\_cycle} = 2 \times T_{clock} = 2 \times 10\text{ ns} = 20\text{ ns}$$
  3. Convert bus width to bytes: $$\text{Width} = \frac{32\text{ bits}}{8\text{ bits/byte}} = 4\text{ bytes}$$
  4. Calculate Bandwidth: $$\text{Bandwidth} = \frac{\text{Bytes Transferred}}{\text{Bus Cycle Duration}} = \frac{4\text{ bytes}}{20\text{ ns}} = 0.2 \times 10^9\text{ bytes/sec} = 200\text{ MB/s}$$

Answer: The maximum bus bandwidth is **$200\text{ MB/s}$**.

Solved Exam Question 1.4.1

Synchronous Bus Wait States

Problem: A CPU operating on a synchronous bus at $50\text{ MHz}$ accesses a RAM chip. A standard read cycle on this bus takes 2 clock cycles. The RAM chip requires a minimum access time of $55\text{ ns}$. How many **wait states** must the Control Unit insert for a successful read operation?

Solution:

  1. Calculate clock period: $$T_{clock} = \frac{1}{50\text{ MHz}} = 20\text{ ns}$$
  2. Determine standard cycle read duration: $$\text{Duration} = 2 \times 20\text{ ns} = 40\text{ ns}$$
  3. Evaluate RAM access time constraint: The RAM requires $55\text{ ns}$ to place data on the bus. Because $40\text{ ns} < 55\text{ ns}$, the CPU will read invalid data if it samples at the end of the standard cycle.
  4. Calculate required wait states: Each wait state adds 1 clock cycle ($20\text{ ns}$). - With 1 wait state: $\text{Total Cycle Time} = 40\text{ ns} + 20\text{ ns} = 60\text{ ns}$. Because $60\text{ ns} \ge 55\text{ ns}$, the RAM access constraint is met.

Answer: The Control Unit must insert exactly **1 wait state**.

Oral & Viva Voce Question 1.4.1

Daisy Chain Arbitration Priority

Question: "Why is Daisy Chain arbitration susceptible to device starvation, and how can it be resolved?"

Model Answer: Daisy Chain priority is physically determined by the order in which the Bus Grant (BG) signal propagates through the devices. Devices physically closer to the arbiter receive the grant signal first and can intercept it. If these closer devices request the bus frequently, distant devices will never receive the BG signal, leading to starvation. This can be resolved by using dynamic polling arbitration or independent request schemes with priority rotating algorithms (e.g., Round Robin).

8. Core Comparison Tables

Table 1.4.3: Synchronous vs. Asynchronous Timing

Feature Synchronous Timing Asynchronous Timing
Coordination Mechanism Global central clock signal. Handshake lines (Request / Acknowledge).
Device Speed Support Devices must match clock speed; slow devices require wait states. Supports wide speed variations dynamically.
Clock Skew Issues High risk; limits physical length of bus. None; no global clock distributed on the bus.
Control Circuitry Simple state machine logic. Complex asynchronous interlocking circuits.

Table 1.4.4: Bus Arbitration Topologies

Scheme Physical Wiring Complexity Arbitration Speed Reliability / Fault Tolerance
Daisy Chain Low (Few shared control lines) Slow (serial propagation of BG signal) Poor (Single device break halts bus)
Polling Medium (Requires $Log_2(N)$ poll lines) Medium (Scan cycle latency) Good (Arbiter bypasses failed devices)
Independent Request High (Dedicated request/grant pairs per master) Fast (Instantaneous priority decoding) Excellent (No device failure halts others)

9. Common Mistakes Students Make

🎯 Key Takeaways

  • The **System Bus** consists of three partitions: Data (operand transport), Address (location mapping), and Control (timing and command coordination).
  • **Bus Arbitration** is mandatory to prevent bus contention among multiple masters. Schemes include Daisy Chain (serial priority), Polling, and Independent Request.
  • **Synchronous timing** relies on a central clock but suffers from clock skew. **Asynchronous timing** coordinates transfers dynamically using handshakes.
  • A **4-phase asynchronous handshake** uses mutual interlocking of Request and Acknowledge transitions to guarantee noise-free data transport.

πŸ”— Connection to Future Chapters

The bus concepts learned here directly feed into the memory connections in **Chapter 3.1**, and asynchronous handshake signals are revisited in **Chapter 3.7** (Asynchronous Transfer).

10. Assessment Bank

10.1 Multiple Choice Questions

Q1. Which bus arbitration scheme requires the greatest number of physical control lines?
Q2. What physical phenomenon limits the maximum length of a synchronous bus operating at high frequencies?
Q3. During Phase 3 of a 4-phase asynchronous read handshake, which signal transition occurs?
Q4. Which line in the system bus is classified as a control line?

10.2 Short Answer Questions

  1. Why does point-to-point wiring become unmanageable as the number of CPU modules increases? State the complexity class.
  2. Explain the concept of "Wait States" in a synchronous bus system.
  3. State one advantage and one disadvantage of Daisy Chain bus arbitration.

10.3 Long Answer / Exam Questions

  1. Illustrate the complete timing transitions of a 4-phase asynchronous write cycle. Draw the signal waveforms for Address, Request, Acknowledge, and Data lines, and detail the hardware transitions that happen in each phase.
  2. Compare Daisy Chain, Polling, and Independent Request bus arbitration models. Analyze their wiring overhead (number of pins), priority flexibility, and fault-tolerance (reliability).

10.4 Viva Voce Questions

  1. "What is a split-transaction bus, and how does it improve system bandwidth?" Model Answer: A split-transaction bus splits a single read operation into two separate bus cycles: a request cycle (where the master requests data) and a response cycle (where the slave returns the data). While the slave is fetching data internally, the bus is released so other devices can use it, improving overall throughput.
  2. "How does a system bus differentiate between memory locations and I/O devices on a shared address bus?" Model Answer: The bus uses control lines (e.g. Memory Read/Write vs. I/O Read/Write) or memory-mapped I/O spaces (allocating a specific range of addresses to I/O devices rather than physical RAM).

References

  1. IUST COA Syllabus, CS-301 course structure, Topic 4: "Interconnection Structures & Bus Interconnections (Synchronous/Asynchronous)." [Local Verified]
  2. COA Class Notes, Interconnection structures and Daisy Chain arbitration, Pages 15, 27–29. [Local Verified]
  3. Handwritten COA Notes, Bus structures and timing models, Page 21. [Local Verified]
  4. William Stallings, Computer Organization and Architecture: Designing for Performance, 11th Edition, Pearson, 2019. Chapter 3: System Buses. [Pending Verification]
  5. Prof. Onur Mutlu, Interconnection Networks, CMU 18-447: Computer Architecture. Lecture 12. [Pending Verification]