Rgasc's Network Security, Microprocessor and Microcontrollers
Rgasc's Network Security, Microprocessor and Microcontrollers
Intel 8085 Microprocessor: Introduction - Need for Microprocessors – Evolution –Intel 8085
Hardware - Architecture – Pin description - Internal Registers – Arithmetic and Logic Unit –
Control Unit – Instruction word size
Introduction:
Features of a Microprocessor
Here is a list of some of the most prominent features of any microprocessor –
Cost-effective − The microprocessor chips are available at low prices and results its low
cost.
Size − The microprocessor is of small size chip, hence is portable.
Low Power Consumption − Microprocessors are manufactured by using metaloxide
semiconductor technology, which has low power consumption.
Versatility − The microprocessors are versatile as we can use the same chip in a number
of applications by configuring the software program.
Reliability − The failure rate of an IC in microprocessors is very low, hence it is reliable.
Microprocessor Classification:
Refer the notes Microprocessor – classification.pdf
Needs of Microprocessor:
It is part of the 8085 family of microprocessors, which includes the 8080, 8085A, and
other variants. The 8085 microprocessor became very popular and widely used in various
applications, including personal computers, embedded systems, industrial control systems,
and more.
However, an 8085 circuit requires an 8-bit address latch, so Intel manufactured
several support chips with an address latch built in. These include the 8755, with an address
latch, 2 KB of EPROM and 16 I/O pins, and the 8155 with 256 bytes of RAM, 22 I/O pins
and a 14-bit programmable timer/counter. The multiplexed address/data bus reduced the
number of PCB tracks between the 8085 and such memory and I/O chips.
Evolution of Microprocessor:
Transistor was invented in 1948 (23 December 1947 in Bell lab). IC was invented in
1958 (Fair Child Semiconductors) By Texas Instruments J Kilby. The first microprocessor
was invented by INTEL(INTegrated ELectronics).
Number of
Name Year of Invention Clock speed transistors Inst. per sec
10 times faster
8080 1974 2 MHz 6000
than 8008
2. The flags register is an 8-bit register that contains status flags that indicate the result of
an arithmetic or logical operation. These flags include the carry flag, zero flag, sign flag,
and parity flag.
The carry flag is set when an arithmetic operation generates a carry, the zero flag is
set when the result of an arithmetic or logical operation is zero, the sign flag is set when
the result of an arithmetic or logical operation is negative, and the parity flag is set when
the result of an arithmetic or logical operation has an even number of 1 bits.
3. The data bus is an 8-bit bus that is used to transfer data between the microprocessor
and memory or other devices. The data bus is bidirectional, which means that it can be
used to read data from memory or write data to memory.
The address bus is a 16-bit bus that is used to address memory and other devices. The
address bus is used to select the memory location or device that the microprocessor wants
to access.
4. The control bus is a set of signals that controls the operations of the microprocessor,
including the read and write operations. The control bus includes signals such as the
read signal, write signal, interrupt signal, and reset signal.
The read signal is used to read data from memory or other devices, the write signal
is used to write data to memory or other devices, the interrupt signal is used to signal
the microprocessor that an interrupt has occurred, and the reset signal is used to reset
the microprocessor to its initial state.
Flag Register:
It is an 8-bit register that stores either 0 or 1 depending upon which value is stored
in the accumulator. Flag Register contains 8-bit out of which 5-bits are important and the
rest of 3-bits are “don’t Care conditions”.
The flag register is a dynamic register because after each operation to check whether
the result is zero, positive or negative, whether there is any overflow occurred or not, or for
comparison of two 8-bit numbers carry flag is checked.
So for numerous operations to check the contents of the accumulator and from that
contents if we want to check the behavior of given result then we can use Flag register to
verify and check. So we can say that the flag register is a status register and it is used to
check the status of the current operation which is being carried out by ALU.
Accumulator:
Program Counter :
Program Counter holds the address value of the memory to the next instruction that
is to be executed. It is a 16-bit register.
Stack Pointer :
It works like a stack. In stack, the content of the register is stored that is later used in
the program. It is a 16-bit special register. The stack pointer is part of memory but it is part
of Stack operations, unlike random memory access.
Stack pointer works in a continuous and contiguous part of the memory. whereas
Program Counter(PC) works in random memory locations. This pointer is very useful in
stack-related operations like PUSH, POP, and nested CALL requests initiated by
Microprocessor. It reserves the address of the most recent stack entry.
Temporary Register:
It is an 8-bit register that holds data values during arithmetic and logical operations.
Interrupt control:
Whenever a microprocessor is executing the main program and if suddenly an
interrupt occurs, the microprocessor shifts the control from the main program to process the
incoming request. After the request is completed, the control goes back to the main
Priorities of Interrupts: TRAP > RST 7.5 > RST 6.5 > RST 5.5 > INTR
1. Execution starts with Program Counter. It starts program execution with the next address
field. it fetches an instruction from the memory location pointed by Program Counter.
2. For address fetching from the memory, multiplexed address/data bus acts as an address
bus and after fetching instruction this address bus will now acts as a data bus and extract
data from the specified memory location and send this data on an 8-bit internal bus. For
multiplexed address/data bus Address Latch Enable(ALE) Pin is used. If ALE = 1
(Multiplexed bus is Address Bus otherwise it acts as Data Bus).
3. After data fetching data will go into the Instruction Register it will store data fetched
from memory and now data is ready for decoding so for this Instruction decoder register
is used.
4. After that timing and control signal circuit comes into the picture. It sends control
signals all over the microprocessor to tell the microprocessor whether the given
instruction is for READ/WRITE and whether it is for MEMORY/I-O Device activity.
0 1 1 Opcode fetch
0 1 0 Memory read
0 0 1 Memory write
1 1 0 I/O read
1 0 1 I/O write
1 1 1 Interrupt acknowledge
0 0 0 Halt
5. Reset Signals:
RESET IN’ – When the signal on this pin is low(0), the program-counter is set to
zero, the buses are tristated and the microprocessor unit is reset.
RESET OUT – This signal indicates that the MPU is being reset. The signal can be
used to reset other devices.
6. DMA Signals:
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.
2. Two-byte instructions
Two-byte instruction is the type of instruction in which the first 8 bits indicates the
opcode and the next 8 bits indicates the operand.
Example-1: Task- Load the hexadecimal data 32H in the accumulator.
Mnemonic- MVI A, 32H
Opcode- MVI
Operand- A, 32H
Hex Code- 3E
32
Binary code- 0011 1110
0011 0010
3. Three-byte instructions –
Three-byte instruction is the type of instruction in which the first 8 bits indicates the
opcode and the next two bytes specify the 16-bit address. The low-order address is
represented in second byte and the high-order address is represented in the third byte.