INTRODUCTION OF
MICROPROCESSOR
BME3101
OUTLINE
Block diagram of a computer system
Basic components of a computer system using block
diagrams:
CPU
Memory
Input and output unit
Evolution of microprocessor : 4,8,16,32 and 64 bytes
Nibble, byte, word and long word
Fetching and execution cycles.
Internal structure and basic operation of a
microprocessor (arithmetic and logic unit, control unit,
register sets, accumulator, condition code register,
program counter, stack pointer)
Bus system: data bus, address bus and control bus.
Microprocessor clock system
Examples of microprocessor: 8085,8086.
2
https://www.youtube.com/watch?v=Xl2nWDcy0To
Introduction
A computer is a programmable machine
that receives input, stores and manipulates
data//information, and provides output in a
useful format.
1.1 DIAGRAM OF A COMPUTER
SYSTEM
A computer is a programmable machine that receives input, stores and
manipulates data//information, and provides output in a useful format.
Diagram of a Computer System
1.1 BLOCK DIAGRAM OF A BASIC
COMPUTER SYSTEM
Basic computer system consist of a Central processing unit (CPU),
memory (RAM and ROM), input/output (I/O) unit.
Address bus
ROM RAM I/O I/O
CPU interface devices
Data bus Control
bus
Block diagram of a basic computer system 5
BASIC COMPONENT OF MICROCOMPUTER
1. CPU - Central Processing Unit
the portion of a computer system that carries out the
instructions of a computer program
the primary element carrying out the computer's
functions. It is the unit that reads and executes
program instructions.
The data in the instruction tells the processor what to
do.
Pentium D dual core processors
6
2. Memory
Physical devices used to store data or programs
(sequences of instructions) on a temporary or permanent
basis for use in an electronic digital computer.
Computer main memory comes in two principal varieties:
random-access memory (RAM) and read-only memory
(ROM).
RAM can be read and written to anytime the CPU
commands it, but ROM is pre-loaded with data and
software that never changes, so the CPU can only read
from it.
ROM is typically used to store the computer's initial start-
up instructions.
In general, the contents of RAM are erased when the power
to the computer is turned off, but ROM retains its data
indefinitely.
In a PC, the ROM contains a specialized program called the
BIOS that orchestrates loading the computer's 7
operating system from the hard disk drive into RAM
whenever the computer is turned on or reset.
3. I/O Unit
Input/output (I/O), refers to the communication
between an information processing system (such as a
computer), and the outside world possibly a human, or
another information processing system.
Inputs are the signals or data received by the system,
and outputs are the signals or data sent from it.
Devices that provide input or output to the computer are
called peripherals.
On a typical personal computer, peripherals include input
devices like the keyboard and mouse, and output devices
such as the display and printer. Hard disk drives,
floppy disk drives and optical disc drives serve as both
input and output devices. Computer networking is
another form of I/O.
8
EVOLUTION OF MICROPROCESSOR
9
DATA SIZE
Nibble 4 bit
Byte 8 bit
Word 16 bit
Long 32 bit
word
10
FETCHING & EXECUTION CYCLES
Fetching cycle
The fetch cycle takes the instruction required
from memory, stores it in the instruction
register, and
moves the program counter on one so that it
points to the next instruction.
Execute cycle
The actual actions which occur during the
execute cycle of an instruction.
depend on both the instruction itself and the
addressing mode specified to be used to access
11
the data that may be required.
Inside CPU: https://www.youtube.com/watch?v=IAkj32VPcUE
FETCHING AN INSTRUCTION
Step 1
Instruction pointer (program counter) hold the address
of the next instruction to be fetch.
12
FETCHING AN INSTRUCTION (cont.)
Step 2
13
FETCHING AN INSTRUCTION (cont.)
Step 3
14
FETCHING AN INSTRUCTION (cont.)
Step 4
15
FETCHING AN INSTRUCTION (cont.)
Step 5
16
FETCHING AN INSTRUCTION (cont.)
Step 6
17
INTERNAL STRUCTURE AND BASIC
OPERATION OF MICROPROCESSOR
Address bus
ALU Register
Section
Data bus
Control and timing
section Control bus
Block diagram of a microprocessor 18
ARITHMETIC AND LOGIC UNIT (ALU)
The component that performs the arithmetic
and logical operations
the most important components in a
microprocessor, and is typically the part of the
processor that is designed first.
able to perform the basic logical operations
(AND, OR), including the addition operation.
The inclusion of inverters on the inputs
enables the same ALU hardware to perform
the subtraction operation (adding an inverted
operand), and the operations NAND and NOR.
19
INTERNAL STRUCTURE OF ALU
2 bits of ALU 4 bits of ALU 20
CONTROL UNIT
The circuitry that controls the flow of
information through the processor, and
coordinates the activities of the other units
within it.
In a way, it is the "brain within the brain", as
it controls what happens inside the
processor, which in turn controls the rest of
the PC.
On a regular processor, the control unit
performs the tasks of fetching, decoding,
managing execution and then storing results.
21
INTERNAL STRUCTURE OF CONTROL
UNIT
22
REGISTER SETS
The register section/array consists completely
of circuitry used to temporarily store data
or program codes until they are sent to the
ALU or to the control section or to memory.
The number of registers are different for any
particular CPU and the more register a CPU
have will result in easier programming tasks.
Registers are normally measured by the
number of bits they can hold, for example, an
"8-bit register" or a "32-bit register". 23
REGISTERS IN MOTOROLA 68000 MICROPROCESSOR
31 16 15 8 7 0
D0
D1
D2
D3 DATA REGISTERS
D4
D5
D6
D7
31 16 15 8 7 0
A0
A1
A2
A3 ADDRESS REGISTERS
A4
A5
A6
A7
USER STACK POINTER
SUPERVISOR STACK POINTER
A7 STACK POINTER
PC PROGRAM CONTER 24
15 8 7 0
SYSTEM BYTE USER VYTE SR STATUS REGISTER
ACCUMULATOR
Is a register in which intermediate arithmetic
and logic results are stored.
example for accumulator use is summing a
list of numbers.
The accumulator is initially set to zero, then each
number in turn is added to the value in the
accumulator.
Only when all numbers have been added is the
result held in the accumulator written to main
memory or to another, non-accumulator, CPU
register.
25
CONDITION CODE REGISTER (CCR)
an 8 bit register that stores the status of
CPU, such as carry, zero, overflow and half
carry.
26
Flag Name Description
Indicates that the result of a mathematical or logical operation
Z Zero flag
was zero.
Indicates that the result of an operation produced an answer
greater than the number of available bits. (This flag may also
C Carry flag
be set before a mathematical operation as an extra operand to
certain instructions, e.g. "add with carry".)
Masks the non-maskable interrupt request (XIRQ) when set. It
X Extend flag is set by the hardware and cleared by the software as well is
set by unmaskable XIRQ.
Indicates that the result of a mathematical operation is
negative. In some processors, the N and S flags have different
N Negative/ Sign flag meanings: the S flag indicates whether a subtraction or
addition has taken place, whereas the N flag indicates whether
the last operation result is positive or negative.
Indicates that the result of an operation has overflowed
V Overflow Flag according to the CPU's word representation, similar to the
carry flag but for signed operations.
Interrupts can be enabled or disabled by respectively setting
I interrupts or clearing this flag. Modifying this flag may be restricted to 27
programs executing in supervisor mode
PROGRAM COUNTER (PC)
a 16 bit register, used to store the next
address of the operation code to be
fetched by the CPU.
Not much use in programming, but as
an indicator to user only.
Purpose of PC in a Microprocessor
to store address of tos (top of stack)
to store address of next instruction
to be executed.
count the number of instructions.
28
to store base address of the stack.
INTERNAL STRUCTURE OF PC
29
STACK POINTER (SP)
The stack is configured as a data
structure that grows downward from
high memory to low memory.
At any given time, the SP holds the 16-
bit address of the next free location in
the stack.
The stack acts like any other stack
when there is a subroutine call or on
an interrupt. ie. pushing the return
address on a jump, and retrieving it
after the operation is complete to 30
come back to its original location.
BUS SYSTEM
a subsystem that transfers data between
computer components inside a computer or
between computers.
4 PCI Express bus card slots (from top to bottom: x4, x16, x1 and x16),
compared to a traditional 32-bit PCI bus card slot (very bottom).
31
BUS SYSTEM CONNECTION
32
DATA BUS
The data bus is 'bi-directional'
data or instruction codes from memory or
input/output are transferred into the
microprocessor
the result of an operation or computation is
sent out from the microprocessor to the
memory or input/output.
Depending on the particular
microprocessor, the data bus can handle
8 bit or 16 bit data.
33
ADDRESS BUS
The address bus is 'unidirectional', over
which the microprocessor sends an address
code to the memory or input/output.
The size (width) of the address bus is
specified by the number of bits it can handle.
The more bits there are in the address bus,
the more memory locations a microprocessor
can access.
A 16 bit address bus is capable of addressing
65,536 (64K) addresses.
34
CONTROL BUS
The control bus is used by the
microprocessor to send out or receive timing
and control signals in order to coordinate and
regulate its operation and to communicate
with other devices, i.e. memory or
input/output.
35
MICROPROCESSOR CLOCK
Also called clock rate, the speed at which a
microprocessor executes instructions. Every computer
contains an internal clock that regulates the rate at which
instructions are executed and synchronizes all the various
computer components.
The CPU requires a fixed number of clock ticks (or clock
cycles) to execute each instruction. The faster the clock,
the more instructions the CPU can execute per second.
Clock speeds are expressed in megahertz (MHz) or
gigahertz ((GHz).
Some microprocessors are superscalar, which means that
they can execute more than one instruction per clock
cycle.
Like CPUs, expansion buses also have clock speeds.
Ideally, the CPU clock speed and the bus clock speed
should be the same so that neither component slows
down the other. In practice, the bus clock speed is often
slower than the CPU clock speed, which creates a 36
bottleneck. This is why new local buses, such as
Accelerated Graphics Port (AGP), have been developed.
EXAMPLES OF MICROPROCESSOR
Intel 8085
Intel 8086
37
8086
The 8086 is a 16-bit
microprocessor chip designed by
Intel, which gave rise to the x86
architecture; development work
on the 8086 design started in the
spring of 1976 and the chip was
introduced to the market in the
summer of 1978.
The Intel 8088, released in 1979,
was a slightly modified chip with
an external 8-bit data bus
(allowing the use of cheaper and
fewer supporting logic chips and
is notable as the processor used
in the original IBM PC. 38
8085
The Intel 8085 is an 8-bit
An Intel 8085AH processor.
microprocessor introduced by
Intel in 1977. Produced
From 1977
to 1990s
It was binary-compatible with
•Intel and
the more-famous Intel 8080 Common
manufacturer(s)
several
others
but required less supporting
hardware, thus allowing
3,5 and
simpler and less expensive Max. CPU clock rate
6 MHz
microcomputer systems to be
Instruction set pre x86
built.
Package(s) •40 pin DIP
39
ASSIGNMENT
Download and install Proteus ISIS software
Acquire any the datasheet of PIC
microcontroller and describe each PIN.
Guiding video for PIN description
https://www.youtube.com/watch?
v=LnzuMJLZRdU
40