コンピュータの歴史 - 基本コンセプト

49
Brief history of digital computer - Basic Concepts コンピュータの歴史 - 基本コンセプト

Upload: watanabe-carcass

Post on 05-Jul-2015

196 views

Category:

Education


0 download

TRANSCRIPT

Page 1: コンピュータの歴史 - 基本コンセプト

Brief history of digital computer - Basic Concepts

コンピュータの歴史 - 基本コンセプト

Page 2: コンピュータの歴史 - 基本コンセプト

INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 492

ANTIKYTHERA MECHANISM

アンティキティラ島の機械

The world’s oldest “computing machine”

世界の最古「演算機会」です。

Page 3: コンピュータの歴史 - 基本コンセプト

INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 493

≠ANALOG DIGITAL

Page 4: コンピュータの歴史 - 基本コンセプト

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分

Page 5: コンピュータの歴史 - 基本コンセプト

INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 495

DIGITAL

Describes any system based on discontinuous data or events.

Page 6: コンピュータの歴史 - 基本コンセプト

INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 496

ANALOG DIGITAL

100010101010

Page 7: コンピュータの歴史 - 基本コンセプト

INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 497

WWII

Page 8: コンピュータの歴史 - 基本コンセプト

INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 498

WWII

Page 9: コンピュータの歴史 - 基本コンセプト

INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 499

Page 10: コンピュータの歴史 - 基本コンセプト

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

ドイツ語はほぼグレートブリテンに勝っ! 潜水艦のおかげで、特別エニグマ機

Page 11: コンピュータの歴史 - 基本コンセプト

INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 4911

Go to ..

TAGB Let’s Go to .. !

Page 12: コンピュータの歴史 - 基本コンセプト

INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 4912

Bletchley ParkGovernment Code and Cypher School(GC&CS)

Page 13: コンピュータの歴史 - 基本コンセプト

INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 4913

Alan Turing(1912~1954)

Bombe

Page 14: コンピュータの歴史 - 基本コンセプト

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.実行するために背景情報が必要がありません

Page 15: コンピュータの歴史 - 基本コンセプト

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

Page 16: コンピュータの歴史 - 基本コンセプト

INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 4916

Application Program = algorithm

Page 17: コンピュータの歴史 - 基本コンセプト

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 または、あるビットを消す

Page 18: コンピュータの歴史 - 基本コンセプト

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 または、あるビットを消す

Page 19: コンピュータの歴史 - 基本コンセプト

INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 4919

CPU

THE CPU IS A TURING MACHINE

Page 20: コンピュータの歴史 - 基本コンセプト

INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 4920

Page 21: コンピュータの歴史 - 基本コンセプト

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.実行するために背景情報が必要がありません

Page 22: コンピュータの歴史 - 基本コンセプト

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

}

Page 23: コンピュータの歴史 - 基本コンセプト

INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 4923

1 + 1 = 2

a COMPUTER makes recursive mathematical calculations

Page 24: コンピュータの歴史 - 基本コンセプト

INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 4924

BINARY

Page 25: コンピュータの歴史 - 基本コンセプト

INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 4925

0 10123456789 ABCDEFG... !”#$%&’...

01000011 01001000 01010010 01001001 01010011

C H R I S

Page 26: コンピュータの歴史 - 基本コンセプト

INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 4926

BIT( 1 )

ZERO ( 0 )

Page 27: コンピュータの歴史 - 基本コンセプト

INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 49

0123456789DECIMAL SYSTEM

BINARY SYSTEM01

27

Page 28: コンピュータの歴史 - 基本コンセプト

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

Page 29: コンピュータの歴史 - 基本コンセプト

INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 4929

BINARY SYSTEM

Turing Machine Computer

Machine Language

Page 30: コンピュータの歴史 - 基本コンセプト

INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 4930

110100001001001000100010100100010001010100001111111110000101010101010100

Computer = Turing Machine

USER

NATURALlanguage

MACHINElanguage

Programming language Compiler

Page 31: コンピュータの歴史 - 基本コンセプト

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”

私の名前は太郎です。

私の名前です太郎。

Page 32: コンピュータの歴史 - 基本コンセプト

INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 4932

ENIACElectronic Numerical Integrator and Computer

1946

Page 33: コンピュータの歴史 - 基本コンセプト

INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 4933

17,468 Vacuum Tubes ! (管球)

Page 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

34

Page 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

35

Page 36: コンピュータの歴史 - 基本コンセプト

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

Page 37: コンピュータの歴史 - 基本コンセプト

INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 4937

Both are TURING MACHINES!

Page 38: コンピュータの歴史 - 基本コンセプト

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

Page 39: コンピュータの歴史 - 基本コンセプト

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

Page 40: コンピュータの歴史 - 基本コンセプト

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

Page 41: コンピュータの歴史 - 基本コンセプト

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

トランジスタ

Page 42: コンピュータの歴史 - 基本コンセプト

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

Page 43: コンピュータの歴史 - 基本コンセプト

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

Page 44: コンピュータの歴史 - 基本コンセプト

INFORMATION DESIGN: History & Basics Concepts of Digital Computing / 4944

Page 45: コンピュータの歴史 - 基本コンセプト

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

Page 46: コンピュータの歴史 - 基本コンセプト

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

Page 47: コンピュータの歴史 - 基本コンセプト

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

Page 48: コンピュータの歴史 - 基本コンセプト

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

Page 49: コンピュータの歴史 - 基本コンセプト

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”

私の名前は太郎です。

私の名前です太郎。