introAndChapter1
Download
Report
Transcript introAndChapter1
CS/COE0447
Computer Organization &
Assembly Language
Course Intro
and
CHAPTER 1
1
Course Information
• Welcome to CS/COE0447!
• Professor
– Dr. Jan Wiebe
• Teaching Assistant
– Graduate: Kiyeon Lee
– Undergraduate:
• Toby Horn, Mike Maksymowych, Jesse Szwedko
• Course web page, including syllabus, lectures notes,
assignments, labs, schedule, …
– http://www.cs.pitt.edu/~wiebe/courses/CS447/Fall07
2
Computer Systems
• “Desktop computers”
– E.g. PCs, MACs, …
– Includes Notebooks
• “Servers”
– Web servers
– File and compute servers
– Supercomputers
• “Embedded computers”
– Usually NOT directly observable
– Very wide range of applications
3
Desktop Computers
4
Servers
5
Embedded Computers
6
A Cell Phone System
7
Computer Organization
Study this part in CS1541!
We study this part in this course!
8
In CS/COE 447
• We will study
– Computer architecture
• MIPS architecture
– Concepts of assembler, linker, compiler
– Computer arithmetic
• Signed and unsigned binary numbers
• Floating point format
• Operations (add/div/…)
– Logic design
– Basic processor performance analysis
– Processor organization
• Datapath
• Control
• We will do
– Assembly language programming (in MIPS)
9
Computer Architecture?
• Computer systems
– Underlying hardware
– Software running on it
• Computer architecture
– The hardware/software interface seen by the user
– Instruction set architecture (ISA)
• Processor microarchitecture
– Implementation of a given architecture
– May or may not be visible to the user
10
Layered Approach in Computer Design
Computer Architecture or
Instruction Set Architecture
Architecture
Microarchitecture
Logic gates
Transistors
11
Machine Code Example
swap:
muli
add
lw
lw
sw
sw
jr
$t0, $a0, 4
$t0, $a1, $t0
$t1, 0($t0)
$t2, 4($t0)
$t2, 0($t0)
$t1, 4($t0)
$ra
void swap(int v[], int k)
{
int temp;
temp = v[k];
v[k] = v[k+1];
v[k+1] = temp;
}
00000000101000010…
00000000000110000…
10001100011000100…
10001100111100100…
10101100111100100…
10101100011000100…
00000011111000000…
12
Components of ISA
• In most cases, a “programmer’s reference
manual” (PRM) will disclose the ISA of a
processor
• To understand an ISA, find in PRM
– Data types the processor supports
– Supported instructions and their definitions
– Registers (general-purpose & special purpose)
– Processor modes
– Exception mechanism
13
Inside a PC
• Integrated Circuits (ICs)
– CPU (Central Processing Unit), companion chipset, memory,
peripheral I/O chip (e.g., USB, IDE, IEEE1394, …)
• Printed Circuit (PC) boards (next slide)
– Substrate for ICs and interconnection
– Distribution of clock, power supply
– Heat dissipation
• Hard disk, CD-RW DVD-RW, (floppy disk)
• Power supply
• Chassis
– Holds boards, power supply, and provides physical interface for
user and other systems
• Connectors and cables
14
Closeup photo of one side of a motherboard PCB, showing conductive
15
traces and solder points for through-hole components on the opposite side.
Integrated Circuits
• 1mm~25mm on a side
• 100 ~ 1000M
transistors
• 25 ~ 250M “logic gates”
16
Technology Trend (Processor Complexity)
2x transistors/chip every 1.5 years!
17
Moore’s Law
• The term Moore's Law has been coined by Carver Mead around
1970.[4] Moore's original statement can be found in his publication
"Cramming more components onto integrated circuits", Electronics
Magazine 19 April 1965:
• “The complexity for minimum component costs has increased at a
rate of roughly a factor of two per year ... Certainly over the short
term this rate can be expected to continue, if not to increase. Over
the longer term, the rate of increase is a bit more uncertain, although
there is no reason to believe it will not remain nearly constant for at
least 10 years. That means by 1975, the number of components per
integrated circuit for minimum cost will be 65,000. I believe that such
a large circuit can be built on a single wafer.[1]
• Astounding that it has held for so long!!!
18
Memory Capacity Trend (DRAM)
size
1000000000
100000000
Bits
10000000
1000000
100000
10000
1000
1970
1975
1980
1985
1990
1995
2000
Year
1.4x/year or 2x every 2 years
8000x since 1980!
19
Technology Advances (!)
• Memory
– DRAM capacity: 2x / 2 years (since ’96)
– 64x size improvement in last decade
• Processor
– Speed (in terms of clock frequency): 2x / 1.5 years
(since ’85)
– 100x performance improvement in last decade
• Disk
– Capacity: 2x / 1 year (since ’97)
– 250x size improvement in last decade
20
Main memory
• PC/servers use “DRAM” (Dynamic RAM)
– SDRAM
– DDR SDRAM
– RDRAM (RAMBUS DRAM)
A typical SDRAM “module”
21
Main memory, cont’d
• Embedded computers use DRAM or
SRAM (or both) depending on applications
SRAM, SDRAM, FLASH all
in a same chip!
22
Storage
•
•
•
•
Secondary storage
Non-volatile
Stores programs, user-saved data, etc.
In PC/server domain, magnetic disk (harddisk) is usually used
• In embedded computers, “flash” memory
or “ROM” is usually employed
23
Storage, cont’d
5.25-inch floppy disk
1.2MB
USB Flash card
256MB
3.5-inch floppy disk
1.44MB
24
Storage, cont’d
25
Computer Networks
• Local Area Network (LAN)
– Within limited distance (e.g., in a building)
– Mostly based on Ethernet
– 10Mbps, 100Mbps, 1Gbps, 10Gbps, …
• Wide Area Network
– Connecting networks far apart
• Proliferation of wireless LAN (IEEE802.11)
– 1 ~ 100Mbps
26
(Simple) IC Process Overview
• Silicon ingot (silicon cylinder)
• (Blank) Wafers
• Various steps to build circuits on wafers
– Patterns of chemicals placed wafer
• “Wafer test” to sort out bad parts
• Tested “die” (diced into components – dies, chips)
• “Packaging” steps
– Wire bonding (connected to the I/O pins of a package)
• “Chip test” to sort out bad parts (mistakes happen during
packaging)
• Products
27
28