Computer Science 37 Lecture 32

download Computer Science 37 Lecture 32

of 34

Transcript of Computer Science 37 Lecture 32

  • 8/4/2019 Computer Science 37 Lecture 32

    1/34

    1

    Lecture32

    WhirlwindReviewofCS37

  • 8/4/2019 Computer Science 37 Lecture 32

    2/34

    2

    CharlesBabbageandHisEnginesofComputing

    BornDecember26,1791inTeignmouth,DevonshireUK.Died1871,London.Knowntosomeasthe"FatherofComputing"

    forhiscontributionstothebasicdesignofthecomputerthroughhis

    AnalyticalEngine.

    TheDifferenceEngineI:25,000precisionmechanicalparts;neverquite

    completed.

    TheDifferenceEngineII:Improveddesign;notcompletedforlackof

    funding.

    TheAnalyticalEngine:Itwouldhavebeenprogrammable

  • 8/4/2019 Computer Science 37 Lecture 32

    3/34

    3

    CharlesBabbageandHisEnginesofComputing

    BornDecember26,1791inTeignmouth,DevonshireUK.Died1871,London.Knowntosomeasthe"FatherofComputing"

    forhiscontributionstothebasicdesignofthecomputerthroughhis

    AnalyticalEngine.

    TheDifferenceEngineI:25,000precisionmechanicalparts;neverquite

    completed.

    TheDifferenceEngineII:Improveddesign;notcompletedforlackof

    funding.

    TheAnalyticalEngine:Itwouldhavebeenprogrammable

  • 8/4/2019 Computer Science 37 Lecture 32

    4/34

    4

    AlanTuring,FounderofComputerScience

    1912(23June):Birth,Paddington,London

    1931-34:UndergraduateatKing'sCollege,CambridgeUniversity

    1932-35:Studiesquantummechanics,probability,logic1936:TheTuringmachine:OnComputableNumbers... submitted

    1936-38:AtPrincetonUniversity.Ph.D.Papersinlogic,algebra,numbertheory

    1938-39:ReturntoCambridge.IntroducedtoGermanEnigmacipherproblem

    1939-40DevisestheBombe,machineforEnigmadecryption1939-42:BreakingofU-boatEnigmacipher,savingbattleoftheAtlantic

    1943-45:ChiefAnglo-Americanconsultant.Introducedtoelectronics1946:Computerdesign,leadingtheworld,formallyaccepted

    1947-48:Papersonprogramming,neuralnets,andprospectsforartificialintelligence

    1949:Workonprogrammingandworld'sfirstserioususeofacomputer

    1950:Philosophicalpaperonmachineintelligence:theTuringTest1952:Arrestedandtriedasahomosexual,lossofsecurityclearance

    1954(7June):Deathbycyanidepoisoning,Wilmslow,Cheshire.

    Turing

    Machine

    data

    program

  • 8/4/2019 Computer Science 37 Lecture 32

    5/34

    5

    JohnvonNeumman,ComputerArchitect

    Writesamemoin1944(laterturnedintoa

    paperin1946),thatgivesbirthtothecomputerarchitecturethatweknowtoday.

    OppenheimerandVonNeumann

    (ontheright)

    EDVAC

    Thegeneral-purposecomputingmachinecontainingfourmainorgans:arithmetic,

    memory,control,andconnectionwiththehumanoperator.

    Washethefirstonetocomeupwiththisconcept?

  • 8/4/2019 Computer Science 37 Lecture 32

    6/34

    6

    LayersofAbstraction

    FunctionalComponents

    LogicGates

    DiscreteElectronicComponents

    bitstrings

    bits

    electriccurrents

    DiscreteSpintronic Components electronsspins

  • 8/4/2019 Computer Science 37 Lecture 32

    7/34

    7

    TransistorLogic

  • 8/4/2019 Computer Science 37 Lecture 32

    8/34

    8

    LogicGates

    Agraphicalalphabettodescribelogicfunctions.

  • 8/4/2019 Computer Science 37 Lecture 32

    9/34

    9

    SynthesisofLogicFunctions

    2.Constructitstruthtable.

    1111

    1011

    1101

    0001

    1110

    0010

    0100

    0000

    MCBA

    1.Understandthefunctiondescription.(3-bitmajority).

    3.Lookattheentriesthatproducea1ontheoutputandconstruct

    minterms.

    Ex.When(A=0,B=1,C=1), we

    producea1resultwith: BCA

    4.Adduptheminterms withan

    OR:ABCCABCBABCAM +++=

    ThisiscalledSumofProducts

    (SOP)form,orsumofminterms.

    Thisgives1ifany oftheinputcombos

    thatproduce1ispresented.

  • 8/4/2019 Computer Science 37 Lecture 32

    10/34

    10

    LogicReduction:Karnaugh Maps

    1110

    0100

    ABC 00 01 11 10

    0

    1

    1.Countthenumberofinputsandcreatethemap.

    2.Transportdatafromthetruthtable

    intothemap.

    3.Lookforadjacent1sinrectangles

    withnumbersofcellsthatarepowers

    of2:1,2,4,8,etc.

    4.Findthelargestgroupsthatcoverall

    1satleastonce.

    ABAB

    CCABCABABC

    =

    =+=+

    )1(

    )(

    ABACBCM ++=ABCCABCBABCAM +++=

  • 8/4/2019 Computer Science 37 Lecture 32

    11/34

    11

    SequentialLogic

    CombinationalLogic:Nomemory.

    Circuitsgainthecapabilityofremembering

    statesandofreactingdifferentlytodifferentinputs

    atdifferenttimes.

    Memory

    CombinationalLogicClock

  • 8/4/2019 Computer Science 37 Lecture 32

    12/34

    12

    IntegerNumberRepresentationsinBinary

    8

    76

    5

    4

    3

    2

    1

    0

    -1

    -2

    -3

    -4

    -5

    -6

    -7

    Biased

    B=7

    -10-715111115

    -2-1-614111014-3-2-513110113

    -4-3-412110012

    -5-4-311101111

    -6-5-210101010

    -7-6-1910019

    -8-7-0810008

    77+7701117

    66+6601106

    55+5501015

    44+4401004

    33+3300113

    22+2200102

    11+1100011

    00+0000000

    2s

    complement

    1s

    complement

    Signed

    Magnitude

    Unsigned

    integer

    BinaryDecimal

  • 8/4/2019 Computer Science 37 Lecture 32

    13/34

    13

    OperationsonBinaryValues

    b

    0

    2

    Result

    Operation

    a

    1

    CarryIn

    CarryOut

    1-bitversion

    Notehowitdoesall

    threeoperationsin

    parallel,whetherit

    isrequiredornot.

    ALU:ArithmeticLogicUnit

  • 8/4/2019 Computer Science 37 Lecture 32

    14/34

    14

    ComplexArithmeticOperations

    Definealgorithmsforthemultiplicationand

    divisionofbinarynumbers.

    Designhardwarecapableofcarryingout

    theseoperations.

  • 8/4/2019 Computer Science 37 Lecture 32

    15/34

    15

    FloatingPointNumberRepresentation

    SE(exponent)M(mantissa)single=

    SE(exponent)M(mantissa)double=

    1bit 8bits 23bits

    11bits 52bits

    TheExponentisrepresentedinExcessB=127forsingleandB=1023fordoubleprecision.

    1bit

    ES

    MX 2)1()1( +=

    TheIEEE754Standard(1985)

  • 8/4/2019 Computer Science 37 Lecture 32

    16/34

    16

    AssemblyProgramming

    $0,

    $t0..$t9,$s0,$s7,

    $at,$k0,$k1,

    $a0..$a3,$v0,$v1,

    $ra,

    $fp,$sp,

    $gp

    CPU

    32FPregistersor

    16FPregisters:

    $f0,$f2,$f4,$f6,

    (doubleprecision)

    $f1,$f3,$f5,

    (singleprecision)

    FPU

    BadVaddr,Status,

    Cause,

    EPC

    coprocessor

    systembus

    TheMIPS2000Architecture

  • 8/4/2019 Computer Science 37 Lecture 32

    17/34

    17

    TechniquesinAssemblyProgramming

    high

    low

    $sp

    Argument6

    Argument5

    SavedRegisters

    $fp Procedurecallingconventions

  • 8/4/2019 Computer Science 37 Lecture 32

    18/34

    18

    PiecingTogetheranExecutable

    fromSeparatelyCompiledUnits

    Object file

    Instructions

    Relocation

    records

    main:

    jal ???

    jal ???

    call, sub

    call, printf

    Executable file

    main:

    jal printf

    jal sub

    printf:

    sub:

    Object file

    sub:

    C library

    print:

    Linker

  • 8/4/2019 Computer Science 37 Lecture 32

    19/34

    19

    Performance

    Howdowecountthenumberof

    instructionsexecutedinaprogram?

    IstheCPIindependentoftheprogramwe

    use?HowdowefigureouttheCPI?

    Identifythei differentclassesofinstructionsusedin

    theprogramandcountCi ,thenumberof

    instructionsfromeachclassintheprogram.Each

    classgroupsinstructionswiththesameclockcount

    CPIi (integerarithmetic,memoryaccess,etc).

    =

    =

    n

    i

    ii CCPIcyclesclock1

    )(

  • 8/4/2019 Computer Science 37 Lecture 32

    20/34

    20

    ASingle-CycleDatapath

    Shiftleft 2

    PC

    Instructionmemory

    Readaddress

    Instruction[310]

    Datamemory

    Readdata

    Writedata

    RegistersWriteregister

    Writedata

    Readdata 1

    Readdata 2

    Readregister 1

    Readregister 2

    Instruction [1511]

    Instruction [2016]

    Instruction [2521]

    Add

    ALUresult

    Zero

    Instruction [50]

    MemtoReg

    ALUOp

    MemWrite

    RegWrite

    MemRead

    Branch

    JumpRegDst

    ALUSrc

    Instruction [3126]

    4

    Mux

    Instruction [250] Jump a ddress [310]

    PC+4 [3128]

    Signextend

    16 32Instruction [150]

    1

    Mux

    1

    0

    Mux

    0

    1

    Mux

    0

    1

    ALUcontrol

    Control

    AddALU

    result

    Mux

    0

    1 0

    ALU

    Shift

    left 226 28

    Address

  • 8/4/2019 Computer Science 37 Lecture 32

    21/34

    21

    AMulticycle Datapath

    Shiftleft 2

    PC

    Mux

    0

    1

    RegistersWriteregister

    Writedata

    Readdata 1

    Readdata 2

    Readregister 1

    Readregister 2

    Instruction

    Mux

    0

    1

    Mux

    0

    1

    4

    Instruction

    Signextend

    3216

    Instruction

    Instruction

    Instruction

    Instructionregister

    ALUcontrol

    ALUresult

    ALU

    Zero

    Memorydata

    register

    A

    B

    IorD

    MemRead

    MemWrite

    MemtoReg

    PCWriteCond

    PCWrite

    IRWrite

    ALUOp

    ALUSrcB

    ALUSrcA

    RegDst

    PCSource

    RegWrite

    Control

    Outputs

    Op

    Instruction[31-26]

    ! " #

    Mux

    0

    2

    Jumpaddress [31-0]

    $ ! " #

    $

    26 28Shiftleft 2

    PC [31-28]

    1

    1 Mux

    0

    3

    2

    Mux

    0

    1ALUOut

    Memory

    MemData

    Writedata

    Address

  • 8/4/2019 Computer Science 37 Lecture 32

    22/34

    22

    Microprogram counter

    Address select logic

    Adder

    1

    Input

    Datapath

    control

    outputs

    Microcodestorage

    Inputs from instruction

    register opcode field

    Outputs

    Sequencing

    control

    SequencingPCWriteControl

    MemoryRegisterControl

    ALUSRC2

    ALUSRC1

    ALUControl

    MicroinstructionFormat

    WhatisdoneOperandsources RorW

    SourceforW

    RorWSourceforW

    Whento

    writeWhatcomes

    next

    ControlUnitDesign:

    1) FSM2) Microprogramming

  • 8/4/2019 Computer Science 37 Lecture 32

    23/34

    23

    PC

    Instructionmemory

    Instruction

    Add

    Instruction

    MemtoReg

    ALUOp

    Branch

    RegDst

    ALUSrc

    4

    16 32Instruction

    0

    0

    Mux

    0

    1

    AddAdd

    result

    RegistersWriteregister

    Writedata

    Readdata 1

    Readdata 2

    Readregister 1

    Readregister 2

    Signextend

    Mux

    1

    ALUresult

    Zero

    Writedata

    Readdata

    Mux

    1

    ALUcontrol

    Shiftleft 2

    RegWrite

    MemRead

    Control

    ALU

    Instruction

    6

    EX

    M

    WB

    M

    WB

    WBIF/ID

    PCSrc

    ID/EX

    EX/MEM

    MEM/WB

    Mux

    0

    1

    MemWrite

    Address

    Datamemory

    Address

    Pipelining:IncreasingThroughput

  • 8/4/2019 Computer Science 37 Lecture 32

    24/34

    24

    PC

    Instructionmemory

    4

    Registers

    Signextend

    Mux

    Mux

    Mux

    Control

    ALU

    EX

    M

    WB

    M

    WB

    WB

    ID/EX

    EX/MEM

    MEM/WB

    M

    ux

    Datamemory

    Mux

    Hazarddetection

    unit

    Forwardingunit

    IF.Flush

    IF/ID

    Mux

    ExceptPC

    40000040

    0

    Mux

    0

    Mux

    0

    Mux

    ID.Flush EX.Flush

    Cause

    Shiftleft 2

    Writedata

    Readdata

    Address

    Readdata

    Address Writeregister

    Writedata

    Readdata 1

    Readdata 2

    Readregister 1

    Readregister 2

    ALUcontrol

    3216

    Instruction

    RegWrite

    ALUOp

    ALUSrc

    RegDst

    MemWrite

    MemRead

    MemtoReg

    Branch

    =

    HazardsandForwarding

  • 8/4/2019 Computer Science 37 Lecture 32

    25/34

    25

    Weneedsometechniquethatallowsustogetthebestofamemory

    systemwhilewepaylowcost(constructionandperformance).

    CP U

    Level n

    Level 2

    Level 1

    Levels in th e

    memory hierarchy

    Increasing distan ce

    from the CPU in

    access time

    Size of the m emory at each level

    TheMemoryHierarchy

  • 8/4/2019 Computer Science 37 Lecture 32

    26/34

    26

    Directmapped

    Fully

    Associative2-waySet

    Associative

    4-waySet

    Associative

    8-waySet

    Associative

    Spectrumofdesignoptionsforcachememory

    missratedecreases

    hittimeincreases

  • 8/4/2019 Computer Science 37 Lecture 32

    27/34

    27

    Valid

    1

    1

    1

    1

    0

    11

    0

    1

    1

    0

    1

    Page table

    Physical page

    addressValid

    TLB

    1

    1

    1

    1

    0

    1

    Ta g

    Virtual page

    number

    Physical page

    or disk address

    Physical memory

    Disk storage

    TLB

    VirtualMemory

  • 8/4/2019 Computer Science 37 Lecture 32

    28/34

    28

    Valid Tag Data

    Page offset

    Page offset

    Virtual page number

    Virtual address

    Physical page numberValid

    1220

    20

    16 14

    Cache index

    32

    Cache

    DataCache hit

    2

    Byteoffset

    Dirty Ta g

    TLB hit

    Physical page number

    Physical address t ag

    TLB

    Physical address

    31 30 29 15 14 13 12 11 10 9 8 3 2 1 0

    Virtualaddress

  • 8/4/2019 Computer Science 37 Lecture 32

    29/34

    29

    Disk

    Platter

    Track

    Platters

    Sectors

    Tracks

    Eachplatterisamagnetic

    surface.Foreachplatter,

    theremustanassociatedread/writehead.

    Aplatterisdividedinto

    tracks andtracksaredivided

    intosectors.

    Tracksontheoutsideofa

    plattermay havemore

    sectorsthanthosefurther

    inside.(Abandisagroupofadjacenttracksallwiththe

    samenumberofsectors.)

    Takingthesametrackacrossallsurfaces,youhavewhatiscalleda

    cylinder.

    Adiskisablock device.

  • 8/4/2019 Computer Science 37 Lecture 32

    30/34

    30

    ConnectingCPU,I/OandMemory

    Main

    memory

    I/O

    controller

    I/O

    controller

    I/O

    controller

    Disk Graphics

    output

    Network

    Processor

    Cache

    Interrupts

    Disk

    Memory-I/OBUS

  • 8/4/2019 Computer Science 37 Lecture 32

    31/34

    31

    ComputerNetworks

    bus star

    ring

    mesh

    hypercube

  • 8/4/2019 Computer Science 37 Lecture 32

    32/34

    32

    ProcessingModels

    SISD:

    Singleinstructionstream

    Singledatastream

    MIMD:

    Multipleinstructionstreams

    Multipledatastreams

    MISD:

    Multipleinstructionstreams

    Singledatastream

    SIMD:

    Singleinstructionstream

    Multipledatastreams

  • 8/4/2019 Computer Science 37 Lecture 32

    33/34

    33

    processor

    cache

    singlebus

    processor

    cache

    processor

    cache

    Main

    Memory

    I/O

    SharedMemoryMultiprocessors

  • 8/4/2019 Computer Science 37 Lecture 32

    34/34

    processor

    cache

    interconnectionnetwork

    processor

    cache

    processor

    cache

    memory memory memory

    DistributedMemoryArchitectures