Organization of a Microprocessor-Based System
Figure 3 shows a simplified but formal structure of a microprocessor-based system or a product. Since a microcomputer is one among many microprocessor based systems, it will have the same structure as shown in Figure 3. It includes four components: microprocessor. input, output; and memory (Read/Write Memory and Read-Only Memory). These components are organized around .a common communication path called a bus. The entire group of components is also referred to as a system or a microcomputer system, and the components themselves are referred to as sub-systems. At the outset, it is necessary to differentiate between the terms microprocessor and microcomputer because of the common misuse of these terms in popular literature. The microprocessor is one component of the microcomputer. On the other hand, the microcomputer is a complete computer similar to any other computer, except that the CPU functions of the microcomputer are performed by the microprocessor. Similarly, the term peripheral ,is used for input/output devices. The various components of a microprocessor-based product or a microcomputer are shown in Figure 3 and their functions are described in this section.
The microprocessor is a semiconductor device consisting of electronic logic circuits manufactured by using either a large-scale (LSI) or very-large-scale integration (VLSI) technique. The microprocessor is capable of performing various computing functions and making decisions to change the sequence of program execution, In large computers, a CPU implemented on one or more circuit boards performs these computing functions. The microprocessor is in many ways similar to the CPU, but includes all the logic circuitry, including the control unit. on one chip. The microprocessor can be divided into three segments for the sake of clarity, as shown in Figure 3 : Arithmetic/Logic Unit (ALU), Register Array, and Control Unit .
Microprocessor-Based System with Bus Architecture
Arithmetic/Logic Unit This is the area of the microprocessor where various computing functions are performed on data. The ALU unit performs such arithmetic operations as addition and subtraction, and such logic operations as AND, OR, and exclusive OR. Results are stored either in registers or in memory.
Register Array This area of the microprocessor consists of various registers. These registers are primarily used to store data temporarily during the execution of a program. Some of the registers are accessible to the user through instructions.
Control Unit The control unit provides the necessary timing and control signals to all the operations in the microcomputer, it controls the flow of data between the microprocessor and memory and peripherals .
Now the question is: what is the relationship among the programmer's instruction (binary pattern of 0s and 1s), the ALU, and the control unit ? This can be explained with the example of a Full Adder circuit .A Full Adder circuit can be designed with registers, logic gates, and a clock. The clock initiates the adding operation . Similarly, the bit pattern of an instruction initiates sequence of Clock signals, activates the appropriate logic circuits In the ALU , and performs the task.
This is called microprogramming , which is done in the design stage of the microprocessor. The bit patterns required to initiate these microprogram operations are given to the programmer in the form of the instruction set of the microprocessor. The programmer selects appropriate bit patterns from the set for a given task and enters them sequentially in memory through an input device. When the CPU reads these bit patterns one at a time, it initiates appropriate microprograms through the control unit, and performs the task specified in the instructions.
At present, various microprocessors are available from different manufacturers. Examples of widely used 8-bit microprocessors include the Intel 8080/8085, Zilog Z80, and Motorola 6800 and 6809. Earlier microcomputers such as the Radio Shack TRS-80, the Televideo 803, and the Kaypro 4 were designed around the Z80 microprocessor. The recent versions of IBM personal computers, Personal System/2, are designed around 16-bit and 32-bit microprocessors; the model 60 is based on the Intel 80286 (16-bit), the model 80 is based on the Intel 80386 (32-bit), and the models 90 and 95 are based on the 80486 (32-bit) microprocessor. Single board microcomputers such as the Intel SDK-85, the Motorola MEK-6800-D2, the E&L Instrument Fox Microcomputer Trainer, and the CAMI Research Microtrainer are commonly used in college laboratories; the SDK-85 is based on the 8085 microprocessor, the MEK-6800-D2 on the 6800 microprocessor, and the Fox -Trainer and the Micro-Trainer on the Z80 microprocessor.
The input section transfers data and instructions in binary from the outside world to the microprocessor. It includes such devices as a keyboard, a teletype, and an analog-to-digital converter. Typically, a microcomputer used in college laboratories includes either a hexadecimal keyboard or an ASCII keyboard as an input device. The hexadecimal (Hex) keyboard has 16 data keys (0 to 9 and A to F) and some additional function keys to perform such operations as storing data and. executing programs. The ASCII keyboard (explained in Section I .3) is similar to a typewriter keyboard, and it is used to enter programs in an English-like language. Although the ASCII keyboard is found in most microcomputers, single board microcomputers generally have Hex keyboards, and microprocessor-based products such as a microwave oven have decimal keyboards.
The output section transfers data from the microprocessor to such output devices as light emitting diodes (LEDs), a cathode-ray tube (CRT), a printer, a magnetic tape, or another computer. Typically, single-board computers and rnicroprocessor based products (such as a dishwasher) include LEOs, seven-segment LEOs, and alphanumeric LED displays as output devices.
Memory stores such binary information as instructions and data, and provides that information to the microprocessor whenever necessary. To execute programs, the microprocessor reads instructions and data from memory and performs the computing operations in its ALU section. Results are either transferred to the output section for display or stored in memory for later use. The memory block shown in Figure 3 has two sections: Read-Only Memory (ROM) and Read! Write Memory (R/WM), popularly known as Random-Access Memory (RAM).
The ROM is used to store programs that do not need alterations. The monitor program of a single-board microcomputer is generally stored in the ROM. This program interprets the information entered through a keyboard and provides equivalent binary digits to the microprocessor. Programs stored in the ROM can only be read; they cannot be altered .
The Read/Write Memory (R/WM) is also known as user memory . It is used to store user programs and data. In single-board microcomputers, the monitor program monitors the Hex keys and stores those instructions and data in the R1W memory. The information stored in this memory can be easily read and altered.
The system bus is a communication path between the microprocessor and peripherals; it is nothing but a group of wires to carry bits. In fact, there are several buses in the system that will be discussed 10 the next chapter. All peripherals (and memory) share the same bus; however, the microprocessor communicates with only one peripheral at a time. the timing is .provided by the control unit of the microprocessor.