A bus is a collection of wires carrying
information with a common purpose.
For each read or write operation, the CPU
specifies the location of the data or instruction by placing an address on
the address bus, then activates a signal on the control bus indicating
whether the operation is read or write.
Read operations retrieve a byte of data from
memory at the location specified and place it on the data bus. CPU reads
the data and places it in one of its internal registers.
Write operations put data from CPU on the data
bus and store it in the location specified.
Address bus carries the address of a specified
location. For n address lines, 2^n locations can be accessed. E.g., A
16-bit address bus can access 2^16 = 65,536 locations or 64K locations (1K
= 2^10 = 1024).
Data bus carries information between the CPU and
memory or between the CPU and I/O devices. Computers spend up to two-thirds
of their time simply moving data, so the number of lines of the data bus is
important for overall performance. This limitation by width of data bus is
a bottleneck even with a vast amount of memory on the system and a high
speed CPU. 16-bit computer means…?
Control bus carries control signals supplied by
the CPU to synchronize the movement of information on the address and data
Microprocessors are most commonly used as the
CPU in microcomputer systems. Microcontrollers are used in small,
performing control-oriented activities.
Microprocessor instruction sets are “processing
intensive”, implying powerful addressing modes with instructions catering
to large volumes of data. Their instructions operate on nibbles, bytes,
etc. Microcontrollers have instruction sets catering to the control of
inputs and outputs. Their instructions operate also on a single bit. E.g.,
a motor may be turned ON and OFF by a 1-bit output port.