8085 Microprocessor
Architecture
The 8085
microprocessor is an 8 bit general purpose microprocessor. 8 bit processor
means, it can read, write and process 8 bit data at a time. Although the
internal architecture of 8085 microprocessor is very complicated, the
programmer is concern only with a small part of it, which can be referred in
the program or which is important to know to write a program. So in this
article we will learn about the programming model and bus organization of 8085
microprocessor. It is an 8-bit microprocessor designed by Intel in 1977 using NMOS
technology.
It has the following
configuration −
- 8-bit data bus
- 16-bit address bus, which can address up to 64KB
- A 16-bit program counter
- A 16-bit stack pointer
- Six 8-bit registers arranged in pairs: BC, DE, HL
- Requires +5V supply to operate at 3.2 MHZ single phase clock
It is used in washing machines, microwave ovens, mobile
phones, etc.
8085 Microprocessor – Functional Units
8085 consists of the following functional units –
Registers
Accumulator
It is an 8-bit register used to perform arithmetic, logical,
I/O & LOAD/STORE operations. It is connected to internal data bus & ALU.
It is referred as register A in the program.
Arithmetic and logic unit
As the name suggests, it performs arithmetic and logical
operations like Addition, Subtraction, AND, OR, etc. on 8-bit data.
General purpose register
There are 6 general purpose registers in 8085 processor, Registers
B, C, D, E, H and L are 8 bit general purpose registers. These registers store
8 bit data temporarily for processing. BC, DE and HL are used as register pairs
to store 16 bit data
Stack pointer
It is a 16 bit register which contains the memory address of
top of the stack. Stack is a part of memory which is used to store data temporarily,
especially while the execution of subroutines or functions.
Program counter
Program counter is a 16 bit register which is also known as
memory pointer. It stores the address of the next byte of the program to be
executed. The microprocessor takes the address from program counter and
executes instruction at that address. Each time the address in program counter
is incremented by one.
Temporary register
It is an 8-bit register, which holds the temporary data of
arithmetic and logical operations.
Flag register
It is an 8-bit register having five 1-bit flip-flops, which
holds either 0 or 1 depending upon the result stored in the accumulator.
These are the set of 5 flip-flops −
·
Sign Flag
(S) – It indicates the sign of the
number. If the number is negative then sign flag is set (changed to 1) and if
positive then reset (changed to 0).
·
Zero Flag
(Z) – If after any arithmetical or
logical operation, all the bits in accumulator are zero then zero flag is set
otherwise reset.
·
Auxiliary
Carry Flag (AC) – If carry
is generated from D3 to D4 in the accumulator after any operation then
auxiliary carry flag is set otherwise reset. This flag is used internally by
microprocessor for BCD operations and cannot be used by the programmer.
Parity Flag
(P) – If after any arithmetical or
logical operation number of 1’s in accumulator are even, then parity flag is
set, otherwise reset.
·
Carry Flag
(CY) – The size of accumulator is 8
bit. If after any operation 9th bit is generated then carry flag is set,
otherwise reset.
Its bit position is shown in the following table −
D7
|
D6
|
D5
|
D4
|
D3
|
D2
|
D1
|
D0
|
S
|
Z
|
AC
|
P
|
CY
|
Instruction register and decoder
It is an 8-bit register. When an instruction is fetched from
memory then it is stored in the Instruction register. Instruction decoder
decodes the information present in the Instruction register.
Timing and control unit
It provides timing and control signal to the microprocessor
to perform operations. Following are the timing and control signals, which
control external and internal circuits −
- Control Signals: READY, RD’, WR’, ALE
- Status Signals: S0, S1, IO/M’
- DMA Signals: HOLD, HLDA
- RESET Signals: RESET IN, RESET OUT
Interrupt control
As the name suggests it controls the interrupts during a
process. When a microprocessor is executing a main program and whenever an
interrupt occurs, the microprocessor shifts the control from the main program
to process the incoming
Address bus and data bus
Data bus carries the data to be stored. It is bidirectional,
whereas address bus carries the location to where it should be stored and it is
unidirectional. It is used to transfer the data & Address I/O devices.
1. Address Bus
The address bus is the group of 16 lines. It is used to carry the address of memory location and address of input and output ports. It is a unidirectional bus, that means the bits can flow only in one direction i.e., microprocessor to the peripherals. The address lines are identified by A15-A0.
The address bus is the group of 16 lines. It is used to carry the address of memory location and address of input and output ports. It is a unidirectional bus, that means the bits can flow only in one direction i.e., microprocessor to the peripherals. The address lines are identified by A15-A0.
2. Data Bus
The data bus is the group of 8 lines which is used to carry data. These lines are bidirectional. These data lines are identified by D7-D0.
The data bus is the group of 8 lines which is used to carry data. These lines are bidirectional. These data lines are identified by D7-D0.
3. Control Bus
The control bus comprises of various single lines that carry various control signals for synchronizing various devices and performing different task. The microprocessor generates specific control signals for different operations.
The control bus comprises of various single lines that carry various control signals for synchronizing various devices and performing different task. The microprocessor generates specific control signals for different operations.
Serial Input/output control
It controls the serial data communication by using these two
instructions: SID (Serial input data) and SOD (Serial output data).
Address buffer and address-data buffer
The content stored in the stack pointer and program counter
is loaded into the address buffer and address-data buffer to communicate with
the CPU. The memory and I/O chips are connected to these buses; the CPU can
exchange the desired data with the memory and I/O chips.
8085 Architecture
We have tried to depict the architecture of 8085 with this
following image −
No comments:
Post a Comment