What is microprocessor and how it works?
A typical microprocessor consists of arithmetic and logic unit (ALU) in association with control unit to process the instruction execution. In order to perform any task by the microprocessor, it must be preprogrammed by the user or programmer. In this case, a programmer knows its internal resources, features and supported instructions. The microprocessor manufacturer provides a list of instructions of each processor. There are two forms of instruction set in a microprocessor. They are binary machine code and mnemonics. Microprocessor runs and communicates with binary numbers of 1 and 0. Binary pattern instruction is called a machine language which is difficult for us to understand. So, the binary patterns are given abbreviated names, called mnemonics, which forms the assembly language. For converting assembly-level language into binary machine-level language, is an application is used which is known as assembler.
The first successful processor used in practical applications is the microprocessor 8085 which is designed by Intel in 1977 and manufactured by using NMOS Technology. The 8085 microprocessor is used in different devices and projects like automation systems, digital controllers, calculators, video game players, embedded systems, smartwatches, etc.It is an 8-bit general purpose microprocessor which can operate at a +5V DC power supply with a 3.2 MHz single-phase clock. The microprocessor 8085 works based on the following components and internal parts:
1. Arithmetic and Logic Unit (ALU)
ALU is the core part of the microprocessor which can perform arithmetic or mathematical operations like addition, subtraction, multiplication, division, and logical operations like AND, OR, NOT, increment and decrement. It works with 8-bit data only. It takes data from the accumulator and temporary register during executing the program.
In order to perform the arithmetic and logical operations, an 8-bit register supplies the data directly to the ALU during executing the program. It is called accumulator which is connected between the internal bus and ALU. Accumulator can load and store new data.
3. General Purpose Registers
There are six general-purpose registers named as B, C, D, E, H, and L in the microprocessor 8085. Each of them can store 8-bit data. Pairs like B-C or D-E, or H-L can store 16-bit data.
4. Flag Register
Values either 1 or 0 are stored in this register. It's also an 8-bit register which can only store these values based on the value is stored in the accumulator after executing the program.
5. Temporary Register
This is an 8 bit register wherein data are temporarily stored during executing the program. It provides supporting data to the ALU. In this case, the data comes from the general-purpose register and is stored in the temporary register during execution of the program by ALU.
6. Instruction Register and Decoder
Instruction register stores instruction fetched from the memory during the program execution. The instruction decoder decodes the instruction to understand the task to be performed by the ALU.
7. Program Counter
It is a 16-bit register which stores the memory address of the instruction that will be executed in the next. The program counter will be increment by one whenever the instruction is executed.
8. Stack Pointer
A 16-bit register which works as a stack and always makes increments or decrements by 2 during the push and pop operation is called stack pointer. The content of the register is stored here for using in the next execution.
9. Timing and Control Unit
9. Timing and Control Unit
In order to perform tasks or to do program executions, timing and control unit provides all the clock or pulse signals to all the components of the microprocessor. It is the combination of analog and digital circuits. It not only provides signals to the internal components but also provides the timing and control signal to the external component as well as circuit connected to the microprocessor like RD, WR, HLDA, HOLD, READY, etc.
10. Interrupt Control
The control system which controls the interrupts in the microprocessor during executing the program is called Interrupt Control. ALU stops the current program execution and processes the task given by the interrupt if there is an interrupt occurs by an external or internal input. It starts again its own work after finishing the task given by the interrupt.
11. Serial Input/Output Control
A system which can control the serial communication between the microprocessor and external devices through serial input and serial output ports like SOD and SID is called Serial Input/Output Control.
12. Data Bus and Address Bus
For transferring data between memory and processor or between I/O device and processor, a bus is used which is called data bus. It is a bidirectional bus which can carry and transfer the data is to be stored. 8-bit processor contains an 8-bit data bus and a 16-bit processor has 16-bit data bus. There are 8-bit data bus and 16-bit address bus in the 8085 microprocessor. On the other hand, the address bus carries the location address of the memory where the data is to be stored. It is a unidirectional bus. In this case, a unique address or binary pattern is used for identifying a memory location or an input/output (I/O) port. For example, an 8 bit address bus contains eight lines having address 28 = 256 different locations. The locations in hexadecimal format can be written as 00H – FFH.