Part 2-Chapter 1

Download as pdf or txt
Download as pdf or txt
You are on page 1of 40

Part 2

chapter 1
microprocessor and
organization of 8085
A microprocessor is a very small processing unit
inside a CPU. It's a single integrated circuit on a
computer chip that performs various arithmetic
and logic functions on digital signals.

SK Hynix
Intel Corporation
TSMC
Sony Corporation
NVIDIA Corporation
Generations of microprocessors:
1.First-generation –
From 1971 to 1972 the era of the first generation came which brought microprocessors like INTEL 4004 Rockwell
international PPS-4 INTEL 8008 etc.

2.Second generation –
The second generation marked the development of 8-bit microprocessors from 1973 to 1978. Processors like INTEL
8085 Motorola 6800 and 6801 etc came into existence.

3.Third generation –
The third generation brought forward the 16-bit processors like INTEL 8086/80186/80286 Motorola 68000 68010
etc. From 1979 to 1980 this generation used the HMOS technology.

4.Fourth generation –
The fourth-generation came into existence from 1981 to 1995. The 32-bit processors using HMOS fabrication came
into existence. INTEL 80386 and Motorola 68020 are some of the popular processors of this generation.

5.Fifth-generation –
From 1995 till now we are in the fifth generation. 64-bit processors like PENTIUM, Celeron, dual, quad, and octa-
core processors came into existence.
Microcomputer organisation
Generic microprocessor
• Gives an idea of microprocessor.
The blocks are:
ALU, Registers, Instruction decoder, timing and
control section, interrupt control
ALU
• An 8 bit unit
• Helps to complete mathematical operations.
Registers
• Some are 16 bit and others 8 bit
• There are 11 kinds of registers:
• Accumulator: 8 bit, main register used to store result of ALU
• General purpose registers
• Register -B,C,D,E,H,L
• Temporary register
• Status register: also known as a flags register, contains bits that indicate the outcome of
operations in a computer processor.
• Program counter: 16 bit, store the address of next memory location.
• Stack pointer: 16 bit, store address of a memory called stack.
• Instruction register: 8 bit, instruction is loaded in this register.
Instruction decoder
• It takes Instruction from Instruction register and decodes it.
Timing and control section.
• It generates the signals to control the respective devices to execute
the instruction.
Interrupt control
• With help of this unit microprocessor executes certain steps when
interrupt occurs.
Three types of bus
• Parallel lines are called bus.
• Address bus: 16bit, unidirectional
• Data bus: 8bit bidirectional-carries binary data
• Control bus: carries signal to execute operations
THE BLOCK DIAGRAM OF MICROCOMPUTER
INPUT DEVICE: KEYBOARD
It is an input line through which the microprocessor accepts
serial data.
SOD stands for Serial
Output Data, which is an
output line on a
microprocessor that sends
data in serial format to an
external device. For
example, when a
microprocessor needs to
display a character on a
screen, it sends the data
through the SOD pin to the
display device.
READY – It senses whether a peripheral is ready to transfer data or not. If READY is
high(1) the peripheral is ready. If it is low(0) the microprocessor waits till it goes high.
It is useful for interfacing low speed devices.

