Intel Processors by wanghonghx

VIEWS: 139 PAGES: 57

									   Intel Processors


Information and images of the processors taken from
http://www.intel.com/museum/online/hist_micro/hof/
1971: 4004 Microprocessor
 1971: 4004 Microprocessor




http://www.computerhistory.org/exhibits/highlights/busicom.shtml
      1971: 4004 Microprocessor
   The 4004 was Intel's first microprocessor. This
    breakthrough invention powered the Busicom
    calculator and paved the way for embedding
    intelligence in inanimate objects as well as the
    personal computer.
      1971: 4004 Microprocessor
   Data Word: 4-bit
   Clock: 740KHz
   Address Space: 4 KB
   Instruction Set: 46
   Registers: 16
1972: 8008 Microprocessor
1972: 8008 Microprocessor




            www.ciphersbyritter.com/ MARK8/MAGCOV5.JPG
      1972: 8008 Microprocessor
   The 8008 was twice as powerful as the 4004.
    A 1974 article in Radio Electronics referred to
    a device called the Mark-8 which used the
    8008. The Mark-8 is known as one of the first
    computers for the home --one that by today's
    standards was difficult to build, maintain and
    operate.
        1972: 8008 Microprocessor
   Data Word: 8-bit
   Clock: 800KHz
   Address Space: 16 KB
   Instructions: 48
   Registers: 15
   Addressing modes
       Register
       Register direct
       Immediate
1974: 8080 Microprocessor
1974: 8080 Microprocessor




 http://www.obsoletecomputermuseum.org/altair/altair3.jpg
      1974: 8080 Microprocessor
   The 8080 became the brains of the first
    personal computer--the Altair, allegedly
    named for a destination of the Starship
    Enterprise from the Star Trek television show.
    Computer hobbyists could purchase a kit for
    the Altair for $395. Within months, it sold tens
    of thousands, creating the first PC back orders
    in history.
        1974: 8080 Microprocessor
   Data Word: 8-bit
   Clock: ~2MHz
   Address Space: 64 KB
   Instructions: 48
   Addressing modes
       Register
       Register direct
       Immediate
1978: 8086-8088 Microprocessor
1978: 8086-8088 Microprocessor




 http://accad.osu.edu/~waynec/history/images/small/ibm_pc_xt.jpg
1978: 8086-8088 Microprocessor
   A pivotal sale to IBM's new personal computer
    division made the 8088 the brains of IBM's
    new hit product--the IBM PC. The 8088's
    success propelled Intel into the ranks of the
    Fortune 500, and Fortune magazine named the
    company one of the "Business Triumphs of the
    Seventies."
1982: 286 Microprocessor
1982: 286 Microprocessor
       1982: 286 Microprocessor
   The Intel 286, originally known as the 80286,
    was the first Intel processor that could run all
    the software written for its predecessor. This
    software compatibility remains a hallmark of
    Intel's family of microprocessors. Within 6
    years of its release, an estimated 15 million
    286-based personal computers were installed
    around the world.
1985: Intel386™ Microprocessor
1985: Intel386™ Microprocessor




   http://skola.amoskadan.cz/images/pp/uvod/pc386.gif
1985: Intel386™ Microprocessor
   The Intel386™ microprocessor featured
    275,000 transistors--more than 100times as
    many as the original 4004. It was a 32-bit chip
    and was "multi tasking," meaning it could run
    multiple programs at the same time.
1989: Intel486™ DX CPU
    Microprocessor
   1989: Intel486™ DX CPU
       Microprocessor




http://www.100megspopup.com/redawa/Graphics/Icon486.jpg
          1989: Intel486™ DX CPU
              Microprocessor
   The Intel486™ processor generation really meant you
    go from a command-level computer into point-and-
    click computing. "I could have a color computer for
    the first time and do desktop publishing at a
    significant speed," recalls technology historian David
    K. Allison of the Smithsonian's National Museum of
    American History. The Intel486™ processor was the
    first to offer a built-in math coprocessor, which
    speeds up computing because it offloads complex
    math functions from the central processor.
1993: Intel® Pentium® Processor
1993: Intel® Pentium® Processor
   The Intel Pentium® processor allowed
    computers to more easily incorporate "real
    world" data such as speech, sound,
    handwriting and photographic images. The
    Intel Pentium brand, mentioned in the comics
    and on television talk shows, became a
    household word soon after introduction.
1995: Intel® Pentium® Pro Processor
        1995: Intel® Pentium® Pro
                 Processor
   Released in the fall of 1995 the Intel®
    Pentium® Pro processor is designed to fuel
    32-bit server and workstation applications,
    enabling fast computer-aided design,
    mechanical engineering and scientific
    computation. Each Intel® Pentium Pro
    processor is packaged together with a second
    speed-enhancing cache memory chip. The
    powerful Pentium® Pro processor boasts 5.5
    million transistors.
1997: Intel® Pentium® II Processor
1997: Intel® Pentium® II Processor
   The 7.5 million-transistor Intel® Pentium II processor
    incorporates Intel® MMX™ technology, which is
    designed specifically to process video, audio and
    graphics data efficiently. It was introduced in
    innovative Single Edge Contact (S.E.C) Cartridge
    that also incorporated a high-speed cache memory
    chip. With this chip, PC users can capture, edit and
    share digital photos with friends and family via the
    Internet; edit and add text, music or between-scene
    transitions to home movies; and, with a video phone,
    send video over standard phone lines and the Internet.
1998: Intel® Pentium II Xeon
          Processor
       1998: Intel® Pentium II Xeon
                 Processor
   The Intel® Pentium II Xeon processors are designed
    to meet the performance requirements of mid-range
    and higher servers and workstations. Consistent with
    Intel's strategy to deliver unique processor products
    targeted for specific markets segments, the Intel®
    Pentium II Xeon processors feature technical
    innovations specifically designed for workstations
    and servers that utilize demanding business
    applications such as Internet services, corporate data
    warehousing, digital content creation, and electronic
    and mechanical design automation. Systems based on
    the processor can be configured to scale to four or
    eight processors and beyond.
1999: Intel® Celeron® Processor
1999: Intel® Celeron® Processor
   Continuing Intel's strategy of developing
    processors for specific market segments, the
    Intel® Celeron® processor is designed for the
    value PC market segment. It provides
    consumers great performance at an exceptional
    price, and it delivers excellent performance for
    uses such as gaming and educational software.
1999: Intel® Pentium® III Processor
   The Intel® Pentium® III processor features 70 new
    instructions--Internet Streaming SIMD extensions--
    that dramatically enhance the performance of
    advanced imaging, 3-D, streaming audio, video and
    speech recognition applications. It was designed to
    significantly enhance Internet experiences, allowing
    users to do such things as browse through realistic
    online museums and stores and download high-
    quality video. The processor incorporates 9.5 million
    transistors, and was introduced using 0.25-micron
    technology.
    1999: Intel® Pentium® III Xeon™
                Processor
   The Intel® Pentium III Xeon™ processor extends
    Intel's offerings to the workstation and server market
    segments, providing additional performance for e-
    Commerce applications and advanced business
    computing. The processors incorporate the Intel®
    Pentium III processor's 70 SIMD instructions, which
    enhance multimedia and streaming video
    applications. The Intel® Pentium III Xeon processor's
    advance cache technology speeds information from
    the system bus to the processor, significantly boosting
    performance. It is designed for systems with
    multiprocessor configurations.
    2000: Intel® Pentium® 4 Processor
   Users of Intel® Pentium® 4 processor-based PCs can create
    professional-quality movies; deliver TV-like video via the
    Internet; communicate with real-time video and voice; render
    3D graphics in real time; quickly encode music for MP3
    players; and simultaneously run several multimedia
    applications while connected to the Internet. The processor
    debuted with 42 million transistors and circuit lines of 0.18
    microns. Intel's first microprocessor, the 4004, ran at 108
    kilohertz (108,000 hertz), compared to the Intel® Pentium® 4
    processor's initial speed of 1.5 gigahertz (1.5 billion hertz). If
    automobile speed had increased similarly over the same
    period, you could now drive from San Francisco to New York
    in about 13 seconds.
    2001: Intel® Xeon™ Processor
   The Intel® Xeon™ processor is targeted for high-performance
    and mid-range, dual-processor workstations, dual and multi-
    processor server configurations coming in the future. The
    platform offers customers a choice of operating systems and
    applications, along with high performance at affordable prices.
    Intel Xeon processor-based workstations are expected to
    achieve performance increases between 30 and 90 percent over
    systems featuring Intel® Pentium® III Xeon™ processors
    depending on applications and configurations. The processor is
    based on the Intel NetBurst™ architecture, which is designed
    to deliver the processing power needed for video and audio
    applications, advanced Internet technologies, and complex 3-D
    graphics.
    2001: Intel® Itanium™ Processor
   The Itanium™ processor is the first in a family of 64-
    bit products from Intel. Designed for high-end,
    enterprise-class servers and workstations, the
    processor was built from the ground up with an
    entirely new architecture based on Intel's Explicitly
    Parallel Instruction Computing (EPIC) design
    technology. The processor delivers world-class
    performance for the most demanding enterprise and
    high-performance computing applications, including
    e-Commerce security transactions, large databases,
    mechanical computer-aided engineering, and
    sophisticated scientific and engineering computing.
2002: Intel® Itanium™ 2 Processor
   The Itanium™ 2 processor is the second
    member of the Itanium processor family, a line
    of enterprise-class processors. The family
    brings outstanding performance and the
    volume economics of the Intel® Architecture
    to the most data-intensive, business-critical
    and technical computing applications. It
    provides leading performance for databases,
    computer-aided engineering, secure online
    transactions, and more.
2003: Intel® Pentium® M Processor
   The Intel® Pentium® M processor, the Intel®
    855 chipset family, and the Intel®
    PRO/Wireless 2100 network connection are
    the three components of Intel® Centrino™
    mobile technology. Intel Centrino mobile
    technology is designed specifically for
    portable computing, with built-in wireless
    LAN capability and breakthrough mobile
    performance. It enables extended battery life
    and thinner, lighter mobile computers.
Assembly Language for
    the Intel 8086
         Information taken from
 http://www.emu8086.com/Help/asm_
             tutorial_01.html
                  Registers




General purpose   Segment
GENERAL PURPOSE REGISTERS
    8086 CPU has 8 general purpose registers, each register has its
    own name:

   AX - the accumulator register (divided into AH / AL).
   BX - the base address register (divided into BH / BL).
   CX - the count register (divided into CH / CL).
   DX - the data register (divided into DH / DL).
   SI - source index register.
   DI - destination index register.
   BP - base pointer.
   SP - stack pointer.
SEGMENT REGISTERS
 CS - points at the segment containing the
  current program.
 DS - generally points at segment where
  variables are defined.
 ES - extra segment register, it's up to a coder
  to define its usage.
 SS - points at the segment containing the stack.
SPECIAL PURPOSE REGISTERS


   IP - the instruction pointer.
   Flags Register - determines the current state of the processor.

    IP register always works together with CS segment register
    and it points to currently executing instruction.

    Flags Register is modified automatically by CPU after
    mathematical operations, this allows to determine the type of
    the result, and to determine conditions to transfer control to
    other parts of the program.
    Generally you cannot access these registers directly.
As you may see there are 16 bits in this register, each bit is called a flag and
   can take a value of 1 or 0.
  Carry Flag (CF) - this flag is set to 1 when there is an unsigned overflow.
   For example when you add bytes 255 + 1 (result is not in range 0...255).
   When there is no overflow this flag is set to 0.
  Zero Flag (ZF) - set to 1 when result is zero. For none zero result this flag
   is set to 0.
  Sign Flag (SF) - set to 1 when result is negative. When result is positive it
   is set to 0. Actually this flag take the value of the most significant bit.
  Overflow Flag (OF) - set to 1 when there is a signed overflow. For
   example, when you add bytes 100 + 50 (result is not in range -128...127).
  Parity Flag (PF) - this flag is set to 1 when there is even number of one
   bits in result, and to 0 when there is odd number of one bits. Even if result
   is a word only 8 low bits are analyzed!
  Auxiliary Flag (AF) - set to 1 when there is an unsigned overflow for low
   nibble (4 bits).
  Interrupt enable Flag (IF) - when this flag is set to 1 CPU reacts to
   interrupts from external devices.
  Direction Flag (DF) - this flag is used by some instructions to process data
   chains, when this flag is set to 0 - the processing is done forward, when this
   flag is set to 1 the processing is done backward.
    There are 3 groups of instructions.
   First group: ADD, SUB,CMP, AND, TEST,
    OR, XOR
   Second group: MUL, IMUL, DIV, IDIV
   Third group: INC, DEC, NOT, NEG
