models of computation.ppt [read-only]
TRANSCRIPT
![Page 1: Models of Computation.ppt [Read-Only]](https://reader034.vdocuments.us/reader034/viewer/2022051715/589d93301a28abae498bba02/html5/thumbnails/1.jpg)
Models of Computation
John E Savage
Computer ScienceBrown University
CBSSS 2004July 16, 2004
![Page 2: Models of Computation.ppt [Read-Only]](https://reader034.vdocuments.us/reader034/viewer/2022051715/589d93301a28abae498bba02/html5/thumbnails/2.jpg)
CBSSS: JE Savage June 16, 2004 2
Overview
Descriptions of tasksComputers and ComputationSerial and Parallel Models
Gates and circuitsFinite-state machinesTuring machinesSystolic arrays and cellular automataPRAM
![Page 3: Models of Computation.ppt [Read-Only]](https://reader034.vdocuments.us/reader034/viewer/2022051715/589d93301a28abae498bba02/html5/thumbnails/3.jpg)
CBSSS: JE Savage June 16, 2004 3
Tasks Descriptions
Procedural – how to do itFunctional – what is to be done
Starting point
A functional task description has manydifferent procedural implementations.
![Page 4: Models of Computation.ppt [Read-Only]](https://reader034.vdocuments.us/reader034/viewer/2022051715/589d93301a28abae498bba02/html5/thumbnails/4.jpg)
CBSSS: JE Savage June 16, 2004 4
Computation
Determining something bymathematical or logical methods.
WordNet Dictionary
![Page 5: Models of Computation.ppt [Read-Only]](https://reader034.vdocuments.us/reader034/viewer/2022051715/589d93301a28abae498bba02/html5/thumbnails/5.jpg)
CBSSS: JE Savage June 16, 2004 5
A Computer
Physical device that implements acomputation.Digital computer: inputs, outputs andinternal values drawn from finite setsAnalog computer: inputs, outputs andinternal values may assume real values
We only examine digital computers models.
![Page 6: Models of Computation.ppt [Read-Only]](https://reader034.vdocuments.us/reader034/viewer/2022051715/589d93301a28abae498bba02/html5/thumbnails/6.jpg)
CBSSS: JE Savage June 16, 2004 6
Computational Models
Abstract essential features ofcomputersMemoryless Models – logic circuitsModels with memory – state-based
Bounded memory modelsUnbounded memory models
Serial and parallel models
![Page 7: Models of Computation.ppt [Read-Only]](https://reader034.vdocuments.us/reader034/viewer/2022051715/589d93301a28abae498bba02/html5/thumbnails/7.jpg)
CBSSS: JE Savage June 16, 2004 7
Logic Gate
Task: to combine truth valuesAND gate: output is true only when bothinputs are true and otherwise false.OR gate: output is true when either inputis true and otherwise false.NOT gate: output is true when input falseand vice versa.
![Page 8: Models of Computation.ppt [Read-Only]](https://reader034.vdocuments.us/reader034/viewer/2022051715/589d93301a28abae498bba02/html5/thumbnails/8.jpg)
CBSSS: JE Savage June 16, 2004 8
Functional Gate Descriptions
OR AND EXCLUSIVE OR
How many 2-input Boolean functions arethere?
![Page 9: Models of Computation.ppt [Read-Only]](https://reader034.vdocuments.us/reader034/viewer/2022051715/589d93301a28abae498bba02/html5/thumbnails/9.jpg)
CBSSS: JE Savage June 16, 2004 9
Implementing Logic Gates
The AND gate has many realizations.
How about OR?
+
-
A B
![Page 10: Models of Computation.ppt [Read-Only]](https://reader034.vdocuments.us/reader034/viewer/2022051715/589d93301a28abae498bba02/html5/thumbnails/10.jpg)
CBSSS: JE Savage June 16, 2004 10
Logic Gate Symbols
Transistors are electronic switches that maybe used to realize gates.
NOTAND OR
![Page 11: Models of Computation.ppt [Read-Only]](https://reader034.vdocuments.us/reader034/viewer/2022051715/589d93301a28abae498bba02/html5/thumbnails/11.jpg)
CBSSS: JE Savage June 16, 2004 11
Logic Circuits
A circuit is a directed acyclic graph inwhich vertices carry logic gate labels.
EXCLUSIVE OR
![Page 12: Models of Computation.ppt [Read-Only]](https://reader034.vdocuments.us/reader034/viewer/2022051715/589d93301a28abae498bba02/html5/thumbnails/12.jpg)
CBSSS: JE Savage June 16, 2004 12
Boolean Functions
EXCLUSIVE OR
Each output of each circuit is described as aboolean function of the circuit inputs.
![Page 13: Models of Computation.ppt [Read-Only]](https://reader034.vdocuments.us/reader034/viewer/2022051715/589d93301a28abae498bba02/html5/thumbnails/13.jpg)
CBSSS: JE Savage June 16, 2004 13
Circuits with Memory
Circuit with feedback holds its state.
Store-one
Store-zero0
0
1/0
1/0
![Page 14: Models of Computation.ppt [Read-Only]](https://reader034.vdocuments.us/reader034/viewer/2022051715/589d93301a28abae498bba02/html5/thumbnails/14.jpg)
CBSSS: JE Savage June 16, 2004 14
Circuits with MemoryStore-one
Store-zero0
0
0
0
Store-one
Store-zero0
0
1
1
To change state to 1 (0), apply short 1/0pulse to Store-one (Store-zero).
![Page 15: Models of Computation.ppt [Read-Only]](https://reader034.vdocuments.us/reader034/viewer/2022051715/589d93301a28abae498bba02/html5/thumbnails/15.jpg)
CBSSS: JE Savage June 16, 2004 15
One-bit Clocked Memory
Store-one
Store-zero
Load-data
Data in
Data out
Load-data (clock) must be high longenough for data in feedback loop tobecome stable.
![Page 16: Models of Computation.ppt [Read-Only]](https://reader034.vdocuments.us/reader034/viewer/2022051715/589d93301a28abae498bba02/html5/thumbnails/16.jpg)
CBSSS: JE Savage June 16, 2004 16
Registers
Multiple one-bit clocked memories.
Data-in0
Data-in1
Data-in2
Data-out3
Load-data
Data-in0
Data-in1
Data-in2
Data-in3
Data-out2 Data-out1 Data-out0
One-bitMemor
y
One-bitMemor
y
One-bitMemor
y
One-bitMemor
y
![Page 17: Models of Computation.ppt [Read-Only]](https://reader034.vdocuments.us/reader034/viewer/2022051715/589d93301a28abae498bba02/html5/thumbnails/17.jpg)
CBSSS: JE Savage June 16, 2004 17
Memory-Based Models –Finite-State Machine (FSM)
q0 is start state.q1/1 indicates that output is 1 in q1
Arcs are labeled by input symbols.
“Parity” finite-state machine
0 01
1start
![Page 18: Models of Computation.ppt [Read-Only]](https://reader034.vdocuments.us/reader034/viewer/2022051715/589d93301a28abae498bba02/html5/thumbnails/18.jpg)
CBSSS: JE Savage June 16, 2004 18
Implementation of FSM asClocked Sequential Circuit
Load-data One-bitMemor
y
©
Input
State
Output
Input must be stable while Load-data is high.
![Page 19: Models of Computation.ppt [Read-Only]](https://reader034.vdocuments.us/reader034/viewer/2022051715/589d93301a28abae498bba02/html5/thumbnails/19.jpg)
CBSSS: JE Savage June 16, 2004 19
Functional Description ofFSMs
FSM is a 6-tuple M = (Ω, Ψ, Q, δ, λ, s)ν Ω/Ψ = input/output alphabets,
Q is set of states,ν δ : Q £ Ω α Q is next-state function,ν λ : Q α Ψ is output function.
Next state determined by current stateand input.Output determined by current state.
![Page 20: Models of Computation.ppt [Read-Only]](https://reader034.vdocuments.us/reader034/viewer/2022051715/589d93301a28abae498bba02/html5/thumbnails/20.jpg)
CBSSS: JE Savage June 16, 2004 20
FSM Exampleν Ω = Ψ = 0,1, Q = q0, q1
0 01
1start
![Page 21: Models of Computation.ppt [Read-Only]](https://reader034.vdocuments.us/reader034/viewer/2022051715/589d93301a28abae498bba02/html5/thumbnails/21.jpg)
CBSSS: JE Savage June 16, 2004 21
FSM Model
LM
In
Out
State
next state/output function
![Page 22: Models of Computation.ppt [Read-Only]](https://reader034.vdocuments.us/reader034/viewer/2022051715/589d93301a28abae498bba02/html5/thumbnails/22.jpg)
CBSSS: JE Savage June 16, 2004 22
Unbounded State Machines
Random Access MachineCPU (FSM) connected to random accessmemory (each is word addressable)
Turing machineFSM controls read/write/movement ontape
Cellular Automaton2D array of identical FSMs thatcommunicate with neighbors.
![Page 23: Models of Computation.ppt [Read-Only]](https://reader034.vdocuments.us/reader034/viewer/2022051715/589d93301a28abae498bba02/html5/thumbnails/23.jpg)
CBSSS: JE Savage June 16, 2004 23
Random Access Machine
Implements fetch/execute cycle in CPUHas small set of instructionsPotentially unbounded number ofwords and word length
CPU
Random Access Memory
![Page 24: Models of Computation.ppt [Read-Only]](https://reader034.vdocuments.us/reader034/viewer/2022051715/589d93301a28abae498bba02/html5/thumbnails/24.jpg)
CBSSS: JE Savage June 16, 2004 24
Turing Machine (TM)
Control unit is an FSM:Input is value under tape head.FSM changes state and generates output (c, m).c is written under head.m directs head to move one cell left or right.If next state is h, TM halts.
Control unit
![Page 25: Models of Computation.ppt [Read-Only]](https://reader034.vdocuments.us/reader034/viewer/2022051715/589d93301a28abae498bba02/html5/thumbnails/25.jpg)
CBSSS: JE Savage June 16, 2004 25
Functional Description ofTuring Machine
TM is a 6-tuple M = (Γ, β, Q, δ, s, h).ν Γ is tape alphabet not containing blank β.
Q is set of states.ν δ : Q £ (Γ [ β) α (Q[h)£ (Γ [ β) £ (L,R) is next
state/output function.s & h are initial and halt states.
Sometimes β is replaced by #
![Page 26: Models of Computation.ppt [Read-Only]](https://reader034.vdocuments.us/reader034/viewer/2022051715/589d93301a28abae498bba02/html5/thumbnails/26.jpg)
CBSSS: JE Savage June 16, 2004 26
Adding One to a BinaryNumber
Head initially over rightmost letter.
00 1 11
10 1 11
10 1 11
00 1 11
00 1 01
00 0 01
01 0 01
#
#
#
#
#
#
#
![Page 27: Models of Computation.ppt [Read-Only]](https://reader034.vdocuments.us/reader034/viewer/2022051715/589d93301a28abae498bba02/html5/thumbnails/27.jpg)
CBSSS: JE Savage June 16, 2004 27
Turing Machine to Add One
If head is initially over rightmost non-blank symbol,this program adds one to the binary string.
![Page 28: Models of Computation.ppt [Read-Only]](https://reader034.vdocuments.us/reader034/viewer/2022051715/589d93301a28abae498bba02/html5/thumbnails/28.jpg)
CBSSS: JE Savage June 16, 2004 28
Turing Machine Conventionsand Variations
Input string left-adjusted on otherwiseblank tape.If computation halts, result is a stringleft-adjusted on otherwise blank tape.
Tapes may be double-ended and/orhave multiple tracks.
Do these changes increase power of TM?
![Page 29: Models of Computation.ppt [Read-Only]](https://reader034.vdocuments.us/reader034/viewer/2022051715/589d93301a28abae498bba02/html5/thumbnails/29.jpg)
CBSSS: JE Savage June 16, 2004 29
Simulations of TuringMachines
See The Most Complex Machine by DavidEckhttp://math.hws.edu/TMCM/java/index.html
![Page 30: Models of Computation.ppt [Read-Only]](https://reader034.vdocuments.us/reader034/viewer/2022051715/589d93301a28abae498bba02/html5/thumbnails/30.jpg)
CBSSS: JE Savage June 16, 2004 30
Parallel Machine Models
Logic Circuits - memorylessInter-connected serial machines.
Can be synchronous or asynchronousFinite or infinite in number
Types of interconnectionsUnstructured, e.g. InternetStructured, e.g. 1D and 2D arrays, hypercubes
Models can be concrete or abstract
![Page 31: Models of Computation.ppt [Read-Only]](https://reader034.vdocuments.us/reader034/viewer/2022051715/589d93301a28abae498bba02/html5/thumbnails/31.jpg)
CBSSS: JE Savage June 16, 2004 31
Logic Circuit
A memoryless, parallel model
Depth of circuit is measure of time
Fan-in of gates generally bounded
![Page 32: Models of Computation.ppt [Read-Only]](https://reader034.vdocuments.us/reader034/viewer/2022051715/589d93301a28abae498bba02/html5/thumbnails/32.jpg)
CBSSS: JE Savage June 16, 2004 32
The Programmable CrossbarRealizes “Wired NORs”
y5
x1
x2
x3
x4
x5
x6
x7
x8
diode
![Page 33: Models of Computation.ppt [Read-Only]](https://reader034.vdocuments.us/reader034/viewer/2022051715/589d93301a28abae498bba02/html5/thumbnails/33.jpg)
CBSSS: JE Savage June 16, 2004 33
Asynchronous ParallelMachines
Internet
Clusters of processors on local network
Processors connected via fast switch
Many types of interconnection network
![Page 34: Models of Computation.ppt [Read-Only]](https://reader034.vdocuments.us/reader034/viewer/2022051715/589d93301a28abae498bba02/html5/thumbnails/34.jpg)
CBSSS: JE Savage June 16, 2004 34
Systolic Array for Matrix-Vector Multiplication
Si à Si+1 + xi £ ci
A3,1
0 0
A3,2
0 0
0 A3,3
A2,1 A2,
2
0 0
0 A2,3
A1,1 A1,
2
0 0
0 A1,3
0
x1
S1
x2
S2
x3
S3
0
C1 = C2 = C3 =
y = A x
![Page 35: Models of Computation.ppt [Read-Only]](https://reader034.vdocuments.us/reader034/viewer/2022051715/589d93301a28abae498bba02/html5/thumbnails/35.jpg)
CBSSS: JE Savage June 16, 2004 35
2D Mesh of Processors
How would you sort a set or multiply twomatrices on this mesh?
I/O on periphery
Cells are FSMs
![Page 36: Models of Computation.ppt [Read-Only]](https://reader034.vdocuments.us/reader034/viewer/2022051715/589d93301a28abae498bba02/html5/thumbnails/36.jpg)
CBSSS: JE Savage June 16, 2004 36
Cellular Automata
Unbounded mesh of synchronousprocessorsGame of Life uses simple cellularautomaton
Each cell is alive or deadState of cell depends on state of neighbors
Very complex behavior is possible
![Page 37: Models of Computation.ppt [Read-Only]](https://reader034.vdocuments.us/reader034/viewer/2022051715/589d93301a28abae498bba02/html5/thumbnails/37.jpg)
CBSSS: JE Savage June 16, 2004 37
Parallel Random AccessMachine (PRAM)
p1 p2 pk
common memory
RAMs have finite number of registersThey read, compute, write in synch
![Page 38: Models of Computation.ppt [Read-Only]](https://reader034.vdocuments.us/reader034/viewer/2022051715/589d93301a28abae498bba02/html5/thumbnails/38.jpg)
CBSSS: JE Savage June 16, 2004 38
PRAM Variants
Processors have/do not have access to samememory location on same time step.
CRCW – concurrent read, concurrent writeCREW – concurrent read, exclusive writeERCW – exclusive read, concurrent writeEREW – exclusive read, exclusive write
Try to compute an arbitrary Boolean functionin two steps on CRCW PRAM.
![Page 39: Models of Computation.ppt [Read-Only]](https://reader034.vdocuments.us/reader034/viewer/2022051715/589d93301a28abae498bba02/html5/thumbnails/39.jpg)
CBSSS: JE Savage June 16, 2004 39
Topics for Next Lecture
Are some problems not computable?How powerful are the various models?If we invent some new method ofcomputation, can we solve problemsthat were previously unsolvable?Can some computational models solveproblems more quickly than others?