•HOLD – It indicates that another device is requesting the use of the address and data
bus. Having received HOLD request the microprocessor relinquishes the use of the
buses as soon as the current machine cycle is completed. Internal processing may
continue. After the removal of the HOLD signal the processor regains the bus.
•HLDA – It is a signal which indicates that the hold request has been received after
the removal of a HOLD request, the HLDA goes low.
Memory mapped I/O AND I/O MAPPED I/O
• THE ADDRESSES ARE ALLOTED FOR I/O DEVICES CALLED MEMORY
MAPPED I/O.
• THE ADDRESSES ARE ALLOTED FOR BOTH MEMORY AND I/O. IT
DEPENDS ON THE CONTROL SIGNALS(S0 AND S1)
S0 and S1 Signals
• Function: S0 and S1 are status signals that indicate the current
operation being performed by the 8085 processor. They help
differentiate between various types of operations, such as reading
from memory, writing to memory, or executing an instruction.
• IO/M Signal
• Function: The IO/M signal indicates whether the operation is related
to I/O (Input/Output) devices or memory.
• Operation:
• IO/M = 0: The operation is related to memory access (reading from or
writing to memory).
• IO/M = 1: The operation is related to I/O access (communicating with
peripheral devices).
INTERNAL BLOCK DIAGRAM OF 8085
• Accumulator
• In Intel 8085microprocessor, accumulator acts an 8-bit register to store 8-bit data to
perform arithmetic and logical operation on them. The final result stored in the
accumulator. It is also called A register.
• Arithmetic Logic Unit (ALU)
• It basically performs 8-bit arithmetic operations like +, -, *, / and to perform logical
operations like AND, OR, NOT etc. ALU gets inputs from the accumulator and temporary
register on which it performs such operations. After processing the necessary operations,
the result is stored back in the accumulator.
• Timing and Control unit
• This unit is responsible for generating timing signals and control signals and also it
controls both inside and outside activities of Intel8085microprocessor. Timing and control
unit is very important as it synchronizes the registers and flow of data through various
registers and other units. It consists of an oscillator and controller sequencer which sends
control signals needed for internal and external control of data and other units.
• Following are the timing and control signals −
• Control Signals − READY,RD’, WR’, ALE
• Status Signals − S0, S1, IO/M’
• DMA Signals − HOLD, HLDA
• RESET Signals − RESET IN, RESET OUT
• General purpose register
• B, C, D, E, Hand L are six general purpose registers are there in 8085microprocessor.
Each register can hold 8-bit data. They can work in pairs such as BC, DE, and HL to
store 16-bit data where HL pair work as a memory pointer.
• Program Counter
• Program Counter is a 16-bit register used to store the memory address location of
the next instruction to be executed. Microprocessor increments the program
whenever an instruction is being executed so that the program counter points to the
memory address of the next instruction that is going to be executed.
• Stack Pointer
• The stack pointer is also a 16-bit register. It is used as a memory pointer. Stack
pointer gets incremented when data is retrieved from the stack which is called pop
operation and decremented when data is loaded into the stack that is known as a
push operation
• Increment/decrement register
• The 16-bit increment and decrement register are used to increment and decrement
the PC value and SP value by 1. Increment or decrement can be performed on any
register or a memory location.
• Temporary Register
• temporary register is an 8-bit register, which holds the temporary data of arithmetic and logical
operations. This register can only be accessed by the microprocessor and it is completely
inaccessible to programmers.
• Status or Flag Register
• This register is actually a group of flip-flops to give the status of different operations
result. When ALU performs an operation, the result is transferred to the internal data
bus and the status of the result will be stored in flip-flops.
• These are the set of 5 flip-flops −
• Sign (S) –If MSB bit =0then the number is positive, else it is negative.
• Zero (Z) –If an operation performed in ALU results in 0value of entire 8-bits then zero
flags is set, else it resets.
• Auxiliary Carry (AC)– If an operation performed in ALU generates the carry from
lower nibble (D0to D3) to upper nibble (D4 to D7) AC flag is set, else it resets.
• Parity (P)– this flag is setIf the result contains even no. of ones and for odd no. of
ones this flag is reset.
• Carry (C) –If an operation performed in ALU generates the carry from D7 to next stage
then CY flag is set, else it is reset.
• Increment/decrement register
• The 16-bit increment and decrement register are used to increment
and decrement the PC value and SP value by 1. Increment or
decrement can be performed on any register or a memory location
• Interrupts
• Interrupts are the signals generated by the external devices to request the microprocessor to
perform a task. There are 5 interrupt signals, i.e. TRAP, RST 7.5, RST 6.5, RST 5.5, and INTR.
• Vector interrupt − In this type of interrupt, the interrupt address is known to the
processor. For example: RST7.5, RST6.5, RST5.5, TRAP.
• Non-Vector interrupt − In this type of interrupt, the interrupt address is not known to the
processor so, the interrupt address needs to be sent externally by the device to perform
interrupts. For example: INTR.
• Maskable interrupt − In this type of interrupt, we can disable the interrupt by writing some
instructions into the program. For example: RST7.5, RST6.5, RST5.5.
• Non-Maskable interrupt − In this type of interrupt, we cannot disable the interrupt by
writing some instructions into the program. For example: TRAP.
• Software interrupt − In this type of interrupt, the programmer has to add the instructions
into the program to execute the interrupt. There are 8 software interrupts in 8085, i.e. RST0,
RST1, RST2, RST3, RST4, RST5, RST6, and RST7.
• Hardware interrupt − There are 5 interrupt pins in 8085 used as hardware interrupts, i.e.
TRAP, RST7.5, RST6.5, RST5.5, INTA.
• There are five interrupt signals in the 8085 microprocessor:
• TRAP: The TRAP interrupt is a non-maskable interrupt that is generated by an
external device, such as a power failure or a hardware malfunction. The TRAP
interrupt has the highest priority and cannot be disabled.
• RST 7.5: The RST 7.5 interrupt is a maskable interrupt that is generated by a
software instruction. It has the second highest priority.
• RST 6.5: The RST 6.5 interrupt is a maskable interrupt that is generated by a
software instruction. It has the third highest priority.
• RST 5.5: The RST 5.5 interrupt is a maskable interrupt that is generated by a
software instruction. It has the fourth highest priority.
• INTR: The INTR interrupt is a maskable interrupt that is generated by an external
device, such as a keyboard or a mouse. It has the lowest priority and can be
disabled.
Addressing Modes
• The 8085 microprocessor has several addressing modes that are used
to access memory locations. Some of the most commonly used
addressing modes in the 8085 microprocessor are:
• Addressing Modes in 8085
• These are the instructions used to transfer the data from one register to another register, from the
memory to the register, and from the register to the memory without any alteration in the
content. Addressing modes in 8085 is classified into 5 groups −
• Immediate addressing mode
• In this mode, the 8/16-bit data is specified in the instruction itself as one of its operand. For
example: MVI K, 20F: means 20F is copied into register K.
• Register addressing mode
• In this mode, the data is copied from one register to another. For example: MOV K, B: means data
in register B is copied to register K.
• Direct addressing mode
• In this mode, the data is directly copied from the given address to the register. For example: LDB
5000K: means the data at address 5000K is copied to register B.
• Indirect addressing mode
• In this mode, the data is transferred from one register to another by using the address pointed by
the register. For example: MOV K, B: means data is transferred from the memory address pointed
by the register to the register K.
• Implied addressing mode
• This mode doesn’t require any operand; the data is specified by the opcode itself. For
example: CMP.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy