COMP 303 Lecture 1 (Ch 1)

download COMP 303 Lecture 1 (Ch 1)

of 21

Transcript of COMP 303 Lecture 1 (Ch 1)

  • 8/3/2019 COMP 303 Lecture 1 (Ch 1)

    1/21

    COMP 303

    Computer Architecture

    Lecture 1

  • 8/3/2019 COMP 303 Lecture 1 (Ch 1)

    2/21

    What is Computer Architecture?

    -Computer Architectureis the science and art of selecting andinterconnecting hardware components to create computers that meetfunctional, performance and cost goals.*

    *Computer Architecture Page: http://www.cs.wisc.edu/arch/www/index.htmlComp 303 Computer Architecture

  • 8/3/2019 COMP 303 Lecture 1 (Ch 1)

    3/21

    Definitions Over Time

    1940s - 1950s Computer Architecture

    Computer Arithmetic

    1960s

    Operating system support, especially memory management

    1970s to mid 1980s Computer Architecture

    Instruction Set Design, especially ISA appropriate for compilers

    Vector processing and shared memory multiprocessors

    1990s Computer Architecture

    Design of CPU, memory system, I/O system, Multi-processors,Networks

    Design for VLSI

    2000s Computer Architecture:

    Special purpose architectures, Functionally reconfigurable, Specialconsiderations for low power/mobile processing, highly parallelstructures/architectures

    Comp 303 Computer Architecture

  • 8/3/2019 COMP 303 Lecture 1 (Ch 1)

    4/21

    Comp 303 Computer Architecture

    Introduction

    This course is all about how computers work

    But what do we mean by a computer?

    Different types: desktop, servers, embedded devices

    Different uses: automobiles, graphics, finance,

    genomics

    Different manufacturers: Intel, Apple, IBM, Microsoft,

    Sun Different underlying technologies and different costs!

  • 8/3/2019 COMP 303 Lecture 1 (Ch 1)

    5/21

    Comp 303 Computer Architecture

    Introduction

    Analogy: Consider a course on automotive

    vehicles

    Many similarities from vehicle to vehicle (e.g., wheels)

    Huge differences from vehicle to vehicle (e.g., gas vs.electric)

    Best way to learn:

    Focus on a specific instance and learn how it works

    While learning general principles and historical

    perspectives

  • 8/3/2019 COMP 303 Lecture 1 (Ch 1)

    6/21

    Comp 303 Computer Architecture

    Classes of Computing Apps.

    Desktop computers

    Servers

    Supercomputers

    Embedded computers

  • 8/3/2019 COMP 303 Lecture 1 (Ch 1)

    7/21

    Comp 303 Computer Architecture

    What to learn

    How are programs written in a high-level language,translated into the language of the hardware

    What is the interface between the software and

    the hardware, and how does software instruct thehardware to perform needed function

    What determines the performance of a program

    What techniques can be used by hardware

    designers to improve performance

  • 8/3/2019 COMP 303 Lecture 1 (Ch 1)

    8/21

    Comp 303 Computer Architecture

    Performance

    Both Hardware and Software affect performance:

    Algorithm determines number of source-level statements

    Language/Compiler/Architecture determine machine

    instructions(Chapter 2 and 3)

    Processor/Memory determine how fast instructions are

    executed

    (Chapter 5, 6, and 7)

  • 8/3/2019 COMP 303 Lecture 1 (Ch 1)

    9/21

    Comp 303 Computer Architecture

    Below the application

  • 8/3/2019 COMP 303 Lecture 1 (Ch 1)

    10/21

    Comp 303 Computer Architecture

    Abstraction

  • 8/3/2019 COMP 303 Lecture 1 (Ch 1)

    11/21

    Levels of Abstraction

    Application

    Libraries

    Operating System

    Programming Language

    Assembler Language

    Graphical Interface

    Processor IO System

    Logic Design

    Datapath and Control

    Circuit Design

    Semiconductors

    Materials

    Firmware

    Circuits and devices

    Fabrication

    Digital DesignComputer Design

    Application

    Programming

    System Programming

    Microprogramming

    Instruction Set Architecture - Machine Language

    Comp 303 Computer Architecture

  • 8/3/2019 COMP 303 Lecture 1 (Ch 1)

    12/21

    Characteristics of a Good Interface

    Well defined for users and implementers

    Interoperability (Hardware) / Compatibility (Software)

    Lasts through multiple implementations acrossmultiple technologies (portability, compatibility)

    Efficiently supports multiple implementations

    Competitive market

    Compatible at multiple cost / performance

    design pointsIP Investment Preservation

    Extensible function grows from a stable base

    Generality of application permits reuse oftraining, tools and implementations

    Applies to many types of interfaces

    Instruction set architectures

    Busses

    Network protocols

    Library definitions

    OS service calls

    Programming languages

    Interfaceimp 1

    imp 2

    imp 3

    Use 1

    Use 2

    Use 3

    time

    Interface usage can far exceed the

    most optimistic projections of itsdesigner:

    Instruction sets

    - S/360 1964 ~ present

    - X86 1972 ~ present

    - SPARC 1981 ~ present

    Network protocols

    - Ethernet 1973 ~ present

    - TCP/IP 1974 ~ present

    Programming languages

    - C 1973 ~ present

    Comp 303 Computer Architecture

  • 8/3/2019 COMP 303 Lecture 1 (Ch 1)

    13/21

    Comp 303 Computer Architecture

    Historical Perspective

    ENIAC built in World War II was the firstgeneral purpose computer Used for computing artillery firing tables

    80 feet long by 8.5 feet high and several feet wide Each of the twenty 10 digit registers was 2 feet

    long

    Used 18,000 vacuum tubes

    Performed 1900 additions per second

  • 8/3/2019 COMP 303 Lecture 1 (Ch 1)

    14/21

    Comp 303 Computer Architecture

    Eniac

    Since then:

    Moores Law:

    transistor capacity doublesevery 18-24 months

  • 8/3/2019 COMP 303 Lecture 1 (Ch 1)

    15/21

    Why study Comp Architecture?

    Build faster processors Why? My MS-Word, Latex runs quite fast on my Pentium-166

    MMX thank you very much

    But my Unreal Tournament doesnt

    How about weather simulation? Speech recognition?

    MPEG-4, Your Killer-App circa 2015? Bottom line:

    Historically, faster processors facilitated new applications

    Similarly, novel applications created a need for faster machines

    Any reason why this will change? Also performance not the only requirement

    #1: User requirements are constantly changing

    Comp 303 Computer Architecture

  • 8/3/2019 COMP 303 Lecture 1 (Ch 1)

    16/21

    Why study Comp Architecture?

    Caches: 70s: thousands ofxtors, DRAM faster than processor

    nice way of slowing down your program

    80s: depends on machine

    90s: millions ofxtors, what to do with them, DRAM muchslower than processor

    a must, otherwise your Ghz processor spends most of itstime waiting for memory

    #2: Technology changes rapidly making pastchoices often obsolete

    #3: Also opens up new opportunities (e.g., out-of-order, chip multiprocessor)

    Comp 303 Computer Architecture

  • 8/3/2019 COMP 303 Lecture 1 (Ch 1)

    17/21

    Why study Comp Architecture?

    #4: It is a required class

    #5: Understand basic working principles of acomputer

    #6: A lot of jobs for architects Intel, AMD, Sun, HP, IBM,

    Designers

    Research jobs

    Industry Labs

    Universities

    #7: The basic notion of engineering

    Comp 303 Computer Architecture

  • 8/3/2019 COMP 303 Lecture 1 (Ch 1)

    18/21

    Course BasicsWebsite

    https://sites.google.com/a/ku.edu.tr/comp303

    Check regularly for announcements

    All course materials posted -- lecture notes, homework, labs, supplementalmaterials

    Communicate information, questions and issues

    Office Hours: ENG 130 Monday and Thursday 15:15 16:00 (or by appointment)

    Teaching Assistant: TBD

    Text supplements lectures and assigned reading should be done prior to lectures. Iassume that all assigned readings are completed even if the material is not covered inclass.

    Homeworks, Lab, and Exam

    Collaborative study and discussion is highly encouraged

    Work submitted must be your own Individual grade

    Group Projects

    Collaborative effort

    Team grade

    Comp 303 Computer Architecture

    https://sites.google.com/a/ku.edu.tr/comp303https://sites.google.com/a/ku.edu.tr/comp303
  • 8/3/2019 COMP 303 Lecture 1 (Ch 1)

    19/21

    Grade50% Homework and Projects

    3 or 4 homework sets 10% of the grade

    Projects Individual projects for designing processor components and tool

    chain 40 % of the grade

    30% Two Midterm Exams

    15% each

    20% Final Exam

    Comp 303 Computer Architecture

  • 8/3/2019 COMP 303 Lecture 1 (Ch 1)

    20/21

    Background Information

    I assume you know

    Digital design, gates, Boolean logic

    Passing knowledge of assembly language

    What is an instruction?

    What does an instruction do?

    Lab session for

    LogiSim

    Comp 303 Computer Architecture

  • 8/3/2019 COMP 303 Lecture 1 (Ch 1)

    21/21

    Reading Assignment

    Read Ch 1., especially 1.4 Performance

    Comp 303 Computer Architecture