Document Sample
Microprocessors Powered By Docstoc
					       Advanced Microprocessors
   Growth from 16 bits to 32 bits did not bring entirely
    new architectures, as did the change from 4 bits to
    8 bits, or the change from 8 bits to 16 bits.
    This permits programs from earlier
    microprocessors to run (usually a lot faster) on
    the new-generation microprocessor.
   The advanced microprocessors are very powerful
    computing devices.
      General Purpose Computers
   Typically, products which use these
    microprocessors are configured as general-purpose
    computers. CPU is connected to a bus along with
    memory, mass storage, general-purpose I/O, and
    a user interface. The user interface include an
    graphic display system and data entry system.
   The general purpose architecture lets you use a
    wide variety of general-purpose software to make
    the unit do the job you need to perform.
               Dedicated System
   Dedicated systems with advanced
    microprocessors typically need a great deal of
    computing power. For example, the 32-bit
    microprocessors are very popular for graphic
    display systems.
    A graphic presentation can be described as a
    multidimensional array with x and y dimensions
    describing the different points of the display. The
    z axis is used to define attributes such as color
    and intensity. To manipulate these images, you
    must quickly process multidimensional arrays.
           Numeric Coprocessor
   Frequently, advanced microprocessors are
    supported by a numeric coprocessor. It perform
    such arithmetic functions as add, subtract,
    multiply and divide on two variables.
   It returns a result much faster than a general-
    purpose CPU may also be busy handling a display
    or managing mass storage devices
    while the coprocessor is working.
       Advanced Microprocessors
   Often products using advanced microprocessors
    also require sophisticated operating and
    application software.
    All of this means that, to understand and
    advanced microprocessor-based system, you may
    require more system knowledge than hardware
      Multi-user and Multi-tasking
   One of the common applications for advanced
    microprocessors is with multi-user and multi-
    tasking operating systems.
    A multi-user operating system allows more than
    one user to appear to use the CPU at one time.
    Likewise, a multi-tasking operating system allows
    more than one task to appear to use the CPU at
    one time.
      Multi-user and Multi-tasking
   When a microprocessor is used in this mode, it is
    important to make sure that the individual users
    or tasks do not have access to the program
    performing the switching between users or tasks.
   To do this, an advanced microprocessors offer a
    special way of operating which is called supervisory,
    protected, or privileged mode. The advanced
    microprocessor may have access to a number of
    special instruction, additional registers and other
            Privileged Layer
Kernel – most privileged
                                         More Privileged

System Services

Operating System

