Unit Five: Introduction to Microprocessor and Its Components
Definition of Microprocessor
A Microprocessor is a programmable electronic device that works as the Central Processing Unit (CPU) of a computer system or other digital electronic device.
According to the provided notes, it integrates functions such as:
- Central Processing Unit (CPU)
- Memory Management Unit (MMU)
- Input/Output (I/O) interfaces
on a single Integrated Circuit (IC) chip.
General Terms
Bit
A Bit is a binary digit.
It can have either of two values:
0 or 1
Byte
A Byte is a group of:
8 bits
Nibble
A Nibble is a group of:
4 bits
Word
A Word is a group of bits used for a particular purpose.
For example, a 4-bit computer may have a word consisting of 4 bits.
Instruction
An Instruction is a command in binary form that is recognized and executed by a computer to perform a particular task.
Program
A Program is a set of instructions arranged in sequence to accomplish a given task.
Machine Language
Machine Language is a binary medium of communication used by a computer.
Low-Level Language
A Low-Level Language is machine-dependent and is specific to a particular computer system.
Examples include:
- Machine Language
- Assembly Language
Programs written in such languages are generally not directly transferable between different types of machines.
High-Level Language
A High-Level Language is largely independent of the computer hardware.
Programs are written using English-like statements and require a translator for execution.
Compiler
A Compiler is a program that translates a high-level language program into low-level or machine language.
The translated machine-language program is called Object Code.
Interpreter
An Interpreter translates high-level language statements into machine language one statement at a time.
Process
A Process is a series of actions or steps performed to achieve a particular result.
Processor
A Processor is a device or machine that performs processing operations.
Integrated Circuit (IC)
An IC combines multiple electronic circuit functions into a single chip.
Microprocessor
When the:
- Arithmetic and Logic Unit (ALU)
- Control Unit (CU)
- Registers
are integrated into a single chip using LSI or VLSI technology, the resulting processor is called a Microprocessor Unit (MPU) or simply a Microprocessor.
According to the notes, a microprocessor:
- Is a multipurpose programmable electronic device.
- Reads binary instructions from storage.
- Accepts binary data as input.
- Processes data according to instructions.
- Produces output.
- Operates using binary digits 0 and 1.
- Has a fixed set of machine-language instructions.
- Commonly serves as the CPU of a computer system.
Applications of Microprocessor
Microprocessors can be used in many different areas.
The notes discuss the following applications:
- Test Instruments
- Communication
- Computers
- Industries
1. Test Instruments
Microprocessors are used in instruments such as:
- Signal generators
- Oscilloscopes
- Counters
- Digital multimeters
- X-ray analyzers
- Blood group analyzers
- Baby incubators
- Frequency synthesizers
- Data acquisition systems
- Spectrum analyzers
According to the notes, the Fluke 6010A synthesized signal generator uses the 4004 microprocessor.
2. Communication
Modern communication systems require a large number of circuits to be managed.
Microprocessors can be used to:
- Receive data
- Check errors
- Analyze information
- Make decisions quickly
- Perform computational tasks
3. Computer
The microprocessor acts as the Central Processing Unit of a microcomputer.
It performs:
- Arithmetic operations
- Logical operations
- Control operations
The Control Unit sends control signals to:
- Input units
- Output units
- Memory
- ALU
and manages the sequence of operations.
4. Industries
Microprocessors are used in industrial applications such as:
- Data monitoring systems
- Smart cameras for quality control
- Automatic weighing systems
- Batching systems
- Assembly-machine control
Basic Characteristics of a Microprocessor
Important characteristics include:
Instruction Set
The Instruction Set is the total number of instructions that a microprocessor can execute.
Bandwidth
Bandwidth refers to the number of bits processed in a single operation or system.
Examples given in the notes include:
- 32-bit
- 64-bit
Clock Speed
According to the notes, Clock Speed represents the number of instructions that a processor can execute per second.
The notes mention MIPS – Millions of Instructions Per Second.
Basic Block Diagram of a Computer
A basic computer system consists of several important components that work together to process data.
The major components are:
- Input Unit
- Output Unit
- Memory
- Central Processing Unit
Input Unit
The Input Unit allows users to enter data and instructions into a computer.
Examples include:
- Keyboard
- Mouse
- Touchscreen
- Microphone
Output Unit
The Output Unit provides processed information to the user.
Examples include:
- Monitor
- Printer
- Speaker
- Headphones
Memory
Memory is used to store data and instructions.
The notes mention:
- RAM
- Hard Disk Drive
- Solid-State Drive
RAM temporarily stores data and instructions required by the CPU.
Other storage devices provide long-term storage.
Central Processing Unit (CPU)
The CPU contains important internal components.
These include:
- Control Unit
- Arithmetic Logic Unit
- Registers
1. Control Unit
The Control Unit (CU) controls the execution of instructions.
It:
- Decodes instructions
- Controls data flow
- Coordinates CPU components
- Coordinates communication with other parts of the system
2. Arithmetic Logic Unit
The Arithmetic Logic Unit (ALU) performs arithmetic and logical operations.
Examples include:
- Addition
- Subtraction
- AND
- OR
3. Registers
Registers are small, high-speed storage locations inside the CPU.
They temporarily store:
- Data
- Intermediate results
- Memory addresses
Examples include:
- Program Counter
- Instruction Register
- General-Purpose Registers
8085 Bus Structure and Internal Architecture
The 8085 microprocessor system uses three major buses:
- Address Bus
- Data Bus
- Control Bus
Data transfer between different units takes place through the system bus.
Microprocessor Unit
The main units of the microprocessor include:
- ALU
- Control Unit
- Register Unit
ALU
The ALU:
- Performs arithmetic operations.
- Performs logical operations.
- Handles operations such as addition, subtraction, AND, OR, and XOR.
Control Unit
The Control Unit:
- Manages execution of instructions.
- Controls data flow inside the CPU.
- Controls communication between the CPU and other system components.
Register Unit
The Register Unit consists of different registers.
Registers provide temporary storage during program execution and can be accessed using instructions.
Memory
Memory stores binary information such as:
- Instructions
- Data
The microprocessor reads instructions and data from memory during program execution.
According to the notes:
- ROM stores programs and data that generally do not need modification.
- RAM stores programs and data that can be rewritten or modified according to requirements.
System Bus
The System Bus provides a communication path between the microprocessor and peripheral devices.
It carries:
- Data
- Addresses
- Control signals
The system bus contains:
- Data Bus
- Address Bus
- Control Bus
I/O Bus
The Input/Output bus is used for communication between the microprocessor and external devices.
- Input Unit supplies data or instructions to the microprocessor.
- Output Unit carries processed information from the microprocessor.
Bus Organization
1. Address Bus
The Address Bus is generally unidirectional.
According to the notes, it may contain:
- 16
- 20
- 24
- 32
- 64
parallel lines.
The microprocessor sends the address of a memory location or I/O device through the address bus.
The number of address-bus bits determines the maximum number of memory locations that can be addressed.
Formula:
Number of Memory Locations = 2^(Number of Address Bus Bits)
For a 16-bit address bus:
2¹⁶ = 65,536
2. Data Bus
The Data Bus is bidirectional.
According to the notes, it can consist of:
- 8
- 16
- 32
parallel lines.
It carries data between:
- Microprocessor
- Memory
- Peripheral devices
The width of the data bus affects the amount of data transferred at a time.
If an 8-bit data bus has to transfer 16-bit data, it generally requires two cycles.
3. Control Bus
The Control Bus carries control and timing signals.
According to the notes, it may contain around 4 to 10 parallel lines.
Its functions include:
- Controlling access to the address bus
- Controlling access to the data bus
- Sending command signals
- Sending timing signals
Examples include:
- Memory Read
- Memory Write
- I/O Read
- I/O Write
- Bus Request
- Bus Grant
Stored Program Concept and Von Neumann Machine
The Stored Program Concept and Von Neumann Architecture are important principles in computer organization.
1. Stored Program Concept
The Stored Program Concept states that:
- Instructions
- Data
can both be stored in the same memory.
According to the notes, this concept allows programs to be stored, modified, and executed along with data.
The concept is associated with John von Neumann.
2. Von Neumann Machine
A Von Neumann Machine is a computing model based on the Stored Program Concept.
The notes describe four major components:
- CPU
- Memory
- Input/Output
- Control Unit
Central Processing Unit
The CPU executes instructions stored in memory.
It contains:
- ALU
- Control Unit
Memory
Memory stores both:
- Data
- Instructions
The information is stored in binary form.
Input/Output
Input/Output components provide communication between the computer and the external environment.
Control Unit
The Control Unit:
- Fetches instructions from memory
- Decodes instructions
- Controls their execution
In a Von Neumann machine, instructions and data share the same memory space.
8085 Microprocessor Architecture and Operations
Figure: Add Functional Block Diagram of 8085 Microprocessor here.
The major components of the 8085 architecture discussed in the notes include:
- ALU
- Timing and Control Unit
- Instruction Register and Decoder
- Register Array
- System Bus
- Interrupt Control
- Serial I/O Control
1. ALU
The ALU performs numerical and logical operations such as:
- Addition
- Subtraction
- AND
- OR
According to the notes, it uses data from memory and the accumulator and generally stores the result in the accumulator.
The ALU includes:
- Accumulator
- Flag Register
- Temporary Register
Accumulator
The Accumulator is used during:
- Input/Output operations
- Arithmetic operations
- Logical operations
It is directly connected to:
- ALU
- Internal data bus
According to the notes, many arithmetic and logical operation results are stored in the accumulator.
Flag Register
The Flag Register is an 8-bit register used to indicate the status of arithmetic and logical operations.
The 8085 uses the following important flags:
- Sign Flag
- Zero Flag
- Auxiliary Carry Flag
- Parity Flag
- Carry Flag
1. Sign Flag
The Sign Flag (S) indicates the sign of the result.
If the Most Significant Bit is set, the sign flag is set.
2. Zero Flag
The Zero Flag (Z) is set when the result of an operation is zero.
3. Auxiliary Carry Flag
The Auxiliary Carry Flag (AC) is used in BCD arithmetic.
It is set when a carry occurs from the lower nibble to the upper nibble.
4. Parity Flag
The Parity Flag (P) indicates whether the number of 1 bits in the result is even or odd.
According to the notes, it is set when the number of set bits is even.
5. Carry Flag
The Carry Flag (CY) is set when a carry occurs from the Most Significant Bit during operations such as:
- Addition
- Subtraction
- Comparison
It is also used in certain rotate operations.
2. Timing and Control Unit
The Timing and Control Unit produces timing and control signals required for microprocessor operations.
It:
- Synchronizes operations with the clock.
- Generates control signals.
- Controls communication with peripheral devices.
3. Instruction Register and Decoder
When an instruction is fetched from memory, it is loaded into the Instruction Register.
The Instruction Decoder interprets the instruction and determines the sequence of operations required.
According to the notes, the Instruction Register cannot be directly accessed through ordinary instructions.
4. Register Array
The 8085 contains several registers.
General-Purpose Registers
The six general-purpose registers are:
- B
- C
- D
- E
- H
- L
They are 8-bit registers.
They can also be used in pairs:
- BC
- DE
- HL
for some 16-bit operations.
W and Z Registers
The internal registers W and Z temporarily hold 8-bit data during execution of some instructions.
Stack Pointer
The Stack Pointer (SP) is a 16-bit register.
It points to the address of the top of the stack.
Program Counter
The Program Counter (PC) is a 16-bit register.
It points to the address of the next instruction to be fetched and executed.
5. System Bus
The system bus includes:
Data Bus
Carries binary data between the microprocessor and external units such as memory.
Address Bus
Carries the address of the operand or memory location.
Control Bus
Carries control signals used to coordinate operations.
Examples include:
- Read
- Write
6. Interrupt Control
An Interrupt is a signal that temporarily suspends the current microprocessor operation and transfers control to another routine.
After the interrupt service routine completes, control returns to the main program.
Interrupts may be:
- Hardware interrupts
- Software interrupts
- Maskable interrupts
- Non-maskable interrupts
The notes mention:
- INTR
- TRAP
- RST 7.5
- RST 6.5
- RST 5.5
7. Serial I/O Control
The 8085 supports serial data transmission one bit at a time.
It uses two signals:
- SID – Serial Input Data
- SOD – Serial Output Data
Intel 8085 Microprocessor
Figure: Add 8085 Microprocessor Pin Diagram here.
According to the provided notes, the Intel 8085:
- Is an 8-bit microprocessor.
- Uses NMOS technology.
- Has a 16-bit address bus.
- Can address up to 2¹⁶ = 65,536 bytes.
- Multiplexes the lower 8 address lines with the data bus.
- Has a 16-bit Program Counter.
- Has a 16-bit Stack Pointer.
- Has six 8-bit general-purpose registers.
- Requires a +5V power supply.
- Uses a 40-pin package.
Address Bus in 8085
The 8085 uses 16 address lines.
The address bus is divided into:
- A15 to A8
- AD7 to AD0
A15 to A8 carry the higher-order address.
AD7 to AD0 are multiplexed and perform more than one function.
Data Bus
According to the notes, the lower-order address/data lines are associated with pins 12–19.
AD0–AD7 can be used as:
- Lower-order address bus
- Data bus
The ALE signal is used to distinguish the address from data.
Control and Status Signals
The control and status signals help identify the type of operation being performed.
Read Control Signal
RD̅
This is an active-low read control signal.
It indicates that the selected:
- Memory device
- I/O device
is to be read.
Write Control Signal
WR̅
This is an active-low write control signal.
It indicates that the selected:
- Memory device
- I/O device
is to be written to.
Status Signals
The notes mention three important status signals:
- IO/M̅
- S1
- S0
Status Signal Table
| IO/M̅ | S1 | S0 | Operation |
|---|---|---|---|
| 0 | 1 | 1 | Opcode Fetch |
| 0 | 1 | 0 | Memory Read |
| 1 | 1 | 0 | I/O Read |
| 0 | 0 | 1 | Memory Write |
| 1 | 0 | 1 | I/O Write |
| — | 0 | 0 | No Operation |
ALE
According to the notes:
When:
ALE = 1
AD0–AD7 act as an Address Bus.
When:
ALE = 0
AD0–AD7 act as a Data Bus.
Power Supply and Frequency Signals
The notes mention:
- +5V DC on pin 40
- Ground on pin 20
- X1 and X2 for oscillator connection
- Crystal oscillator connection on pins 1 and 2
CLK OUT
The CLK OUT signal is available on pin 37.
It can be used as a system clock for other devices.
Externally Initiated Signals
INTR
INTR is an interrupt-request input.
It is used as a general-purpose interrupt.
INTA̅
INTA̅ is the Interrupt Acknowledge output.
It acknowledges an interrupt request.
RST 7.5, RST 6.5 and RST 5.5
These are restart interrupts.
According to the notes:
- They are vectored interrupts.
- They transfer program control to specific memory locations.
- They have higher priority than INTR.
Registers in Intel 8085
The notes list the following registers:
- Accumulator A – 8-bit
- BC, DE, HL – General-purpose register pairs
- PC – 16-bit
- SP – 16-bit
- W and Z – Temporary 8-bit registers
- Instruction Register – 8-bit system register
Additional Externally Initiated Signals
TRAP
TRAP is a non-maskable interrupt.
According to the notes, it has high priority.
HOLD
HOLD indicates that a peripheral device such as a DMA controller is requesting control of the system bus.
HLDA
HLDA acknowledges a HOLD request.
READY
The READY signal is used when slower peripheral devices require additional time before completing a read or write operation.
RESET IN
When the RESET IN signal becomes active, the microprocessor is reset.
According to the notes, the Program Counter is set to 0.
RESET OUT
RESET OUT indicates that the microprocessor is being reset.
It can also be used to reset other system devices.
Serial I/O Ports
The 8085 contains two pins for serial communication:
- SOD – Serial Output Data
- SID – Serial Input Data
According to the notes:
- SOD is pin 4.
- SID is pin 5.
Serial data is transmitted one bit at a time through a single communication line.
Instruction
An Instruction is a command given to the microprocessor to perform a specific task on specified data.
Each instruction has two main components:
- Opcode
- Operand
Opcode
The Opcode specifies the operation to be performed.
Operand
The Operand is the data on which the operation is performed.
Example
ADD B
Here:
- ADD = Opcode
- B = Operand
Therefore, the complete instruction contains both the opcode and operand.
Addressing Modes
An instruction performs an operation on specified data.
The operand may be located in:
- General-purpose register
- Accumulator
- Memory location
- Instruction itself
The method used to specify the operand is called an Addressing Mode.
The notes discuss:
- Implied Addressing
- Immediate Addressing
- Register Addressing
- Direct Addressing
- Register Indirect Addressing
1. Implied or Implicit Addressing
In Implied Addressing Mode, the instruction does not explicitly specify an operand.
Examples:
- EI
- STC
- NOP
Where:
- EI = Enable Interrupt
- STC = Set Carry Flag
- NOP = No Operation
2. Immediate Addressing
In Immediate Addressing Mode, the operand is directly included in the instruction.
The operand may be:
- 8-bit data
- 16-bit data
Examples:
MVI B, 05H
LXI B, 7A21H
ADI 72H
3. Register Addressing
In Register Addressing Mode, a register contains the operand.
Examples:
MOV A, B
ADD B
4. Direct Addressing
In Direct Addressing Mode, the address of the operand is directly specified in the instruction.
Examples:
LDA 2035H
STA 2500H
IN 07H
According to the provided notes:
LDA 2035H means the accumulator receives the data stored at memory address 2035H.
STA 2500H stores accumulator data at address 2500H.
5. Register Indirect Addressing
In Register Indirect Addressing Mode, the address of the operand is stored in a register pair.
Examples:
LDAX B
If:
B = 23H
C = 50H
then BC points to address:
2350H
STAX D
If:
D = 30H
E = 10H
then DE points to:
3010H
Another example is:
MOV A, M
where M refers to the memory location whose address is stored in HL.
Instruction and Data Flow
An instruction is a binary pattern designed to perform a particular function.
The complete set of instructions supported by a microprocessor is called the Instruction Set.
The instruction set determines the operations a microprocessor can perform.
Notations Used
According to the notes:
- R = 8085 8-bit register such as B, C, D, E, H, L
- M = Memory location pointed to by HL
- Rs = Source Register
- Rd = Destination Register
- Rp = Register Pair such as BC, DE, HL
- ( ) = Contents of a register or memory location
Data Transfer Instructions
Data Transfer Instructions are used to copy or move data.
They perform operations such as:
- Loading 8-bit data into a register.
- Loading 16-bit data into a register pair.
- Copying data from one register to another.
- Copying data between registers and memory.
- Copying data between I/O ports and accumulator.
- Copying data between registers and stack memory.
Important Data Transfer Instructions
| Instruction | Function |
|---|---|
| MVI R, 8-bit | Loads 8-bit immediate data into a register |
| MOV Rd, Rs | Copies data from source register to destination register |
| LXI Rp, 16-bit | Loads 16-bit data into a register pair |
| OUT 8-bit | Writes data to an output port |
| IN 8-bit | Reads data from an input port |
| LDA 16-bit | Loads accumulator from a specified memory address |
| STA 16-bit | Stores accumulator contents at a specified memory address |
| LDAX Rp | Loads accumulator from memory addressed by a register pair |
| STAX Rp | Stores accumulator data in memory addressed by a register pair |
| MOV R, M | Copies memory content into a register |
| MOV M, R | Copies register content into memory |
Arithmetic Instructions
Arithmetic instructions perform operations such as:
- Addition
- Subtraction
- Increment
- Decrement
Important Arithmetic Instructions
| Instruction | Function |
|---|---|
| ADD R | Adds register contents to the accumulator |
| ADI 8-bit | Adds immediate 8-bit data to the accumulator |
| ADD M | Adds memory contents to the accumulator |
| SUB R | Subtracts register contents from the accumulator |
| SUI 8-bit | Subtracts immediate 8-bit data from the accumulator |
| SUB M | Subtracts memory contents from the accumulator |
| INR R | Increments register contents by 1 |
| INR M | Increments memory contents by 1 |
| DCR R | Decrements register contents by 1 |
| DCR M | Decrements memory contents by 1 |
| INX Rp | Increments a register pair by 1 |
| DCX Rp | Decrements a register pair by 1 |
Logical and Bit Manipulation Instructions
These instructions include operations such as:
- AND
- OR
- XOR
- Compare
- Rotate bits
Important Logical Instructions
ANA R
Performs logical AND between a register and the accumulator.
ANI 8-bit
Performs logical AND between immediate 8-bit data and the accumulator.
ANA M
Performs logical AND between memory contents and the accumulator.
ORA R
Performs logical OR operation involving a register.
ORI 8-bit
The source lists this as an immediate OR instruction but does not provide additional explanation.
ORA M
The source lists this instruction without further explanation.
XRA R
Performs logical Exclusive-OR between a register and the accumulator.
XRI 8-bit
The source lists this as an immediate XOR instruction without further explanation.
XRA M
The source lists this instruction without further explanation.
CMP R
Compares register contents with accumulator contents.
CPI 8-bit
Compares immediate 8-bit data with the accumulator.
Branching Instructions
Branching instructions change the normal sequence of program execution.
The notes list:
JMP 16-bit
Jumps unconditionally to a specified 16-bit address.
JZ 16-bit
Jumps to the specified address if the Zero Flag is set.
JNZ 16-bit
Jumps to the specified address if the Zero Flag is reset.
JC 16-bit
Jumps to the specified address if the Carry Flag is set.
JNC 16-bit
The source lists this instruction but does not provide its description.
CALL 16-bit
The source lists this instruction but does not provide its description.
RET
The source lists the RET instruction without further explanation.
Discussion
Share a helpful question, idea, or explanation with other students.