0% found this document useful (0 votes)
103 views

Architecture 8085

The 8085 microprocessor has 6 general purpose 8-bit registers (B, C, D, E, H, L) that can be combined into 3 16-bit register pairs. It also has special purpose registers like the accumulator (register A), flag register, instruction register, program counter, stack pointer, and temporary registers. The arithmetic logic unit (ALU) performs arithmetic and logical operations on data from the accumulator and temporary data register. The timing and control unit generates signals to control data flow and the entire microprocessor operations.

Uploaded by

milf hunter
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
103 views

Architecture 8085

The 8085 microprocessor has 6 general purpose 8-bit registers (B, C, D, E, H, L) that can be combined into 3 16-bit register pairs. It also has special purpose registers like the accumulator (register A), flag register, instruction register, program counter, stack pointer, and temporary registers. The arithmetic logic unit (ALU) performs arithmetic and logical operations on data from the accumulator and temporary data register. The timing and control unit generates signals to control data flow and the entire microprocessor operations.

Uploaded by

milf hunter
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 46

Architecture of 8085

Microprocessor
Microprocessor
A microprocessor is a multipurpose, programmable, clock-driven, register-
based electronic device that reads binary instructions from a storage
device called memory, accepts binary data as input and processes data
according to those instructions and provide results as output. A 8085
microprocessor, is a second generation 8-bit microprocessor and is the base
for studying and using all the microprocessor available in the market.
Registers in 8085
General Purpose Registers
The 8085 has six general-purpose registers
to store 8-bit data;
these are identified as- B, C, D, E, H, and L.

These can be combined as register pairs – BC, DE,


and HL, to perform some 16-bit operation. These
registers are used to store or copy temporary
data, by using instructions, during the execution
of the program.
Special Purpose Registers
Accumulator:
The accumulator is an 8-bit register (can store 8-bit data)
that is the part of the arithmetic and logical unit (ALU).
After performing arithmetical or logical operations, the
result is stored in accumulator. Accumulator is also
defined as register A.
Flag registers
The flag register is a special purpose register and it is
completely different from other registers in microprocessor
The number stored in the accumulator is positive
It is set, when thewhen operation
a carryperformed in
or negative. If the sign flag is set,flag is generated
it means that by the third
the ALU results Note
in bit – This
zero(all 8is the
bits only
and passed isare flag
zero),register
on negative,
to the fourth in 8085 which is
bit, then
number stored in the accumulator
notAuxillary
otherwise it is reset. accessible by user.
and if reset, then the number Carry flag is set. If not flag is reset
is positive.
If tests
This flag the arithmetic
for number operation
of 1’s in results in a carry(if
the accumulator.
If the result is more
accumulator thaneven
holds 8 bit), thenofCarry
number Flagthis
1’s, then is set;
flag is otherwise
set and ititisissaid
reset
to. even parity. On the other
hand if the number of 1’s is odd, then it is reset and it
is said to be odd parity.
Instruction Register 
In a typical processor operation, the processor first fetches the opcode
of instruction from memory (i.e. it place an address on the address bus
and memory responds by placing the data stored at the specified
address on the data bus). The CPU stores this opcode in a register
called the instruction register. This opcode is further sent to the
instruction decoder to select one of the 256 alternatives.
Memory Registers
Program Counter
This register is used 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 (machine code) is being fetched, the program
counter is incremented by one to point to the next memory
location.
Stack Pointer

 It is used as a memory pointer. It points to a memory location


in read/write memory, called the stack. It is always
incremented/decremented by 2 during push and pop operation.
Temporary Registers
Temporary Data Register

The ALU has two inputs. One input is supplied by the


accumulator and other from the temporary data register. The
programmer cannot access this temporary data register.
However, it is internally used for execution of most of the
arithmetic and logical instructions.
W and Z registers

W and Z registers are temporary registers. These


registers are used to hold 8-bit data during the
execution of some instructions. These registers are not
available for the programmer since 8085
Microprocessor Architecture uses them internally.
Timing and control
Unit
Timing and Control Unit
The timing and control unit is the section of the CPU.
It is used to generate timing and control signals which are
necessary for the execution of instructions.

It is used to control data flow between CPU and peripherals


(including memory).

It is used to provide status, control and timing signals which are


required for the operation of memory and I/O devices.

It is used to control the entire operations of the microprocessor


and peripherals connected to it.
This signal is used to the reset
device
theis
microprocessor This signal isthe
by setting used
ready to
programreset all
to send
counter to zero.the connectedordevices
receivewhen
data the
microprocessor is reset.
Address Latch
Enable
When the pulse
When the pulse
goes high, it
goes down it
indicates
indicates data.
address
These signals
are used to
identify the
type of current
operation
These are status signals sent by the microprocessors to
distinguish the various types of operation given in table below:
Status codes for Intel 8085
S1 S0 Operations
0 0 HALT
0 1 WRITE
1 0 READ
1 1 FETCH
Select memory
or an IO device

when it is high when it is low


indicates IO then it indicates
operation memory operation
Read memory or Write memory
IO device or IO device
This signal HOLD
indicates that Acknowledge
another master
is requesting
the use of the
address and
data buses.
Indicates ground +5v power
signal supply

Clock Output
Arithmetic and Logic
Unit
Arithmetic and Logic Unit
The Arithmetic and Logic Unit, ALU performs the
arithmetic and logical operations:
Addition
Subtraction
Logical AND
Logical OR
Logical EXCLUSIVE OR
Complement (Logical NOT)
Increment (add 1)
Decrement (subtract 1)
Left shift, Rotate left, Rotate right
Clear, etc.
It is multi operational combinational logic circuit, same as IC
74181(ALU).It performs arithmetic and logical operations like
ANDing, ORing, EX-ORing, ADDITON, SUBTRACTION, etc.

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.


Serial I/O signals
SID SOD
(Input) Serial (Output) Serial
input data line output data line
Interrupts
When microprocessors receive interrupt signals through pins (hardware)
of microprocessor, they are known as Hardware Interrupts. There are 5
Hardware Interrupts in 8085 microprocessor. They are – INTR, RST
7.5, RST 6.5, RST 5.5, TRAP

When microprocessor receives interrupt signals, it sends an


acknowledgement (INTA) to the peripheral which is requesting for its
service.
Address bus A8 to A15

 A8 to A15(Output): These are address bus and are used for the


most significant bits of the memory address or 8-bits of I/O
address.
Address/Data Bus
Address Bus and Data Bus AD0 to AD7

AD0 ? AD7 (Input/output): These are time multiplexed address/data


bus i.e. they serve dual purpose. They are used for the least significant
8 bits of the memory address or I/O address during the first cycle.
Again they are used for data during 2nd and 3rd clock cycles.
Increment/decrement register

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.
Address /data buffer and 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.

You might also like