In this chapter we discuss the I/O subsystem. The I/O subsystem is the means by which the CPU communicates with the outside world, that is, devices other than the CPU and memory.
As you have learned, the CPU executes instructions, and memory provides a place to store data and instructions. Most programs read data from one or more input devices, process the data, then write the results to one or more output devices. Typical input devices are keyboards and mice. Common output devices are display screens and printers. Although most people do not think of them as such, disks, CD drives, etc. are considered I/O devices. It may be a little more obvious that a connection with the internet is also seen as I/O. The reasons will become clearer in this chapter, where we discuss how I/O devices are programmed.