IT Academy 컴퓨터와 프로그램 2004 년 9 월 23 일 KAIST 전산학과 한 환 수.

Post on 18-Jan-2016

222 views 0 download

Transcript of IT Academy 컴퓨터와 프로그램 2004 년 9 월 23 일 KAIST 전산학과 한 환 수.

IT Academy

컴퓨터와 프로그램컴퓨터와 프로그램

2004 년 9 월 23 일

KAIST 전산학과한 환 수

2

오늘 이야기

컴퓨터와 프로그래밍 언어 ( 초기의 역사 )

프로그래밍 언어와 컴퓨터 구조의 발전

미래의 컴퓨터와 프로그램 ?

3

첫 프로그래밍 언어와 가상의 기계

GW-BASIC 100 가지 예제

Apple II

4

BASIC

BASIC Beginner’s All-purpose Symbolic Instruction Code 1960s invented at Dartmouth College

MITS altair kit (Intel 8080 processor) MicroSoft BASIC interpreter (Paul Allen, Bill Gates)

5 weeks to complete for MITS altair

5

Apple II

Apple ][ 1977 년 , Steve Wozniak, Steve Jobs Motorola 6502 processor (8-bit, 1MHz) CP/M or DOS Paper tape / FSK cassette tape

6

CP/M 과 MS-DOS

CP/M (Control Program/Microcomputer) Dr. Gary Kildall (Digital Research Institute) 1973 년 , Intel 8008 with 8” floppy disk 1976 년 Rewrote with BIOS for different H/W

For IMSAI microcomputer (Intel 8080)

MS-DOS (Disk Operating System) IBM 과 DRI 협상 결렬 :( MS proposed DOS/BASIC deal on favorable term for

IBM Modified QDOS from Seattle Computer Products

Copying CP/M system calls, program structures, … CP/M-86 @ $240 vs. MS-DOS @ $60

7

Alto, LISA, GEM 과 Windows

Xerox Alto 1978 년 , First GUI Window, Icon, Mouse, Pointer 초고가로 실패 - $40,000

Apple LISA (Macintosh 초기모델 ) 1981 년 , Steve Jobs 역시 고가 - $10,000

DRI GEM (Graphical Environment Manager) 1983 년 Comdex, First GUI for PC Virtually the same look and feel with

Macintosh Dropped due to Apple’s threat to sue

MS Windows v1.0 1985 년 Comdex Different look and feel from Macintosh

8

Killer Apps - WordStar

WordStar 1978 년 , Rob Barnaby (MicroPro International) 개발 Written all in assembly language, running on CP/M More illegal copies than originals 1984 년 , $70 million sales, largest software company

in USA Competition from WordPerfect, MS Word

9

Killer Apps - VisiCalc

VisiCalc 1979 년 , Dan Bricklin & Bob Frankston 개발 첫해 1 million copies @ $100, running on Apple II Lotus 1-2-3 로 이어짐 Quatro Pro (Borland), Excel (MS)

10

Shugart Technology

Shugart Technology 1979 년 Alan Shugart, Finis Conner 설립 Seagate Technology 로 개명 1980 년 , first Hard Disk (5~10MB)

Designed new interface SASI NCR later modified to SCSI

11

IBM PC

IBM PC (1980) Intel 8088 (16-bit, 4.77MHz) 64K ROM, 64K RAM PC-DOS (MS-DOS) Built-in BASIC interpreter

IBM PC XT (1983 년 ) : 64K~640K RAM IBM PC AT (1984 년 ) : Intel 80286 (6MHz), 512K~3M

RAM,

12

프로그래밍 언어와 컴퓨터 구조

13

프로그래밍 언어의 족보

1950s 1960s 1980s 1990s 2000s1970s

Fortran I Fortran IV Fortran 77 Fortran 90 HPF

ALGOL 58/60

COBOL

Pascal

Modula-2 Modula-3PL/1

Ada Ada95

SIMULA Smalltalk

BCPL C

ALGOL 68

C++

BASIC

LISP

Prolog

Scheme

Java

C#

Verilog XL Verilog HDL

VHDL VHDL 93

imperativeobject-orientedfunctionallogichardware description w/ time delay

SML SML 97SQL SQL/92Haskell

ML

CLOSCLisp

?

14

세대별 언어의 변천

1 세대 언어 (50 년대 ~ 60 년대 초 ) Fortran ( 과학계산 ), COBOL ( 사무용 ) 간단한 control structure, 정적 메모리 관리

2 세대 언어 (60 년대 ) Algol-60, PL/1, Basic 블록 구조의 control structure, 동적 메모리 관리

3 세대 언어 (70 년대 초 ) Algol-68, Pascal, Simula, C User-defined 자료 타입 Simple language features

4 세대 언어 (70 년대 ) Ada, Modula-2 Data abstraction, Information hiding

15

현재 널리 쓰이는 프로그래밍 언어

C/C++ UNIX and system software written in C C++ added strong type, object-oriented features Most popular language

Java Write once, run everywhere Object-oriented features Memory-leakage free programming Many business applications based on J2EE

Perl Script language Powerful string match and manipulations Good at handling multiple programs in sequence

16

Microprocessors for PC’s

Intel processors dominate 8086 (1978 년 ) – 16bit processing, 16bit bus 8088 (1979 년 ) – 16bit processing, 8bit bus

IBM PC 에서 채택 80286 (1982 년 ) – 8086 개량판 ,

Protected mode addressing enables “virtual memory” 6MHz 에서 시작 , 20MHz 에서 작동하도록 발전

80386 (1988 년 ) – 32bit processing, 32bit bus 33MHz 에서까지 작동 Able to run UNIX with “flat addressing” Linux/gcc doesn’t use any instruction introduced later

80486 (1991 년 ) – 80386 + math coprocessor (80387) 120MHz 에서까지 작동 5 stage pipeline, cache

17

Pentium (1993 년 ) – P5 Superscalar (integer unit, FP unit), dual

pipeline trademark protection

PentiumPro (1995 년 ) – P6 118bit uOP 로 변환 , Out-of-order execution L2 cache

Pentium/MMX (1997 년 ) SIMD (64-bit vector – 1,2,4 byte integer)

Pentium II (1997 년 ) Merged MMX line on to PentiumPro

Pentium III (1999 년 ) Streaming SIMD (128-bit vector, handle

float) 10 stage pipeline

Pentium 4 (2001 년 ) SSE2 (128-bit vector, handle double) 20 stage pipeline

Pentium

18

Advanced Micro Devices (AMD) Historically, AMD has followed just behind Intel

A little bit slower, a lot cheaper Recently, close competitors to Intel

Developing own extension to 64 bits Athlon 64 FX, Opteron

Transmeta Recent start-up (Employer of Linus Torvalds) Radically different approach

Translates x86 code into VLIW code High degree of parallelism

Shooting for low-power market

x86 Clones

19

Itanium (2001 년 ) Extends to IA64, a 64-bit architecture Radically designed for high performance

VLIW/EPIC instruction-set architecture Will be able to run existing IA32 programs

On-board “x86 engine” Joint project with HP starting early 1990’s

Itanium 2 (2002 년 ) More functional units (4 INT units, 2 FP units, 1 branch

unit) Bigger on-chip cache (3~6MB) Big performance boost

New Species: IA64

20

Moore’s Law

Gordon Moore (co-founder of Intel) 2X density every 18 month

40044004- 1971- 1971- 2300 Transistors- 2300 Transistors- 10 um process- 10 um process- 12 mm- 12 mm22

- 108 kHz- 108 kHz

Pentium 4Pentium 4- 2002 (31 yrs)- 2002 (31 yrs)- 55M (24K X)- 55M (24K X)- 0.13um (1/77K X)- 0.13um (1/77K X)- 142 mm- 142 mm2 2 (12 X)(12 X)- 2.8 GHz (26K X)- 2.8 GHz (26K X)

Itanium 2Itanium 2- 2002 (31 yrs)- 2002 (31 yrs)- 220M (96K X)- 220M (96K X)- 0.18um (1/55K X)- 0.18um (1/55K X)- 421 mm- 421 mm2 2 (35 X)(35 X)- 1 GHz (9K X)- 1 GHz (9K X)

21

미래의 컴퓨터

미래의 컴퓨터는 어떤 모양일까 ? Ubiquitous computing – embedded processors all

around Quantumn computer? Biological computer? Robot?

미래의 프로그램은 ? 전문 프로그래머 ? End-User Program? Should be EASIER than now!

Natural way of Programming and Debugging