제 1 장 컴퓨터의발달
제 1 장의구성 1.1 컴퓨터시스템 1.2 컴퓨터의발달 1.3 개인용컴퓨터 1.4 컴퓨터의분류 1.5 정보의표현
1.1 컴퓨터시스템
1.1 컴퓨터시스템 컴퓨터의어원 컴퓨터의정의 컴퓨터의구성요소
컴퓨터의어원 컴퓨터는 < 계산하는사람 > 에서출발 18세기배에서항로계산하던사람들 1910 s 제1차세계대전당시장거리포탄의탄착점계산하던사람들 에니악의배선작업을위해고용된젊은여성들 최초의직업프로그래머들 컴퓨터 (computer) 는계산하는기계에서유래 에니악 (ENIAC, 1946) : 최초의전자식컴퓨터 에드삭 (EDSAC, 1949) : 최초의프로그램내장방식 영문약자마지막단어의변화 계산기 (calculator) 컴퓨터 (computer)
컴퓨터의정의 컴퓨터 (computer) 의일반적인정의 외부프로그램이나데이터입력을받아들여내부전자회로에서자료를계산하거나처리해정보를저장하고결과를출력하는기계 컴퓨터시스템 (computer system) 그런기능을하는체계 컴퓨터의우리말표현은전자계산기 ( 電子計算機 ) 전자회로를이용해자동으로계산하는기계라는뜻 줄여서전산기, 1960 s 개념, 휴대용계산기와혼동 일부국가기술자격시험이나학위과정등에사용 전자계산기대신컴퓨터로사용하는것이더적합
컴퓨터의구성요소 컴퓨터시스템의기본구성 하드웨어요소 중앙처리장치, 기억장치, 입출력장치등 시스템소프트웨어요소 하드웨어구동과관련된프로그램들의집합 하드웨어와소프트웨어 하드웨어 내부적인동작을담당하는물리적기계장치 소프트웨어 외부적인운영을담당하는논리적인명령어들의집합 < 웨어 (-ware)> 상품이나제품이라는뜻
하드웨어와소프트웨어 수정하기어려운정도에따라 하드웨어 > 펌웨어 > 소프트웨어 하드웨어 (hardware) 쇠붙이라는뜻 전자부품, 각종보드, 주변장치와기계설비 정보가처리되는물리적장치와정보의전송경로 소프트웨어 (software) = 프로그램 (program) 명령어들의집합인프로그램체계 컴퓨터가인식할수있는언어로작성된시스템프로그램과사용자편의를위해만들어진응용프로그램 프로그래밍언어로작성된명령어리스트 순서에따라수행해야할작업들의절차
펌웨어 펌웨어 (firmware) 펌 (firm) 은견고하다는뜻 주로컴퓨터회로상의롬 (ROM) 등에설치된넓은의미의시스템소프트웨어 하드웨어와밀접한관계를유지하고하드웨어를정확하게제어해주는프로그램들의집합 하드웨어와소프트웨어의중간성질 소프트웨어기능을펌웨어로구현하면처리속도가현저하게증대 하드웨어기능을펌웨어로구현하면속도는느려지나하드웨어보다유연하고저렴하게기능을구현
1.2 컴퓨터의발달
1.2 컴퓨터의발달 컴퓨터의기원 전기기계식컴퓨터 전자식컴퓨터
가장오래된계산도구주판 중국주판 Chinese Suanpan BC 6 세기부터사용 ( 사진은 BC 2 세기문헌형태 )
가장오래된계산도구주판 일본주판 Japanese Soroban 1600 년대중국에서도입 ( 사진은 1930 s 형태 ) 사진출처 : 위키피디아영문판 http://en.wikipedia.org/
가장오래된계산도구주판 로마주판 Roman abacus BC 3 세기부터사용 ( 사진은 AD 1 세기형태 )
가장오래된계산도구주판 아메리카원주민잉카주판 Incas Yupana
가장오래된계산도구주판 러시아주판 Russian Schoty
가장오래된계산도구주판 덴마크초등학교주판 Danish abacus
최초의컴퓨터 한마디로말하기쉽지않다 수많은수학자, 과학자, 공학자들이오랜기간동안연구한결과가바탕 현대적개념의컴퓨터는 1930~40년대등장 제2차세계대전으로전세계가어수선하던시기 세계각지에서다양한원리와형태를지닌컴퓨터들이산발적으로동시에만들어짐 아이디어는설계가되었지만자료가분실되거나 구현할기술이없어미완성에그치거나 수년간에걸쳐개발되어각각의발표시기나개발연도를자료마다다르게표기
몇가지주목할만한사건들
컴퓨터의주요역사 ( 계속 )
프랑스의천재수학자파스칼 Blaise Pascal (1623~1662) 세계최초의수동기계식계산기발명 정교한톱니바퀴의원리이용 10 진가감산 (+-) 기계 1642 년
독일의철학자및수학자라이프니츠 Gottfried Leibniz (1646~1716) 사칙연산 (+- ) 계산기제작 파스칼의계산기에기어를추가 덧셈을반복하는곱셈동작과뺄셈을반복하는나눗셈동작고안 1671 년
기계식컴퓨터 20 세기중반까지 수동또는모터로구동되는기계식계산기 세계각지에서상업적이고실용적인기계식계산기제작 탁상용기계식계산기 (1914) 회전하는기어사용
20 세기중반까지기계식계산기사용 휴대용기계식계산기 Curta 계산기모델 (1948)
컴퓨터의아버지찰스배비지 Charles Babbage (1791~1871) 하나의장치에서모든계산이가능한최초의기계를고안 미분엔진설계 (1822) 로그와삼각함수값계산목적 자동기계식계산기 모든부품을기계로설계해당시는성공하지못함 미분엔진의일부부품 죽은후그의아들이제작
컴퓨터의아버지찰스배비지 미분엔진 (difference engine, 1822) 제작모형 The Science Museum (London)
컴퓨터의아버지찰스배비지 해석엔진고안 (1837) 현대적인컴퓨터의원형설계 입출력장치, 기억장치, 연산장치, 제어장치 연산카드의명령을천공카드판독기가해독 연산장치가자동으로작동해계산 실행된결과값을연판인쇄기로출력 범용프로그래밍작업을염두에둔설계 증기기관의동력을이용모든부품을기계로설계 당시는성공하지못함 마크 - 원 (MARK I, 1944) 에의해그원리가완성됨
컴퓨터의아버지찰스배비지 해석엔진 (analytical engine, 1837) The Science Museum (London)
최초의프로그래머 백작부인에이다러브레이스 Ada Lovelace (1815~1852) 배비지를도와해석엔진의프로그램설계 최초의프로그래머로불리기도
논리연산이론을만든부울 George Boole (1815~1864) 현대기호논리학의창시자 논리와확률의수학적이론확립 독학으로공부해발표한저서 < 논리의수학적해석, 1847> < 사고법칙에대한고찰, 1854> 논리수학의대표적인형태인부울대수 (Boolean algebra) 고안 AND, OR, NOT 등논리연산 하드웨어, 소프트웨어, 전자공학등에널리응용
천공카드시스템을만든홀러리스 Herman Hollerith (1860~1929) 최초의통계처리기계천공카드시스템 (punch card system) 발명 1890 년미국인구조사통계에혁신 몇년걸리던기간이몇주로단축 데이터일괄처리의효시 IBM 의전신인회사설립
전기기계식컴퓨터 전기기계식컴퓨터 전기적인요소와기계적인요소를결합 릴레이 (relay) 의작동원리이용 전류가흐르면접점이기계적으로전자석에달라붙음 기계적인스위칭으로 2진법표현 반 (semi-) 도체 (conductor) 처럼디지털논리회로에서 1과 0을전달
최초의디지털컴퓨터를만든 콘라트쑤저 Konrad Zuse (1910~1995) 독일엔지니어 현재까지알려진최초의 2 진디지털컴퓨터 Z1 모델개발 1936 년특허출원 Z3 는부동소수점연산까지계산 1941 년에만들어 1944 년에파괴됨 최초로작동하는프로그램가능한컴퓨터로도분류 데이터처리과정을입력장치, 기억장치, 레지스터, 연산장치, 출력장치등세분화, 프로그래밍언어연구 폰노이만구조보다먼저프로그램을메모리에저장
최초의디지털컴퓨터를만든 콘라트쑤저 Z1 (1936) 모형 베를린독일기술박물관 Z3 (1941) 모형 뮌헨도이치박물관
최초의완전자동계산기를만든 에이킨 Howard H. Aiken (1900~1973) 1937년부터 IBM 지원으로범용전기기계식컴퓨터를설계해1944년하버드마크-원 (MARK I) 완성 MARK I (1944) 컴퓨터 Harvard University 소장
최초의버그를발견한 그레이스호퍼 Grace M. Hopper (1906~1992) 미해군사상최초의여성제독 세계최초로컴파일러개발 원시적인인터프리터 COBOL 언어의어머니 컴퓨터역사에버그라는용어를최초로사용한인물 1947 년 MARK II 컴퓨터가오동작한원인은나방이릴레이에끼여죽은것
버그가발견된첫번째실제사례 First actual case of bug being found. 배선반 F, 릴레이 70 번위치나방 미국스미스소니언 (Smithsonian) 박물관
버그와디버깅 예전부터기기의오작동을버그라고했는데 실제컴퓨터에서벌레 (bug) 가발견된재미있는사건 버그 (bug) 프로그램에서부정확한결과나충돌을일으키는오류나결함 하드웨어의오작동문제 디버그 (debug) 혹은디버깅 (debugging) < 벌레제거 > 라는표현 프로그램에서코딩오류를찾아수정하는작업
최초의진공관식계산기 ABC(Atanasoff-Berry Computer, 1937~1942) 미국아이오와주립대아타나소프교수와베리조수 프로그램이불가능해범용컴퓨터는아님 선형방정식의수학문제를푸는용도 최초의진공관식계산기정도로평가 현대적인컴퓨터의구성요소나기본개념에는부족 Iowa State University
컴퓨터의수학적모델을만든 앨런튜링 Alan Turing (1912~1954) 영국의천재수학자컴퓨터과학의아버지 < 계산가능한수에관하여, 1936> 기념비적석사논문, 기계가어디까지논리적으로작동하는지최초연구 튜링머신 (Turing machine) 무한대저장용량과고장없는일종의가상기계 오늘날현대적인컴퓨터에대한수학적모델 튜링테스트 (Turing test) 컴퓨터가얼마나사람과비슷하게대화할수있는지판단해인공지능을갖는정도를판정
앨런튜링을다룬영화 이미테이션게임 (The Imitation Game, 2014)
컴퓨터의수학적모델을만든 앨런튜링 2 차대전당시독일군의암호화기계이니그머 튜링이 enigma( 수수께끼 ) 를해독하는기계 (Turing s bombe, 1940) 를만들어연합군이사용 영국 Bletchley Park Museum
컴퓨터의수학적모델을만든 앨런튜링 튜링이컬라서스 (Colossus) 컴퓨터개발에참여 케임브리지대학맥스뉴먼 (Max Newman) 교수와독일최고급정보인로렌츠텔레타이프암호해독 Lorenz SZ42 로렌츠사의암호화기계 (cipher machine) 영국 Bletchley Park Museum
토미플라워즈가설계한 컬라서스컴퓨터 Tommy Flowers (1905~1998) 진공관과 컬라서스 (Colossus, 1944) 컴퓨터설계릴레이로작동 세계최초로프로그래밍이가능한전자식컴퓨터 영국은군사첩보용비밀기계를숨기려함
에니악 (ENIAC) 컴퓨터 ENIAC (1946) University of Pennsylvani a
에니악컴퓨터 일반적으로인정하는 에니악 (ENIAC, electronic numerical integrator and calculator, 전자수치적분기및계산기, 1946) 진공관으로만든세계최초의범용전자식컴퓨터 미국펜실베이니아대학에커트 (J. Presper Eckert) 와모클리 (John Mauchly) 개발 미국방부의지원으로무기발사를위한탄도방정식을계산하는기계로설계 소프트웨어대신하드웨어로조정되는계산장치 원시적인작업형태의컴퓨터프로그래밍 전기배선, 스위치, 전기플러그의배선반과천공카드로매번작업을새로하는불편한외부프로그램방식
에니악 (ENIAC) 컴퓨터의모습 크기 (H D W) : 2.4m 0.9m 30m 면적 167 m2 ( 약 50 평 ) 무게 27t 소비전력 150kW
에니악 (ENIAC) 컴퓨터의모습 ENIAC 패널 (panel) 뒷편의진공관들 진공관 17,468 개 다이오드 7,200 개 릴레이 1,500 개 저항 70,000 개 커패시터 10,000 개 납땜 5 백만지점
에니악 (ENIAC) 컴퓨터의모습 ENIAC 의주제어패널을조작하고있는여성들
에니악은성능을제대로발휘할수없 었다 에니악의비능률적인프로그래밍방식 며칠씩걸려배선작업을새로해야 메모리없이수천개의스위치와배선반에의존 해결책은컴퓨터내부에프로그램을미리기억시키는방법 EDSAC 제작에사용될수은지연회로 (mercury delay line, RAM 이아닌 SAM 방식 ) 메모리를검사하고있는모리스윌키스
프로그램내장방식 Maurice Wilkes (1913~2010) 영국케임브리지대학의모리스윌키스 1949 년에드삭 (EDSAC) 완성 세계최초의프로그램내장방식컴퓨터 어셈블리언어와서브루틴라이브러리를최초로고안 고급언어를개발하는계기 폰노이만이개발한짧은라이브러리프로그램들모음을천공카드형태로기록해내장 1951 년마이크로프로그래밍개념발표 CPU 개발노력을획기적으로줄임
폰노이만구조 John von Neumann (1903~1957) 미국프린스턴대학폰노이만교수 자신의논문 < 에드박에대한보고서의첫번째초안, 1945> 에서폰노이만구조제안 현대적인컴퓨터의개념 프로그램내장방식과순차실행 < 전자계산기에기억장치를갖추고연산순서를부호화해기억시킨후기억된내용을순차적으로꺼내명령을해독하고연산을실행한다.> 1949 년영국 EDSAC, 1950 년미국 EDVAC 등에적용
폰노이만이만든 IAS 컴퓨터 IAS(institute for advanced study, 1952) 컴퓨터 프린스턴대학고등연구소의이름을딴컴퓨터 폰노이만구조의최종완성 그동안대부분컴퓨터의기본구조와동작원리모형 IAS 컴퓨터의특징 주기억장치, 산술논리연산장치, 프로그램제어장치, 입출력장치로구성 프로그램은기억장치에저장된순서대로실행 전송, 분기, 산술및논리등명령어타입 제어장치와연산장치에각종레지스터들포함 명령어인출과실행사이클을반복적으로수행
에니악의개발자들 상업용컴퓨터의등장 최초의컴퓨터회사에커트 - 모클리사 (1947) 1950 년에드박 (EDVAC) 에니악을프로그램내장방식으로개량 1951 년유니박원 (UNIVAC I) 최초의상업용컴퓨터 IBM 의등장 1953 년 700 시리즈발표 1960~70 년대 IBM 360, 370 은주선산기의대명사 1967 년우리나라에최초의컴퓨터도입 후지쯔파콤 (FACOM) 시리즈 : 한국생산성본부도입 IBM 컴퓨터 : 경제기획원조사통계국도입