WHAT IS MICROPROCESSOR ?
A Microprocessor is a multipurpose, programmable, clock-driven, register-based electronic device that reads binary instruction from a storage device called memory, accepts binary data as input, process this input data according to the instruction that have been read and then provides results obtained from this processing as output.
So microprocessor is a programmable device that has computing and decision-making capability. Hence it plays a significant role in the functionality of industrial societies.
This programmable logic device can be used to control various processes and devices. The products that use microprocessor for controlling its various processes are called Microprocessorbased products.
When microprocessor is used in the embedded form of a larger system and it works as the central processing unit of a computer ,then it is called microcomputer .The communications and operations in the microprocessors are based on the binary numbers via 0,1.These are called Bits.
Each microprocessor have a fixed set of instructions which have different binary patterns .This fixed set of instructions is called machine language of a microprocessor .These binary instructions are given some abbreviated names so that human being can easily understand and use the instructions. These abbreviated names are called mnemonics and the complete Set of mnemonics of a microprocessor is called its assembly language.
The definition of a microprocessor as illustrated above can be shown diagrammatically in figure 1.1.
Thus microprocessor is a device that can be instructed to perform some given task within its capability. The memory is like the pages of a notebook which is used to store the instructions given by the user. The user gives the instructions as well as data (on which the instructions have to be operated) using the input devices which are stored in the memory. The input devices can be a keyboard or simple switches. After getting the input from user microprocessor reads the instructions from the memory and processes data according to these instructions .The result is then displayed using an output device. The output device here can be any seven -segment displays which uses LEDs (Light Emitting Diodes) or printer.
INTERNAL MICROPROCESSOR ARCHITECTURE
Here we will discuss the internal architecture of Intel 8086 microprocessor. It was first 16-bit microprocessor developed by Intel Company in 1976. It is called 16-bit microprocessor because it has 16-bit data bus. However it has 20-bit address bus. Because of this large size of address bus it can address up 1MB of memory.
After the development of 8086 microprocessor, Intel launch a series of 86’s microprocessor like 80186, 80286, 80486 etc. Which are 32-bits processors. This microprocessor is very fast as compared to the old ones, as microprocessor Whey have reduced the CPU idle time in system. These microprocessor can execute can execute the instructions in the speed range of thousand operations per second.
A microprocessor execute a program by performing the following activities again and again (a) Fetch the next instruction from memory (b) Read operand (c) Execute instruction (d) Write result
In the microprocessor before Intel 8086, these steps were performing serially. But the architecture of 8086 performs these steps by allocating them to separate processing units .These are:1. 2.
Execution unit (EU) Bus Interface unit (BIU)
Execution unit is the unit which executes the instructions and bus interface unit has the responsibilities of fetching instructions, read operands, writing result. These two units operate independently and in most of circumstances are able to extensively overlap instruction with fetch executions operation. In these cases, the times normally required to fetch instructions disappears because of the execution unit executing instructions that have already been fetched by the BIU.
However it must be noted that execution unit has no connection with the system bus. It obtains instructions from queue maintained by the BIU. Similarly, when an instruction requires access to memory or to a peripheral device, the EU requests the BIU to obtain or store the data. Execution unit manipulate the addresses in only 16-bit wide .Then BIU performs the address relocation which gives the EU access to the full megabyte of memory space. So BIU performs all the bus operations for the EU. Upon the demand of EU it serves the data between the CPU and memory or I/O devices. BIU also have an internal RAM array called Instruction Stream Queue .During the time when EU is busy in executing the instructions, BIU fetches more instructions from the memory and store these instruction stream queue. This queue can store up to 6 instruction bytes at a time.
Various memory registers in an 8086 microprocessor can be divided into following categories. 1. 2. 3.
General Purpose Registers Pointer registers Segment Registers 8086 microprocessor also have some of flags. All these will be explained in detail now.
1.2.1. General Purpose Registers Various general purposes registers are(i) Accumulator Register (AX) (ii) Base Register (BX) (iii) Counter Register (CX) (iv) Data Register (DX)
These registers are 16-bit registers. They can either work as 16- bit registers or as two 8-bit registers as shown belowACCUMULATOR - AX is usually constantly changing throughout any program. This is considered to be one of the most useful register ,8086 also have some other hard-wired connection of AX with other registers like the XLAT (transaction) instruction of register BX uses AL. The division ,multiplication of DX also uses AL. The instructions for coping part of the flags registers to / from AH are also available. BASE REGISTER - BX is mainly used for general storage, but it can also be used for accessing memory. It is the only general purpose registers that can also works as a pointer .However unlike SI and DI registers, it does not work with rep prefix.
COUNTER REGISTER - CX is mainly used for general storage , but in addition to this it can also be used as an iteration counter .The Rep prefix, loop instruction shift and rotate instructions all take counts passed in CX. DATA REGISTER- DX is truly used as data storage register only .DX is also used in division instructions .After 16 -bit division, the remainder is placed in DX. The DX registers also used with AL register and the in/out instructions to specify the port number