The 8085 Microprocessor Architecture
The 8085 Microprocessor Architecture
The 8085 Microprocessor Architecture
Technology
diploma studies (2nd shift)
Subject Code : 3330705
Name Of Subject :Microprocessor and Assembly Lang.
Programming
Name of Unit : MICROPROCESSOR ARCHITECTURE &
MICROPROCESSOR SYSTEM
Topic :The 8085 Microprocessor Architecture
Name of Faculty : Mr. Mitesh Raval
Sub: MALP
Address Bus
Data Bus
Control Bus
Sub: MALP
Sub: MALP
The 8085:
Registers
Sub: MALP
Sub: MALP
Sub: MALP
Sub: MALP
Sub: MALP
Sub: MALP
Sub: MALP
Sub: MALP
Sub: MALP
Lets assume that we are trying to fetch the instruction at memory location
2005. That means that the program counter is now set to that value.
The following is the sequence of operations:
The program counter places the address value on the address bus
and the controller issues a RD signal.
The memorys address decoder gets the value and determines
which memory location is being accessed.
The value in the memory location is placed on the data bus.
The value on the data bus is read into the instruction decoder inside
the microprocessor.
After decoding the instruction, the control unit issues the proper
control signals to perform the operation.
Sub: MALP
Now, lets look at the exact timing of this sequence of events as that is
extremely important. (figure 3.3)
At T1 , the high order 8 address bits (20H) are placed on the
address lines A8 A15 and the low order bits are placed on AD7
AD0. The ALE signal goes high to indicate that AD0 AD8 are
carrying an address. At exactly the same time, the IO/M signal
goes low to indicate a memory operation.
At the beginning of the T2 cycle, the low order 8 address bits are
removed from AD7 AD0 and the controller sends the Read (RD)
signal to the memory. The signal remains low (active) for two
clock periods to allow for slow devices. During T2 , memory
places the data from the memory location on the lines AD7 AD0 .
During T3 the RD signal is Disabled (goes high). This turns off the
output Tri-state buffers in the memory. That makes the AD7 AD0
lines go to high impedence mode.
Sub: MALP
Demultiplexing AD7-AD0
From the above description, it becomes obvious that the AD7
AD0 lines are serving a dual purpose and that they need to be
demultiplexed to get all the information.
The high order bits of the address remain on the bus for three
clock periods. However, the low order bits remain for only one
clock period and they would be lost if they are not saved
externally. Also, notice that the low order bits of the address
disappear when they are needed most.
To make sure we have the entire address for the full three
clock cycles, we will use an external latch to save the value of
AD7 AD0 when it is carrying the address bits. We use the
ALE signal to enable this latch.
Sub: MALP
Demultiplexing AD7-AD0
8085
A15-A8
ALE
AD7-AD0
Latch
A7- A0
D 7- D 0
From the above discussion, we can define terms that will become
handy later on:
T- State: One subdivision of an operation. A T-state lasts for
one clock period.
An instructions execution length is usually measured in a
number of T-states. (clock cycles).
Machine Cycle: The time required to complete one operation of
accessing memory, I/O, or acknowledging an external request.
This cycle may consist of 3 to 6 T-states.
Instruction Cycle: The time required to complete the execution
of an instruction.
In the 8085, an instruction cycle may consist of 1 to 6
machine cycles.
Sub: MALP
Sub: MALP
Sub: MALP
The ALU
In addition to the arithmetic & logic circuits, the ALU
includes the accumulator, which is part of every
arithmetic & logic operation.
Also, the ALU includes a temporary register used for
holding data temporarily during the execution of the
operation. This temporary register is not accessible by
the programmer.
Sub: MALP
Sub: MALP
Sub: MALP
The first step of executing any instruction is the Opcode fetch cycle.
In this cycle, the microprocessor brings in the instructions Opcode from
memory.
To differentiate this machine cycle from the very similar memory
read cycle, the control & status signals are set as follows:
IO/M=0, s0 and s1 are both 1.
This machine cycle has four T-states.
The 8085 uses the first 3 T-states to fetch the opcode.
T4 is used to decode and execute it.
It is also possible for an instruction to have 6 T-states in an opcode fetch
machine cycle.
Sub: MALP
Sub: MALP
Sub: MALP
32H
65H
20H
Sub: MALP
Sub: MALP
Memory interfacing
There needs to be a lot of interaction between the
microprocessor and the memory for the exchange of
information during program execution.
Memory has its requirements on control signals and
their timing.
The microprocessor has its requirements as well.
The interfacing operation is simply the matching of these
requirements.
Sub: MALP
ROM
Data Lines
Input Buffer
Address
Lines
WR
CS
Output Buffer
Data Lines
RD
Address
Lines
CS
Output Buffer
RD
Date
Lines
Interfacing Memory
Accessing memory can be summarized into the following three steps:
Select the chip.
Identify the memory register.
Enable the appropriate buffer.
Translating this to microprocessor domain:
The microprocessor places a 16-bit address on the address
bus.
Part of the address bus will select the chip and the other part
will go through the address decoder to select the register.
The signals IO/M and RD combined indicate that a memory
read operation is in progress. The MEMR signal can be used
to enable the RD line on the memory chip.
Sub: MALP
Address decoding
The result of address decoding is the identification
of a register for a given address.
A large part of the address bus is usually
connected directly to the address inputs of the
memory chip.
This portion is decoded internally within the chip.
What concerns us is the other part that must be
decoded externally to select the chip.
This can be done either using logic gates or a
decoder.
Sub: MALP
Chip Selection
Circuit
8085
CS
A15-A8
ALE
AD7-AD0
WR RD
IO/M
Latch
A9- A0
A7- A0
1K Byte
Memory
Chip
D 7- D 0
RD
Sub: MALP
WR