dce
2013
COMPUTER ARCHITECTURE
CSE Fall 2013
Faculty of Computer Science and Engineering
Department of Computer Engineering
BK
TP.HCM
Vo Tan Phuong
/>
CuuDuongThanCong.com
/>
dce
2013
Chapter 1
Introduction
CuuDuongThanCong.com
Computer Architecture – Chapter 1
/>
© Fall 2013, CS
2
dce
2013
Presentation Outline
• Welcome to CA CSE Fall 2013
• Computer Architectures and Trends
• High-Level, Assembly-, and Machine-Languages
• Components of a Computer System
• Chip Manufacturing Process
• Programmer's View of a Computer System
CuuDuongThanCong.com
Computer Architecture – Chapter 1
/>
© Fall 2013, CS
3
dce
2013
Welcome to CA CSE Fall 2013
• Instructor: Võ Tấn Phương
Email:
• TA: Trần Thanh Bình
Email:
• Course Web Page:
– />– />
CuuDuongThanCong.com
Computer Architecture – Chapter 1
/>
© Fall 2013, CS
4
dce
2013
Which Textbook will be Used?
• Computer Organization & Design:
The Hardware/Software Interface
– Fourth Edition
– David Patterson and John Hennessy
– Morgan Kaufmann Publishers, 2009
• Read the textbook in addition to slides
CuuDuongThanCong.com
Computer Architecture – Chapter 1
/>
© Fall 2013, CS
5
dce
2013
Estimated Schedule
•
•
•
•
•
•
•
•
•
Introduction (1 week)
MIPS Instruction Set Architecture (2 weeks)
MIPS Assembly Programming (3 weeks)
Performance (1 week)
Basic Digital Function Block, ALU (1 week)
Single Cycle MIPS Processor (2 weeks)
Pipelined MIPS Processor (2 weeks)
Main Memory System (1 week)
Cache Memory System (1 week)
CuuDuongThanCong.com
Computer Architecture – Chapter 1
/>
© Fall 2013, CS
6
dce
2013
Course Learning Outcomes
• Towards the end of this course, you should be able to …
– Describe the instruction set architecture of a MIPS processor
– Analyze, write, and test MIPS assembly language programs
– Design the datapath and control of a single-cycle CPU
– Design the datapath/control of a pipelined CPU & handle hazards
– Describe the organization/operation of memory and caches
– Analyze the performance of processors and caches
• Required Background
– Ability to program confidently in Java or C
– Ability to design a combinational and sequential circuit
CuuDuongThanCong.com
Computer Architecture – Chapter 1
/>
© Fall 2013, CS
7
dce
2013
Tentative Grading Policy
•
Quizzes
–
•
•
•
4 quizzes for each main topic
Labs
–
MIPS assemble programming
–
ALU design
Midterm Exam
–
20%
30%
Quiz questions, closed book, 4 prepared document sheets
Final Exam
–
20%
30%
Quiz questions, closed book, 4 prepared document sheets
CuuDuongThanCong.com
Computer Architecture – Chapter 1
/>
© Fall 2013, CS
8
dce
2013
Software Tools
• MIPS Simulators
– MARS: MIPS Assembly and Runtime Simulator
• Runs MIPS-32 assembly language programs
• Website: />
– SPIM
• Also Runs MIPS-32 assembly language programs
• Website: />
• CPU Design and Simulation Tool
– Logisim
• Educational tool for designing and simulating CPUs
• Website: />
CuuDuongThanCong.com
Computer Architecture – Chapter 1
/>
© Fall 2013, CS
9
dce
2013
Presentation Outline
• Welcome to CA CSE Fall 2013
• Computer Architectures and Trends
• High-Level, Assembly-, and Machine-Languages
• Components of a Computer System
• Chip Manufacturing Process
• Programmer's View of a Computer System
CuuDuongThanCong.com
Computer Architecture – Chapter 1
/>
© Fall 2013, CS
10
dce
2013
What is “Computer Architecture” ?
• Computer Architecture =
Instruction Set Architecture +
Computer Organization
• Instruction Set Architecture (ISA)
– WHAT the computer does (logical view)
• Computer Organization
– HOW the ISA is implemented (physical view)
• We will study both in this course
CuuDuongThanCong.com
Computer Architecture – Chapter 1
/>
© Fall 2013, CS
11
dce
2013
Computer Architecture In Context
CuuDuongThanCong.com
Computer Architecture – Chapter 1
/>
© Fall 2013, CS
12
dce
2013
Trend 1: Growing Diversity In Apps & Systems
CuuDuongThanCong.com
Computer Architecture – Chapter 1
/>
© Fall 2013, CS
13
dce
2013
Trend 2: Software trend
•
•
•
•
•
No longer just executing C/FORTRAN code
Object Oriented Programming
Java
Architectural features to assist security
Middleware
– Layer(s) between client and server applications
– Hides complexity of client/server communications
CuuDuongThanCong.com
Computer Architecture – Chapter 1
/>
© Fall 2013, CS
14
dce
2013
Trend 3: Energy/Power Constrain all Modern Systems
CuuDuongThanCong.com
Computer Architecture – Chapter 1
/>
© Fall 2013, CS
15
dce
2013
Emerging Device Technologies
CuuDuongThanCong.com
Computer Architecture – Chapter 1
/>
© Fall 2013, CS
16
dce
2013
Power Constrains Single-Processor Scaling
CuuDuongThanCong.com
Computer Architecture – Chapter 1
/>
© Fall 2013, CS
17
dce
2013
Transition to Multicore Processors
CuuDuongThanCong.com
Computer Architecture – Chapter 1
/>
© Fall 2013, CS
18
dce
2013
Multicore Performance Scaling
CuuDuongThanCong.com
Computer Architecture – Chapter 1
/>
© Fall 2013, CS
19
dce
2013
Classes of Computers
• Desktop / Notebook Computers
– General purpose, variety of software
– Subject to cost/performance tradeoff
• Server Computers
– Network based
– High capacity, performance, reliability
– Range from small servers to building sized
• Embedded Computers
– Hidden as components of systems
– Stringent power/performance/cost constraints
CuuDuongThanCong.com
Computer Architecture – Chapter 1
/>
© Fall 2013, CS
20
dce
2013
Computer Sales
CuuDuongThanCong.com
Computer Architecture – Chapter 1
/>
© Fall 2013, CS
21
dce
2013
Microprocessor Sales
• ARM processor
sales exceeded Intel
IA-32 processors,
which came second
• ARM processors
are used mostly in
cellular phones
• Most processors
today are embedded
in cell phones, digital
TVs, video games,
and a variety of
consumer devices
CuuDuongThanCong.com
Computer Architecture – Chapter 1
/>
© Fall 2013, CS
22
dce
2013
Presentation Outline
• Welcome to CA CSE Fall 2013
• Computer Architectures and Trends
• High-Level, Assembly-, and Machine-Languages
• Components of a Computer System
• Chip Manufacturing Process
• Programmer's View of a Computer System
CuuDuongThanCong.com
Computer Architecture – Chapter 1
/>
© Fall 2013, CS
23
dce
2013
Some Important Questions to Ask
• What is Assembly Language?
• What is Machine Language?
• How is Assembly related to a high-level language?
• Why Learn Assembly Language?
• What is an Assembler, Linker, and Debugger?
CuuDuongThanCong.com
Computer Architecture – Chapter 1
/>
© Fall 2013, CS
24
dce
2013
A Hierarchy of Languages
Application Programs
High-Level Languages
Machine independent
High-Level Language
Machine specific
Low-Level Language
Assembly Language
Machine Language
Hardware
CuuDuongThanCong.com
Computer Architecture – Chapter 1
/>
© Fall 2013, CS
25