TheDefinitionofComputerArchitecture(Conventional): Computer Architecture: The science and art of designingselecting,andinterconnectinghardwarecomponentsanddesigningthehardware/software interface to create a computing system that meetsfunctional, performance, energy consumption, cost, and other specificgoals.Traditional definition: “The term architecture is used here todescribe the attributes of a system as seen by the programmer, i.e., theconceptualstructureandfunctionalbehaviorasdistinctfromtheorganizationofthe dataflow and controls, the logic design, and the physical implementation."GeneAmdahl,IBMJournalofR&D,April1964LatedMarch1973ComputerArchitecture16
Computer Architecture The Defini4on of Computer Architecture (Conven4onal) • Computer Architecture: The science and art of designing, selecting, and interconnecting hardware components and designing the hardware/software interface to create a computing system that meets functional, performance, energy consumption, cost, and other specific goals. • Traditional definition: “The term architecture is used here to describe the attributes of a system as seen by the programmer, i.e., the conceptual structure and functional behavior as distinct from the organization of the dataflow and controls, the logic design, and the physical implementation.” Gene Amdahl, IBM Journal of R&D, April 1964 16
ComputerArchitecturein Levelsof Transformation,RevisitedA user-centric view: computer designed for usersProblemAlgorithmUserProgram/LanguageRuntime System(MOSMM)ISAMicroarchitectureCircuitsElectronsThe entire stack should be optimized for userComputerArchitecture17
Computer Architecture Computer Architecture in Levels of Transforma4on, Revisited Microarchitecture ISA Program/Language Algorithm Problem Runtime System (VM, OS, MM) User n A user-centric view: computer designed for users n The entire stack should be optimized for user Logic Circuits Electrons 17
An Enabler:Moore'sLawMicroprocessorTransistorCounts1971-2o11&Moore'sLawPARGTSix-Core CoreSix-CoreXeon7402,600,000,000Dual-CoreItarium20VEREAMDK101,000,000,000POWER60eCoreMDK10ton2DuHinm2100,000,000AMDK8CAMBKE-AMDKEcurveshowstransistor10,000,000count doubling everytwo years1,000,000100,00010,000a0a0.2,300RCA119711980199020002011DateofintroductionMoore,"Crammingmorecomponentsontointegratedcircuits,ElectronicsMagazine,1965.Numberoftransistorsonanintegratedcircuitdoubles~everytwoyearsComputerArchitecture18
Computer Architecture 18 Moore, “Cramming more components onto integrated circuits,” Electronics Magazine, 1965. Number of transistors on an integrated circuit doubles ~ every two years An Enabler: Moore’s Law
WhyStudyComputerArchitecture?Enablebetter systems:make computers faster, cheaper,smaller, more reliable,-Byexploitingadvances and changes in underlyingtechnology/circuitsEnablenewapplications-Life-like3Dvisualization20yearsago?- Virtual reality?-Personalgenomics?EnablebettersolutionstoproblemsSoftware innovation isbuiltinto trends andchanges in computerarchitecture>50%performance improvementperyearhasenabledthisinnovationUnderstand why computers work the way they doComputerArchitecture19
Computer Architecture Why Study Computer Architecture? • Enable better systems: make computers faster, cheaper, smaller, more reliable, . – By exploiting advances and changes in underlying technology/circuits • Enable new applications – Life-like 3D visualization 20 years ago? – Virtual reality? – Personal genomics? • Enable better solutions to problems – Software innovation is built into trends and changes in computer architecture • > 50% performance improvement per year has enabled this innovation • Understand why computers work the way they do 19
ComputerArchitectureToday(U): Today is a very exciting time to study computer architectureIndustry is in a large paradigm shift (to multi-core andbeyond) - many different potential system designs possibleMany difficult problems motivating and caused by the shift-Power/energy constraintsComplexityofdesign→multi-core?-Difficulties in technology scaling → new technologies?-Memorywall/gap-Reliabilitywall/issues-Programmabilitywall/problem. No clear, definitive answers to these problemsComputerArchitecture20
Computer Architecture Computer Architecture Today (I) • Today is a very exciting time to study computer architecture • Industry is in a large paradigm shift (to multi-core and beyond) – many different potential system designs possible • Many difficult problems motivating and caused by the shift – Power/energy constraints – Complexity of design à multi-core? – Difficulties in technology scaling à new technologies? – Memory wall/gap – Reliability wall/issues – Programmability wall/problem • No clear, definitive answers to these problems 20