Last reviewed 16 Sept 2026 · 8 min read
Microprocessor
A microprocessor is a programmable integrated circuit that performs the functions of a computer's central processing unit (CPU) — fetching, decoding and executing instructions stored in memory.
- The first commercial microprocessor was Intel 4004 (1971), a 4-bit processor; the Intel 8085 (8-bit) became a standard teaching processor; the 8086 (16-bit) led to the x86 family.
- Word length (4, 8, 16, 32, 64 bits) — number of bits processed at a time.
Microcomputer structure
| Block | Function |
|---|---|
| CPU (microprocessor) | Arithmetic/logic operations and control |
| Memory | ROM (programs, non-volatile), RAM (data, volatile) |
| Input/output devices | Keyboard, sensors, displays, printers |
| Buses | Communication paths |
Buses
| Bus | Direction | Function |
|---|---|---|
| Address bus | Unidirectional (CPU → memory/I/O) | Identifies memory location or I/O device; lines address locations |
| Data bus | Bidirectional | Carries data |
| Control bus | Mostly outputs (some inputs) | Read, write, interrupt, reset signals |
Intel 8085 microprocessor
Key specifications
- 8-bit microprocessor, 40-pin DIP, +5 V single supply.
- 8-bit data bus, 16-bit address bus → addresses 64 KB () memory locations (0000H–FFFFH).
- Lower address bus multiplexed with data bus (AD0–AD7), demultiplexed using ALE (address latch enable).
- Built-in clock generator, 5 interrupts, serial I/O (SID, SOD).
Architecture
| Unit | Details |
|---|---|
| Arithmetic and Logic Unit (ALU) | Accumulator, temporary register, flag register |
| Accumulator (A) | 8-bit register — stores results of arithmetic/logic operations |
| General-purpose registers | B, C, D, E, H, L (8-bit); pairs BC, DE, HL used as 16-bit registers; HL often used as a memory pointer (M) |
| Program counter (PC) | 16-bit — holds the address of the next instruction |
| Stack pointer (SP) | 16-bit — points to the top of the stack (LIFO memory area for return addresses, temporary data) |
| Instruction register and decoder | Holds and decodes the current opcode |
| Timing and control unit | Generates control signals (RD, WR, ALE, etc.) |
| Interrupt control | Handles interrupts |
| Serial I/O control | SID/SOD lines |
Flag register (8085)
| Flag | Set when |
|---|---|
| S (sign) | MSB (D7) of result is 1 (negative in signed arithmetic) |
| Z (zero) | Result is zero |
| AC (auxiliary carry) | Carry from bit D3 to D4 (used in BCD arithmetic) |
| P (parity) | Result has even number of 1s |
| CY (carry) | Carry out of D7 (or borrow in subtraction) |
Interrupts (8085)
| Interrupt | Type | Priority |
|---|---|---|
| TRAP | Non-maskable, vectored | Highest |
| RST 7.5 | Maskable, vectored (edge-triggered) | 2 |
| RST 6.5 | Maskable, vectored | 3 |
| RST 5.5 | Maskable, vectored | 4 |
| INTR | Maskable, non-vectored | Lowest |
Instructions
Classification by function
| Group | Examples |
|---|---|
| Data transfer | MVI, MOV, LDA, STA, LXI, LHLD |
| Arithmetic | ADD, ADI, SUB, INR, DCR, INX, DAD |
| Logical | ANA, ORA, XRA, CMP, CMA, RLC |
| Branching | JMP, JZ, JNZ, JC, CALL, RET |
| Machine control | HLT, NOP, EI, DI |
Classification by size
- 1-byte (e.g. MOV A,B; ADD B), 2-byte (e.g. MVI A,32H), 3-byte (e.g. LDA 2050H; JMP 2000H).
Addressing modes
| Mode | Example | Meaning |
|---|---|---|
| Immediate | MVI A, 25H | Data in the instruction |
| Register | MOV A, B | Data in a register |
| Direct | LDA 2050H | Address in the instruction |
| Indirect (register indirect) | MOV A, M | Address held in HL |
| Implied (implicit) | CMA | Operand implied |