Introductions; computer organization overview; intro to assembly - PDF - PDF by klutzfu46

VIEWS: 11 PAGES: 35

									Computer Architecture I (1DT016)
Cary Laxer, Ph.D. Visiting Lecturer

Today’s class
Informationsteknologi

Introductions Computer organization overview Introduction to assembly language programming

Friday, September 28, 2007

Computer Architecture I - Class 1

2

Introductions

Instructor
Cary Laxer Visiting lecturer Home institution is Rose-Hulman Institute of Technology, Terre Haute, Indiana, USA Professor and Head of Computer Science and Software Engineering Bachelor’s degree in computer science and mathematics from New York University Ph.D. in biomedical engineering from Duke University
Friday, September 28, 2007 Computer Architecture I - Class 1 4

Informationsteknologi

Course
Informationsteknologi
Information is maintained on the course website:

www.it.uu.se/edu/course/homepage/dark/ht07
Three weekend meetings
Friday and Saturday each time Lecture and lab time both days

Texts
Structured Computer Organization (Fifth Edition) by Andrew S. Tanenbaum Introduction to RISC Assembly Language Programming by John Waldron

Friday, September 28, 2007

Computer Architecture I - Class 1

5

Introduce yourselves
Informationsteknologi

Tell us:
Your name Your hometown Your computer background Something interesting about yourself

Friday, September 28, 2007

Computer Architecture I - Class 1

6

Computer organization overview

Programs and languages
Program – a sequence of instructions to perform a certain task High level language – English-like programming languages such as C++, Java, etc. Machine language – computer’s primitive instruction set (e.g. add two numbers, compare a number to 0) Assembly language – mnemonics for machine language instructions
Friday, September 28, 2007 Computer Architecture I - Class 1 8

Informationsteknologi

Languages, Levels, Virtual Machines

Informationsteknologi

A multilevel machine

Friday, September 28, 2007

Computer Architecture I - Class 1

9

Contemporary Multilevel Machines
Informationsteknologi
Friday, September 28, 2007

Computer Architecture I - Class 1

10

Milestones in Computer Architecture (1)
Informationsteknologi
Friday, September 28, 2007

Computer Architecture I - Class 1

11

Milestones in Computer Architecture (2)
Informationsteknologi
Friday, September 28, 2007

Computer Architecture I - Class 1

12

Computer Generations
Zeroth Generation Mechanical Computers (1642 – 1945) First Generation Vacuum Tubes (1945 – 1955) Second Generation Transistors (1955 – 1965) Third Generation Integrated Circuits (1965 – 1980) Fourth Generation Very Large Scale Integration (1980 – ?)
Friday, September 28, 2007 Computer Architecture I - Class 1 13

Informationsteknologi

Von Neumann Machine
Informationsteknologi
Friday, September 28, 2007

Computer Architecture I - Class 1

14

PDP-8 Innovation – Single Bus
Informationsteknologi
Friday, September 28, 2007

Computer Architecture I - Class 1

15

IBM 360
Informationsteknologi
Friday, September 28, 2007

Computer Architecture I - Class 1

16

The Computer Spectrum
Informationsteknologi
Friday, September 28, 2007

Computer Architecture I - Class 1

17

Personal Computer
Informationsteknologi
1. Pentium 4 socket 2. 875P Support chip 3. Memory sockets 4. AGP connector 5. Disk interface 6. Gigabit Ethernet 7. Five PCI slots 8. USB 2.0 ports 9. Cooling technology 10. BIOS

Friday, September 28, 2007

Computer Architecture I - Class 1

18

Intel Computer Family
Informationsteknologi
Friday, September 28, 2007

Computer Architecture I - Class 1

19

The Pentium 4 Chip
Informationsteknologi
Friday, September 28, 2007

Computer Architecture I - Class 1

20

Metric Units
Informationsteknologi

The principal metric prefixes.
Friday, September 28, 2007 Computer Architecture I - Class 1 21

Introduction to Assembly Language

Number systems
Informationsteknologi

Decimal (base 10) Binary (base 2) Hexadecimal (base 16)

Friday, September 28, 2007

Computer Architecture I - Class 1

23

Two’s complement numbers
Informationsteknologi Represent negative integers to the computer To determine the two’s complement of an integer:
Invert all the bits (make zeroes ones and ones zeroes) Add 1

