Section 15.1 System architecture
The structure of a large digital system is shown in Figure 15.1.1.

Block diagram
Signals from external sources (sensors, switches, data streams like WiFi or Bluetooth) supply data to the core processor, which performs logical and arithmetic operations on the data. The results flow to output devices (displays, actuators, data streams).
At the beginning of a system design process, the requirements for the system are identified -- what is purpose of the system, what are its inputs and outputs, how must input data be processed to produce output data? Separating the I/O from the core processor enables modular design, construction, and testing.
Input and output devices may be quite simple, like a pushbutton or an LED. These are either ON or OFF, and their connections to the core processor can be simple and direct. Other inputs and outputs are more complex -- e.g., analog-to-digital and digital-to-analog converters, GPS receivers, video displays, motors. Some sensors have analog outputs, others are digital, and digital sources output their data in different formats. An interface takes the data as it comes from the input device and communicates it to the core processor in a consistent way. Likewise, on the output side, a motor is very different from a video display, and the interface adapts the data as it comes from the processor to the requirements of the output device. Once an interface for a particular device has been designed and tested, it may be reused in a future system design.

