Know about Microcomputer Organization, CPU, Memory, I/O Ports, Clock Generator

Microcomputer Organization

As discussed in previous lecture microprocessor is a central processing unit (CPU) with its related timing functions on a single chip. A microprocessor combined with memory and input/output devices forms a microcomputer. Therefore, the basic components of a microcomputer is: 

  1. 1) CPU 
  2. 2) Program memory 
  3. 3) Data memory 
  4. 4) Output ports 
  5. 5) Input ports 
  6. 6) Clock generator.

Central Processing Unit

The CPU consists of ALU (Arithmetic and Logic Unit), register unit and control unit. The CPU fetches the stored instructions from the program memory, data word from data memory or from an input device and after processing the data stores the result in data memory or sends it to an output device. 

a) ALU (Arithmetic and Logic Unit) 

This unit performs computing functions on m-bit data where ‘m’ is the bit size of the processor. These functions are arithmetic operations such as addition, subtraction and logical operation such as AND, OR, XOR, rotate, compare etc. Results are stored either in registers or in memory or sent to output devices. 

b) Register Unit

It contains various 8-bit or 16-bit registers. These registers are used primarily to store data temporarily during the execution of a program. Some of the registers are accessible to the user through instructions. It means there contents can be read and/or changed through instructions. Some of the registers are not accessible to user but they are used by the processor for the execution of an instruction. 8085A microprocessor contains 8-bit registers such as Accumulator (Reg. A), B, C, D, E, H, L etc and16-bit registers such as Program Counter (PC), Stack Pointer (SP).

c) Control Unit

It provides necessary timing & control signals required for the operation of microcomputer. It controls the flow of data between the microprocessor and peripherals (input, output & memory). The control unit gets a clock signal which determines the speed of the microprocessor. In all, the CPU has the following basic functions: 

  • It fetches an instructions word stored in memory. 
  • It decodes the instruction to determine what the instruction is telling it to do. 
  • It executes the instruction. Executing the instruction may include same of the following major tasks: 
  1. Transfer of data from one register to another register in the CPU itself. 
  2. Transfer of data between a CPU register & specified memory location or input/output device. 
  3. Performing arithmetic and logical operations on data from a specific memory location or a designated CPU register. 
  4. Directing the CPU to change the sequence of fetching instructions, if processing the data created a specific condition.
  5. Performing housekeeping function within the CPU itself in order to establish desired condition at certain registers. 
  • It looks for control signal such as interrupts and provides appropriate responses. 
  • It provides status, control, and timing signals that the memory and input/output section can use.

Memory

It stores both the instructions to be executed (i.e. program) and the data involved. It usually contains ROM (Read Only Memory) and RWM (Read Write Memory). The ROM can only read and cannot be written into and is non volatile that is, it retains its contents when the power is turned off. A ROM is typically used to store instructions and data that do not change. For example, it stores the monitor program of a microcomputer. 

One can either read from or write into a RWM in memory read operation or memory write operation respectively. The RWM is volatile, that is it does not retain its contents when the power is turned off. It is used to store user programmes & data which are temporary might change during the course of executing a program. 

Both ROM & RWM are RAMs (Random Access Memory). During a memory read operation, the content of the addressed location is not destroyed. During a write operation, the original content of the addressed location is destroyed.

Program Memory

The basic task of a microcomputer system is to ensure that its CPU executes the desired instructions sequence i.e., the program properly. The instructions sequence is stored in the program memory. On initialization- usually on power up or manual reset the processor starts executing the instructions from a predetermined location in program memory. The first instruction of the program should, therefore, be in this location. In typical processor based system, the program to be executed is fixed one which does not change.Therefore these programmes are stored in non-volatile memory such as ROM, or PROM, EPROM, EEPROM.

In the trainer kit, ROM contains only the monitor program which is an application program for the trainer system. It allows the user to interact with microprocessor to enter user program and execute it. The user program is not stored in ROM because it needs not to be stored permanently. The user program is stored in RWM or RAM.

Data Memory

A microcomputer manipulates data according to the algorithm given by the instruction in the program in the program memory. These instructions may require intermediate results to be stored. The functional block in the µc used for this storage is the data memory. Microprocessors also have a small amount of memory in the form of internal registers which can also be used if available for such storage. External data memory is needed if the storage requirement is more. 

Apart from intermediate storage, the data memory may also be used to provide input data needed by the program and to store some of the results of the program. Data memory is used for all storage purposes other than storage of program. Therefore, they must have Read-Write capability called Read-Write Memory (RWM). 

Both ROM & RWM are arranged into words, each of which has a unique address. The address of a word in memory is different than its contents. To refer the contents of a memory location, its address is placed in parentheses. Therefore, X is an address and (X) is the content of that address X.

The address decoder takes an address and from the control unit and selects the proper memory location. Finding the correct memory location and obtaining its content takes certain amount of time, this times is the access time of the memory. The access time affects the speed of the computer since the computer must obtain the instruction and data from the memory. Computer memories are usually RAM so that all memory location have the same access time. The computer must wait whenever it uses its memory, typical memory access time range from few nano-secs to several μsecs. Memory sections often subdivided into units called pages. The entire memory section may involve million of words, whereas a page contains between 256 & 4k warts. The computer may access a memory location by first accessing a particular page and then accessing a location (or line number) on that page. The advantage of paging is that the computer can reach several locations on the same page with just the address on the page. The process is like describing street address by first specifying a street and then listing the house numbers. The control section transfers data to or from memory as follows: 

  1. The control section reads an address to the memory. 
  2. The control section sends a read and write signal to the memory to indicate, the direction of the transform. 
  3. The control section waits until transfer has been completed. This delay precedes the actual data’s transfer in the input case and follows it in the output case.

Input/Output Ports

The input & output ports provide the microcomputer the capability to communicate with the outside world. The input ports allow data to pass from the outside world to the µc data which will be used in the data manipulation being done by the microcomputer to send data to output devices. 

The user can enter instruction (i.e. program) and data in memory through input devices such as keyboard, or simple switches, CRT, disk devices, tape, or card readers. Computers are also used to measure and control physical quantities like temperature, pressure, speed etc. For these purposes, transducers are used to convent physical quantize into proportional electrical signals A/D computers are used to convert electrical signals into digital signals which are sent to the compute. 

The computer sends the results of the computation to the output devices e.g. LED, CRT, D/A converters, printers, etc. These I/O devices allow the computer to communicate with the outside world. I/O devices are called peripherals.

Clock Generator

Operations inside the microprocessor as well as in other parts of the microcomputer are usually synchronous by nature. This is done so that events in different parts of the system can proceed in a systematic fashion. The clock needed to perform this synchronous operation is provided by the clock generator. The clock generator generates the appropriate clock periods during which instruction executions are carried out by the microprocessor. 

Some of the microprocessors have an internal clock generator circuit to generate a clock signal. These microprocessors require an external crystal or RC network to be connected at the appropriate pins for deciding the operating frequency (e.g. 8085A). Some microprocessors require an external clock generator (e.g. 8086). These microprocessors also provide an output clock signal which can be used by other devices in the microcomputer system for their own timing and synchronizing. 

No comments