Module - 3
Module - 3
Module - 3
These are low level instructions used in some designs to implement complex machine
instructions. They generally perform operations on data stored in one or more registers.
In executing a program, operation of a computer consists of a sequence of instruction
cycles, with one machine instruction per cycle. Each instruction cycle is made up of a
number of smaller units – Fetch, Decode, Execute and Interrupt cycles.
Micro operations
Examples of Micro-Operations:
1. Load: Moves data from memory into a register.
2. Store: Saves data from a register back into memory.
3. Add: Adds two values and stores the result in a register.
4. Subtract: Subtracts one value from another and stores the result in a register.
5. AND: Performs a logical AND operation on two values and stores the result in
a register.
6. OR: Performs a logical OR operation on two values and stores the result in a
register.
7. NOT: Reverses the bits of a value and stores the result in a register.
8. Shift: Moves the bits of a value to the left or right within a register.
9. Rotate: Rotates the bits of a value left or right in a register.
Control Signal Generation: Sends control signals to other parts of the CPU, such as
the ALU (Arithmetic Logic Unit), registers, and memory. These signals activate
specific circuits to execute the decoded instruction.
Data Flow Control: Directs the movement of data between memory, registers, and the
ALU. Ensures the correct data is used and stored during operations.
Timing and Synchronization: Maintains proper timing for all operations using the
system clock. Ensures the CPU components work in harmony without conflicts.
Functional requirements
Execution Control: Activates the ALU or other functional units to perform the
operation specified in the instruction (e.g., arithmetic, logical, or shift operations).
Control of Program Flow: Manages control flow instructions like jumps, branches,
and loops, ensuring the program counter is updated correctly. Handles subroutine calls
and returns.
1. Arithmetic and logic unit ( ALU ):This function is used to perform all kind of
arithmetic and logical operations on 8 bit data. The arithmetic operations include
addition, subtraction, division & multiplication. The logical operation includes AND,
OR , NOT, etc.
Internal processor organization
2. General purpose register: Microprocessor 8085 has 6 general purpose registers.
Names as B, C, D, E, H & L. each register has a capacity to store 8 bit data.
These registers can hold 16 bit data by working in pairs. The registers are pared like
BC, DE, HL.
4. Program counter: Program counter is a 16-bit register used to store the location of
memory address of the next instruction that needs to be executed.
5. Temporary register: Temporary register is a 8 bit register which holds the data of
arithmetic and logical operations temporarily.
Internal processor organization
6. Flag register:Flag register is a 8 bit register having 5 flip flops of 1 bit. These flip
flops hold digital value, either 0 or 1 that depends upon the result stored in
accumulator.
The five 1 bit flip flops are known as
Sign (S) flag
Zero (Z) flag
Auxiliary Carry (AC) flag
Parity (P) flag
carry (CY) flag
8. Stack pointer: Stack pointer is a 16 bit register that works like stack. This pointer is
used for stack related operations like push and pop operations. The address of only one
data is required, that is at the top.
Internal processor organization
9. Timing and control unit: The microprocessor gets timing and control signals from
this unit.
The timing and control signals are –
Control Signals – RD’, WR’, ALE, READY
DMA Signals – HLDA, HOLD
Status Signals – IO/M’, S0, S1
Reset Signals – RESET OUT, RESET IN
10. Serial input/output control: It uses two instructions – SOD ( Serial Output Data )
& SID ( Serial Input Data ) to control serial data communication.
11. Interrupt control:Interrupt control signal controls the interrupts during processing.
Whenever an interrupt occurs in a microprocessor during executing a main program, it
shifts the control from main program to process the incoming interrupt request. The
control again goes back to main program after the request is completed.