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.
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
8085 PIN DESCRIPTION
HOLA AMIGOS
ReplyDeleteyou have a description error at the alu (maybe copy and paste from the right module?)
ReplyDeleteregards