1 cs/coe0447 computer organization & assembly language course intro and ch 1.1-1.3

23
1 CS/COE0447 Computer Organization & Assembly Language Course Intro and CH 1.1-1.3

Upload: francine-burns

Post on 23-Dec-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 CS/COE0447 Computer Organization & Assembly Language Course Intro and CH 1.1-1.3

1

CS/COE0447

Computer Organization & Assembly Language

Course Introand

CH 1.1-1.3

Page 2: 1 CS/COE0447 Computer Organization & Assembly Language Course Intro and CH 1.1-1.3

2

Course Information

• Welcome to CS/COE0447!• Professor

– Dr. Jan Wiebe

• Teaching Assistant– Jose Baiocchi

• Course web page, including syllabus, lectures notes, assignments, labs, schedule, …– http://www.cs.pitt.edu/~wiebe/courses/CS447/Sp10

Page 3: 1 CS/COE0447 Computer Organization & Assembly Language Course Intro and CH 1.1-1.3

3

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

Page 4: 1 CS/COE0447 Computer Organization & Assembly Language Course Intro and CH 1.1-1.3

4

Desktop Computers

Page 5: 1 CS/COE0447 Computer Organization & Assembly Language Course Intro and CH 1.1-1.3

5

Servers

Page 6: 1 CS/COE0447 Computer Organization & Assembly Language Course Intro and CH 1.1-1.3

6

Embedded Computers

Page 7: 1 CS/COE0447 Computer Organization & Assembly Language Course Intro and CH 1.1-1.3

7

Computer Organization

We study this part in this course!

Study this part in CS1541!

Page 8: 1 CS/COE0447 Computer Organization & Assembly Language Course Intro and CH 1.1-1.3

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)

Computer Science Dept
We study basic concepts in all of the following
Page 9: 1 CS/COE0447 Computer Organization & Assembly Language Course Intro and CH 1.1-1.3

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

Page 10: 1 CS/COE0447 Computer Organization & Assembly Language Course Intro and CH 1.1-1.3

10

Transistors

Layered Approach in Computer Design

Computer Architecture orInstruction Set Architecture

Logic gates

Microarchitecture

Architecture

Page 11: 1 CS/COE0447 Computer Organization & Assembly Language Course Intro and CH 1.1-1.3

11

Machine Code Example

swap:muli $t0, $a0, 4add $t0, $a1, $t0lw $t1, 0($t0)lw $t2, 4($t0)sw $t2, 0($t0)sw $t1, 4($t0)jr $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…

com

piler

assemble

r

Page 12: 1 CS/COE0447 Computer Organization & Assembly Language Course Intro and CH 1.1-1.3

Chapter 1 — Computer Abstractions and Technology — 12

Levels of Program Code• High-level language

– Level of abstraction closer to problem domain

– Provides for productivity and portability

• Assembly language– Textual representation of

instructions

• Hardware representation– Binary digits (bits)– Encoded instructions and

data

Page 13: 1 CS/COE0447 Computer Organization & Assembly Language Course Intro and CH 1.1-1.3

13

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

Page 14: 1 CS/COE0447 Computer Organization & Assembly Language Course Intro and CH 1.1-1.3

14

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

Page 15: 1 CS/COE0447 Computer Organization & Assembly Language Course Intro and CH 1.1-1.3

15Closeup photo of one side of a motherboard PCB, showing conductive traces and solder points for through-hole components on the opposite side.

Page 16: 1 CS/COE0447 Computer Organization & Assembly Language Course Intro and CH 1.1-1.3

16

Technology Trend (Processor Complexity)

2x transistors/chip every 1.5 years!

Page 17: 1 CS/COE0447 Computer Organization & Assembly Language Course Intro and CH 1.1-1.3

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!!!

Page 18: 1 CS/COE0447 Computer Organization & Assembly Language Course Intro and CH 1.1-1.3

18

Memory Capacity Trend (DRAM)

1.4x/year or 2x every 2 years8000x since 1980!

size

Year

Bit

s

1000

10000

100000

1000000

10000000

100000000

1000000000

1970 1975 1980 1985 1990 1995 2000

Page 19: 1 CS/COE0447 Computer Organization & Assembly Language Course Intro and CH 1.1-1.3

19

Main memory

• PC/servers use “DRAM” (Dynamic RAM)– SDRAM– DDR SDRAM– RDRAM (RAMBUS DRAM)

A typical SDRAM “module”

Page 20: 1 CS/COE0447 Computer Organization & Assembly Language Course Intro and CH 1.1-1.3

20

Storage

• Secondary storage

• Non-volatile

• Stores programs, user-saved data, etc.

• In PC/server domain, magnetic disk (hard-disk) is usually used

• In embedded computers, “flash” memory or “ROM” is usually employed

Page 21: 1 CS/COE0447 Computer Organization & Assembly Language Course Intro and CH 1.1-1.3

21

Storage, cont’d

5.25-inch floppy disk1.2MB

3.5-inch floppy disk1.44MB

USB Flash card256MB

Page 22: 1 CS/COE0447 Computer Organization & Assembly Language Course Intro and CH 1.1-1.3

22

Storage, cont’d

Page 23: 1 CS/COE0447 Computer Organization & Assembly Language Course Intro and CH 1.1-1.3

23

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