Presentation is loading. Please wait.

Presentation is loading. Please wait.

1  1998 Morgan Kaufmann Publishers Lectures for 2nd Edition Note: these lectures are often supplemented with other materials and also problems from the.

Similar presentations


Presentation on theme: "1  1998 Morgan Kaufmann Publishers Lectures for 2nd Edition Note: these lectures are often supplemented with other materials and also problems from the."— Presentation transcript:

1 1  1998 Morgan Kaufmann Publishers 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 Text in blue is by N. Guydosh Updated 1/22/04

2 2  1998 Morgan Kaufmann Publishers Chapter 1

3 3  1998 Morgan Kaufmann Publishers 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

4 4  1998 Morgan Kaufmann Publishers What is a computer? Components: What “Joe Average” sees: –input (mouse, keyboard) –output (display, printer) –memory (disk drives, DRAM, SRAM, CD) –Network Our primary focus is to look under the covers: the processor (datapath and control) –implemented using millions of transistors –Impossible to understand by looking at each transistor –We need... Abstractions

5 5  1998 Morgan Kaufmann Publishers Abstractions All information in a computer is encoded in 1’s and 0’s – binary Dealing directly at the bit level is a near impossibility – what was done in the first computers. We identify functional abstractions in the design of a computer –For example the concept of an instruction which is an encoding of bits –Identifying each instruction symbolically – need for translation –An assembler translates from symbolic to binary – translation is 1 to 1 from symbolic to binary instructions – easier than binary, but still too complex for writing algorithms. –We now abstract to a high level language like C and use a compiler to translate to assembly or true machine instructions – translation is now one C statement to many instructions. –Ideally a high level language will allow portability across many hardware platforms – simply recompile. There may be exceptions in real life.

6 6  1998 Morgan Kaufmann Publishers 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?

7 7  1998 Morgan Kaufmann Publishers Hardware/Software Interface By abstraction, we identify functional entities in a computer in both the hardware and software. –The network of logic gates are abstracted into functional units such as an ALU’s, registers, etc. –The instruction set (see previous slide) is an abstraction of the overall function of the hardware design – it actually defines (specifies) this hardware function. –Ideally, we my think of the instruction set as a spec for the design of the hardware - design the hardware execute each instruction as efficiently as possible. –In the real world, there may be some tradeoffs between the hardware design and the instruction set in the sense that hardware engineers may negotiate a change in an instruction – but in general we think as the instruction set as relatively fixed. The relationship between the instruction set and the underlying hardware is called the hardware/software interface.

8 8  1998 Morgan Kaufmann Publishers 61C What are “Machine Structures”? *Coordination of many levels (layers) of abstraction I/O systemProcessor Compiler Operating System (Mac OS X) Application (ex: browser) Digital Design Circuit Design Instruction Set Architecture Datapath & Control transistors Memory Hardware Software Assembler Acknowledgment: From course CS61C, Berkeley By Dan Garcia

9 9  1998 Morgan Kaufmann Publishers 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(by AMD), PowerPC, DEC Alpha, MIPS, SPARC, HP

10 10  1998 Morgan Kaufmann Publishers 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!

11 11  1998 Morgan Kaufmann Publishers Anatomy: 5 components of any Computer Personal Computer Processor Computer Control (“brain”) Datapath (“brawn”) Memory (where programs, data live when running) Devices Input Output Keyboard, Mouse Display, Printer Disk (where programs, data live when not running) Acknowledgment: From course CS61C, Berkeley By Dan Garcia


Download ppt "1  1998 Morgan Kaufmann Publishers Lectures for 2nd Edition Note: these lectures are often supplemented with other materials and also problems from the."

Similar presentations


Ads by Google