Top Banner

Click here to load reader


Dec 08, 2015




  • Computer Architecture

  • Give students insite and understanding of:Logical organization of computer systems

    Design techniques for implementing subsystems including arithmetic and logical units, control units, memory, and I/O devices

    Major architectural features of modern computer systemsCourse Objectives

  • Topics and Lectures1.Introduction1 lecture2.Digital Logic Circuits and Components1-2 lectures3.Number Systems1-2 lectures4.Register Transfer Language and Micro-Ops1 lecture5.Basic Computer Organization and Design5 lectures6.Microprogrammed Control Unit Design3 lectures7.Central Processing Unit (CPU) Design2 lectures8.Pipeline and Vector Processing2 lectures9.Computer Arithmetic Unit Design2 lectures10.Input / Output Organization2 lectures11.Memory Organization and Design3 lectures12.Multiprocessor Design2 lectures13.Computer Systems Performance Evaluation1 lecture14.Fault Tolerance and Reliability1 lecture

  • What Is Computing?

  • What Is Computing?

  • Historically, a computer was a job title, not a piece of equipment!

    Requirements of a computer:

    Process dataStore dataMove data between the computer and the outside worldControl the operation of the aboveWhat Is A Computer?

  • Historical Background

  • Wilhelm Schickhard (1623)Astronomer and mathematicianAutomatically add, subtract, multiply, and divide

    Blaise Pascal (1642)MathematicianMass produced first working machine (50 copies)Could only add and subtractMaintenance and labor problems

    Gottfried Liebniz (1673)Mathematician and inventorImproved on Pascals machineAdd, subtract, multiply, and divide

    Computer History-Mechanical Era (1600-1940)

  • Charles Babbage (1822)MathematicianFather of modern computerWanted more accuracy in calculationsDifference engineGovernment / science agreementAutomatic computation of math tablesAnalytic enginePerform any math operationPunch cardsModern structure: I/O, storage, ALUAdd in 1 second, multiply in 1 minuteBoth engines plagued by mechanical problems

    George Boole (1847)Mathematical analysis of logicInvestigation of laws of thoughtComputer History-Mechanical Era (1600-1940)

  • Herman Hollerith (1889)Modern day punched card machineFormed Tabulating Machine Company (became IBM)1880 census took 5 years to tabulateTabulation estimates1890: 7.5 years1900: 10+ yearsHolleriths tabulating machine reduced the 7.5 year estimateto 2 monthsKonrad Zuse (1938)Built first working mechanical computer, the Z1Binary machineGerman government decided not to pursue--W.W.II already startedHoward Aiken (1943)Designed the Harvard Mark IImplementation of Babbages machineBuilt by IBMComputer History-Mechanical Era (1600-1940)

  • Generation 1 (1945 - 1958) ENIACDeveloped for calculating artillery firing tablesDesigned by Mauchly&Echert of the University of PennsylvaniaGenerally regarded as the first electronic computerBIG!18,000 tubes70,000 resistors10,000 capacitors6,000 switches30 x 50 feet140 kW of powerDecimal number system usedProgrammed by manually setting switches

    Computer History - Electronic Era (1940- )

  • Computer History - Electronic EraGeneration 1 IAS (Institute for Advanced Studies)von Neumann and GoldstineTook idea of ENIAC and developed concept of storing a program in the memoryThis architecture came to be known as the von Neumann architecture and has been the basis for virtually every machine designed since thenFeaturesData and instructions (programs) are stored in a single read-write memoryMemory contents are addressable by location, regardless of the content itselfSequential execution

  • Generation 2 (1958 - 1964)Technology change -- TransistorsHigh level languagesFloating point arithmeticGeneration 3 (1964 - 1974)Introduction of integrated circuitsSemiconductor memoryMicroprogrammingMultiprogrammingGeneration 4 (1974 - present)Large scale integration / VLSISingle board computersGeneration 5 (? - ?)VLSI / ULSIComputer communications networksArtificial intelligenceMassively parallel machinesComputer History - Electronic Era

  • ProcessorLogic capacity:increases about 30% per yearClock rate:increases about 20% per yearPerformance:increases about 50% per yearMemoryDRAM capacity:increases about 60% per year (4x every 3 years)Performance:increases about 3.4% per yearDiskCapacity:about 60% per yearPerformance:increases about 3.4% per year

    What impact does this have on future computer systems? What impact does this have on design decisions?Performance Trends

  • MicroprocessorsMinicomputersMainframesSupercomputers1995Year19901970197519801985Log of PerformancePerformance Trends

  • Computer Architecture (or Organization)

  • Baer: The design of the integrated system which provides a useful tool to the programmer

    Hayes: The study of the structure, behavior and design of computers

    Abd-Alla: The design of the system specification at a general or subsystem level

    Foster: The art of designing a machine that will be a pleasure to work with

    Hennessy and Patterson: The interface between the hardware and the lowest level softwareWhat is Computer Architecture?

  • Design / structureArtSystemTool for programmer and applicationInterface

    Thus, computer architecture refers to those attributes of the system that are visible to a programmer -- those attributes that have a direct impact on the execution of a program

    Instruction setsData representationsAddressingI/OCommon themes

  • Synonymous with architecture in many uses and textbooks

    We will use it to mean the underlying implementation of the architecture transparent to the programmer

    An architecture can have a number of organizational implementations

    Control signalsTechnologiesDevice implementationsComputer Organization

  • Global system structureOverall system structure is definedMajor components identifiedProcessorsControl modulesMemory modulesInterconnection structureMostly a static description -- black box approach

    Processor levelArchitectural Features specifiedInterfacesInstruction setsData RepresentationMore detailed individual component specificationFour Levels of Computer Description

  • Register levelSpecify internal operation of processor-level components at the word levelPrimitives:RegistersCountersMemoriesALUsClocksCombinational logic

    Gate levelSpecify operations at the individual bit levelGates are primitive elementsVery cumbersome to do manually (logic minimization, etc.)Four Levels of Computer Description