Microcomputers & Microprocessors
Microcomputers & Microprocessors
Microprocessors
Khaled A. Al-Utaibi
alutaibi@uoh.edu.sa
Agenda
Computers are Every Where
What is Computer Engineering?
Design Levels
Computer Engineering Fields
What is a Microcomputer ?
Course Objectives
The Stored Program Concept
The Stored Program Processing Cycle
Three-Bus System Architecture
The 80x86 Family
Computers are Every Where!
Microcomputer systems are becoming an
essential part of any product or equipment in all
fields including
−House Appliances
−Office Equipment
−Telecommunications
−Transportation
−Traffic Control
−Medical Equipment
−Industrial Control
House Appliances
Office Equipments
Work
Telecommunications
Transportation
Traffic Control
Medical Equipments
Industrial Control
What is Computer Engineering?
What is Computer Engineering?
Design Levels
Computer Engineering Fields
Computer Engineering Fields
Computer Engineering Fields
Computer Engineering Fields
Computer Engineering Fields
Computer Engineering Fields
What is a Microcomputer ?
A microcomputer is an electronic device with a
microprocessor as its central processing unit
(CPU), a memory, and input/output (I/O)
facilities.
What is a Microcomputer ?
When a microcomputer is equipped with a
keyboard and screen for input and output and is
running an operating system (DOS, Windows,
Linux, etc) it is called a personal computer.
Course Objectives
To introduce the fundamental hardware and
software concepts needed for the design of
microcomputers system.
Course Objectives
To introduce the fundamental hardware and
software concepts needed for the design of
microcomputers system.
− Functions of various processor pins
− Memory/IO Read and Write bus cycles
− Main types of memory technology
− Memory internal organization
− Design memory interfaces.
− Computer serial and parallel interfaces
Course Objectives
To introduce the fundamental hardware and
software concepts needed for the design of
microcomputers system.
− How interrupts are used to implement I/O control and
data transfers
− Design interrupt service routines and I/O drivers using
assembly language.
− Data access from magnetic and optical disk drives
using DMA
− Types of bus interfaces in a computer system
The Stored Program Concept
Most of today’s computer systems are based on
a design principle proposed by Dr. John Von
Neumann (1946).
Stored Program Computer
The basic stored program computer (Von
Neumann Architecture) consists of three major
parts: (1) CPU, (2) Memory, (3) I/O Devices.
Stored Program Processing Cycle
The basic stored program cycle consists of three
major steps: (1) Fetch, (2) Decode, (3) Execute.
Stored Program Processing Cycle
Clock Generator:
− Controls the basic timing of the computer
− It generates a square wave signal
− This signal is used to synchronize all activities within
the computer
Registers:
− Two types (general purpose, special purpose)
− General purpose registers are used to store temporary
information
− Special purpose registers are used for specific tasks
(e.g. the accumulator)
Stored Program Processing Cycle
Fetching, Decoding and Executing an
Instruction:
− The basic processing cycle begins with a memory fetch
or read cycle
− The Instruction Pointer (IP) holds the address of next
instruction to be fetched.
− This address is output on the system address bus.
− The memory address decoder examines the binary
value of the address on the system address bus and
selects the proper memory location.
Stored Program Processing Cycle
Fetching, Decoding and Executing an
Instruction:
−The CPU activate the memory read control through the
system control bus.
−This causes the selected data byte (i.e. instruction) in
the memory to be placed onto the data bus.
−The instruction is then placed in the Instruction
Register (IR).
−Once in the CPU, the instruction is decoded and
executed.
− When executing the instruction is completed, the cycle
is repeated.
Stored Program Processing Cycle
The Instruction Set:
− The job of the Instruction Decoder (ID) is to recognize
and activate appropriate controls in the CPU needed to
execute the instruction.
− The list of all instructions recognized by the ID is called
the instruction set .
− Microprocessors are classified based on the
specification of the instruction sets into two categories:
(1) Complex Instruction Set Computers (CISC) and
(2) Reduced Instruction Set Computers (RISC)
Stored Program Processing Cycle
Modern CPUs:
− Most microprocessors today are designed to allow the
fetch and execute cycles to overlap.
− This is done by dividing the CPU into two units:
(1) a Bus Interface Unit (BIU) and
(2) an Execution Unit (EU).
− The job of the BIU is to fetch instructions from
memory and store them in a special instruction queue.
− The EU then fetches instructions from this queue (not
from memory).
− Some processors have a pipelined execution unit that
allows the decoding and execution of instructions to
overlap.
Three-Bus System Architecture
A bus is a collection of electronic signal lines all
dedicated to a particular task.
The architecture considered in the previous slides
consists of three types of buses: address, data,
and control buses.
Three-Bus System Architecture
The Data Bus:
−The data bus consists of internal and external data
buses.
−The internal data bus connects the internal
components of the CPU (e.g. Registers, ALU, etc.) to the
data I/O pins of the CPU.
− The external data bus connects the data I/O pins of the
CPU to the memory and I/O devices (e.g. printer,
monitor, etc).
−The width of the internal data bus in bits is usually used
to classify a microprocessor (e.g. 8-bit, 16-bit, 32-bi
microprocessors)
Three-Bus System Architecture
The Data Bus:
−The width of the internal data bus is usually the same as
the external data bust – but not always.
− The 80386 processor has 32-bit internal and 32-bit
external data buses.
− The 80386SX processor has 32-bit internal data bus, but
16-bit external data bus.
− The Pentium processor has 32-bit internal data bus and
64-bit external data bus.
Three-Bus System Architecture
Memory Banks:
−How a 64-bit (or 32-bit or 16-bit) processor can access
an 8-bit-wide memory?
−The memory is divided into banks.
− The 8086 processor (16-bit) requires 2 banks (16/8=2).
Three-Bus System Architecture
Memory Banks:
−How a 64-bit (or 32-bit or 16-bit) processor can access
an 8-bit-wide memory?
−The memory is divided into banks.
− The 80486 processor (32-bit) requires 4 banks (32/8=4).
Three-Bus System Architecture
The address Bus:
−It is used to identify the memory location or I/O device
(also called I/O port) to be accessed by the CPU
−The width of this bus in the 80x86 family varies from
one processor to the other for example:
The 8086/8088 processors have 20-bit address bus.
The 80286 processor has 24-bit address bus.
The 80386/80486/Pentium processors have 32-bit address
bus.
The Pentium Pro processor has 36-bit address bus.
Three-Bus System Architecture
Example 1:
How many different memory addresses can an 8086
output? Repeat for 80286 and 80386 processors.
Three-Bus System Architecture
Example 1:
How many different memory addresses can an 8086
output? Repeat for 80286 and 80386 processors.