8085 Microprocess or Architecture

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 39

8085

Microprocess
or
Architecture
PRESENTATION ON :

8085 ARCHITECTURE

8085 BUS ORGANIZATION AND STRUCTURE

8085 PIN FUNCTIONS


Microprocessor 8085
• The 8085 is an 8-bit general purpose microprocessor that can address 64K
Byte of memory.
• It has 40 pins and uses +5V for power. It can run at a maximum frequency
of 3 MHz
• The pins on the chip can be grouped into 6 groups:
• Address Bus.
• Data Bus.
• Control and Status Signals.
• Power supply and frequency.
• Externally Initiated Signals.
• Serial I/O ports.
8085 ARCHITECTURE BLOCK DIAGRAM
Register Section
• Temporary Register
• General Purpose Register
• Special Purpose Registers
Temporary Registers
• In 8085 available temporary register are temporary data register and
W and Z registers. These registers are not available to the
programmer, but 8085 uses them internally to hold temporary data
during execution of some instructions.
• W and Z are two 8-bit temporary registers, used to hold 8-bit
data/address during execution of some instructions.
General Purpose Registers
• B,C,D,E,H &L are used as general purpose register.
• Each 8 bit long .
• Apart from the above function these registers can also be used to
work in pairs to hold 16-bit data.
• They can work in pairs such as B-C, D-E and H-L to store 16-bit
data.
• The H-L pair works as a memory pointer.
• A memory pointer holds the address of a particular memory location.
• They can store 16-bit address as they work in pair.
Special Purpose Register
• Accumulator
• Status or Flag Register
• Instruction Register
• Program Counter
• Stack Pointer
Accumulator
• The accumulator is an 8-bit register that is a part of
arithmetic/logic unit (ALU).
• This register is used to store 8-bit data and to perform
arithmetic and logical operations.
• The result of an operation is stored in the accumulator.
The accumulator is also identified as register A.
• It also works as a via register for I/O accesses i.e. it
reads data from input device and similarly can transfer
data to output device.
Status or Flag Register
• Flag register is a group of flip flops used to give status of different
operations result.
• The flag register is connected to ALU.
• Once an operation is performed by ALU the result is transferred on
internal data bus and status of result will be stored in flip flops.
• They are called Zero (Z), Carry (CY), Sign (S), Parity (P), and Auxiliary
Carry (AC) flags.
Flag Register…
• A flag register contains a number of flags either to
indicate certain conditions arising after arithmetic and
logical operations or to control certain operations.
• The flags which indicate conditions are known as
condition flags. The flags which are used to control
certain operations are called control flags.
• A flag is a flip-flop which is set or reset by the
processor to indicate certain conditions or set/reset by
the programmer to control certain operations.
Flag Register…
• Carry flag(CY):
• If an operation performed in ALU generates the carry from D7 to next stage then CY flag is set,
else it is reset.
• Auxiliary carry(AC):
• If an operation performed in ALU generates the carry from lower nibble (D0 to D3) to upper
nibble (D4 to D7) AC flag is set, else it resets.
• Zero flag(z):
• If an operation performed in ALU results 0value of entire 8-bits then zero flag is set, else it
resets
• Sign flag(s):
• If MSB bit =0 then the number is positive, else it is negative.
• Parity flag(p):
• If the result contains even no. of ones this flag is set and for odd no. of ones this flag is reset.
Instruction Register
• Temporary store for the current instruction of a program. Latest instruction
sent here from memory prior to execution. Decoder then takes instruction and
decodes or interprets the instruction. Decoded instruction then passed to next
stage.

• Instruction register is 8-bit register just like every other register of


microprocessor.
Program Counter
• This 16-bit register deals with sequencing the execution of
instructions. This register is a memory pointer. Memory
locations have 16-bit addresses, and that is why this is a
16-bit register.
• The microprocessor uses this register to sequence the
execution of the instructions. The function of the program counter
is to point to the memory address from which the next byte is to be
fetched. When a byte is being fetched, the program counter is
incremented by one to point to the next memory location
Stack Pointer
• The stack pointer is also a 16-bit register used as a memory pointer. It points to a
memory location in R/W memory, called the stack. The beginning of the stack is
defined by loading 16-bit address in the stack pointer.
• Stack pointer is also a 16-bit register which is used as a memory pointer.

