コンピュータの歴史 - 基本コンセプト
TRANSCRIPT
Brief history of digital computer - Basic Concepts
コンピュータの歴史 - 基本コンセプト
INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 492
ANTIKYTHERA MECHANISM
アンティキティラ島の機械
The world’s oldest “computing machine”
世界の最古「演算機会」です。
INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 493
≠ANALOG DIGITAL
INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 494
ANALOG
An “analog or analogue” signal is any time continuous signal where some time varying feature of the signal is a representation of some other time varying quantity.
5分
INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 495
DIGITAL
Describes any system based on discontinuous data or events.
INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 496
ANALOG DIGITAL
100010101010
INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 497
WWII
INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 498
WWII
INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 499
INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 4910
Enigma Machine
謎
German almost won over Great Britain! thanks to the U-boots,specially the ENIGMA MACHINE
ドイツ語はほぼグレートブリテンに勝っ! 潜水艦のおかげで、特別エニグマ機
INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 4911
Go to ..
TAGB Let’s Go to .. !
INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 4912
Bletchley ParkGovernment Code and Cypher School(GC&CS)
INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 4913
Alan Turing(1912~1954)
Bombe
INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 4914
An algorithm is any set of detailed instructions which results in a predictable end-state from a known beginning.
アルゴリズムとは最初から最後まで知られている予期結果の状態状態の詳細な手順のセットです。
ALGORITHMアルゴリズム(演算手順)
1.An algorithm will consist of a finite set of precise instructions to be executedアルゴリズムは、実行される正確な手順の有限集合で構成されます
2.Be computable in a finite number of steps (the inability of a program to determine whether or not it can be executed in a finite number of steps is called "the halting problem")有限回のステップで計算できる
3.Be computable in principle with only a pen, paper, and infinite time; 唯一のペン、紙、無限の時間と、原理的に計算可能である。
4.Require no background information to execute, that is, be self-contained.実行するために背景情報が必要がありません
INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 4915
‣Leave Home‣Check time, it’s 9:10‣Return Home‣Wait
‣Leave Home‣Check time, it’s 9:20‣Return Home‣Wait
‣Leave Home‣Check time, it’s 9:30‣Return Home‣Wait
‣Leave Home‣Check time, it’s 9:40‣Return Home‣Wait
‣Leave Home‣Check time, it’s 9:50‣Return Home‣Wait
‣Leave Home‣Check time, it’s 10:00
‣Go to the Bus Stop
Leave Home
Check Time
Before
10
A.M.?Return Home
Go to Bus Stop
NO
YES
Wait
INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 4916
Application Program = algorithm
INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 49
A Turing Machine is a simple mathematical
construct that can be imagined as a recordable tape of infinite length
coupled to a mechanical unit with read/write capability. The unit can perform only three actions; read a bit of the tape and return the result; write a
bit on the tape; or erase a preexisting bit.
A Turing machine can theoretically compute any algorithm given enough time and storage space. It also states that any practical computing model must be a type of Turing machine.
17
TURING MACHINE
1.Read a bit of the tape and return the result テープから一つビットを読んで結果がでる。
2.Write a bit on the tape テープに一つビットを書く
3.or Erase a preexisting bit または、あるビットを消す
INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 4918
TURING MACHINE
1.Read a bit of the tape and return the result テープから一つビットを読んで結果がでる。
2.Write a bit on the tape テープに一つビットを書く
3.or Erase a preexisting bit または、あるビットを消す
INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 4919
CPU
THE CPU IS A TURING MACHINE
INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 4920
≠
INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 4921
An algorithm is any set of detailed instructions which results in a predictable end-state from a known beginning.
アルゴリズムとは最初から最後まで知られている予期結果の状態状態の詳細な手順のセットです。
ALGORITHMアルゴリズム(演算手順)
1.An algorithm will consist of a finite set of precise instructions to be executedアルゴリズムは、実行される正確な手順の有限集合で構成されます
2.Be computable in a finite number of steps (the inability of a program to determine whether or not it can be executed in a finite number of steps is called "the halting problem")有限回のステップで計算できる
3.Be computable in principle with only a pen, paper, and infinite time; 唯一のペン、紙、無限の時間と、原理的に計算可能である。
4.Require no background information to execute, that is, be self-contained.実行するために背景情報が必要がありません
INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 4922
to COMPUTER = to Make a mathematical calculation
startn = 0
while (n < 1000000000000000000000)
n = n+1 elsestop
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27......1000000000000000000000
ALGORITHMrec
ursive
}
INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 4923
1 + 1 = 2
a COMPUTER makes recursive mathematical calculations
INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 4924
BINARY
INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 4925
0 10123456789 ABCDEFG... !”#$%&’...
01000011 01001000 01010010 01001001 01010011
C H R I S
INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 4926
BIT( 1 )
ZERO ( 0 )
INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 49
0123456789DECIMAL SYSTEM
BINARY SYSTEM01
27
INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 4928
DECIMAL to BINARY conversionExample 44 to Binary
32 16 8 4 2 1
1 0 1 1 0 0
4432128440
INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 4929
BINARY SYSTEM
Turing Machine Computer
Machine Language
INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 4930
110100001001001000100010100100010001010100001111111110000101010101010100
Computer = Turing Machine
USER
NATURALlanguage
MACHINElanguage
Programming language Compiler
INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 4931
Compiler
Programming language
USER
110100001001001000100010100100010001010100001111111110000101010101010100
MACHINE language
NATURAL language
class myfirstjavaprog{ public static void main(String args[]) { System.out.println("Hello World!"); }}
Show a Window with the phrase “Hello
world”
私の名前は太郎です。
私の名前です太郎。
INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 4932
ENIACElectronic Numerical Integrator and Computer
1946
INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 4933
17,468 Vacuum Tubes ! (管球)
INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 49
GENERATION 0
Generation HardwareTechnology
OperatingMode
ProgrammingLanguage
TerminalTechnology
UserTypes Image
UserInterfaceParadigm
~1945Prehistory
Mechanical,Electromechanical
Not really being “used” except for
calculations
Moving cablesaround, Punching
Cards
Reading blinking lights and punch
cardsThe investors themselves
None(computers had not left the labs
yet)
None(direct hands-on to
the hardware)
GENERATION 1 GENERATION 2 GENERATION 3 GENERATION 4 GENERATION 5
34
INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 49
GENERATION 0
Generation HardwareTechnology
OperatingMode
ProgrammingLanguage
TerminalTechnology
UserTypes Image
UserInterfaceParadigm
~1945Prehistory
Mechanical,Electromechanical
Not really being “used” except for
calculations
Moving cablesaround, Punching
Cards
Reading blinking lights and punch
cardsThe investors themselves
None(computers had not left the labs
yet)
None(direct hands-on to
the hardware)
GENERATION 1 GENERATION 2 GENERATION 3 GENERATION 4 GENERATION 5
35
INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 49
GENERATION 0
Generation HardwareTechnology
OperatingMode
ProgrammingLanguage
TerminalTechnology
UserTypes Image
UserInterfaceParadigm
~1945Prehistory
Mechanical,Electromechanical
Not really being “used” except for
calculations
Moving cablesaround, Punching
Cards
Reading blinking lights and punch
cardsThe investors themselves
None(computers had not left the labs
yet)
None(direct hands-on to
the hardware)
GENERATION 1 GENERATION 2 GENERATION 3 GENERATION 4 GENERATION 5
36
INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 4937
Both are TURING MACHINES!
INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 49
Generation HardwareTechnology
OperatingMode
ProgrammingLanguage
TerminalTechnology
UserTypes Image
UserInterfaceParadigm
1945~1955Pioneer
Vacuum tubes, huge machines, short
mean time between failures
One user at a time “owns” machine
(limited time)Machine language
0011001111101 TTY, typewriter. Experts Computer as calculator
Programming batch
38
GENERATION 0 GENERATION 1 GENERATION 2 GENERATION 3 GENERATION 4 GENERATION 5
INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 49
Generation HardwareTechnology
OperatingMode
ProgrammingLanguage
TerminalTechnology
UserTypes Image
UserInterfaceParadigm
1945~1955Pioneer
Vacuum tubes, huge machines, short
mean time between failures
One user at a time “owns” machine
(limited time)Machine language
0011001111101 TTY, typewriter. Experts Computer as calculator
Programming batch
10000010 10000000 01111111 11111100
39
GENERATION 0 GENERATION 1 GENERATION 2 GENERATION 3 GENERATION 4 GENERATION 5
INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 49
Generation HardwareTechnology
OperatingMode
ProgrammingLanguage
TerminalTechnology
UserTypes Image
UserInterfaceParadigm
1955~1965Historical
Transistors(more reliable)
Batch(centralized
“computer as temple”)
Assembler ADD A, B
Line-oriented terminals (“glass-
TTY”)
Technocrats,professional computerists
Computer as information processor
Command languages
40
GENERATION 0 GENERATION 1 GENERATION 2 GENERATION 3 GENERATION 4 GENERATION 5
INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 49
Generation HardwareTechnology
OperatingMode
ProgrammingLanguage
TerminalTechnology
UserTypes Image
UserInterfaceParadigm
1955~1965Historical
Transistors(more reliable)
Batch(centralized
“computer as temple”)
Assembler ADD A, B
Line-oriented terminals (“glass-
TTY”)
Technocrats,professional computerists
Computer as information processor
Command languages
addcc %r1,-4,%r1
printn(n,b) { extrn putchar; auto a; if(a=n/b) /* assignment, not test for equality */ printn(a, b); /* recursive */ putchar(n%b + '0');}
41
GENERATION 0 GENERATION 1 GENERATION 2 GENERATION 3 GENERATION 4 GENERATION 5
トランジスタ
INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 49
Generation HardwareTechnology
OperatingMode
ProgrammingLanguage
TerminalTechnology
UserTypes Image
UserInterfaceParadigm
1965~1980Traditional Integrated circuits
Time-sharing(online processing
systems)
High Level languages,
Fortran, Pascal, C
Full-screen terminals,
alphanumeric characters only
Specialized groups without computer
knowledge
Mechanization of “white collar”
labor
Full-screen strictly hierarchical menus
and fill-in forms
42
GENERATION 0 GENERATION 1 GENERATION 2 GENERATION 3 GENERATION 4 GENERATION 5
INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 49
Generation HardwareTechnology
OperatingMode
ProgrammingLanguage
TerminalTechnology
UserTypes Image
UserInterfaceParadigm
1965~1980Traditional Integrated circuits
Time-sharing(online processing
systems)
High Level languages,
Fortran, Pascal, C
Full-screen terminals,
alphanumeric characters only
Specialized groups without computer
knowledge
Mechanization of “white collar”
labor
Full-screen strictly hierarchical menus
and fill-in forms
#include <stdio.h> int main(void){ printf("hello, world\n"); return 0;}
Program HelloWorld(output);begin Writeln('Hello, world!')end.
43
GENERATION 0 GENERATION 1 GENERATION 2 GENERATION 3 GENERATION 4 GENERATION 5
INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 4944
INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 49
Generation HardwareTechnology
OperatingMode
ProgrammingLanguage
TerminalTechnology
UserTypes Image
UserInterfaceParadigm
1980~1995Modern
VLSIDIYS
Single-user personal
computers
Problem oriented languages
(Imperatives)
Graphical display. Desktop
workstations, heavy portables
Business professionals,
hobbyists
Personal productivity,
computers as a tool
WIMP(Windows, Icons, Menus, Pointing
Device)
45
GENERATION 0 GENERATION 1 GENERATION 2 GENERATION 3 GENERATION 4 GENERATION 5
INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 49
Generation HardwareTechnology
OperatingMode
ProgrammingLanguage
TerminalTechnology
UserTypes Image
UserInterfaceParadigm
1980~1995Modern
VLSIDIYS
Single-user personal
computers
Problem oriented languages
(Imperatives)
Graphical display. Desktop
workstations, heavy portables
Business professionals,
hobbyists
Personal productivity,
computers as a tool
WIMP(Windows, Icons, Menus, Pointing
Device)
// Outputs "Hello, world!" and then exitspublic class HelloWorld { public static void main(String args[]) { System.out.println("Hello, world!"); }}
46
GENERATION 0 GENERATION 1 GENERATION 2 GENERATION 3 GENERATION 4 GENERATION 5
INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 49
Generation HardwareTechnology
OperatingMode
ProgrammingLanguage
TerminalTechnology
UserTypes Image
UserInterfaceParadigm
1995~?Future
Wafer-scale integration.
Networked single user and
embedded systems
Nonimperative(declarative),
possibly graphical
“Dynabook” multimedia I/O, easily portable
Everybody Computer as appliance
Non command based interfaces
47
GENERATION 0 GENERATION 1 GENERATION 2 GENERATION 3 GENERATION 4 GENERATION 5
INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 49
Generation HardwareTechnology
OperatingMode
ProgrammingLanguage
TerminalTechnology
UserTypes Image
UserInterfaceParadigm
1995~?Future
WSI, Photonic computing, Quantum
computing
Networked single user and
embedded systems
Nonimperative(declarative),
possibly graphical
“Dynabook” multimedia I/O, easily portable
Everybody Computer as appliance
Noncommand based interfaces
write'Hello world!'
48
GENERATION 0 GENERATION 1 GENERATION 2 GENERATION 3 GENERATION 4 GENERATION 5
INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 4949
Compiler
Programming language
USER
110100001001001000100010100100010001010100001111111110000101010101010100
MACHINE language
NATURAL language
class myfirstjavaprog{ public static void main(String args[]) { System.out.println("Hello World!"); }}
Show a Window with the phrase “Hello
world”
私の名前は太郎です。
私の名前です太郎。