Lectures for 2nd Edition - PowerPoint PPT Presentation

About This Presentation
Title:

Lectures for 2nd Edition

Description:

You'll want to customize these lectures for your class. ... at the bit level is a near impossibility what was done in the first computers. ... – PowerPoint PPT presentation

Number of Views:16
Avg rating:3.0/5.0
Slides: 12
Provided by: toda58
Category:

less

Transcript and Presenter's Notes

Title: Lectures for 2nd Edition


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. Youll 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
Chapter 1
3
Introduction
  • Rapidly changing field
  • vacuum tube -gt transistor -gt IC -gt VLSI (see
    section 1.4)
  • doubling every 1.5 years memory capacity
    processor speed (Due to advances in
    technology and organization)
  • Things youll 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
What is a computer?
  • ComponentsWhat 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
Abstractions
  • All information in a computer is encoded in 1s
    and 0s 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
Abstraction
  • Delving into the depths reveals more
    information
  • An abstraction omits unneeded detail, helps us
    cope with complexityWhat are some of the
    details that appear in these familiar
    abstractions?

7
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 ALUs, 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
What are Machine Structures?
Application (ex browser)
Operating
Compiler
System (Mac OS X)
Software
Assembler
Instruction Set Architecture
Hardware
I/O system
Processor
Memory
Datapath Control
Digital Design
Circuit Design
Acknowledgment From course CS61C, Berkeley By
Dan Garcia
transistors
  • Coordination of many
  • levels (layers) of abstraction

9
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
    innovationsTrue or False Binary compatibility
    is extraordinarily important?
  • Modern instruction set architectures
  • 80x86/Pentium/K6(by AMD), PowerPC, DEC Alpha,
    MIPS, SPARC, HP

10
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
Anatomy 5 components of any Computer
Personal Computer
Keyboard, Mouse
Computer
Processor
Memory (where programs, data live
when running)
Devices
Disk (where programs, data live when not
running)
Input
Control (brain)
Datapath (brawn)
Output
Display, Printer
Acknowledgment From course CS61C, Berkeley By
Dan Garcia
Write a Comment
User Comments (0)
About PowerShow.com