• A stack is nothing but the portion of RAM (Random access memory).

• Stack pointer maintains the address of the last byte that is entered into stack.

• Each time when the data is loaded into stack, Stack pointer gets decremented.

• Conversely it is incremented when data is retrieved from stack


ALU
• The ALU performs the actual numerical and logic operation such as add,
subtract, AND, OR, etc. Uses data from memory and from Accumulator to
perform arithmetic. Always stores result of operation in Accumulator.

• It is not accessible by user.

• The word length of ALU depends upon of an internal data bus.

• IT is 8 bit. It is always controlled by timing and control circuits.

• It provides status or result of flag register.


Arithmetic and Logical Section
• Instruction Decoder and Machine cycle Encoder
• Address Buffer
• Address/Data Buffer
• Incrementer/Decrementer Address Latch
• Interrupt Control
• Serial I/O Control Group
• Timing And Control
Instruction Decoder and Machine cycle Encoder
• It accepts an OPCODE from instruction register, decodes it and gives
the decoded information to control logic.
• The information includes what operation is to be performed, who is
going to perform it, etc. It means it will understand the instruction in
this block.
• The decoded information is given to the timing and control unit that
provides control signals
Address Buffer
• The contents of the stack pointer and program counter are loaded into the
address buffer and address-data buffer.
• These buffers are then used to drive the external address bus and address-data
bus.
• As the memory and I/O chips are connected to these buses, the CPU can
exchange desired data to the memory and I/O chips.
• The address-data buffer is not only connected to the external data bus but also to
the internal data bus which consists of 8-bits.
• The address data buffer can both send and receive data from internal data bus.
• The contents of the stack pointer and program counter are loaded into the
address buffer and address-data buffer. These buffers are then used to
drive the external address bus and address-data bus. As the memory and I/O
chips are connected to these buses, the CPU can exchange desired data to
the memory and I/O chips.
• The address-data buffer is not only connected to the external data bus but also to
the internal data bus which consists of 8-bits. The address data buffer can
both send and receive data from internal data bus.
Incrementer/Decrementer Address Latch

• The 8-bit contents of a register or a memory location


can be incremented or decremented by 1.

• This 16-bit register is used to increment or decrement


the content of program counter and stack pointer register
by 1.

• Increment or decrement can be performed on any


register or a memory location.
Interrupt Control

• Interrupt is a mechanism by which an I/O or an instruction can suspend the normal


execution of processor and get itself serviced. Generally, a particular task is assigned to
that interrupt signal.
• Consider that a microprocessor is executing the main program. Now whenever the
interrupt signal is enabled or requested the microprocessor shifts the control from main
program to process the incoming request and after the completion of request, the
control goes back to the main program.

• For example an Input/output device may send an interrupt signal to notify that the data
is ready for input. The microprocessor temporarily stops the execution of main
program and transfers control to I/O device. After collecting the input data the control
is transferred back to main program.
Serial I/O Control Group

• The data transferred on to data bus is parallel data,


but under some conditions it is advantageous to use
serial data transfer and at that time this control
group is brought into application.
• The input and output of serial data can be carried
out using 2 instructions in 8085:
• 1. SID-Serial Input Data
• 2. SOD-Serial Output Data
Timing And Control
• Timing and control unit is a very important unit as it synchronizes the registers
and flow of data through various registers and other units.

• It accepts data from instruction decoder and generates micro steps to perform
it ,in addition it accepts clock inputs for synchronizing operations.Control
sequencer supplies the control word needed to carry out execution of
instructions.

• 1. Control Signals: READY, RD(bar), WR(bar), ALE


