Modern computer systems have a recursive structure of processing and storage elements that are interconnected to make larger elements. Above the lowest level of transistors and gates, the essential character of these connections changes surprisingly little over about nine orders of magnitude in time and space. Here are some examples:
Functional units connected to registers and on-chip cache.
Processor chips connected to cache memories.
Multiple processors and caches connected to main memories.
Computing nodes connected by a message-passing LAN.
LANs bridged to form an extended LAN.
Networks connected in a wide-area internet.
All the computers in the world exchanging electronic mail.
The important properties of connections are latency, bandwidth, connectivity, availability, and cost. The basic mechanism for connecting lots of things is multiplexing, but there are many ways to implement it. This lecture describes some of these ways and considers how different levels of the recursive hierarchy interact.