Anda di halaman 1dari 21

COMP 303 Computer Architecture Lecture 1

What is Computer Architecture?


-Computer

Architecture is the science and art of selecting and interconnecting hardware components to create computers that meet functional, performance and cost goals.*

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


Comp 303 Computer Architecture

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, Special considerations for low power/mobile processing, highly parallel structures/architectures

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!

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

Comp 303 Computer Architecture

Classes of Computing Apps.

Desktop computers Servers Supercomputers Embedded computers

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 the hardware to perform needed function What determines the performance of a program What techniques can be used by hardware designers to improve performance

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)

Comp 303 Computer Architecture

Below the application

Comp 303 Computer Architecture

Abstraction

Comp 303 Computer Architecture

Levels of Abstraction
Application Programming Application Libraries

Graphical Interface

Operating System
System Programming Programming Language Assembler Language Instruction Set Architecture - Machine Language Processor Firmware Computer Design Datapath and Control Logic Design Circuit Design Fabrication Semiconductors Materials IO System Microprogramming

Digital Design
Circuits and devices

Comp 303 Computer Architecture

Characteristics of a Good Interface


Well defined for users and implementers Interoperability (Hardware) / Compatibility (Software) Lasts through multiple implementations across multiple technologies (portability, compatibility) Efficiently supports multiple implementations Competitive market Compatible at multiple cost / performance design points IP Investment Preservation Extensible function grows from a stable base Generality of application permits reuse of training, tools and implementations Applies to many types of interfaces Instruction set architectures Busses Network protocols Library definitions OS service calls Programming languages
Comp 303 Computer Architecture

Use 1 Use 2 Use 3


Interface

imp 1

time

imp 2

imp 3 Interface usage can far exceed the most optimistic projections of its designer:
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

Historical Perspective

ENIAC built in World War II was the first general 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

Comp 303 Computer Architecture

Eniac

Since then: Moores Law: transistor capacity doubles every 18-24 months

Comp 303 Computer Architecture

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

Why study Comp Architecture?

Caches:

70s: thousands of xtors, DRAM faster than processor

nice way of slowing down your program

80s: depends on machine 90s: millions of xtors, what to do with them, DRAM much slower than processor a must, otherwise your Ghz processor spends most of its time waiting for memory #2: Technology changes rapidly making past choices often obsolete #3: Also opens up new opportunities (e.g., out-oforder, chip multiprocessor)

Comp 303 Computer Architecture

Why study Comp Architecture?

#4: It is a required class #5: Understand basic working principles of a computer #6: A lot of jobs for architects

Intel, AMD, Sun, HP, IBM,

Designers Industry Labs Universities

Research jobs

#7: The basic notion of engineering

Comp 303 Computer Architecture

Course Basics
Website https://sites.google.com/a/ku.edu.tr/comp303 Check regularly for announcements All course materials posted -- lecture notes, homework, labs, supplemental materials 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. I assume that all assigned readings are completed even if the material is not covered in class. 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

Grade
50% Homework and Projects 3 or 4 homework sets

10% of the grade Individual projects for designing processor components and tool chain 40 % of the grade

Projects

30% Two Midterm Exams 15% each 20% Final Exam

Comp 303 Computer Architecture

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

Reading Assignment

Read Ch 1., especially 1.4 Performance

Comp 303 Computer Architecture

Anda mungkin juga menyukai