Title: University of British Columbia Cpsc 318 Computer Structures Lecture 1 Introduction
1University of British ColumbiaCpsc 318Computer
Structures Lecture 1Introduction
- Dr. Son Vuong
- (vuong_at_cs.ubc.ca)
- January 7, 2004
2Overview
- Administration
- Overview of course
- What you should already know.
- What is computer architecture
- Anatomy of machine structure
- Computer Technologies - Trends
3Course Administration
- Instructor Dr. Son Vuong (vuong_at_cs.ubc.ca)
CICSR/CS Rm 329 Office
Hours T,Th 330-430pm - TA Jung-Rung Han (jhan_at_cs.ubc.ca)
- Suwen Yang (swyang_at_cs.ubc.ca)
- Tutorials start next week (NOT this week)
- Materials WebCT (CPSC318)
- www.webct.ubc.ca/SCRIPT/cpsc_318_term2/scri
pts/serve_home - URL www.ugrad.cs.ubc.ca/cs318
- Text Computer Organization and Design The
Hardware/Software Interface, Second Edition,
Patterson and Hennessy
4Grading
- Grade breakdown
- One Midterm Exam 25
- 3-4 Assignments 20
- Pop Quiz 5
- Final Exam 50
- Bonus for class participation
- Must pass both term (examasgmts) and final
- Late penalty 10x2(i-1), i days late lt3
- Grades posted on WebCT
- Written/email request for changes to grades
5Course Problems
- Cant make midterm
- Tell us early and we will schedule alternate
time before exam - Forgot to turn in homework/ Dog ate computer
- As a result of feedback, going to try to grade
almost immediately to give results back quickly
gt late a hassle (i lt 3 days late) - Cheating?
- Studying together in groups is encouraged
- Work must be your own
- Common examples of cheating ran out of time and
then pick up output, take homework from box and
copy, person asks to borrow solution just to
take a look, copying an exam question, ...
Inform CS Dept - Better to skip assignment 5 impact?
6Course Overview (topics)
- Performance
- Instruction set architecture
- Integer and floating point arithmetic
- Assembly programming (MIPS)
- Processor design (pipelining, branch
prediction) - Caches, virtual memory, I/O
- Compare and contrast current processor designs
- (Slides adapted from Patterson Hennessy)
7Why study computer architecture?
- Knowledge of how the computer works
- Understanding technology trends
- Interaction between the compiler and architecture
- Interaction between the operating system and
architecture - Its fun
- CHANGE
- Its exciting!
- It has never been more exciting!
- It impacts every other aspect of electrical
engineering and computer science
8What you should already know?
- Basic machine structure
- processor, memory, I/O
- Read and write basic C programs
- Read and write in an assembly language
- Addressing modes
- Operation codes
- Instruction decoding
- Know simple RTL
- Logic design
- logical equations, schematic diagrams, FSMs,
components - Know basic computer arithmetic and data formats
9What is Computer Architecture
- Computer Architecture
- Instruction Set Architecture (ISA)
-
- Machine Organization
10Instruction Set Architecture (ISA)
- ... the attributes of a computing system as
seen by the programmer, i.e. the conceptual
structure and functional behavior, as distinct
from the organization of the data flows and
controls the logic design, and the physical
implementation. Amdahl, Blaaw, and
Brooks, 1964
-- Organization of Programmable Storage --
Data Types and Data Structures
Encodings and Representations -- Instruction Set
-- Instruction Formats -- Modes of Addressing
and Accessing Data Items and Instructions --
Exceptional Conditions
11The Instruction Set a Critical Interface
software
instruction set
hardware
12Example ISAs (Instruction Set Architectures)
- Digital Alpha (v1, v3) 1992-97
- HP PA-RISC (v1.1, v2.0) 1986-96
- Sun Sparc (v8, v9) 1987-95
- SGI MIPS (MIPS I, II, III, IV, V) 1986-96
- Intel (8086,80286,80386, 1978-99 80486,Pentium,
MMX, Meced...)
13MIPS R3000 ISA (Summary)
- Instruction Categories
- Load/Store
- Computational
- Jump and Branch
- Floating Point
- coprocessor
- Memory Management
- Special
Registers
R0 - R31
PC
HI
LO
3 Instruction Formats all 32 bits wide
OP
rs
rd
sa
funct
rt
OP
rs
rt
immediate
OP
jump target
14Machine Organization
- Capabilities Performance Characteristics of
Principal Functional Units (FUs) - (e.g., Registers, ALU, Shifters, Logic Units,
...) - Ways in which these components are interconnected
- Information flows between components
- Logic and means by which such information flow is
controlled. - Choreography of FUs to realize the ISA
- Register Transfer Level (RTL) Description
Logic Designer's View
15What are Machine Structures?
Application (Netscape)
Operating
Compiler
System (Windows 2K)
Software
Assembler
Instruction Set Architecture
Hardware
I/O system
Processor
Memory
Datapath Control
Digital Design
Circuit Design
transistors
- Coordination of many levels of abstraction
16Levels of Representation
temp vk vk vk1 vk1 temp
High Level Language Program (e.g., C)
Compiler
- lw t0, 0(2)
- lw t1, 4(2)
- sw t1, 0(2)
- sw t0, 4(2)
Assembly Language Program (e.g.,MIPS)
Assembler
Machine Language Program (MIPS)
0000 1001 1100 0110 1010 1111 0101 1000 1010 1111
0101 1000 0000 1001 1100 0110 1100 0110 1010
1111 0101 1000 0000 1001 0101 1000 0000 1001
1100 0110 1010 1111
Machine Interpretation
Control Signal Specification
17Tried-and-True Technique Peer Instruction
- Increase real-time learning in lecture, test
understanding of concepts vs. details - mazur-www.harvard.edu/education/pi.phtml
- As complete a segment ask multiple choice
question - 1-2 minutes to decide yourself
- 2-3 minutes in pairs/triples to reach consensus.
Teach others! - 3-7 minute discussion of answers, questions,
clarifications - How include concept tests but still cover all
material?
18Peer Instruction
- Read textbook, review lectures (new or old)
before class - Reduces examples have to do in class
- Get more from lecture (also good advice)
- First reading assignment for Thur and next week
Text (Chapter 1 and) Chapter 2
19Anatomy 5 components of any Computer
Personal Computer
Keyboard, Mouse
Computer
Processor
Memory (where programs, data live
when running)
Devices
Disk (where programs, data live when not
running)
Input
Control (brain)
Datapath (brawn)
Output
Display, Printer
20Overview of Physical Implementations
The hardware out of which we make systems.
- Integrated Circuits (ICs)
- Combinational logic circuits, memory elements,
analog interfaces. - Printed Circuits (PC) boards
- substrate for ICs and interconnection,
distribution of CLK, Vdd, and GND signals, heat
dissipation. - Power Supplies
- Converts line AC voltage to regulated DC low
voltage levels. - Chassis (rack, card case, ...)
- holds boards, power supply, provides physical
interface to user or other systems. - Connectors and Cables.
21Integrated Circuits (2003 state-of-the-art)
- Primarily Crystalline Silicon
- 1mm - 25mm on a side
- 2003 - feature size 0.13um 0.13 x 10-6 m
- 100 - 400M transistors
- (25 - 100M logic gates")
- 3 - 10 conductive layers
- CMOS (complementary metal oxide semiconductor)
- most common.
Bare Die
Chip in Package
- Package provides
- spreading of chip-level signal paths to
board-level - heat dissipation.
- Ceramic or plastic with gold wires.
22Printed Circuit Boards
- fiberglass or ceramic
- 1-20 conductive layers
- 1-20in on a side
- IC packages are soldered down.
23Technology Trends Memory Capacity(Single-Chip
DRAM)
- year size (Mbit)
- 1980 1/16
- 1983 1/4
- 1986 1
- 1989 4
- 1992 16
- 1996 64
- 1998 128
- 2000 256
- 512
- 2004 1024
- Now 1.4X/yr, or 2X every 2 years.
- 8000X since 1980.
24Technology Trends Microprocessor Complexity
Itanium 2 410 Million
Athlon (K7) 22 Million
Alpha 21264 15 million Pentium Pro 5.5
million PowerPC 620 6.9 million Alpha 21164 9.3
million Sparc Ultra 5.2 million
Moores Law
2X transistors/Chip Every 1.5 years Called
Moores Law
25Technology Trends Processor Performance
Intel P4 3000 MHz (Fall 2002)
1.54X/yr
Processor performance increase/year,
inaccurately referred to as Moores Law (really
transistors/chip)
26Computer Technology - Dramatic Change!
- Processor
- 2X in speed every 1.5 years (since 85) 100X
performance in last decade. - Memory
- DRAM capacity 2x / 2 years (since 96) 64x
size in last decade. - Disk
- Capacity 2X / 1 year (since 97)
- 250X size in last decade.
27Computer Technology - Dramatic Change!
- State-of-the-art PC when you graduate
- Processor clock speed 6000 MegaHertz (6.0
GigaHertz) - Memory capacity 4000 MegaBytes (4.0
GigaBytes) - Disk capacity 1000 GigaBytes (1.0 TeraBytes)
- New units! Mega gt Giga, Giga gt Tera
28Computers In The News
- Intel Insists Faster Chips Can Aid Sales,
8/29/01, N.Y. Times . . . But Mr. Otellini
acknowledged that the rapidly increasing "clock
speed" of the company's microprocessors would
not be enough to spur the sluggish computer
industry. Mr. Otellini encouraged the 4,000
developers gathered here for Intel's semiannual
forum to build devices and software programs
that take advantage of the increased speed in the
company's newest chips. The computer market will
rebound when the industry makes products that
people need to buy, he said. - "Gigahertz are necessary," Mr. Otellini said.
"They're necessary for the evolution and
improvement of computing, but they're not
sufficient."
29Cpsc318 So what's in it for me?
- Learn big ideas in CS and engineering
- 5 Classic components of a Computer
- Data can be anything (integers, floating point,
characters) a program determines what it is - Stored program concept instructions just data
- Principle of Locality, exploited via a memory
hierarchy (cache) - Greater performance by exploiting parallelism
- Principle of abstraction, used to build systems
as layers - Compilation v. interpretation thru system layers
- Principles/Pitfalls of Performance Measurement
30What Cpsc318 is not
- Learning C
- If you know one, you should be able to learn
another programming language largely on your own - Given that you know C or Java, should be easy
to pick up their ancestor, C
- Assembly Language Programming
- This is a skill you will pick up, as a side
effect of understanding the Big Ideas - Hardware design
- We think of hardware at the abstract level, with
only a little bit of physical logic to give
things perspective - Cpsc218 teaches this
31And in Semi-Conclusion...
- 13 weeks to learn big ideas in CSE
- Principle of abstraction, used to build systems
as layers - Pliable Data a program determines what it is
- Stored program concept instructions are just
data - Principle of Locality, exploited via a memory
hierarchy (cache) - Greater performance by exploiting parallelism
(pipeline) - Compilation v. interpretation to move down layers
of system - Principles/Pitfalls of Performance Measurement
32And in Semi-Conclusion...
- Continued rapid improvement in Information
Technology - 2X every 1.5 years in processor speed
every 2.0 years in memory size every 1.0
year in disk capacity - Moores Law enables processor, memory (2X
transistors/chip/ 1.5 yrs) - 5 classic components of all computers
- Control Datapath Memory Input Output
Processor
33Course Overview (topics)
- Introduction (Lecture 1)
- Performance (Next lecture)
- Assembly programming (MIPS)
- Processor design (pipelining, branch
prediction) - Caches, virtual memory, I/O
- Instruction set architecture
- Compare and contrast current processor designs