Application Software – less privileged
      Multi-user and Multi-tasking
   Often virtual memory techniques is used where a
    software require access to large quantities of data.
    These data are much larger than the amount of
    physical memory available to the processor. The
    additional memory space is really on a disk, but
    through sophisticated memory addressing
    techniques. Advanced microprocessors often
    include special instructions and internal hardware
    to ensure the programs work properly.
               Intel X86 Family
   During the late 1970s, Intel introduced the 8088
    and 8086. Internally, these two 16-bit
    microprocessors have identical architectures. The
    difference between the two is the size of the
    external data bus.

    The 8088 has an 8-bit external data bus, and the
    8086 uses a 16-bit external data bus.
                 8088 and 8086
   In 1981 IBM introduced a PC based on the Intel
   The 8088 and 8086 evolved into faster versions
    with wider external data buses, versions with
    greater memory addressing space, versions with
    advanced computing functions, and versions
    which process 32-bit data words.
    Because these versions also have a very similar
    architecture, they have a common numbering
                 80286 to 80486
   The 80286 followed the original introductions,
    and it was soon followed by the 80386 and then
    the Intel 486.
   The latest introduction broke the numbering rule:
    It is simply known as the Pentium. Often people
    speak of these microprocessors by their last three
    digits i.e. 286, 386, 486
       Major Attributes of the X86
   Scan page 230
                  8088 and 8086
   8086 and 8088 were introduced in the year 1978.
    When it came time to pick a 16-bit
    microprocessor for the first IBM PC, the Intel
    8088 was chosen because its 8-bit data bus made
    it easy to use the low-cost 8-bit peripheral devices
    built for use with the 8080/8085 and other 8-bit
   The next major introduction was the Intel 80286.
    IBM introduced the PC/AT (personal computer/
    advanced technology) version of its PC using the
    286 in 1984.
   One of the features introduced with the 286 was
    real and protected modes of operation. In the real
    mode, the processor can address only 1 Mbytes of
    memory, whereas in the protected mode it can
    address 16 Mbytes.
   Another new feature was the ability to work with
    up to 1Gbyte of virtual memory, and yet another
    feature added hardware multitasking.
   The 80386 was a major next step in the X86
    family. The 80386 is a full 32-bit microprocessor.
    It has a 32-bit data bus and a 32-bit address bus,
    and it uses 32-bit internal registers.
   The base 386 internal architecture is, in many
    ways, very much like the 8088, 8086, and 286
    architectures. The major difference in the base
    architecture is that there are a few more registers
    and some register sets are now 32 bit rather than
    16 bit.
              386SX and 386DX
   Intel introduced a special version of the 386
    called 386SX. It uses a 16-bit data bus. The
    original 80386 processor was renamed the
    386DX. In addition to 32-bit processing, the 386
    microprocessors offered advanced virtual
    memory, advanced protected mode. And higher
         386SL, 386DX2, 386DX4
   Another variation of the 386DX is the 386SL. This is a
    low-power version. The 386SL can operate on either 3 or
    5Vdc and has special power-management circuits which
    allow the processor to shut down when not being used.

   Other versions of 386 are the 386DX2 and 386DX4. The
    DX2 version doubles the internal clock speed, thus
    speeding up many calculations and operation. The I/O,
    however continues to operate at lower speed, so there are
    no external interface problems if a 386DX2 is substituted
    for a 386DX. The 386DX4 triples the internal clock
   The 486 is basically a large integrated circuit which
    contains a fast 386 processor, a math coprocessor,
    a memory management unit (MMU), and an
    8kbytes cache memory.
   It is most frequently called the 486 or the i486.
   All 486 processors have a 32-bit data bus.
   Like the 386, the 486 has SL, DX2, and DX4
    versions which are low-power, clock-doubled,
    and clock-tripling versions respectively.
   The 486 achieves its high-speed operation from
    fast clock speeds, an internal pipelined
    architectures, and the use of reduced instruction
    set computing (RISC) to speed up the internal
   Neither the 386 nor the 486 was ever licensed to
    another IC manufacturer by Intel.
   However, they are number of IC manufacturers
    with their own versions of the 386 and 486
    processors, They are clones, not licensed identical
   The Pentium is the next Intel member of the X86
   The Pentium introduces a number of new
    features. The use of superscalar architecture
    incorporates a dual-pipelined processor which
    lets the Pentium process more than one
    instruction per clock cycle.
   The addition of both data and code caches on
    chip is also a feature designed to improve
    processing speed.
              Branch Prediction
   A new advanced computing technique used in
    the Pentium is called branch prediction. Using
    branch prediction, the Pentium makes an
    educated guess where the next instruction
    following a conditional instruction will be.
   The Pentium has a 64-bit data bus. This means
    that it can perform data transfers with an external
    device (memory, for example) twice as fast as a
    processor with a 32-bit data bus.
   Q1: The first microprocessor in the X86 family to support an on-
    chip instruction cache
    a. 8088
    b. 286
    c. 386DX
    d. Pentium

   Q2: The maximum physical memory space which can be
    addressed by the 286 is
    a. 640kbytes
    b. 1Mbytes
    c. 16Mbytes
    d. 4Gbytes

   (Answer: Q1 a, Q2 c)
             Programming Model
   The 8080 and the 8086 define the base
    programming model for the entire X86 family.
   The newer members of the X86 family of
    advanced microprocessors have greater
    computing power because they are faster, they
    use 32-bit registers instead of 16-bit registers used
    in earlier advanced microprocessors (8088, 8086,
       Basic Programming Model
   Once you understand the basic programming
    model for the 8088 and 8086 processors, you will
    be able to understand the improvements made
    with the newer models.
   The base programming model of the 16-bit
    (8088, 8086 and 286) and 32-bit (386 and 486)
    processors is very much the same. The difference
    is in register length, extra data segment registers,
    and added features.
           Three Register Group
   The base programming model is made up of
    three register group.
   The first set contains eight general purpose
    registers called the A, B, C, D, SI (source index),
    DI (destination index), SP (stack pointer) and BP
    (base pointer) register. Depending on the specific
    processor, these are either 16- or 32-bit registers.
        X86 Programming Model
   Scan pg 233
       General-Purpose Registers
   The lower two bytes of the A, B, C, and D
    registers are broken into low and high bytes
    called AL, BL, CL, DL and AH, BH, CH, and
    DH respectively.
   The full 16 bits are referred to as AX, BX, CX,
    and DX, where X stands for extended.
   The SI, DI, BP, and SP registers are always
    treated as 16-bit register.
                32-bit Registers
   When the microprocessor uses 32-bit registers,
    the eight general-purpose registers are called the
    EAX, EBX, ECX, EDX, ESI, EDI, ESP, and
    EBP registers. The E tells us that these registers
    have extended length.
   The ALU works with these register to give the
    X86 microprocessors their computation and data
    movement capability.
          Second Set of Registers
   The second set of registers are the segment registers.
    This set of register consists of the code segment
    (CS) and stack segment (SS) registers, and either
    two (286) or four data segment register (80386).
    The data segment registers are called DS, ES, FS,
    and GS.
   The X86 registers manage operations with
    external memory. Address computation and data
    movement are performed here. A second ALU is
    dedicated to processing memory address data
    which works with the segment registers.
        The Third Set of Registers
   The third set of registers includes the instruction
    pointer (program counter) and flags register. The
    instruction pointer is either a 16-bit or a 32-bit
    (for the 386 and newer processors) register.
   The first five bits are identical to the flag it in the
    8085 8-bit microprocessor (CF, PF, and AF). See
    next page.
   The 6 to 11 were introduced with the 8088/8086.
    (ZF, SF, TF (Trap), IF, DF (Direction , OF)
           32-bit Status Register
   Scan pg 234
          32-bit Status Register ..
   The 12 to 14 (I/O privilege level and nested task
    flag) were introduced with the 286.
   The flags in bits 16 and 17 ( Resume and virtual
    mode flag) were introduced with the 386, and the
    flag in bit 18(alignment check) was introduced
    with the 486.
   These three register groups and their support
    circuits let the X86 processors manage memory
    operations and compute at the same time.
    Pre-fetching and Data Caching
   To give the X86 processors even greater speed,
    the processors include various levels of
    instruction pre-fetching and data caching.
   The newer processors have significant amounts of
    internal memory in which they can cache data as
    well as code (instruction).
   The next few instructions are pre-fetched
    whenever the address and data buses are available.
    The additional instructions are fetched and stored
    in the processor’s pre-fetch queue or code cache.
   These pre-fetched instructions are immediately
    available for processing once the current
    instruction is complete; therefore, when
    executing this software, the processor does not
    wait for a fetch cycle. Prefetching can
    significantly speed up execution time.
   This process may not work for every instruction
    because software does not always execute one
    instruction after the other. For example,
    branching may cause the next instruction to come
    from a very different location in memory.
                  Prefetching ..
   The most advanced members of the X86 family
    have special logic which analyzes the prefetched
    instructions and attempts to anticipate branching
    and other such changes so that the correct
    instructions are prefetched.
   The more advanced X86 processors also store
    frequently used data in memory which is on
    board the processor. Again, having this data right
    at hand, in a data cache, avoids the need for an
    external memory access cycle and therefore
    speeds up processing time.
   The main difference between the older and newer
    versions of the X86 advanced microprocessors is
    that the general purpose registers in the newer
    processors are
    a. 8 bit
    b. 16-bit
    c. 32-bit
    d. 64-bit
   Answer: c
                   Question 2
   You will find data segment registers called the FS
    and GS registers on the ________
    a. 8088
    b. 8086
    c. 80286
    d. 80386
   Answer: d
                   Question 3
   The length of the 8088 instruction pointer is
    a. 4 bits
    b. 8 bits
    c. 16 bits
    d. 32 bits

   Answer: c
                   Question 4
   A prefetch queue or code cache first appeared on
    a. 8088
    b. 8086
    c. 286
    d. 486

   Answer: a
                   Question 5
   A separate ALU is used with the _______
    registers to perform memory location calculation.
    a. Segment
    b. Flag
    c. Instruction Pointer
    d. General-purpose
   Answer: a

Shared By: