Computer Architecture for a Programmer

Embed Size (px)

Citation preview

  • 8/4/2019 Computer Architecture for a Programmer

    1/37

  • 8/4/2019 Computer Architecture for a Programmer

    2/37

    Instruction sets,

    Operation codes Operand types

    peran a ress ng mo es

    Registers

    Main memory space utilization (Memory map)

    I/O space allocation (I/O map)

    Interrupt assignment and priority

    I/O techniques used for various devices

    I/O controller command formats

    con ro er s a us orma

  • 8/4/2019 Computer Architecture for a Programmer

    3/37

    Computer architecture for a

    programmer

    CPU

    Screen Buffer

    Interruptcontroller

    reg s ers

    ROMFDC

    HDCemory map map

    Interrupt levels Command

    & definitionDMA channels

    formats

    Status

    Device controller

  • 8/4/2019 Computer Architecture for a Programmer

    4/37

    The operational units and their interconnectionsthat realize the architectural s ecifications. Those

    hardware attributes that are transparent to theprogrammer.

    Control signals

    Interfaces between the computer and peripherals

    Memor technolo

  • 8/4/2019 Computer Architecture for a Programmer

    5/37

    Difference

    For example, It is an architectural issue whether a computer will have a

    .

    It is organizational issue whether to implement

    multiplication and division by special unit or by amec an sm a ma es repea e use o e a an su racunit to perform multiplication and division, respectively.

    The organizational issue may be based on which approach

    to be used depending on the speed of operation, cost & sizeof the hardware & the memory required to perform theoperation.

  • 8/4/2019 Computer Architecture for a Programmer

    6/37

    Structure and Function

    contain millions of electronic components. How, then, can oneclearly describe a computer? The key is to recognize thehierarchical nature of most complex systems. A hierarchicalsystem is a set of interrelated subsystems where each subsystemis a hierarchical structure.

    ,their interrelationships. At each level, a designer is concerned withstructure and function:

  • 8/4/2019 Computer Architecture for a Programmer

    7/37

    Structure

    computer are:

    operation of the computer and performs its dataprocessing functions.

    Main memory stores data.

    Input/Output (I/O) moves data between the computerand its external environment.

    S stem interconnections some mechanism thatprovides for communication among CPU, main memory,

    and I/O.

  • 8/4/2019 Computer Architecture for a Programmer

    8/37

    Function

    The four basic functions of a computer are:

    Processin data

    Storing data

    outside world

    ontro t e operat ons a ove

  • 8/4/2019 Computer Architecture for a Programmer

    9/37

  • 8/4/2019 Computer Architecture for a Programmer

    10/37

    Why Study Computer Organization and Architecture?

    Students need to understand:Computer architecture in order to structure a programso that it runs more efficiently on a real machine.

    In selecting a system to use, they should be able tounderstand the tradeoff among various components,such as CPU clock speed vs. memory size.

  • 8/4/2019 Computer Architecture for a Programmer

    11/37

    Com uter Evolution andPerformance

    The evolution of computers has been characterized by

    1>increasing processor speed, decreasing componentsize,

    2>increasing memory size, and increasing I/O capacity and

    s eed.

  • 8/4/2019 Computer Architecture for a Programmer

    12/37

    Evolution of Computer

    Mode of CPU architecture

    Control unit design-instruction decoding

    Main memory concepts Instruction cycle handling

    System software

  • 8/4/2019 Computer Architecture for a Programmer

    13/37

    Parallel processing

    Multiprocessing

    n C, 1 p n C, n pUniprogramming

    1 C, 1 pMultitasking Computer network

    1 C, n p

    computer

    e ca e processing

    1 C, 1 u, n

    en

    , ,

    Time sharing

  • 8/4/2019 Computer Architecture for a Programmer

    14/37

    Accumulator

    based

    Stack based

    Re isters based

    CISC

    RISC

  • 8/4/2019 Computer Architecture for a Programmer

    15/37

    -decoding

    Micro programmed CU

    Random

    logicFirmware

    Hardwired CU RISC

    Both

    Hybrid CU

  • 8/4/2019 Computer Architecture for a Programmer

    16/37

    Evolution of main memory concepts

    InterleavingSpeed

    Simple

    Capacity

    switching

  • 8/4/2019 Computer Architecture for a Programmer

    17/37

    Evolution of instruction cycle handling

    Instruction Instruction lookahead

    prefetch + pre etc

    Instruction

    pipelineBranch

    prediction

    Superscalar

    cacheac e

    memory

    present

    Out of order

    executionSpeculative

    execution

    Register renaming

  • 8/4/2019 Computer Architecture for a Programmer

    18/37

    Evolution of I/O techni ues

    Polling Interrupt mode

    Data channels

    Mini & micro

    DMA

    Front end

    processor

  • 8/4/2019 Computer Architecture for a Programmer

    19/37

    Machine language

    Assembly

    language

    Operating

    system

    DBMSExpertEmbedded

    System

  • 8/4/2019 Computer Architecture for a Programmer

    20/37

    A Brief History of Computers

    ENIAC Electronic Numerical Integrator AndCom uter

    Designed by John Mauchly and John PresperEckert

    University of Pennsylvania 1943 to 1946

    Generally regarded as the first electronic computer

    normouso 30 tons

    o 1500 square feet of floor space

    o 18,000 tubes

  • 8/4/2019 Computer Architecture for a Programmer

    21/37

    Enormous!!!

    o 30 tons

    o 1500 square feet of floor space

    o 18,000 tubes

    5000 additions per second

    ec ma num er sys em

    20 accumulators 10 digits

    Programmed manually with switchesand cables

    Disassemble in 1955

  • 8/4/2019 Computer Architecture for a Programmer

    22/37

    The von Neumann Machine

    The task of entering and altering programs forthe ENIAC was extremely tedious. Theprogramm ng process cou e ac tate t e

    program could be represented in a form suitablefor storin in memor alon side the data. Then,a computer could get its instructions by readingthem from memory, and a program could be set

    memory.

  • 8/4/2019 Computer Architecture for a Programmer

    23/37

    eve ope y o n vonNeumann

    Advanced Studies 1945 to1952

    Prototype of all subsequent

    general-purpose computers. IAS computer

  • 8/4/2019 Computer Architecture for a Programmer

    24/37

    o Stored-Program concept

    o

    data and instructions

    (ALU) capable of operating onbinary data

    o Control unit, which interprets

    and executes the instructions in

    o Input and output (I/O)

    control unit

    Shown below is the eneralstructure of the IAS computer:

  • 8/4/2019 Computer Architecture for a Programmer

    25/37

  • 8/4/2019 Computer Architecture for a Programmer

    26/37

  • 8/4/2019 Computer Architecture for a Programmer

    27/37

    Transistors replaced vacuum tubes

    o Smaller

    o Cheaper

    o Less heat

    o Same functionality

    o Solid-state device made from silicon(sand)

  • 8/4/2019 Computer Architecture for a Programmer

    28/37

    Fully transistorized computers commercially availablelate 1950s

    NCR and RCA first to produce small transistormachines

    IBM 7000

    -

    High-level programming languages

    rov s on o sys em so ware w compu ers

  • 8/4/2019 Computer Architecture for a Programmer

    29/37

    Third Generation: Integrated Circuits

    Single, self-contained transistor discretecomponent

    Manufacturing process was very expensive andcumbersome using discrete

    components

    Early second generation computers contained, rans s ors expan ng o

    hundreds of thousands with newer machines

    1958 Integrated circuit invented

    IBM System/360

    DEC PDP-8

  • 8/4/2019 Computer Architecture for a Programmer

    30/37

    Microelectronics

    Computer consists of logic gates,

    Manufactured on a semiconductor such

    Many transistors can be produced on asin le wafer of silicon

  • 8/4/2019 Computer Architecture for a Programmer

    31/37

  • 8/4/2019 Computer Architecture for a Programmer

    32/37

    Pentium and PowerPC Evolution

    Pentium Evolution

    8080

    o

    First general purpose microprocessoro 8 bit data ath

    o Used in first personal computer Altair

    o Much more powerful

    o 16 to Instruction cache prefetch few instructions

    o 8088 (8 bit external bus) used in first IBM PC

  • 8/4/2019 Computer Architecture for a Programmer

    33/37

    80286

    o 16 Mbyte memory up form1 yte

    80386

    o 32 bit

    o Support for multitasking

    80486

    and instruction pipelining

    o Built in math co- rocessor

  • 8/4/2019 Computer Architecture for a Programmer

    34/37

    Pentium

    o ntro uce supersca ar tec n ques

    o Multiple instructions executed in parallel

    Pentium Pro

    o Increased superscalar organization

    o Aggressive register renaming

    o Data flow analysis

    o

  • 8/4/2019 Computer Architecture for a Programmer

    35/37

    Pentium II

    o MMX technology video,audio, graphics processing

    Pentium III

    o Additional floating pointinstructions for graphics

    Pentium 4o Arabic not Roman numerals

    o Additional floating point and

    multimedia enhancements

    Itanium

    o 64 bit

  • 8/4/2019 Computer Architecture for a Programmer

    36/37

    (Von Newman)

    1> The computer has five different types of units:- memory,ALU, control unit, I/O unit

    3> Once a program is in memory, the computer can execute it

    automatically without manual intervention.4> The CU fetches & executes the instructions in sequence

    one by one. This sequential execution can be modified bycertain type of instructions.

    5>An instruction can modify the contents of any location inmemory. Hence a program can modify itself; instruction-execution se uence also can be modified.

    A i t 1

  • 8/4/2019 Computer Architecture for a Programmer

    37/37

    Assignment 1

    > scuss e a van ages sa van ages ostoring programs and data in the same

    memory s ore program concep . n er

    what circumstances is it desirable to store

    programs an a a n separa e memor es

    2> Define the terms software compatibility &hardware compatibility. What role they

    have played in the evolution of computers?

    Date of Submission:- 24/07/2006 Date of Return:- 25/07/2006Reference Books:- 1> CAO- B Govindarajalu

    2> CAO- John P Hayes

    3> COA- W. Stallings