CSC 2400 Computer Systems I Lecture 3 Big Ideas. 2 Big Idea: Universal Computing Device All computers, given enough time and memory, are capable of computing.
Post on 18-Dec-2015
214 Views
Preview:
Transcript
2
Big Idea: Universal Computing Device
All computers, given enough time and memory,are capable of computing exactly the same things.
= =PDA
WorkstationSupercomputer
Charles Babbage
1791 – 1871
English mathematician, philosopher, inventor and mechanical engineer
“Father of the Computer”
Invented first mechanical computer
3
Ada Lovelace
1815 – 1852
English mathematician and writer
First computer programmer, worked on Difference Engine
Daughter of poet Lord Byron
5
Alan Turing
1912 – 1954
British mathematician, logician, cryptanalyst, and computer scientist
“Father of Computer Science and Artificial Intelligence”
Cracked the Enigma
6
Enigma machine
Electro-mechanical rotor cipher machine
Encrypt & decrypt secret messages
Select a combination of letters as a code
Type each letter of msg
Write down each coded letter
7
8
Turing MachineMathematical 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)
Tadda,b a+b
Turing machine that adds
Tmula,b ab
Turing machine that multiplies
9
Universal Turing Machine
Turing described a Turing machine that could implementall other Turing machines.
• inputs: data, plus a description of computation (Turing machine)
Ua,b,c c(a+b)
Universal Turing Machine
Tadd, Tmul
U is programmable – so is a computer!• instructions are part of the input data• a computer can emulate a Universal Turing Machine,
and vice versa
Therefore, a computer is a universal computing device!
10
From Theory to Practice
In theory, computer can compute anything
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, ...
11
Computer System: Layers of Abstraction
Software
Hardware
Application Program
Language
Instruction Set Architecture (and I/O Interfaces)
Microarchitecture
Circuits
Devices
Algorithms
12
Big Idea: Transformations Between LayersHow do we solve a problem using a computer?A systematic sequence of transformations between layers of abstraction.
ProblemProblem
AlgorithmAlgorithm
ProgramProgram
Software Design:choose algorithms and data structures
Programming:use language to express design
Instr SetArchitecture
Instr SetArchitecture
Compiling/Interpreting:convert language to machine instructions
13
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
14
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
Instruction Set Architecture (ISA)• specifies the set of instructions the computer can perform• data types, addressing mode
15
Descriptions of Each Level (cont.)
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)
Devices• properties of materials, manufacturability
16
What is a Compiler?
• A compiler is a program• Its input is the text of a program in a particular
language, say C• The compiler translates the C code into the
instruction set understood by the computer• The translation is not a line by line transliteration.
Optimization.
17
Simple ExampleFrom a program we write:
sum = x + y + z;
How it might look using ISA-defined machine instructions:
ADD t1, x, y
ADD t2, t1, z
MOV sum, t2
18
What is the ISA?ISA = Instruction Set Architecture
•List of all instructions, or operations, the computer can do•Instruction: type of instruction, 0 or more operands•Instruction format: What do the instructions look like?•Example instruction: 1000 0004 0002
ADD 4 2•Types of instructions: ADD, MULT, LOAD, STORE•Types of operands: the data types, addressing modes
19
Levels of computer language
User: applications (Word, Excel, Netscape, etc.)
High-level: Java, C++, C (sort of medium-level)
Low-level: Assembly language (human-readable machine language)
ISA: instruction set, addressing modes ofa specific line of computers
Microarchitecture: bit settings that activate specific data flows
Hardware: understands voltages
MachineIndependent
MachineDependent
Moore's Law (1967) Noted that the
number of transistors per unit area had doubled every year from 1958 to 1965
Expected the trend to last “for at least ten years”
Gordon MooreCo-founder of Intel
Often misquoted as Often misquoted as “the speed will double “the speed will double
every 18 months”every 18 months”
What’s the State-of-the-Art?•Fastest commercially available CPU: ~5GHz
•Fastest experimental CPU: 500Ghz– Need to cool it down to 4°K, though
•Fastest theoretical transistor: 1THz
top related