unit 1 notes for microprocessor and microcontroller

Embed Size (px)

Citation preview

  • 7/28/2019 unit 1 notes for microprocessor and microcontroller

    1/28

    Chapter # 1

    Historical Evolutions of Microprocessors

    The complete Microprocessor FamilyFeatures of 80286Features of 80386

    Features of 80486Pentium FamilyPentium Features

  • 7/28/2019 unit 1 notes for microprocessor and microcontroller

    2/28

    The complete Microprocessor Family

    Features of 80286

    16-bit microprocessor16 MB Address Space ( 1 GB Virtual Memory)80286 4 /8/16 MHz

    Separate pins for Address & Data LinesBU, AU, IU, EUReal Mode and Protected Virtual Address ModeCompatible with earlier versions

  • 7/28/2019 unit 1 notes for microprocessor and microcontroller

    3/28

    Features of 8038632-bit microprocessor4 GB Address Space ( 64 TB Virtual Memory)Pipelined Architecture (3-4 million Inst/sec)Switch OSDifferent Data Types (b/ B/ W/ DW/ PW/ QW/ TB)Real Mode, Protected mode and Virtual 8086 ModeCompatible with earlier versions

    Features of 8048632-bit microprocessor4 GB Address Space ( 64 TB Virtual Memory)80486 25/33/50/66/100 MHz80486 DX/ 80486 SX

    On-chip Memory Mgmt and Cache Memory UnitsPipelined Architecture ( 5-stage )Real Mode, Protected mode and Virtual 8086 Mode

  • 7/28/2019 unit 1 notes for microprocessor and microcontroller

    4/28

    Features of 80486 (contd)

    Built-in Parity Generator/Checker Unit

    Burst mode memory read and write

    New Instructions (XADD, CMPXCHG, BSWAP)

    Supports Built-in-self-test ( BIST)

    TR3-TR5

    Compatible with earlier versions

    The complete Microprocessor FamilyChip Year Data Bus Address Bus

    4004

    1970-80

    4 48008 8 88080 8 168085 8 16

    8086/8088 16/8 2080186/80188

    1980-90

    16/8 2080286 16 24

    80386-SX 16 2480386-DX 32 3280486-SX 32 3280486-DX 32 32

    Pentium 1993 64 32

  • 7/28/2019 unit 1 notes for microprocessor and microcontroller

    5/28

    The Pentium Family

    Processor Memory L1 CacheData-Code L2 Cache Bus Transfer Speed (MHz)

    Pentium 4 GB 8K-8K - 60-66

    Pentium Pro 64 GB 8K-8K 256K 60-66

    Pentium II 64 GB 16K-16K 512K 100

    Pentium II Xeon 64 GB 16K-16K 512K 100

    Pentium III (1GHz) 64 GB 16K-16K 256K 100

    Pentium III (1GHz) Celeron 64 GB 16K-16K 256K 66

    Pentium IV (1.3,1.4,1.5GHz) 64 GB 16K-16K 256K 100

    Pentium FeaturesWider Data bus width (64-bits)Faster Floating Point Unit (10 times faster)Improved Cache StructureSeparate data and code cacheDedicated TLBDual Integer Processor (2 Instn/clock)Branch Prediction Logic (2 pre-fetch buffers)

  • 7/28/2019 unit 1 notes for microprocessor and microcontroller

    6/28

    Pentium Features (contd)Data Integrity and Error DetectionFunctional Redundancy Checking(2nd Processor Checker )Superscalar ArchitecturePentium-Pro ( 5 Instn/Execution)16K L1 and 256K L2 cache

    Includes Error-Correction Circuitry4 additional address lines (64 GB memory space)

    Comparison of 16 ,32 and 64 bit Microprocessors

  • 7/28/2019 unit 1 notes for microprocessor and microcontroller

    7/28

    Comparison of 16 ,32 and 64 bit Microprocessors (contd.)

    Comparison of 16 ,32 and 64 bitMicroprocessors (contd.)

  • 7/28/2019 unit 1 notes for microprocessor and microcontroller

    8/28

    Comparison of 16 ,32 and 64 bitMicroprocessors (contd.)

    PentiumArchitecture

  • 7/28/2019 unit 1 notes for microprocessor and microcontroller

    9/28

  • 7/28/2019 unit 1 notes for microprocessor and microcontroller

    10/28 1

    1. Reduce Access to Main Memory10ns vs 60nsCache

    2. Keep Addressing modes and InstructionsSimple

    Programmers use small subsetReduce complexity of Instruction decoder,addressing logic & execution unitLooks like CISC machine

    3. Make good use of RegistersLarge set of registers16-bit, 32-bit, 80-bit

    4. Pipeline everything2 pipelines

    Instruction PipelineBus Cycle Pipeline

    Branch Prediction

  • 7/28/2019 unit 1 notes for microprocessor and microcontroller

    11/28 1

    5. Utilize Compiler Extensively

    Optimization on Assembly LanguageSubstitute an Instruction

    Pentium contains both CISC and RISCcharacteristics

    Pentium Real Mode

  • 7/28/2019 unit 1 notes for microprocessor and microcontroller

    12/28 1

    Pentium Real Mode

    PentiumReal Mode

  • 7/28/2019 unit 1 notes for microprocessor and microcontroller

    13/28 1

    Pentium Real Mode

    Pentium Real Mode : Address Generation

  • 7/28/2019 unit 1 notes for microprocessor and microcontroller

    14/28 1

    Pentium Real Mode

    Pentium Real Mode: Interrupts & Exception

  • 7/28/2019 unit 1 notes for microprocessor and microcontroller

    15/28 1

    Pentium Real Mode: Interrupts & Exception

    Pentium Real ModeSupports Architecture of 8086 but can access 32-bit registersProgramming Model (Register Set : 8+8 = 16 )

    CR0 (Control Register 0) : used to enter in Protected Mode ( PE)1 MB memory and 64KB I/O Space

    Paging mechanism is not supportedLinear addresses are Physical addresses

    (21-bit address allowed)Interrupts and Exceptions

    From 000 H 3FF H (400 memory locations) are dedicatedfor IDT (Interrupt Descriptor Table or Pointer to ISR)

    IDTR Re-locatable, 48-bit (32-base & 16-limit)

  • 7/28/2019 unit 1 notes for microprocessor and microcontroller

    16/28 1

    Pentium Superscalar ArchitectureSuperscalar Machine:

    Processor capable of parallel instruction execution of multipleinstructions are known as superscalar machines

    Capable of 2 integer or 2 floating point instructionssimultaneously

    Possible due to U & V pipeline

    Restrictions for Pairing Instructions

    Compilers role for ordering instructions during code generation

    Pentium Superscalar Architecture

    Floating point Instructions Pairing Rule

  • 7/28/2019 unit 1 notes for microprocessor and microcontroller

    17/28 1

    Instruction Pairing Rules1. Both instructions must be Simple Instructions

    Execute in 1 clock (hardwired)MOV R/R, INC, DEC, Near conditional Jumps (JZ, JNZ)Restriction to conditional instructions: it must be the 2 nd

    instruction in the pair

    2. Shifts or Rotates can only pair in the U pipe3. ADC and SBB can only pair in the U pipe

    4. JMP, CALL and JCC can only pair in the V pipe

    5. Neither instruction can contain both a displacement and animmediate operand . (Ex: MOV [SI+2], 0010H)

    6. Prefixed instructions can only pair in the U pipe

    Instruction Pairing Rules7. The U pipe instruction must be only 1 byte in length or it will

    not pair until 2 nd time it executes from the cache

    8. There should NOT be any DATA DEPENDANCY Read-after-write dependency Write-after-write dependency

  • 7/28/2019 unit 1 notes for microprocessor and microcontroller

    18/28 1

    Pipelining

    Is a valid technique for improving Instruction

    Execution RatePipeline Stages of U & V Pipeline

    Pipelining

  • 7/28/2019 unit 1 notes for microprocessor and microcontroller

    19/28 1

    Pipelining

    U pipeline can execute ANY instruction

    V pipeline executes only SIMPLE instructions.

    Under ideal conditions 2 INTEGER instructions my completeexecution EVERYclock cycle

    Branch Prediction

    The incorrect instructions that loaded wrongly, must bediscarded. This is called FLUSHING of the pipeline.

    No work is done when the pipeline stages are reloaded.

    These disturbances in the pipelined instruction execution arecalled BUBBLES.

  • 7/28/2019 unit 1 notes for microprocessor and microcontroller

    20/28 2

    Branch Prediction : Dynamic

    BTB ( Branch Target Buffer )

    a special cache that stores the instruction and targetaddresses of any branch instruction that have beenencountered in the Instruction Stream.

    BTB stores history bits . These are Initially set to 11 when anew target address is placed into the BTB.

    If a new branch instruction is encountered, the prediction is

    not taken . (no target address in the BTB / HB = 00)

    Dynamic Branch Prediction

  • 7/28/2019 unit 1 notes for microprocessor and microcontroller

    21/28 2

    Branch Prediction : Dynamic

    Two 32-Byte Pre-fetch Buffers

    Incorrect predictions or correct predictions with wrong targetaddress cause the pipelines to be flushed

    Pentium sets the history bits to 11 for a new entry.

    The Instruction and Data Cache

  • 7/28/2019 unit 1 notes for microprocessor and microcontroller

    22/28 2

    The Instruction and Data Cache

    Cache Organization

  • 7/28/2019 unit 1 notes for microprocessor and microcontroller

    23/28 2

    The Instruction and Data Cache in PENTIUM

    The Instruction and Data Cache

  • 7/28/2019 unit 1 notes for microprocessor and microcontroller

    24/28 2

    The Instruction and Data Cache

    Linear to Physical Address Generation

  • 7/28/2019 unit 1 notes for microprocessor and microcontroller

    25/28 2

    FPU: Floating Point Unit

  • 7/28/2019 unit 1 notes for microprocessor and microcontroller

    26/28 2

    FPU: Floating Point Unit Pipeline Stages

    FPU: Pipeline Stages

  • 7/28/2019 unit 1 notes for microprocessor and microcontroller

    27/28 2

    FPU Register File

    FPU Data TypesInteger (Signed and Unsigned)

    Byte IntegerWord Integer

    Short Integer (Double Word)Long Integer (Quad Word)

    Packed BCD (10 / 9 Bytes -18)Real Numbers

    Short Real (Single-precision)

    Long Real (Double-precision)

    Extended Real (Extended-precision)

  • 7/28/2019 unit 1 notes for microprocessor and microcontroller

    28/28

    Integer formatsin the FPU

    Real, Long Real, Extended RealFormats in the FPU