Example: 29 = 0001 1101
Invert all the bits: 1110 0010 Add 1: 1110 0011 (this is -29)
Friday, September 28, 2007 Computer Architecture I - Class 1 24

Integer storage and capacities
Informationsteknologi

Bit – 0 or 1 (one binary digit) Nibble – 4 bits, 0-15 (one hex digit) Byte – 8 bits, 2 hex digits, 0-255 or -128 to +127 Word – 4 bytes, 32 bits, 8 hex digits
0 to 232-1 or 0 to 4,294,967,295 unsigned -(231) to 231-1 or -2,147,483,648 to +2,147,483,647 signed
Friday, September 28, 2007 Computer Architecture I - Class 1 25

Characters
Informationsteknologi

ASCII (American Standard Code for Information Interchange) EBCDIC (Extended Binary-Coded Decimal Interchange Code) Unicode

Friday, September 28, 2007

Computer Architecture I - Class 1

26

In-class exercise
Informationsteknologi Write the number 30010 in:
Binary Hex

Write the number -7810 in:
Eight-bit two’s complement binary notation 32-bit two’s complement hexadecimal notation

Using one byte to store integers, what happens when you add:
255 + 1 using unsigned numbers 127 + 1 using signed numbers
Friday, September 28, 2007 Computer Architecture I - Class 1 27

The MIPS Processor
MIPS = Microprocessor without Interlocked Pipeline Stages It is a RISC (reduced instruction set computer) architecture Currently used in many embedded systems, such as TiVO, Windows CE devices, Nintendo 64, and Sony Playstation 2
Friday, September 28, 2007 Computer Architecture I - Class 1 28

Informationsteknologi

MIPS Memory Organization
Informationsteknologi Memory is byteaddressable
Addresses of memory cells

0x00000000 0x00000001 0x00000002 0x00000003

0x00 0xA0 0x3E 0x10
Each cell holds one byte

. . .
0xFFFFFFFC 0xFFFFFFFD 0xFFFFFFFE 0xFFFFFFFF 0x90 0x6F 0xA1 0x00

Friday, September 28, 2007

Computer Architecture I - Class 1

29

MIPS Memory Layout
Informationsteknologi
A program’s address space is composed of three parts:
0x7FFFFFFF

Stack segment

At the bottom of the user address space (0x00400000) is the text segment, which holds the program’s instructions Starting at address 0x10000000 is the data 0x10000000 segment The program stack resides at the top of the address space (0x7FFFFFFF) and 0x00400000 grows down
Friday, September 28, 2007

. . .

Data segment Text segment Reserved
30

Computer Architecture I - Class 1

MIPS Registers
Informationsteknologi Program counter (PC) – holds address of next instruction to be executed 32 general purpose registers, numbered 0-31
Register n is designated by $n or Rn Register zero, $0, always contains the hardwired value 0 There are conventions governing their use (see Table 3.1 on page 20 of Waldron)

16 floating point registers $f0…$f15 to hold floating point numbers
Friday, September 28, 2007 Computer Architecture I - Class 1 31

SPIM Simulator
Informationsteknologi

Runs programs for the MIPS assembly language on other platforms Free versions available online (I got a Windows version at http://pages.cs.wisc.edu/~larus/spim.html)

Friday, September 28, 2007

Computer Architecture I - Class 1

32

SPIM I/O
Informationsteknologi 10 operating system-like services through the syscall instruction Load the system call code (see Table 3.2 on page 22 of Waldron) into register $v0 ($2) Load the arguments into registers $a0…$a3 ($4…$7) (or $f12 for floating point values) Return values are placed in register $v0 (or $f0 for floating point results)
Friday, September 28, 2007 Computer Architecture I - Class 1 33

Hello World
Informationsteknologi
.text .globl __start __start: la $a0,str li $v0,4 syscall li $v0,10 syscall # # # # execution starts here put string address into a0 system call to print out a string

# au revoir...

str:

.data .asciiz "hello world\n"

Friday, September 28, 2007

Computer Architecture I - Class 1

34

Demonstration
Informationsteknologi

Demo of PCSpim using the Hello World program

Friday, September 28, 2007

Computer Architecture I - Class 1

35


								
To top