and turing hypothesis engine chapter 01: introduction · and turing hypothesis. ... schaum’s...
TRANSCRIPT
Chapter 01: Introduction
Lesson 01Evolution Computers Part 1: Mechanical
Systems, Babbage method of Finite Difference Engine
and Turing Hypothesis
Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009
2
Objective
• Understand how mechanical computation systems evolved
• Babbage Difference Engine• Turing Hypothesis
Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009
3
Mechanical Systems
• 16th Century• Gears, Handles and levers based systems • Based on Concept pioneered by Pascal• Addition of decimal numbers• Subtraction of decimal numbers• Carry to Left Concept
Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009
4
Mechanical Systems
• Based on concept pioneered by Leibniz─Added, subtracted, multiplied, and divided decimal numbers
Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009
5
Gear Box and Carry left concept
• 100 teeth/360° with a decimal number mark (0, 1, …9) at each 3.6° at each tooth
• 10 teeth/360° with a decimal number mark (0, 1, …9) at each 36° at each tooth
• When first rotates by 10 teeth (3.6° each) the second rotates by 1 tooth (36°)
• Each tooth has a decimal number mark number at 36°
Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009
6
Mechanical system based on Gear Box
• The rotation either clockwise or anticlockwise and a gear ratio of 10
• Allows the mechanical system to either carry to left during a decimal addition
• Borrow from left during subtraction
Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009
7
Babbage’s Multi-step Programmable Computer
• Concept pioneered by Babbage• 19th Century (Difference Engine)• Multiple steps of adding to arrive at a result• Application─ A machine generated and printed
tables of equally spaced numbers by a method of finite differences
• Easy to implement with mechanical gears and levers
Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009
8
Method of finite Difference
• Finding table in which each number x = i × x0; i = 1, 2, …
• Difference between each number is finite and difference ∆ = i. x0 – (i – 1). x0 = x0 when i= 1, 2, 3, …
• Store initial value x0 in first register • Store difference x0 in second register
Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009
9
Method of finite Difference
• Step 1: Add first with second. Answer in first register = x + ∆
• Repeat Step 1: Add first with second Answer = x + 2 ∆
• Repeat Step 1: Answer = x + 3 ∆• Repeat Step 1: Answer = x + 4 ∆• Repeat Step 1: Answer = x + 5 ∆
Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009
10
2nd
InitialValue
1st
InitialValue
Cycles with one
step
2nd
InitialValue
1st
InitialValue
63First Register
129
33SecondRegister 33
Finite Difference
x =
i ×3
+ + + +
Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009
11
Method of finite Difference
• Finding table in which each number = n0 + i × n; i = 1, 2, …
• Difference between each number is finite and difference ∆ = i. n – (i – 1). n = n when i= 1, 2, 3, …
• Store initial value n0 in first register • Store difference n in second register
Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009
12
Method of finite Difference
• Step 1: Add first with second. Answer in first register = n0 + n
• Repeat Step 1: Add first with second Answer = n0 + 2 n
• Repeat Step 1: Answer = n0 + 3 n• Repeat Step 1: Answer = n0 + 4 n• Repeat Step 1: Answer = n0 + 5 n
Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009
13
2nd
InitialValue
1st
InitialValue
Cycles with one
step
2nd
InitialValue
1st
InitialValue
22002000R1
26002400
00 R3 00
200200R2
200200
00 R3
00
x = n0 + i ×n
Finite Differences
Finite Differences
Finite Differences
Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009
14
Method of finite Difference
• Finding table in which each number = i2; i = 1, 2, …
• Differentiate i2 with respect to i. ∂(i2)/∂i Answer is 2. i
• Differentiate 2i with respect to i. ∂(2i)/∂i Answer is 2
• Difference between third and second registers is finite and difference ∆23 = 2. i– 2. (i – 1) = 2 in each successive step when i= 1, 2, 3, …
Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009
15
Method of finite Difference
• Hence Store finite difference ∆23 = 2 in third register
• Difference between first and second registers is finite and difference ∆12 = i2 – (i – 1)2 = i2 – (i2 –2 i + 1) = 2 i – 1 in each successive step when i= 1, 2, 3, …
• Store initial value R1 = 0 in first register • Store initial difference value ∆12 = 2 × 1 – 1 = 1
in second register for i = 1
Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009
16
Method of finite Difference
• Step 1: Add third with second. Answer in second register = ∆23 + ∆12. = 2 + 1 = 3
• Step 2: Add second with first Answer in first register = 0 + ∆12 = 0 + 1 = 1 = 12
• Repeat Steps 1 and 2 : Add second with first Answer in first register = ∆23 + ∆12 + 12 = 2 + 1 + 1 = 4 = 22
• Repeat Steps 1 and 2: Answer in first register = 2 + 3 + 4 = 9 = 32
Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009
17
Method of finite Difference
• Repeat Steps 1 and 2: Answer in first register = 2 + 5 + 9 = 42
• Repeat Steps 1 and 2: Answer in first register = 2 + 7 + 16 = 52
• Repeat Steps 1 and 2: Answer in first register = 2 + 9 + 25 = 62
Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009
18
2nd
InitialValue
1st
InitialValue
Cycles with two
steps
2nd
InitialValue
1st
InitialValue
10R1
94
22 R3 22
31R2
75
00 R3
00
x = i2
Finite Differences
Finite Differences
Finite Differences
Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009
19
Method of finite Difference
• Finding table in which each number = i3; i = 1, 2, …
• Differentiate i3 with respect to i. ∂(i3)/∂i Answer is 3. i2
• Differentiate 3. i2 with respect to i. ∂(3. i2 )/∂iAnswer is 6 i
• Differentiate 6 i with respect to i. ∂(6 i)/∂iAnswer = 6
Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009
20
Method of finite Difference
• Difference between fourth and third registers is finite and difference ∆34 = 6. i– 6. (i – 1) = 6 in each successive step when i= 1, 2, 3, …
• Difference between third and second registers is finite and difference ∆12 = 6. (i )2 – 6.(i – 1)2 = 6.i2 – 6.(i2 – 2 i + 1) = 6 i – 6 in each successive step when i= 1, 2, 3, …
Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009
21
2nd
InitialValue
1st
InitialValue
Cycles with three
steps
2nd
InitialValue
1st
InitialValue
81R1
6427
60 R3 1812
71R2
3719
66 R3
66
x =i3
Finite Differences
Finite Differences
Finite Differences
Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009
22
Turing’s Hypothesis
• Alan Turing (1937)• Every computation can be performed by some
Turing machine• Turing Machine that adds• Tadd (a, b) = a + b• Turing Machine that multiplies • Tmul (a, b) = a × b
Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009
23
What is a Turing Machine?
• A mathematical model of a device that can perform any computation
• Which Writes/Reads symbols on an infinite “tape”
• Performs state transitions, based on current state and symbol
Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009
24
What is universal Turing machine?
• A Turing machine that could implement all other Turing machines
• Which takes in inputs the data, plus a description of computation
Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009
25
Universal Turing MachineUniversal Turing Machine
• Programmable Instructions are part of the input data
• A Universal Turing Machine can emulate a computer
• A computer can emulate a Universal Turing Machine
Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009
26
Universal Turing Machine
• Do any computations• Therefore, a computer is also a universal
computing device
Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009
27
A Universal Computing Device
• All computers, given enough memory and time are capable of computing exactly the same things
Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009
28
Summary
Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009
29
We learnt• Mechanical Systems 16th Century
Gears, Handles, and lever based systems• Concept pioneered by Babbage • Multiple steps of Addition to arrive at the
result• Every computation can be performed by
some Turing machine.• A universal Turing machine can perform
any computation provided given enough memory and time