Title: ECE 424 Design of Microprocessor-Based Systems
1ECE 424 Design of Microprocessor-Based Systems
Intel 8088 (8086) Microprocessor Structure
Dr. Esam Al_Qaralleh CE Department Princess
Sumaya University for Technology
2Overview
J. L. Antonakos, "An Introduction to the Intel
Family of Microprocessors," Third Edition,
Prentice Hall, 1999
The course will provide knowledge to build and
program microprocessor-based systems.
- Microprocessor architecture
- Architecture of microprocessor-based systems
- Programming microprocessor-based systems
- Future trends
Two midterms, one final exam, and homeworks
3What are microprocessor-based systems?
- Microprocessor-based systems are electrical
systems consisting of microprocessors,
memories, I/O units, and other peripherals.
- Microprocessors are the brains of the systems
- Microprocessors access memories and other units
through buses
- The operations of microprocessors are
controlled by instructions stored in
memories
4What are microprocessors?
- A microprocessor is a processor (or Central
Processing Unit, CPU) fabricated on a
single integrated circuit.
A simple microprocessor architecture
5Evolution of Computers
- First generation (1939-1954) - vacuum tube
- Second generation (1954-1959) - transistor
- Third generation (1959-1971) - IC
- Fourth generation (1971-present) -
microprocessor
6Evolution of Computers
- First generation (1939-1954) - vacuum tube
IBM 650, 1954
Http//history.acusd.edu/gen/recording/computer1.h
tml http//www.cs.virginia.edu/brochure/museum.htm
l http//www.columbia.edu/acis/history/650.html
7Evolution of Computers
- Second generation (1954-1959) - transistor
Manchester University Experimental Transistor
Computer
Http//history.acusd.edu/gen/recording/computer1.h
tml http//www.computer50.org/kgill/transistor/tra
ns.html
8Evolution of Computers
- Third generation (1959-1971) - IC
PDP-8, Digital Equipment Corporation
- Thanks to the use of ICs, the DEC PDP-8 is
the least expensive general purpose small
computer in 1960s
Http//history.acusd.edu/gen/recording/computer1.h
tml http//www.piercefuller.com/collect/pdp8.html
9Evolution of Computers
- Fourth generation (1971-present) -
microprocessor
- In 1971, Intel developed 4-bit 4004 chip for
calculator applications.
http//www.intel.com
Block diagram of Intel 4004
4004 chip layout
A good review article The History of The
Microprocessor, Bell Labs Technical Journal,
Autumn, 1997
10Evolution of Intel Microprocessors
Minimum transistor sizes (µm)
Number of transistors
Clock frequencies (MHz)
MIPS
11Other Commercial Microprocessors
- Athlon, Dulon, Hammer (AMD)
- SPARC, UltraSPARC (Sun Microsystems)
- TIs TMS DSP chips (Texas Instruments)
- StarCore (Motorola, Agere)
- ARM cores (Advanced RISC Machines)
- MIPS cores (MIPS Technologies)
12Applications of Microprocessor-Based Systems
- System performance is normally the most
important design concern
Block diagram of a computer
131.3 System block diagram
- ROM (Read Only Memory)
- (start-up program)
- RAM (Random Access Memory)
- DRAM (Dynamic RAM) - high capacity, refresh
needed - SRAM (Static RAM) - low power, fast, easy to
interface
?P associated logic circuitry
- Bus controller
- Bus drivers
- Coprocessor
- Crystal oscillator
- Timing circuitry
- (counters dividing to lower frequencies)
Simple (only two wires ground) but slow.
Many wires, fast.
At external unexpected events, ?P has to
interrupt the main program execution, service the
interrupt request (obviously a short subroutine)
and retake the main program from the point where
it was interrupt.
- Printer (high resolution)
- External memory
- Floppy Disk
- Hard Disk
- Compact Disk
- Other high speed devices
- Printer (low resolution)
- Modem
- Operators console
- Mainframe
- Personal computer
14The Personal Computer
Speaker
Processor (8086 trough Pentium
Coprocessor (8087 trough 80387
Timer logic (8253)
System ROM
640KB DRAM
Interrupt logic (8259)
Keyboard logic (8253)
DMA Controller (8237)
Expansion logic
Video card
Disk controller
Serial port
Keyboard
...
Extension slots
15Applications of Microprocessor-Based Systems
- A microcontroller is a simple computer
implemented in a single VLSI chip.
- In general, microcontrollers are cheap and
have low performance
- Microcontrollers are widely used in
industrial control, automobile and home
applications
Block diagram of a microcontroller
16Applications of Microprocessor-Based Systems
http//www.ti.com
- Microprocessors are embedded into ASIC
chips to implement complex functions
- In general, it requires that the
microprocessors have low power consumption
and take small silicon area
A TI baseband chip for cellular phone
applications
17Class Objectives
- Hardware architecture of microprocessor-based
systems
- Microprocessor architecture
- I/O units of microprocessor-based systems
- Programming of microprocessor-based systems
- Intel 80x86 instruction set
- Microprocessor Interrupt services
- Assembly language programming
18Overview Review
19Overview
- 20 bit address bus allow accessing 1 M
memory locations
- 16-bit internal data bus and 8-bit external
data bus. Thus, it need two read (or write)
operations to read (or write) a 16-bit datum
- Byte addressable and byte-swapping
8088 signal classification
20Organization of 8088
21General Purpose Registers
22Arithmetic Logic Unit (ALU)
- F Y
-
- 0 0 0 A B
- 0 0 1 A - B
- 0 1 0 A - 1
- 0 1 1 A and B
- 1 0 0 A or B
- 1 0 1 not A
-
- ? ? ? ? ? ?
- Signal F control which function will be
conducted by ALU.
- Signal F is generated according to the current
instruction.
- Basic arithmetic operations addition,
subtraction, ?????
- Basic logic operations and, or, xor,
shifting,?????
23Flag Register
- Flag register contains information reflecting
the current status of a microprocessor. It
also contains information which controls the
operation of the microprocessor.
?
?
CF Carry flag PF Parity flag AF Auxiliary
carry flag ZF Zero flag SF Sign
flag OF Overflow flag
IF Interrupt enable flag DF Direction
flag TF Trap flag
24Instruction Machine Codes
- Instruction machine codes are binary numbers
1 0 0 0 1 0 0 0 1 1 0 0 0 0 1 1
MOV AL, BL
Register mode
MOV
Opcode
Operand1
Mode
Operand2
- Some instructions do not have operands, or have
only one operand
- Opcode tells what operation is to be performed.
(EU control logic
generates ALU control signals according to
Opcode)
- Mode indicates the type of a instruction
Register type, or Memory type
- Operands tell what data should be used in the
operation. Operands can be addresses
telling where to get data (or where to store
results)
25EU Operation
1. Fetch an instruction from instruction
queue
2. According to the instruction, EU control
logic generates control signals. (This
process is also referred to as instruction
decoding)
3. Depending on the control signal, EU
performs one of the following operations
- Storing a datum into a register
- Moving a datum from a register
26Generating Memory Addresses
- How can a 16-bit microprocessor generate 20-bit
memory addresses?
Left shift 4 bits
FFFFF
0000
16-bit register
Addr1 0FFFF
Segment (64K)
16-bit register
Offset
Offset
Addr1
20-bit memory address
Segment address
00000
1M memory space
Intel 80x86 memory address generation
27Memory Segmentation
- A segment is a 64KB block of memory starting
from any 16-byte boundary
- For example 00000, 00010, 00020, 20000, 8CE90,
and E0840 are all valid segment addresses
- The requirement of starting from 16-byte
boundary is due to the 4-bit left shifting
28Memory Address Calculation
- Segment addresses must be stored in
segment registers
- Offset is derived from the combination of
pointer registers, the Instruction Pointer
(IP), and immediate values
29Fetching Instructions
- Where to fetch the next instruction?
- After an instruction is fetched, Register IP is
updated as follows
IP IP Length of the fetched instruction
- For Example the length of MOV AL, 0 is 2 bytes.
After fetching this instruction, the IP is
updated to 0014
30Accessing Data Memory
- There is a number of methods to generate the
memory address when accessing data memory.
These methods are referred to as Addressing
Modes
- Direct addressing MOV AL, 0300H
- Register indirect addressing MOV AL, SI
31Reserved Memory Locations
- Some memory locations are reserved for special
purposes. Programs should not be loaded in
these areas
FFFFF
- Locations from FFFF0H to FFFFFH are used
for system reset code
Reset instruction area
FFFF0
- Locations from 00000H to 003FFH are used
for the interrupt pointer table
- Each table entry is 4 bytes
003FF
256 ? 4 1024 memory addressing space
From 00000H to 003FFH
00000
32Interrupts
- An interrupt is an event that occurs while the
processor is executing a program
- The interrupt temporarily suspends execution of
the program and switch the processor to
executing a special routine (interrupt service
routine)
- When the execution of interrupt service routine
is complete, the processor resumes the
execution of the original program
- 8088 can have 256 interrupts
33Minimum and Maximum Operation modes
- Intel 8088 (8086) has two operation modes