myMIPSlect1

# myMIPSlect1 - Lectures for 2nd Edition Note these lectures...

This preview shows pages 1–10. Sign up to view the full content.

1 Lectures for 2nd Edition Note: these lectures are often supplemented with other materials and also problems from the text worked out on the blackboard. You’ll want to customize these lectures for your class. The student audience for these lectures have had assembly language programming and exposure to logic design

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
2 Chapter 1
3 Introduction Rapidly changing field: vacuum tube -> transistor -> IC -> VLSI (see section 1.4) doubling every 1.5 years: memory capacity processor speed ( Due to advances in technology and organization) Things you’ll be learning: how computers work, a basic foundation how to analyze their performance (or how not to!) issues affecting modern processors (caches, pipelines) Why learn this stuff? you want to call yourself a “computer scientist” you want to build software people use (need performance) you need to make a purchasing decision or offer “expert” advice

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
4 What is a computer? Components: input (mouse, keyboard) output (display, printer) memory (disk drives, DRAM, SRAM, CD) network Our primary focus: the processor (datapath and control) implemented using millions of transistors Impossible to understand by looking at each transistor We need. ..
5 Abstraction Delving into the depths reveals more information An abstraction omits unneeded detail, helps us cope with complexity What are some of the details that appear in these familiar abstractions? swap(int v[], int k) {int temp; temp = v[k]; v[k] = v[k+1]; v[k+1] = temp; } swap: muli \$2, \$5,4 add \$2, \$4,\$2 lw \$15, 0(\$2) lw \$16, 4(\$2) sw \$16, 0(\$2) sw \$15, 4(\$2) jr \$31 00000000101000010000000000011000 00000000100011100001100000100001 10001100011000100000000000000000 10001100111100100000000000000100 10101100111100100000000000000000 10101100011000100000000000000100 00000011111000000000000000001000 Binary machine language program (for MIPS) C compiler Assembler Assembly language program (for MIPS) High-level language program (in C)

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
6 Instruction Set Architecture A very important abstraction interface between hardware and low-level software standardizes instructions, machine language bit patterns, etc. advantage: different implementations of the same architecture disadvantage: sometimes prevents using new innovations True or False: Binary compatibility is extraordinarily important? Modern instruction set architectures: 80x86/Pentium/K6, PowerPC, DEC Alpha, MIPS, SPARC, HP
7 Where we are headed Performance issues (Chapter 2) vocabulary and motivation A specific instruction set architecture (Chapter 3) Arithmetic and how to build an ALU (Chapter 4) Constructing a processor to execute our instructions (Chapter 5) Pipelining to improve performance (Chapter 6) Memory: caches and virtual memory (Chapter 7) I/O (Chapter 8) Key to a good grade: reading the book!

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
8 Chapter 2
9 Measure, Report, and Summarize Make intelligent choices

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
This is the end of the preview. Sign up to access the rest of the document.

### Page1 / 93

myMIPSlect1 - Lectures for 2nd Edition Note these lectures...

This preview shows document pages 1 - 10. Sign up to view the full document.

View Full Document
Ask a homework question - tutors are online