1 / 19

Instructor : Po-Yu Kuo 教師 : 郭柏佑

EL 1009 計算機概論 ( 電子一 B). Introduction to Computer Science. Instructor : Po-Yu Kuo 教師 : 郭柏佑. Ch. 1 Introduction. World of Computing. Introduction to the World of Computing. Computer: electronic genius? NO! Electronic idiot! Does exactly what we tell it to do, nothing more.

dsharpe
Download Presentation

Instructor : Po-Yu Kuo 教師 : 郭柏佑

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. EL 1009 計算機概論 (電子一B) Introduction to Computer Science Instructor:Po-Yu Kuo 教師:郭柏佑 Ch. 1 Introduction

  2. World of Computing

  3. Introduction to the World of Computing • Computer: electronic genius? • NO! Electronic idiot! • Does exactly what we tell it to do, nothing more. • Goal of the course: • You will be able to write programs in Cand understand what’s going on underneath. • Approach: • Build understanding from the bottom up. • Bits  Gates  Processor  Instructions  C Programming

  4. Two Recurring Themes • Abstraction • Productivity enhancer – don’t need to worry about details… • Can 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 andhow they work together. • Hardware vs. Software • It’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.

  5. Big Idea #1: Universal Computing Device • All computers, given enough time and memory,are capable of computing exactly the same things. = = PDA Workstation Supercomputer

  6. Big Idea #1: Universal Computing Device • Application of Computing Device. Smart Phone Bluetooth Device IPad Digital Camera IPod

  7. Big Idea #1: Universal Computing Device • Game Console. Play Station 4 XBOX ONE

  8. Turing Machine Tmul Tadd a,b ab a,b a+b Turing machine that multiplies Turing machine that adds • Mathematical model of a device that can performany computation – Alan Turing (1937) • 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)

  9. Universal Turing Machine U Tadd, Tmul a,b,c c(a+b) Universal Turing Machine • A machine that can implement all Turing machines-- this is also a Turing machine! • inputs: data, plus a description of computation (other TMs) • U is programmable– so is a computer! • instructions are part of the input data. • a computer can emulate a Universal Turing Machine. • A computer is a universal computing device.

  10. From Theory of Practice

  11. From Theory of Practice • In theory, computer can compute any thing that’s possible to compute. • given enough memory and time • In practice, solving problems involves computing under constraints. • Time • weather forecast, next frame of animation... • Cost • cell phone, automotive engine controller, ... • Power • cell phone, handheld video game, ...

  12. Big Idea #2: Transformations Between Layers Problems Algorithms Language Instruction Set Architecture Microarchitecture Circuits Devices

  13. How do we solve a problem using a computer? • A systematic sequence of transformations between layers of abstraction. Problem Software Design: choose algorithms and data structures Algorithm Programming: use language to express design Program Compiling/Interpreting: convert language to machine instructions Instr Set Architecture

  14. How do we solve a problem using a computer? • Deeper and Deeper… Instr Set Architecture Processor Design: choose structures to implement ISA Microarch Logic/Circuit Design: gates and low-level circuits toimplement components Circuits Process Engineering & Fabrication: develop and manufacturelowest-level components Devices

  15. Descriptions of Each Level • Problem Statement • stated using "natural language" • may be ambiguous, imprecise • Algorithm • step-by-step procedure, guaranteed to finish • definiteness, effective computability, finiteness • Program • express the algorithm using a computer language • high-level language, low-level language

  16. Descriptions of Each Level • Instruction Set Architecture (ISA) • specifies the set of instructions the computer can perform • data types, addressing mode • Microarchitecture • detailed organization of a processor implementation • different implementations of a single ISA • Logic Circuits • combine basic operations to realize microarchitecture • many different ways to implement a single function (e.g., addition)

  17. Descriptions of Each Level • Devices • properties of materials, manufacturability

  18. Many Choices at Each Level Solve a system of equations Jacobi iteration Gaussian elimination Red-black SOR Multigrid FORTRAN C C++ Java PowerPC Intel x86 Atmel AVR Centrino Pentium 4 Xeon Ripple-carry adder Carry-lookahead adder CMOS Bipolar GaAs Tradeoffs: cost performance power (etc.)

  19. 作業繳交規定 作業繳交規定: 1. 每次作業總分為100分。 2. 繳交期限為規定日期的11:59pm。例:5/1 pm11:59。 3.繳交作業時如果有程式的題目, 請附上原始程式碼和 執行結果, 並列印在紙上, 否則不予計分。 4. 習題的部分, 請將題目再抄一遍。 5. 抄襲作業一律扣 50分。 6. 作業請盡量以文書處理軟體(Word)撰寫並列印。

More Related