ECE 424 Design of Microprocessor-Based Systems - PowerPoint PPT Presentation

1 / 33
About This Presentation
Title:

ECE 424 Design of Microprocessor-Based Systems

Description:

ECE 424 Design of Microprocessor-Based Systems Intel 8088 (8086) Microprocessor Structure Dr. Esam Al_Qaralleh CE Department Princess Sumaya University for Technology – PowerPoint PPT presentation

Number of Views:379
Avg rating:3.0/5.0
Slides: 34
Provided by: psutEduJ
Category:

less

Transcript and Presenter's Notes

Title: ECE 424 Design of Microprocessor-Based Systems


1
ECE 424 Design of Microprocessor-Based Systems
Intel 8088 (8086) Microprocessor Structure
Dr. Esam Al_Qaralleh CE Department Princess
Sumaya University for Technology
2
Overview
  • Textbook

J. L. Antonakos, "An Introduction to the Intel
Family of Microprocessors," Third Edition,
Prentice Hall, 1999
  • Objectives

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
  • Grading

Two midterms, one final exam, and homeworks
3
What 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

4
What are microprocessors?
  • A microprocessor is a processor (or Central
    Processing Unit, CPU) fabricated on a
    single integrated circuit.

A simple microprocessor architecture
5
Evolution of Computers
  • First generation (1939-1954) - vacuum tube
  • Second generation (1954-1959) - transistor
  • Third generation (1959-1971) - IC
  • Fourth generation (1971-present) -
    microprocessor

6
Evolution 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
7
Evolution 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
8
Evolution 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
9
Evolution 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
10
Evolution of Intel Microprocessors
Minimum transistor sizes (µm)
Number of transistors
Clock frequencies (MHz)
MIPS
11
Other Commercial Microprocessors
  • PowerPC (IBM, Motorola)
  • Athlon, Dulon, Hammer (AMD)
  • Crusoe (Transmeta)
  • SPARC, UltraSPARC (Sun Microsystems)
  • TIs TMS DSP chips (Texas Instruments)
  • StarCore (Motorola, Agere)
  • ARM cores (Advanced RISC Machines)
  • MIPS cores (MIPS Technologies)
  • ? ? ? ? ? ?

12
Applications of Microprocessor-Based Systems
  • Computers
  • System performance is normally the most
    important design concern

Block diagram of a computer
13
1.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

14
The 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
15
Applications of Microprocessor-Based Systems
  • Microcontrollers
  • 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
16
Applications of Microprocessor-Based Systems
  • ASICs

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
17
Class Objectives
  • Hardware architecture of microprocessor-based
    systems
  • Microprocessor architecture
  • Memory organization
  • I/O units of microprocessor-based systems
  • How to put them together
  • Programming of microprocessor-based systems
  • Intel 80x86 instruction set
  • Microprocessor Interrupt services
  • Assembly language programming

18
Overview Review
19
Overview
  • Intel 8088 facts
  • 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
20
Organization of 8088
21
General Purpose Registers
22
Arithmetic 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,?????

23
Flag Register
  • Flag register contains information reflecting
    the current status of a microprocessor. It
    also contains information which controls the
    operation of the microprocessor.

?
?
  • Status Flags
  • Control Flags

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
24
Instruction Machine Codes
  • Instruction machine codes are binary numbers
  • For Example

1 0 0 0 1 0 0 0 1 1 0 0 0 0 1 1
MOV AL, BL
Register mode
MOV
  • Machine code structure

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)

25
EU 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
  • An arithmetic operation
  • A logic operation
  • Storing a datum into a register
  • Moving a datum from a register
  • Changing flag register

26
Generating 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
27
Memory 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
  • Segment registers in BIU

28
Memory 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
  • Examples

29
Fetching Instructions
  • Where to fetch the next instruction?
  • Update IP
  • 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

30
Accessing 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
  • Examples
  • Direct addressing MOV AL, 0300H
  • Register indirect addressing MOV AL, SI

31
Reserved 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
  • It has 256 table entries
  • Each table entry is 4 bytes

003FF
256 ? 4 1024 memory addressing space
From 00000H to 003FFH
00000
32
Interrupts
  • 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
  • Interrupt classification
  • 8088 can have 256 interrupts

33
Minimum and Maximum Operation modes
  • Intel 8088 (8086) has two operation modes
Write a Comment
User Comments (0)
About PowerShow.com