COMP 303 Lecture 1 (Ch 1)
-
Upload
emre-kargicioglu -
Category
Documents
-
view
227 -
download
0
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