Instructor : Po-Yu Kuo
教師:郭柏佑
Ch. 1 Introduction
EL 1009 計算機概論 ( 電子一 A)
Introduction to Computer Science
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 howthe 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. 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
WorkstationSupercomputer
6
Big Idea #1: Universal Computing Device Application of Computing Device.
Smart Phone Bluetooth Device
Digital Camera IPod IPad
7
Big Idea #1: Universal Computing Device Game Console.
Play Station 4 XBOX ONE
8
Turing Machine Mathematical 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 symbol
Every computation can be performed by some Turing machine. (Turing’s thesis)
Tadda,b a+b
Turing machine that adds
Tmula,b ab
Turing machine that multiplies
9
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.
Ua,b,c c(a+b)
Universal Turing Machine
Tadd, Tmul
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
Language
Instruction Set Architecture
Microarchitecture
Circuits
Devices
Algorithms
13
How do we solve a problem using a computer? A systematic sequence of transformations
between layers of abstraction.
ProblemProblem
AlgorithmAlgorithm
ProgramProgram
Instr SetArchitecture
Instr SetArchitecture
Software Design:choose algorithms and data structures
Programming:use language to express design
Compiling/Interpreting:convert language to machine instructions
14
How do we solve a problem using a computer? Deeper and Deeper…
Instr SetArchitecture
Instr SetArchitecture
MicroarchMicroarch
CircuitsCircuits
Processor Design:choose structures to implement ISA
Logic/Circuit Design:gates and low-level circuits toimplement components
DevicesDevices
Process Engineering & Fabrication:develop and manufacturelowest-level components
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 LevelSolve a system of equations
Gaussian elimination
Jacobiiteration
Red-black SOR Multigrid
FORTRAN C C++ Java
Intel x86PowerPC Atmel AVR
Centrino Pentium 4 Xeon
Ripple-carry adder Carry-lookahead adder
CMOS Bipolar GaAs
Tradeoffs:costperformancepower(etc.)
19
作業繳交規定作業繳交規定 :
1. 每次作業總分為 100 分。 2. 繳交期限為規定日期的 11:59pm 。例 : 5/1 pm11:59 。
3. 繳交作業時如果有程式的題目 , 請附上原始程式碼和 執行結果 , 並列印在紙上 , 否則不予計分。4. 習題的部分 , 請將題目再抄一遍。 5. 抄襲作業一律扣 50 分。6. 作業請盡量以文書處理軟體 (Word) 撰寫並列印。