#MAKE_COM#                   ; instruct compiler to make COM file.
ORG 100h                     ; The sub-function that we are using
; does not modify the AH register on
; return, so we may set it only once.
MOV AH, 0Eh                  ; select sub-function.
; INT 10h / 0Eh sub-function
; receives an ASCII code of the
; character that will be printed
; in AL register.
MOV AL, 'H‘                  ; ASCII code: 72
INT 10h                      ; print it!
MOV AL, 'e'                  ; ASCII code: 101
INT 10h                      ; print it!
MOV AL, 'l'                  ; ASCII code: 108
INT 10h                      ; print it!
MOV AL, 'l'                  ; ASCII code: 108
INT 10h                      ; print it!
MOV AL, 'o'                  ; ASCII code: 111
INT 10h                      ; print it!
MOV AL, '!'                  ; ASCII code: 33
INT 10h                      ; print it!
RET                          ; returns to operating system.
ORG 100h
MOV AX, 5        ; set AX to 5.
MOV BX, 2        ; set BX to 2.
JMP calc         ; go to 'calc'.
back: JMP stop   ; go to 'stop'.
calc:
ADD AX, BX       ; add BX to AX.
JMP back         ; go 'back'.
stop:
RET              ; return to operating system.
 END             ; directive to stop the compiler.
include emu8086.inc
ORG 100h
MOV AL, 25            ; set AL to 25.
MOV BL, 10            ; set BL to 10.
CMP AL, BL            ; compare AL - BL.
JE equal              ; jump if AL = BL (ZF = 1).
PUTC 'N'              ; if it gets here, then AL <> BL,
JMP stop              ; so print 'N', and jump to stop.
equal:                ; if gets here,
PUTC 'Y'              ; then AL = BL, so print 'Y'.
stop:
RET                   ; gets here no matter what.
END
include emu8086.inc
ORG 100h
MOV AL, 25                 ; set AL to 25.
MOV BL, 10                 ; set BL to 10.
CMP AL, BL                 ; compare AL - BL.
JNE not_equal              ; jump if AL <> BL (ZF = 0).
JMP equal
not_equal:

; let's assume that here we
; have a code that is assembled
; to more than 127 bytes...

PUTC 'N'                   ; if it gets here, then AL <> BL,
JMP stop
                           ; so print 'N', and jump to stop.
equal:                     ; if gets here,
PUTC 'Y'                   ; then AL = BL, so print 'Y'.
stop:
RET                        ; gets here no matter what. END
ORG 100h
CALL m1
MOV AX, 2
RET         ; return to operating system.
m1 PROC
MOV BX, 5
RET         ; return to caller.
m1 ENDP
END
ORG 100h
MOV AL, 1
MOV BL, 2
CALL m2
CALL m2
CALL m2
CALL m2
RET      ; return to operating system.
m2 PROC
MUL BL ; AX = AL * BL.
RET      ; return to caller.
m2 ENDP
END
ORG 100h
LEA SI, msg ; load address of msg to SI.
CALL print_me
RET                   ; return to operating system.
; =====================================================
; this procedure prints a string, the string should be null
; terminated (have zero in the end),
; the string address should be in SI register:
print_me PROC
next_char:
      CMP b.[SI], 0 ; check for zero to stop
      JE stop                    ;
   MOV AL, [SI]        ; next get ASCII char.
   MOV AH, 0Eh         ; teletype function number.
   INT 10h             ; using interrupt to print a char in AL.
   ADD SI, 1           ; advance index of string array.
   JMP next_char       ; go back, and type another char.
stop:
RET                      ; return to caller.
print_me ENDP
; ==========================================================
msg DB 'Hello World!', 0 ; null terminated string.
END

								
To top