The computer systems we build today feature programmable processing units which interact with a number of devices, each controlled by an I/O controller. There's also a memory.

Clearly the picture is an oversimplification. Each CPU can have one or more cores. Memory itself is layered (caches, main, secondary). Machines themselves are networked, giving the appearance of one large machine made up of smaller ones.
Devices are roughly classified into input devices, output devices and storage devices. Examples of devices are
| Input Devices | Output Devices | Storage Devices |
|---|---|---|
|
Keyboard Mouse Light Pen Joystick Joyswitch Trackball Digitizer Video Camera Microphone (Voice Recognizer) Scanner Surface Data Glove |
Display Printer Plotter Film Recorder Hologram Generator Robot Arm Speaker (Voice synthesizer) |
Disk Drive CD or DVD Drive Tape Drive |
Modern computer systems have a layered organization, which each layer either using the services of, or being physically built from, entities on the level directly below it.
| Layer | People | Domain |
|---|---|---|
| Application Programs | Application Programmers | Software |
| System Utility Programs | System Programmers | |
| Operating System | ||
| I/O System (BIOS) | ||
| Computer System | Computer Engineers | Hardware |
| CPU | Computer Architects | |
| Memories, Logic Circuits, Fliop-Flops, Gates | Logic Designers | |
| Transistors, Diodes, Resistors, Power Supplies | Materials Scientists |
In no particular order: