When the system is first switched on, the microprocessor is automatically “fed” the codes stored in the ROM, starting from the first memory location. These codes instruct the microprocessor to perform the function it was designed for. e.g. The program stored in the ROM could instruct the microprocessor to be a washing machine controller, a mobile phone or a personal computer, etc. Once enough instructions have been received, the system becomes “intelligent" enough for the microprocessor to take control of the system buses and control the subsequent operation of the system.
The RAM can be used by the microprocessor to store temporary information, e.g. if this were in a washing machine control circuit, the temperature of the water could be checked at intervals and the value stored in the RAM.
The address bus is unidirectional (one way) in this simple system and only the microprocessor is allowed to place addresses on the address bus. In early systems the address bus had 16 wires and therefore the largest binary number which could be transmitted was 16 bits long. This limited the maximum number of addressable locations to 64KB.
Most of the control signals are sent by the microprocessor, but there are important signals that can be sent to the microprocessor from other devices in the system. One example is interrupt requests (IRQs). The IRQ is a request for the microprocessor to suspend its current operation and carry out a task required by the device which has sent the IRQ.
e.g. in a simple computer system the microprocessor could send sections of a word processing document to a printer. When the printer has finished printing that section, it may generate an IRQ to request the microprocessor to transmit the next section.
Each device has a unique IRQ number so that the microprocessor can determine which device interrupted it. In a P.C. there is a limit to the number of IRQ channels available.