````

Intel 8085 Microprocessor architecture

Intel 8085 is a 8-bit microprocessor. It was the most successful 8-bit microprocessor. Here is an overview of this.
In 8085 there are mainly three components:
1) Arithmetic and Logical Unit(ALU)
2) Control Unit(CU)
3) Registers

1. ALU performs the arithmetic and logical operations like Add, Sub, Increment, Decrement, OR, AND, Complement etc. ALU uses the accumulator to hold the first operand and after operation accumulator holds the result. Second operand is stored within the temporary register.
Another registrer called Flag register is associated with the ALU. Flag registershows the status of result after arithmetic or logical operation.
Flag is a 8-bit register out of that 5 shows the status and the remainig five bits are undefined. The five flags are as follows:
1. Carry flag: if after the arithmetic operation a carry is generated, Carry flag becomes 1 otherwaise the value is zero.
2. Parity flag: Parity bit is used for error detection in data. 8085 uses even parity method for error detection. If the number of ones in result are even parity flag becomes, othewase one.
3. Auxillary carry flag: if a carry is generated fron lower nibble(A3-A0) towards the higher nibble(A7-A4) than Auxirry carry becomes one otherwase the value is zero.this flag is used in case of BCD operations.
4. Zero flag: This flag tells that wether contents of register are zero or non zero? If zero flag is set(1) that means register contents are zero.
5. Sign flag: the value of this flag is equal to the MSB of accumulator. In case signed arithmetic it shows the sign of result i.e. possitve or negative. If sign flag is set than result is negative otherwase the result is possitive.



Block Diagram of Intel 8085 Microprocessor
2. Registers
Processor registers are used to store the data temporarily within the processor. Once the operation is over it will be replaced by the new data. Intel 8085 contains the following set of registers:
a) General Purpose Registers
Intel 8085 contains six 8-bit general purpose registers namely B,C,D,E,H and L. These registers are used to hold the operand or the memory address in case of indirect addressing mode. These registers could be paired to hold the 16-bit operand or memory address. The valid pairs are BC, DE and HL only.
b) Program Counter(PC): It is used to hold the address of next instruction to be fetched from memory. When instruction fetch machine cycle is over PC will get incremented by one to point to the next instruction in sequence. It is a 16-bit register.
c) Accumulator(A): It is an 8-bit special purpose processor register. It is associated with ALU. In case of arithmetic or logical instruction it holds the first operand and after that result is transferred to it.
d) Stack Pointer(SP): It is 16-bit register that points to the top of the stack(TOS). If a program has to use stack, firstly the SP is initialized to the starting address of stack.
e) Instruction register(IR): It is an 8-bit register that is used to hold the instruction that is fetched from memory or instruction under execution.
f) Temporary register: It is associated with ALU that holds the second operand in case of arithmetic or logical operation. It is assessable to the ALU only and hidden from the programmer or user.


3. Timing and Control Unit
This unit is responsible for generating the timing signals i.e. clock signals for the internal operations of microprocessor. It also generates the necessary control signals for executing the instruction and controlling the machine. Some of the control signals are IO/M, read, write, etc.


4. Interrupt control Unit
An interrupt is a signal sent by some external device who wants the attention of microprocessor.
Intel 8085 has the following interrupts:
a) Trap: It is a non-mask able interrupt. The ISR(Interrupt service subroutine) address or the vector location for this interrupt is 0024H.
b) RST 7.5: This is a reset interrupt. It is mask-able interrupt. The vector location for this interrupt is 003CH.
c) RST 6.5:  This is a reset interrupt. It is mask-able interrupt. The vector location for this interrupt is 0034H.
d) RST 5.5: This is a reset interrupt. It is mask-able interrupt. The vector location for this interrupt is 002CH.
e) INTR: Interrupt Request is a mask able and non vectored interrupt.
Among all the interrupts TRAP is having the highest priority and INTR is having the lowest.


5. Serial I/O control unit
This unit is responsible for serial input and output operations. Two line SID(serial input data) and SOD(serial output data) are used to receive or transmit the data in serial order to or from Accumulator register.

Another interesting thing to note about this microprocessor is that Address bus and data bus are multiplexed. It is done to save the number of lines(pins). This concept will be explained in the next post(De-Multiplexing address and data bus of Intel 8085).
8085 PIN DESCRIPTION  

2 comments:

  1. you have a description error at the alu (maybe copy and paste from the right module?)
    regards

    ReplyDelete

 
Powered by Blogger