• 2. Status Signals: S0, S1, IO/M(bar)
• 3. DMA Signals: HOLD, HLDA
• 4. RESET Signals: RESET IN(bar), RESET OUT.
Bus Organization
• What is a Bus?
• It is a set of pins, wires or signals having common functions
as bus.

• What is system Bus?


• A bus is a bundle of wires that are grouped together to serve
a single purpose in microprocessor, generally there are three
sets of communication lines that are called buses.
• They are address bus, the data bus and control bus.
Bus Structure
Address Bus
• The bus over which the microprocessor sends out the address of a
memory location or I/O location is called as the address bus.
• In 8085 microprocessor, Address bus is of 16 bits. This means that
Microprocessor 8085 can transfer maximum 16 bit address which
means it can address 65,536 different memory locations.
• This bus is multiplexed with 8 bit data bus. So, the most significant
bits (MSB) of address goes through Address bus and LSB goes
through multiplexed data bus.
• In 8085 address bus is 16 bit A – A
0 15
Data Bus
• It is bi-directional as Microprocessor requires to send or receiver
data. The data bus also works as bus in 8 bits long.
• A data bus simply carries data. Internal buses carry information
within the processor, while external buses carry data between the
processor and the memory. Typically, the same data bus is used for
both read/write operations.
• When it is a write operation, the processor will put the data on to
the data bus. When it is the read operation, the memory controller
will get the data from the specific memory block and put it in to the
data bus.
• The data bus in8085 is of 8 parallel lines D – D
0 7
Control Bus
• The control bus is used for sending control signals to the memory
and I/O devices. The CPU sends control signal on the control bus
to enable the outputs of addressed memory devices or I/O port
devices.

• Some of the control bus signals are as follows:


• 1.Memory read
• 2.Memory write
• 3.I/O read
• 4.I/O write.
Pin Diagram of 8085 Microprocessor
• Power Supply Signal and clock signal:
• VCC :- Vcc is to be connected to +5V power supply.
• Vss :- Ground reference

• X1 and X2:-
• This pin is used for providing the clock frequency to the micro-
processor. Generally Crystal oscillator is used to generate the
frequency.
• Address Bus:
• A8 - A15: (output; 3-state)
• It carries the most significant 8 bits of the memory address or the 8 bits
of the I/O address.

• Data bus:
• AD0 - AD7 (input/output; 3-state)
• These multiplexed set of lines used to carry the lower order 8 bit
address as well as data bus.
• During the opcode fetch operation, in the first clock cycle, the lines
deliver the lower order address A0 - A7.
• In the subsequent IO / memory, read / write clock cycle the lines are
used as data bus.
• The CPU may read or write out data through these lines.
Control and Status signals:
• ALE (output) - Address Latch Enable.
• It is used to differentiate data and address from lower address.
• When pulse goes high it indicates that AD0-AD7 are address.
• When it is low it indicates that the contents are data.
• RD (output 3-state, active low)
• Read memory or IO device.
• This indicates that the selected memory location or
I/O device is to be read and that the data bus is ready
for accepting data from the memory or I/O device

• WR (output 3-state, active low)


• Write memory or IO device.
• This indicates that the data on the data bus is to be
written into the selected memory location or I/O
device.
• I/O M (output)
• Select memory or an IO device.
• This status signal indicates that the read / write
operation relates to whether the memory or I/O
device.
• It goes high to indicate an I/O operation.
• It goes low for memory operations.
Interrupts and Externally initiated operations:
• They are the signals initiated by an external device to
request the microprocessor to do a particular task or work.
• There are five hardware interrupts called,
• TRAP
• RST 7.5
• RST 6.5
• RST 5.5
• INTA
• Reset In (input, active low)
• This signal is used to reset the microprocessor.
• The program counter and temporary register
inside the microprocessor is set to zero.

• Reset Out (Output)


• It indicates CPU is being reset.
• Used to reset all the connected devices when the
microprocessor is reset.
References

• A course on 8085 Microprocessor –


Prentice Hall
• Microprocessor 8085 by Ramesh Gaonkar

You might also like