computer organization and architectureafkjm/cs221/handouts/ch1-2.pdf · 1 computer organization and...

of 24 /24
1 Computer Organization and Architecture Introduction Chapters 1-2 Architecture & Organization 1 zArchitecture is those attributes visible to the programmer yInstruction set, number of bits used for data representation, I/O mechanisms, addressing techniques. ye.g. Is there a multiply instruction? zOrganization is how features are implemented, typically hidden from the programmer yControl signals, interfaces, memory technology. ye.g. Is there a hardware multiply unit or is it done by repeated addition?

Author: lyminh

Post on 04-Sep-2018

222 views

Category:

Documents


1 download

Embed Size (px)

TRANSCRIPT

  • 1

    Computer Organization and Architecture

    IntroductionChapters 1-2

    Architecture & Organization 1

    zArchitecture is those attributes visible to the programmeryInstruction set, number of bits used for data

    representation, I/O mechanisms, addressing techniques.ye.g. Is there a multiply instruction?

    zOrganization is how features are implemented, typically hidden from the programmeryControl signals, interfaces, memory technology.ye.g. Is there a hardware multiply unit or is it done by

    repeated addition?

  • 2

    Architecture & Organization 2

    z All Intel x86 family share the same basic architecturez The IBM System/370 family share the same basic

    architecture

    z This gives code compatibilityyAt least backwardsyBut increases complexity of each new generation. May be

    more efficient to start over with a new technology, e.g. RISC vs. CISC

    z Organization differs between different versions

    Structure & Function

    zComputers are complex; easier to understand if broken up into hierarchical components. At each level the designer should consideryStructure : the way in which components relate to

    each otheryFunction : the operation of individual components

    as part of the structure

    zLets look at the computer top-down starting with function.

  • 3

    Function

    zAll computer functions are:yData processingyData storageyData movementyControl

    Functional view

    zFunctional view of a computer

    DataMovementApparatus

    ControlMechanism

    DataStorageFacility

    DataProcessingFacility

  • 4

    Operations (1)

    zData movementye.g. keyboard to screen

    DataMovementApparatus

    ControlMechanism

    DataStorageFacility

    DataProcessingFacility

    Operations (2)

    zStorage ye.g. Internet download to disk

    DataMovementApparatus

    ControlMechanism

    DataStorageFacility

    DataProcessingFacility

  • 5

    Operation (3)

    zProcessing from/to storage ye.g. updating bank statement

    DataMovementApparatus

    ControlMechanism

    DataStorageFacility

    DataProcessingFacility

    Operation (4)

    zProcessing from storage to I/Oye.g. printing a bank statement

    DataMovementApparatus

    ControlMechanism

    DataStorageFacility

    DataProcessingFacility

  • 6

    Structure

    zMajor Components of a ComputeryCentral Processing Unit (CPU) Controls the

    operation of the computer and performs data processingyMain Memory Stores datayInput Output (I/O) Moves data between the

    computer and the external environmentySystem Interconnect Some mechanism that

    provides for communications between the system components, typically a bus (set of wires)

    Structure - Top Level

    Computer

    Main Memory

    InputOutput

    SystemsInterconnection

    Peripherals

    Communicationlines

    CentralProcessing Unit

    Computer

  • 7

    Structure - CPU

    zMajor components of the CPUyControl Unit (CU) Controls the operation of the CPUyArithmetic and Logic Unit (ALU) Performs data

    processing functions, e.g. arithmetic operationsyRegisters Fast storage internal to the CPU, but

    contents can be copied to/from main memoryyCPU Interconnect Some mechanism that provides

    for communication among the control unit, ALU, and registers

    Structure - The CPU

    Computer Arithmeticand Login Unit

    ControlUnit

    Internal CPUInterconnection

    Registers

    CPU

    I/O

    Memory

    SystemBus

    CPU

  • 8

    Structure Inside the CPU

    zThe implementation of registers and the ALU we will leave primarily to EE 241zWe will say a bit about the architecture of the

    control unit, there are many possible approaches. yA common approach is the microprogrammed control

    unit, where the control unit is in essence itself a miniature computer, where a CPU instruction is implemented via one or more micro instructionsSequencing Logic Controlling the order of eventsMicroprogram Control Unit Internal controls

    Microprogram Registers, Memory

    Structure A MicroprogrammedControl Unit

    CPU

    ControlMemory

    Control Unit Registers and Decoders

    SequencingLogin

    ControlUnit

    ALU

    Registers

    InternalBus

    Control Unit

  • 9

    Outline of the Stallings Text (1)

    zComputer Evolution and PerformancezComputer Interconnection StructureszInternal MemoryzExternal MemoryzInput/OutputzOperating Systems SupportzComputer ArithmeticzInstruction Sets

    Outline of the Stallings Text (2)

    zCPU Structure and FunctionzReduced Instruction Set ComputerszSuperscalar ProcessorszControl Unit OperationzMicroprogrammed ControlzMultiprocessors and Vector ProcessingzDigital Logic (Appendix)

  • 10

    Computer Evolution and Performance

    Better, Faster, Cheaper?

    History: ENIAC background

    zElectronic Numerical Integrator And ComputerzEckert and MauchlyzUniversity of PennsylvaniazTrajectory tables for weapons, BRLzStarted 1943zFinished 1946yToo late for war effort

    zUsed until 1955

  • 11

    ENIAC - details

    zDecimal (not binary)z20 accumulators of 10 digits (ring of 10 tubes)zProgrammed manually by switchesz18,000 vacuum tubesz30 tonsz15,000 square feetz140 kW power consumption (about $10/hr today)z5,000 additions per second

    Vacuum Tubes

    Grid regulates flow from of electrons from the cathode

  • 12

    von Neumann/Turing

    zENIAC : Very tedious to manually wire programszvon Neumann architecture:yStored Program conceptyMain memory storing programs and datayALU operating on binary datayControl unit interpreting instructions from memory and

    executingyInput and output equipment operated by control unityPrinceton Institute for Advanced Studies IAS

    yCompleted 1952

  • 13

    Structure of von Neumann machine

    MainMemory

    Arithmetic and Logic Unit

    Program Control Unit

    InputOutputEquipment

    IAS - detailsz 1000 x 40 bit wordsyBinary numbery2 x 20 bit instructions

    z Set of registers (storage in CPU)yMemory Buffer RegisteryMemory Address RegisteryInstruction RegisteryInstruction Buffer RegisteryProgram CounteryAccumulatoryMultiplier Quotient

    0 1 39

    Sign bit

    Number Word

    Instruction Word

    0 8 20 28 39

    LeftOpCode Address

    RightOpCode Address

  • 14

    Structure of IAS - detail

    MainMemory

    Arithmetic and Logic Unit

    Program Control Unit

    InputOutputEquipment

    MBR

    Arithmetic & Logic Circuits

    MQAccumulator

    MAR

    ControlCircuits

    IBR

    IR

    PC

    Address

    Instructions& Data

    Central Processing Unit

    IAS Instruction Cycle

    z The IAS repetitively performs the instruction cycle:yFetchOpcode of the next instruction is loaded into the IRAddress portion is loaded into the MARInstruction either taken from the IBR or obtained from memory by

    loading the PC into the MAR, memory to the MBR, then the MBR to the IBR and the IR

    To simplify electronics, only one data path from MBR to IR

    yExecuteCircuitry interprets the opcode and executes the instructionMoving data, performing an operation in the ALU, etc.

    z IAS had 21 instructionsyData transfer, Unconditional branch, conditional branch,

    arithmetic, address modification

  • 15

    Commercial Computers

    z1947 - Eckert-Mauchly Computer CorporationzUNIVAC I (Universal Automatic Computer)zUS Bureau of Census 1950 calculationszBecame part of Sperry-Rand CorporationzLate 1950s - UNIVAC IIyFasteryMore memoryyUpward compatible with older machines

    IBM

    zPunched-card processing equipmentz1953 - the 701yIBMs first stored program computeryScientific calculations

    z1955 - the 702yBusiness applications

    zLead to 700/7000 series

  • 16

    Transistors

    zReplaced vacuum tubeszSmallerzCheaperzLess heat dissipationzSolid State devicezMade from Silicon (Sand)zInvented 1947 at Bell LabszShockley, Brittain, Bardeen

    Transistor Based Computers

    zSecond generation of machineszNCR & RCA produced small transistor machineszIBM 7000zDEC - 1957yProduced PDP-1

  • 17

    IBM 7094

    zLast member of the 7000 seriesy50 times faster than the 7011.4 uS vs. 30 uS cycle

    y32K memory vs. 2KyMain memory: Core memory vs. TubesyCPU memory: transistors vs. Tubesy185 vs. 24 opcodesyInstruction fetch overlap, reduced another trip to

    memory (exception are branches)yData channels, independent I/O module for devices

    3rd Generation: Integrated Circuits

    zSelf-contained transistor is a discrete componentyBig, manufactured separately, expensive, hot when

    you have thousands of them

    zIntegrated CircuitsyTransistors etched into a substrate, bundled

    together instead of discrete componentsyAllowed thousands of transistors to be packaged

    together efficiently

  • 18

    Microelectronics

    zLiterally - small electronicszA computer is made up of gates, memory cells

    and interconnectionszThese can be manufactured on a

    semiconductor, e.g. silicon waferyThin wafer divided into chipsyEach chip consists of many gates/memory cellsyChip packaged together with pins, assembled on a

    printed circuit board

    Generations of Computer

    z Vacuum tube - 1946-1957z Transistor - 1958-1964z Small scale integration - 1965 onyUp to 100 devices on a chip

    z Medium scale integration - to 1971y100-3,000 devices on a chip

    z Large scale integration - 1971-1977y3,000 - 100,000 devices on a chip

    z Very large scale integration - 1978 to datey100,000 - 100,000,000 devices on a chipyPentium IV has about 40 million transistors

    z Ultra large scale integrationyOver 100,000,000 devices on a chip (vague term)

  • 19

    Moores Lawz Increased density of components on chipz Gordon Moore : co-founder of Intelz Number of transistors on a chip will double every yearz Since 1970s development has slowed a littleyNumber of transistors doubles every 18 months

    z Cost of a chip has remained almost unchangedz Higher packing density means shorter electrical paths,

    giving higher performancez Smaller size gives increased flexibilityz Reduced power and cooling requirementsz Fewer interconnections increases reliability

    Growth in CPU Transistor Count

  • 20

    IBM 360 series

    z 1964z Replaced (& not compatible with) 7000 seriesyReason: Needed to break out of constraints of the 7000

    architecture

    z First planned family of computersySimilar or identical instruction setsySimilar or identical O/SyIncreasing speedyIncreasing number of I/O ports (i.e. more terminals)yIncreased memory size yIncreased cost (not always the case today!)

    z Multiplexed switch structure

    DEC PDP-8

    z1964zFirst minicomputer (after miniskirt!)zDid not need air conditioned roomzSmall enough to sit on a lab benchz$16,000 y$100k+ for IBM 360

    zEmbedded applications & OEMzBUS STRUCTURE

  • 21

    DEC - PDP-8 Bus Structure

    OMNIBUS

    ConsoleController

    CPU Main MemoryI/OModule

    I/OModule

    96 separate signal paths to carry control, address, data signalsHighly flexible, allowed modules to be plugged in for different configurations

    Other Innovations -Semiconductor Memory

    z1970zFairchildzSize of a single coreyi.e. 1 bit of magnetic core storageyHeld 256 bits

    zNon-destructive readzMuch faster than corezCapacity approximately doubles each year

  • 22

    Intel

    z 1971 - 4004 yFirst microprocessoryAll CPU components on a single chipy4 bit

    z Followed in 1972 by 8008y8 bityBoth designed for specific applications

    z 1974 - 8080yIntels first general purpose microprocessor

    z Evolution: 8086, 8088, 80286, 80386, 80486, Pentium Pentium Pro, Pentium II, Pentium III, Pentium IV, Itanium

    Speeding it up

    zSmaller manufacturing process (0.11 micron)zPipeliningzOn board cachezOn board L1 & L2 cachezBranch predictionzData flow analysiszSpeculative executionzParallel execution

  • 23

    Performance Mismatch

    zProcessor speed increasedzMemory capacity increasedzMemory speed lags behind processor speed

    zCommon memory chip technologyyDRAM = Dynamic Random Access Memory

    DRAM and Processor Characteristics

  • 24

    Trends in DRAM use

    Solutions

    z Increase number of bits retrieved at one timeyMake DRAM wider rather than deeper

    z Change DRAM interfaceyCache

    z Reduce frequency of memory accessyMore complex cache and cache on chip

    z Increase interconnection bandwidthyHigh speed busesyHierarchy of buses

    z Similar problems with I/O devices, e.g. graphics, networkz Need balance in computer design