Bài giảng Introduction to Computing Systems - Chapter 1 Welcome Aboard

Tài liệu Bài giảng Introduction to Computing Systems - Chapter 1 Welcome Aboard: Introduction to Computing Systems: From Bits and Gates to C and Beyond 2nd EditionYale N. Patt Sanjay J. PatelSlides prepared by Gregory T. Byrd, North Carolina State University1Chapter 1 Welcome AboardIntroduction to the World of ComputingComputer: electronic genius?NO! Electronic idiot!Does exactly what we tell it to, nothing more.Goal of the course:You will be able to write programs in C and understand what’s going on underneath.Approach:Build understanding from the bottom up.Bits  Gates  Processor  Instructions  C Programming3Two Recurring ThemesAbstractionProductivity enhancer – don’t need to worry about detailsCan drive a car without knowing how the internal combustion engine works.until something goes wrong!Where’s the dipstick? What’s a spark plug?Important to understand the components and how they work together.Hardware vs. SoftwareIt’s not either/or – both are components of a computer system.Even if you specialize in one, you should understand capabilities and limitation...

ppt15 trang | Chia sẻ: honghanh66 | Lượt xem: 860 | Lượt tải: 0download
Bạn đang xem nội dung tài liệu Bài giảng Introduction to Computing Systems - Chapter 1 Welcome Aboard, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Introduction to Computing Systems: From Bits and Gates to C and Beyond 2nd EditionYale N. Patt Sanjay J. PatelSlides prepared by Gregory T. Byrd, North Carolina State University1Chapter 1 Welcome AboardIntroduction to the World of ComputingComputer: electronic genius?NO! Electronic idiot!Does exactly what we tell it to, nothing more.Goal of the course:You will be able to write programs in C and understand what’s going on underneath.Approach:Build understanding from the bottom up.Bits  Gates  Processor  Instructions  C Programming3Two Recurring ThemesAbstractionProductivity enhancer – don’t need to worry about detailsCan drive a car without knowing how the internal combustion engine works.until something goes wrong!Where’s the dipstick? What’s a spark plug?Important to understand the components and how they work together.Hardware vs. SoftwareIt’s not either/or – both are components of a computer system.Even if you specialize in one, you should understand capabilities and limitations of both.4Big Idea #1: Universal Computing DeviceAll computers, given enough time and memory, are capable of computing exactly the same things.==PDAWorkstationSupercomputer5Turing MachineMathematical model of a device that can perform any computation – Alan Turing (1937)ability to read/write symbols on an infinite “tape”state transitions, based on current state and symbolEvery computation can be performed by some Turing machine. (Turing’s thesis)Tadda,ba+bTuring machine that addsTmula,babTuring machine that multipliesFor more info about Turing machines, see more about Alan Turing, see Turing MachineA machine that can implement all Turing machines -- this is also a Turing machine!inputs: data, plus a description of computation (other TMs)Ua,b,cc(a+b)Universal Turing MachineTadd, TmulU is programmable – so is a computer!instructions are part of the input dataa computer can emulate a Universal Turing Machine A computer is a universal computing device.7From Theory to PracticeIn theory, computer can compute anything that’s possible to computegiven enough memory and timeIn practice, solving problems involves computing under constraints.timeweather forecast, next frame of animation, ...cost cell phone, automotive engine controller, ...power cell phone, handheld video game, ...8Big Idea #2: Transformations Between LayersProblemsLanguageInstruction Set Architecture MicroarchitectureCircuitsDevicesAlgorithms9How do we solve a problem using a computer?A systematic sequence of transformations between layers of abstraction.ProblemAlgorithmProgramSoftware Design:choose algorithms and data structuresProgramming:use language to express designInstr SetArchitectureCompiling/Interpreting:convert language to machine instructions10Deeper and DeeperInstr SetArchitectureMicroarchCircuitsProcessor Design:choose structures to implement ISALogic/Circuit Design:gates and low-level circuits to implement componentsDevicesProcess Engineering & Fabrication:develop and manufacture lowest-level components11Descriptions of Each LevelProblem Statementstated using "natural language"may be ambiguous, impreciseAlgorithmstep-by-step procedure, guaranteed to finishdefiniteness, effective computability, finitenessProgramexpress the algorithm using a computer languagehigh-level language, low-level languageInstruction Set Architecture (ISA)specifies the set of instructions the computer can performdata types, addressing mode12Descriptions of Each Level (cont.) Microarchitecturedetailed organization of a processor implementationdifferent implementations of a single ISALogic Circuitscombine basic operations to realize microarchitecturemany different ways to implement a single function (e.g., addition)Devicesproperties of materials, manufacturability13Many Choices at Each LevelSolve a system of equationsGaussian eliminationJacobiiterationRed-black SORMultigridFORTRANCC++JavaIntel x86PowerPCAtmel AVRCentrinoPentium 4XeonRipple-carry adderCarry-lookahead adderCMOSBipolarGaAsTradeoffs:costperformancepower(etc.)14Course OutlineBits and BytesHow do we represent information using electrical signals?Digital LogicHow do we build circuits to process information?Processor and Instruction SetHow do we build a processor out of logic elements?What operations (instructions) will we implement?Assembly Language ProgrammingHow do we use processor instructions to implement algorithms?How do we write modular, reusable code? (subroutines)I/O, Traps, and InterruptsHow does processor communicate with outside world?C ProgrammingHow do we write programs in C?How do we implement high-level programming constructs?15

Các file đính kèm theo tài liệu này:

  • pptpattpatelch01_3785.ppt
Tài liệu liên quan