Chapter 1 Welcome Aboard

Chapter 1 Welcome Aboard

Computer System: Layers of Abstraction Application Program Algorithms Language Chapter 1 Software Hardware Instruction Set Architecture Welcome Aboard (and I/O Interfaces) Microarchitecture Circuits Based on slides © McGraw-Hill Additional material © 2004/2005 Lewis/Martin Devices CSE 240 1-2 Recurring Themes Recurring Theme #1: Abstraction Abstraction Abstraction hides details • Allows us to manage seemingly insurmountable complexity Examples • One billion components require abstraction • “Turn off the light!” • “Stick out your tongue.” Hardware v. Software Computing examples • Java methods • Separation of hardware and software is artificial • C functions • LC-3 instructions • Logical gates • Transistors Bottom line • Often best to operate at highest level of abstraction • Dangerous to completely ignore lower levels of abstraction CSE 240 1-3 CSE 240 1-4 1 Recurring Theme #2: Hardware v. Software Very Big Ideas Artificial distinction Universality • All computers can compute the same thing* Greatness arises from blurring the HW/SW line • RISC Layered Abstraction • MMX/SSE • We can build very complex systems from simple components • IA-64 EPIC • RAW/Trips. Bottom line • We really care about computation • Hardware best understood by those who know software • Software best understood by those who know hardware CSE 240 1-5 CSE 240 1-6 Big Idea #1: Universal Computing Device Turing Machine All computers can computing exactly the same things* Mathematical model of a device that can perform any computation – Alan Turing (1937) *given enough time and memory • Ability to read/write symbols on an infinite “tape” • State transitions, based on current state and symbol Every computation can be performed by some = = Turing machine. (Turing’s thesis) a,b T a+b a,b T ab PDA add mul Workstation Supercomputer Turing machine that adds Turing machine that multiplies CSE 240 1-7 CSE 240 1-8 2 Universal Turing Machine From Theory to Practice Turing described a Turing machine that could implement In theory all other Turing machines • Computers can compute anything that’s possible to compute • Inputs: data, plus a description of computation (Turing machine) • Given enough memory and time T , T add mul U In practice a,b,c c(a+b) • Solving real problems requires computing under constraints • Time Universal Turing Machine Weather forecast, next frame of animation, ... • Cost U is programmable – so is a computer! Cell phone, automotive engine controller, ... • Instructions are part of the input data • Power • A computer can emulate a Universal Turing Machine, Cell phone, handheld video game, ... and vice versa Therefore, a computer is a universal computing device! CSE 240 1-9 CSE 240 1-10 Big Idea #2: Layered Abstraction Deeper and Deeper… How do we solve a problem using a computer? • Systematic sequence of transformations between layers of abstraction. Instr Set Architecture Processor Design: Problem choose structures to implement ISA Software Design: Microarch choose algorithms and data structures Logic/Circuit Design: Algorithm gates and low-level circuits to Programming: Circuits implement structures use language to express design Program Process Engineering & Fabrication: Compiling/Interpreting: develop and manufacture convert language to Devices lowest-level components Instr Set Architecture machine instructions CSE 240 1-11 CSE 240 1-12 3 Descriptions of Each Level Descriptions of Each Level (cont.) Problem Statement Microarchitecture • Stated using "natural language" • Detailed organization of a processor implementation • May be ambiguous, imprecise • Different implementations of a single ISA Algorithm Logic Circuits • Step-by-step procedure, guaranteed to finish • Combine basic operations to realize microarchitecture • Definiteness, effective computability, finiteness • Many different ways to implement a single function Program (e.g., addition) • Express the algorithm using a computer language Devices • High-level language, low-level language • Properties of materials, manufacturability Instruction Set Architecture (ISA) • Specifies the set of instructions the computer can perform • Data types, addressing mode CSE 240 1-13 CSE 240 1-14 Many Choices at Each Level Course Outline “Solve a system of equations” Bits and Bytes • How do we represent information using electrical signals? Digital Logic Gaussian Jacobi Red-black SOR Multigrid • How do we build circuits to process information? elimination iteration Processor and Instruction Set • How do we build a processor out of logic elements? FORTRAN C C++ Java Tradeoffs: • What operations (instructions) will we implement? cost Assembly Language Programming Sun SPARC Intel x86 Compaq Alpha performance • How do we use processor instructions to implement algorithms? power • How do we write modular, reusable code? (subroutines) Pentium II Pentium III AMD Athlon (etc.) I/O, Traps, and Interrupts • How does processor communicate with outside world? Ripple-carry adder Carry-lookahead adder C Programming • How do we write programs in C? CMOS Bipolar GaAs • How do we implement high-level programming constructs? CSE 240 1-15 CSE 240 1-16 4 Next Time Lecture • Chapter 2: Bits and Bytes Reading • Chapter 2 - 2.5 Quiz • Don’t forget! Upcoming • Homework 1 due on Fri 16 September CSE 240 1-17 5.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    5 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us