Interconnects, Buses & SoC
Level: 2 (Recall / Standard textbook problems) Time limit: 30 minutes Total marks: 50
Answer all questions. Show working where calculation is required. Use for any math notation.
Q1. (4 marks) Define bus arbitration. Briefly distinguish between centralized and distributed arbitration schemes (1 example each).
Q2. (5 marks) For PCI Express, complete the following table of per-lane raw bit rates and the encoding used:
| Generation | Raw rate per lane (GT/s) | Encoding |
|---|---|---|
| PCIe 3.0 | ? | ? |
| PCIe 4.0 | ? | ? |
| PCIe 5.0 | ? | ? |
Q3. (6 marks) A PCIe 4.0 link operates at GT/s per lane using encoding. (a) Compute the usable (payload) bandwidth per lane in one direction, in GB/s. (4) (b) Hence give the total bidirectional bandwidth of a link. (2)
Q4. (4 marks) Define SerDes. State two reasons why modern high-speed interconnects (e.g. PCIe, NVLink) use serial rather than parallel signaling.
Q5. (5 marks) Name the five channels of the AXI (AMBA) protocol and state, in one line, whether each carries read or write traffic.
Q6. (5 marks) Explain what a DMA controller does and why it improves system performance compared with programmed I/O. State what a "cycle-stealing" DMA mode is.
Q7. (5 marks) Define CXL (Compute Express Link). Name its three protocol sub-layers (the three "CXL.*" protocols) and state the base PCIe generation CXL 2.0 is built upon.
Q8. (6 marks) For a Network-on-Chip, briefly define the following topologies and give the number of links required for nodes where asked: (a) Ring — definition + number of links for nodes. (3) (b) 2D Mesh — definition. (2) (c) State one advantage of a mesh over a shared bus. (1)
Q9. (5 marks) (a) What is an IP core in the context of SoC design? (2) (b) Distinguish between a soft IP core and a hard IP core. (3)
Q10. (5 marks) NVLink 3.0 provides a per-link bandwidth of GB/s per direction, and an NVIDIA A100 GPU uses such links. (a) Compute the total bidirectional NVLink bandwidth of the A100. (3) (b) State one advantage of NVLink over PCIe for GPU-to-GPU communication. (2)
End of paper
Answer keyMark scheme & solutions
Q1. (4 marks)
- Bus arbitration = the mechanism that decides which master gets control of a shared bus when multiple masters request it simultaneously, preventing conflicts. (2)
- Centralized: a single bus arbiter grants access — e.g. daisy-chaining / centralized parallel priority. (1)
- Distributed: arbitration logic is spread across devices, each decides locally — e.g. self-selection / collision-detection (CSMA). (1)
Q2. (5 marks) — 1 mark per correct rate, encoding half-marks rounded up.
| Generation | Rate (GT/s) | Encoding |
|---|---|---|
| PCIe 3.0 | 8 | 128b/130b |
| PCIe 4.0 | 16 | 128b/130b |
| PCIe 5.0 | 32 | 128b/130b |
Rates: 3× (2), encodings: correct (3). (PCIe 1.0/2.0 used 8b/10b; 3.0 onward use 128b/130b.)
Q3. (6 marks) (a) Encoding efficiency . Raw = GT/s bits/s. Usable bits/s bits/s. (2) Convert to bytes: GB/s per lane. (2) (b) link, one direction GB/s; bidirectional GB/s. (2)
Q4. (4 marks)
- SerDes = Serializer/Deserializer: a block that converts parallel data to a serial stream for transmission and back to parallel at the receiver. (2)
- Reasons (any two, 1 each): fewer wires/pins → cheaper, less board area; avoids clock/data skew between parallel wires at high frequency; less crosstalk; embedded clock allows much higher per-line data rates. (2)
Q5. (5 marks) — 1 mark each channel.
- AW (Write Address) — write
- W (Write Data) — write
- B (Write Response) — write
- AR (Read Address) — read
- R (Read Data + response) — read
Q6. (5 marks)
- A DMA controller transfers data directly between memory and I/O (or memory-to-memory) without CPU involvement for each word. (2)
- Benefit: the CPU is freed to do other work instead of moving every byte, and transfers occur at bus speed → higher throughput, lower CPU overhead. (2)
- Cycle-stealing: DMA takes control of the bus for one (or a few) bus cycle(s) at a time, "stealing" cycles between CPU accesses, rather than holding the bus for the whole block (burst mode). (1)
Q7. (5 marks)
- CXL = an open, cache-coherent interconnect built on the PCIe physical layer, enabling low-latency memory and cache sharing between CPU and accelerators/memory devices. (2)
- Three protocols: CXL.io, CXL.cache, CXL.mem. (2)
- CXL 2.0 builds on PCIe 5.0 (32 GT/s). (1)
Q8. (6 marks) (a) Ring: each node connects to exactly two neighbours forming a closed loop; data hops around the ring. Links for nodes . (3) (b) 2D Mesh: nodes arranged in a grid, each connected to N/S/E/W neighbours (interior nodes have 4 links). (2) (c) Advantage: multiple concurrent transfers on different links → higher aggregate bandwidth and scalability (bus is shared/serialized). (1)
Q9. (5 marks) (a) IP core = a pre-designed, reusable block of logic/functionality (e.g. a CPU, USB controller) licensed and integrated into an SoC. (2) (b)
- Soft IP: delivered as synthesizable RTL/HDL; portable across processes, flexible, less optimized. (1.5)
- Hard IP: delivered as a fixed placed-and-routed layout (GDSII) for a specific process; optimized for area/speed/power but not portable. (1.5)
Q10. (5 marks) (a) Per link per direction GB/s. Bidirectional per link GB/s. Total GB/s. (3) (b) Advantage (any one): much higher bandwidth than PCIe; cache-coherent/direct GPU-to-GPU memory access; lower latency; dedicated links avoid PCIe root-complex bottleneck. (2)
[
{"claim":"PCIe 4.0 usable per-lane bandwidth ≈ 1.969 GB/s","code":"rate=16e9; usable=rate*128/130/8; result = abs(usable/1e9 - 1.969) < 0.01"},
{"claim":"PCIe 4.0 x8 bidirectional ≈ 31.5 GB/s","code":"perlane=16e9*128/130/8; bidir=8*perlane*2; result = abs(bidir/1e9 - 31.5) < 0.1"},
{"claim":"A100 NVLink3 total bidirectional = 600 GB/s","code":"total=12*25*2; result = total == 600"},
{"claim":"Ring topology link count for N nodes equals N","code":"N=symbols('N'); links=N; result = simplify(links - N) == 0"}
]