제 2 장 컴퓨터의 등장과 발전
목차
1. 초기의 컴퓨터 발전 2. 컴퓨터의 세대별 분류 3. 컴퓨터의 분류
4. 수의 표현과 연산 5. 데이터의 표현
6. 논리 회로
초기의 계산기 인류의 역사와 더불어 인간 생활에 있어서 수와 양을 표시하 기 위한 계산 방법은 꾸준히 발전됨
2.1 초기의 컴퓨터 발전
초기 계산기의 발달 과정
2.1 초기의 컴퓨터 발전
고대의 계산 도구 : 서양에서는 원시적 수준의 주판이 기원전 3000~4000 년에 고안됨
6 세기경 로마의 철학자 보이티우스 에 의해 주판 개량됨
10 세기경 교황 실베스터 2 세에 의해 개량됨
중국의 주판은 기원전 26 세기경 개발되어 배우기 쉽고 사용이 용이하 여 아시아권에서 널리 이용됨
네이피어의 봉 : 스코틀랜드의 귀족이며 자연대수의 창시자인 네이피어가 만든 봉은 곱셈의 계산에 매우 효율적으로 개발 후 300 년간 이용됨
네이피어의 봉
파스칼의 톱니바퀴 계산기 : 17 세기 프랑스의 저명한 수학자이자 철학자인 파 스칼이 고안한 것으로 톱니바퀴의 회전원리를 이용하여 가감산을 할 수 있는 최 초의 기계식 계산기의 원형임
배비지의 분석 엔진 : 영국의 수학자인 배비지 (babage) 는 펀치로 작동되는 직기를 발명한 프랑스의 직공 재쿼드와 함께 차분엔진이라고 불리는 계산기를 연구하였다 . 차분엔진은 대수표를 계산하는 데 사용되었으며 , 나중에 기억 , 연산 , 입출력 장치 등을 갖춘 분석 엔진이라는 이름으로 더욱 포괄적인 기능의 기계가 1834 년에 고안됨
2.1 초기의 컴퓨터 발전
파스칼의 계산기 차분 엔진
•
홀러리스 (hollerith) 의 천공카드 : 천공카드는 일괄처리의 효시가 되었고 1890 년 미국 국세 조사 업무의 자료 처리에 사용된 후 1960 년대 말까지 통계와 사무처리를 비롯한 분야에 이용됨
천공카드 홀러리스 천공카드 시스템
2.1 초기의 컴퓨터 발전
ABC 컴퓨터 마크 - I
2.1 초기의 컴퓨터 발전
기계식 계산기
초기의 컴퓨터 ABC(Atanasoff-Berry Computer) :
최초의 전자식 컴퓨터로 전자식 디지털 계산기를 제작함
복잡한 계산을 수행하는 물리학자들을 돕기 위한 목적
마크 -I(mark-I) :
세계 최초의 전기 기계식 자동 계산기
배비지의 설계를 실현시킨 것으로 분석 엔진의 원리를 이용해 과학 기술 계산을 목적으로 제 작됨
제 1 세대 (1951~1958) : 데이터의 저장과 처리에 진공관 사용 , 주기 억장치에 자기 드럼 사용 , 입출력 보조기억 장치로 천공카드사용 , 프로그 램은 기계어를 사용하여 작성함2.2 컴퓨터의 세대별 분류
– 에니악 (ENIAC) : 세계 최초의 전자식 컴퓨터로 미국 육군의 탄도 궤도의 수학적 도표를 계산하기 위해 만들어짐
– 에드박 (EDVAC) : 프로그램 내장 방식 을 최초로 도입한 컴퓨터로 폰 노이만이 개발 함
– 1 세대 범용 컴퓨터 : IBM 사에서 1952 년 701 이라는 모델명을 가진 상업용 컴퓨터를 내놓은 데 이어서 1953 년에 사무용과 과학 기술용으로 함께 쓸 수
있는 범용적인 컴퓨터 IBM650 을 발표함
에니악에 사용된 진공관
제 2 세대 (1958~1963) : 회로소자로 트랜지스터를 사용 , 주기 억 장치에는 접근 시간이 짧은 자기 코어가 이용됨 , 보조기억 장치로 용량이 큰 자기 드럼 , 자기 디스크가 사용 , 입출력 장치로는 자기 테 이프와 종이 카드가 사용됨트랜지스터 UNIVAC 1107
2.2 컴퓨터의 세대별 분류
제 3 세대 (1964~1970) : 컴퓨터에 IC 를 사용함으로써 중앙처리 장치는 소형화되는 반면 기억 용량은 커졌으며 , 다양한 소프트웨어를 구사할 수 있는 기능이 크게 개선되었을 뿐만 아니라 관리 프로그램과 처리 프로그램 및 사용자 프로그램 등의 소프트웨어 체계가 확립됨 IC 개발 : 1971 년 인텔사는 최초의 초소형 전자 회로인 Intel 4004 마이크로 프로세서를 개발함 , 한 번에 4 자리 숫자의 정보를 처리함 , 손톱만한 크기의 불과 몇 볼트의 전력 만을 사용함
2.2 컴퓨터의 세대별 분류
Intel 4004
IBM S/360 : 메모리의 크기가 16KB 에서 1MB 까지 범위로 구 성된 6 대의 컴퓨터로 이루어 졌으며 시분할 방식을 사용함
PDP-11 : 1960 년 대말 대형 컴퓨터보다 작으면서도 기술 개발로 인해 성능이 별로 떨어지지 않으며 , 대학의 학과용이나 중소 기업 업 무 처리용으로 애용됨
2.2 컴퓨터의 세대별 분류
IBM 360 PDP-11
제 4 세대 (1971~ 현재 ) : 고밀도 집적 회로 (LSI) 와 초고 밀도 집적 회로 (VLSI) 를 사용 , 연산속도는 초대형 컴퓨터인 경우 피코 (pico) 초에 이르고 있으며 , 크레이 (CRAY) 란 슈퍼 컴퓨터는 현재 1 초에 백억 개 이상의 명령어를 행할 수 있는 초 고성능의 속도로 작동 중임2.2 컴퓨터의 세대별 분류
LSI 80386 의 내부 회로
Altair 8800 : 최초의 상업적인 마이크로 컴퓨터로서 대기업 이나 정부에서만 사용할 수 있었던 컴퓨터를 일반 대중도 구입 할 수 있는 길을 열었음
애플 컴퓨터 : 1977 년 스티브 잡스와 스테픈 워즈니악에 의해 만들어져 널리 시판된 최초의 마이크로 컴퓨터임
2.2 컴퓨터의 세대별 분류
Altair 8800 최초의 Apple 컴퓨터
IBM PC :
IBM 은 1981 년 개인용 컴퓨터를 발표
데스크 탑 컴퓨팅을 통하여 마이크로 컴퓨터의 표준으로 자리 매김 함
개방화 정책으로 컴퓨터 설계에 대한 모든 사항 공개함으로 IBM PC 는 호환 기종 업체들이 많이 생기게 됨
저가격의 고성능의 매력으로 IBM PC 를 이용함
2.2 컴퓨터의 세대별 분류
IBM PC XT
제 5 세대
정의 : 현재 상용화되어 있지는 않지만 앞으로 발전되어 갈 형태의 컴퓨터를 말함 . 컴퓨터 시스템은 하드웨어 , 지식중심 언어 , 인공지능 소프트웨어 , 그리고 코드화된 지식베이스로 구성됨
제 5 세대 컴퓨터용 하드웨어의 특징
1. 초고속 장치
2. 대규모 병렬처리 시스템의 구조가 필요함
3. 논리적 추론을 지원하는 연산 기능이 필요함
4. 논리 프로그래밍 , 인공지능 기법 , 그리고 병렬 처리 개념을 내포하는 추상적인 언어가 제공되어야 함
2.2 컴퓨터의 세대별 분류
사용목적에 따른 분류 특수용 컴퓨터 : 특정분야의 문제 해결이나 제한된 범위의 문제만을 처리 하기 위하여 설계되고 제작된 컴퓨터를 말함
o 이용분야
군사용 : 미사일이나 항공기의 괘도를 추적하는 일에 쓰임
사업용 : 핵반응 시설을 제어하거나 공장에서 생산공정을 제어함
업무용 : 지하철의 운행이나 개찰 , 의료 단층 촬영 등에 이용함
기타 : 항공기 및 선박의 자동 조정 장치 등에 이용함
2.3 컴퓨터의 분류
군사용 컴퓨터와 산업용 컴퓨터
– 범용 컴퓨터 : 일반적인 자료 처리는 물론 여러 분야에서 광범위하게 사용할 수 있도록 설계되고 제작된 컴퓨터를 말함
- 과학 기술에 필요한 수치 계산
- 수치해석 분야 , 선형 계획 프로그래밍 , 모의 실험 등의 기술 계 산용
- 자동차나 항공기의 설계 , 제조 , 관리
- 생산 , 판매 , 재고 , 급여 , 인사 , 회계 등의 기업업무나 행정 , 금융 업무 등의 사무 처리 분야
– 개인용 컴퓨터 : 통상 PC 라고 부르는 개인의 업무 처리용 컴퓨터를 말함 . 취미 , 오락 , 통신 , 가사 등에 이용되고 있으며 학교에서는 컴 퓨터 보조 교육에 이용하며 공공 단체나 소규모 기업에서는 업무 처리 용으로 이용함
2.3 컴퓨터의 분류
자료의 표현 방법에 의한 분류 : 컴퓨터가 취급하는 자료의 형태는 불 연속적인 성격을 가지는 이산 자료와 연속적인 표현 방법의 아날로그 자료로 나눌 수 있음2.3 컴퓨터의 분류
아날로그 컴퓨터
2.3 컴퓨터의 분류
< 표 2.4> 디지털 컴퓨터와 아날로그 컴퓨터 비교
하이브리드 (hybrid) 컴퓨터 디지털 컴퓨터와 아날로그 컴퓨터의 장점을 융합하여 만듦
변환기를 통해 아날로그 형태로 입력된 데이터를 디지털 형태로 처리 한 후에 결과는 아날로그 형태나 디지털 형태로 출력할 수 있는 특수 목적형 컴퓨터
어떠한 형태의 데이터라도 처리가 가능한 컴퓨터
2.3 컴퓨터의 분류
하이브리드 컴퓨터
처리 능력에 따른 컴퓨터 슈퍼 컴퓨터 (super) : 일반적으로 그 당시의 가장 우수한 범용 컴퓨터보다 한두 단계 앞선 최첨단 컴퓨터를 지칭함 . 우리나라에 처음 도입된 슈퍼 컴퓨터는 미국 크레이 리서치사에서 제작한
Cray 2S 이며 그 후 속도가 8 배나 빠른 세리 슈퍼컴 2 호가 도 입되어 가동됨
2.3 컴퓨터의 분류
ASCI Red 컴퓨터 Cray 2S 슈퍼 컴퓨터
대형 컴퓨터 : 통상 메인 프레임이라고 불리는 대형 컴퓨터는 1 초에 수억 개 이상의 명령어를 처리할 수 있는 고속의 컴퓨터 로서 다수의 이용자가 공유하고 사용하는 분산처리 시스템에서 주로 사용됨
2.3 컴퓨터의 분류
대형 컴퓨터 IBM 4341
미니 컴퓨터 (mini) : 다양한 주변 장치를 지원하며 일반 업무 처리도 가능한 소형 컴퓨터로 1960 년대 말 연구 , 기술 , 교 육을 목적으로 개발되었으며 가격은 저렴하지만 처리능력이나 용량 면에서 뒤지지 않음
워크스테이션 (workstation) : 슈퍼 컴퓨터와 연결되어 데 이터와 기억 장치 등을 메인 프레임과 공유하면서 업무를 처리 할 수도 있으며 특정 용도의 실시간 처리를 위해 독자적인 데이 터의 처리 , 기억 , 연산 , 제어 기능을 가지고 있음
2.3 컴퓨터의 분류
SUN 워크스테이션
마이크로 (micro) 컴퓨터 : 마이크로 프로세서를 사용하여 만든 것으로 개인용 컴퓨터 또는 PC 라고 불리며 데스크 탑이라고도 함
랩탑 (lap-top) 컴퓨터 : 랩탑 컴퓨터는 무릎에 올려 놓을 수 있 는 소형 컴퓨터로서 통상 노트북 컴퓨터라고 함 . 랩탑은 충전용 배 터리를 이용할 수 있고 이동성이 좋으며 , 기능성 또한 우수함
팜탑 (palm-top) 컴퓨터 : 팜탑 컴퓨터는 손바닥에 들어갈 만한 소형컴퓨터를 의미함
2.3 컴퓨터의 분류
랩탑 컴퓨터 팜탑 컴퓨터
PDA : 거의 온종일 이동 중에 일을 수행할 수 있는 세일즈 맨 , 보험 설계사 , 증권 주문 등의 용도에 쓰이는 것으로 언제 어디서든 편리하게 사용할 수 있음
지능정보단말기 : 현재의 PDA 보다 앞선 기술을 표방하며 고 도의 정보통신 기술을 활용하여 인간과 컴퓨터간의 친밀한 의 사 소통이 가능한 미래 지향형 컴퓨터 기술임
2.3 컴퓨터의 분류
PDA
스마트폰 : 스마트폰은 항상 들고 다니면서 인터넷을 검색하거나 메 일을 송수신하며 , 동영상과 사진 을 촬영하고 편집할 수도 있다 . 또 한 자신이 원하는 어플리케이션 ( 줄여서 ‘어플’, ‘ 앱’이라고도 한다 ) 을 골라 설치한 후 사용할 수 있다 는 특징이 있다 .2.3 컴퓨터의 분류
태플릿 (tablet) PC : 태블 릿 PC 는 터치스크린을 주입력 장 치로 사용하는 소형의 휴대형 컴 퓨터로 , 키보드나 마우스 대신 손 가락이나 터치펜으로 쉽게 조작할 수 있다 . 납작하고 편평한 ‘판 (tablet)’ 의 형상을 하고 있어서 태블릿 PC 라는 이름이 붙었다 .2.3 컴퓨터의 분류
진법과 수의 구성 10 진법 : 0~9 까지 사용하며 10 을 한 자리의 기본 단위로 하 는 진법
2 진법 : 0 과 1 의 조합으로 숫자를 표시하는 방법
8 진법 : 0~7 까지 수로 표시하는 것이 8 진법
16 진법 : 0~9 까지 그리고 A~F 까지를 사용하여 표시하는 진 법
진법 변환 관계
2.4 수의 표현과 연산
수의 표현과 연산
–
10 진수를 2 진수로 변환 – 소수를 2 진수로 변환•
수의 변환2.4 수의 표현과 연산
2.4 수의 표현과 연산
– 2 진수 , 8 진수 , 16 진수의 상호 변환 관 계
•
보수의 개념보수에는 진수를 나타내는 수인 r 의 보수와 (r-1) 의 보수가 있음
– (r-1) 의 보수 : (r-1) 의 값에서 수의 각 자리의 숫자를 빼면 (r- 1) 의 보수를 얻게 됨
– r 의 보수 : (r-1) 의 보수를 구하여 가장 낮은 자리에 1 을 더함
•
1 의 보수에 의한 뺄셈 처리 과정컴퓨터에서는 덧셈만 가능하기 때문에 뺄셈의 경우 보수를 이용하여 덧셈으로 변환하여 결과를 얻음
1. 피감수에 감수의 1 의 보수를 취하여 더함
2. 맨 윗자리에 자리 올림수가 있으면 최하위 비트에 1 을 더하고 올 림수가 없으면 결과에서 다시 1 의 보수를 취하고 –를 붙임
2.4 수의 표현과 연산
2.4 수의 표현과 연산
• 1 의 보수에 의한 뺄셈 과정
• 자리 올림수가 없는 1 의 보수에 의한 뺄셈 과정
수치 데이터 표현 비트 (bit) : 컴퓨터에서 사용하는 최소의 단위로서 0, 1 을 나타냄
바이트 (byte) : 영문 1 글자를 나타내는 단위로 8 비트로 이루어 짐
워드 (word) : 워드의 크기는 컴퓨터의 종류에 따라 2 바이트 , 4 바이트 , 8 바이트 등이 있는데 통상 4 바이트를 말함
2.5 데이터의 표현
2.5 데이터의 표현
< 표 2.5> 기억 용량의 크기 단위
고정 소수점 (fixed-point) 데이터 형식– MSB(Most Significant Bit) : 부호 비트 ( 양수 :0, 음수 :1) – 양수의 경우 정수 부분 : 10 진수를 2 진수로 변환하여 표시함 – 음수의 경우 정수 부분 : 부호와 절대값의 표현법 . 1 의 보수법이 나 2 의 보수법 중 하나를 쓰는데 보통 2 의 보수법을 많이 사용함
2.5 데이터의 표현
부동 소수점 데이터 형식2.5 데이터의 표현
– MSB : 부호 비트 ( 양수 :0, 음수 :1)
– 지수부 : 지수를 2 진수로 변환하여 표시함
– 가수부 : 소수점 안의 유효 숫자를 2 진수로 표현함 . 이때 소수점은 지수부와 가수부 사이에 있는 것으로 가정함
문자 데이터 형식 아스키 코드
(American Standard Code for Information
Interchange:ASCII) : 미국 정보 교환 표준 코드로서 미국 표준 협회가 제정한 데이터 처리 및 통신시스템 상호 간의 정보 교환용 표준 코드
구성 : 패리티비트 :1 개
존 (zone) 비트 : 3 개 (001: 숫자 , 100:A~O, 101:P~Z) 디지트 (digit) 비트 : 4 개
BCD 코드 (Binary-Coded Decimal Code) : 6 비트를 사용하여 하나 의 문자를 표시하는 방식으로 기억 장치의 단어 길이가 6 의 배수로 설계된 컴 퓨터에 적합함 . 자료 구조는 존 필드와 디지트 필드로 나뉘어 있으며 하나의 문자를 표현함
EBCDIC 코드 : 한 문자를 8 비트로 나타내며 기존의 BCD 코드를 8 비트 로 확장한 코드로 256 개의 문자까지 표현가능
2.5 데이터의 표현
한글과 한자 데이터의 표현
완성형 (KSC5601) : 한글 , 특수문자 , 숫자 한글 낱자 , 한 자 , 외국문자 등의 모양을 미리 만들어 놓고 표현하는 코드 , 메 모리를 많이 차지함 , 글자 정렬과 글자체의 모양을 좋게 할 수 있 음
조합형 : 현대 한글 음절 11,172 개 모두를 표현할 수 있는 방식 으로 초성 , 중성 , 종성을 각각 별도로 처리하여 모든 글자를 조 합해서 만들 수 있음
유니코드 (UNICODE) : 한글만을 위한 코드 체계가 아닌 전세 계 언어를 하나의 코드 체계 안으로 통합하려는 컴퓨터 업체들의 합의에 의해 만들어진 코드임 . 2 바이트를 사용하여 각 국가의 언 어를 표시할 수 있으므로 유니코드를 지원하는 프로그램이면 프로 그램 상에서 한글이나 일본어 등에 대한 별도의 처리 없이 자유롭 게 볼 수 있음
2.5 데이터의 표현
부울 대수 (Boolean Algrbra) : 영국의 조지 부울이 제창
0 과 1 의 2 진수 표현으로 명제의 참 , 거짓 전기 신 호의 유와 무 , 스위치의 ON 과 OFF 등을 표현함
논리합 , 논리곱 , 논리부정 등 3 가지 연산 기호를 사용하여 논리식 표현에 사용됨
논리회로 (Logic Circuit) : 부울 대수의 기본 연산인 논리합 , 논리곱 , 논리부정 등의 연산을 실행하기 위한 회로로서 논리 게이트
(Logic Gate) 라고도 함
2 진 정보를 취급하며 보통 2 개 이상의 입력 단자와 하나의 출력단자로 구성됨
2.6 논리 회로
2.6 논리 회로
논리합 회로 (OR gate) :논리합 회로는 논리합 (OR) 조건을 만족시키는 회로로서 다음과 같이 2 개의 조건이 있을 때 이 중 하나 이상을 만족하는 조건인데 , 입력 A 와 B 중 적어도 한쪽이 1 이면 출력 Y 가 1 이 되는 논리 회로이다 . 논리합 연 산자는‘+’로 표현한다 .
2.6 논리 회로
논리곱 회로 (AND gate) :논리곱 회로는 논리곱 (AND) 조건을 만족시키는 회로로서 다음과 같이 2 개 의 조건이 있을 때 모든 조건을 만족해야 되는 경우인데 , 입력 A 와 B 가 모두 1 인 경우에만 출력 Y 가 1 이 된다 . 논리곱 연산자는‘ ·’ 로 표현된다 .
2.6 논리 회로
논리부정 회로 (NOT gate):
논리부정 회로는 논리부정 (NOT) 조건을 만족시키는 회로로서 다음과 같 이 출력 조건이 입력 조건의 반대가 되는 경우인데 , 입력 A 가 1 이면 출 력 Y 는 0, 입력 A 가 0 이면 출력 Y 는 1 이 된다 . 논리부정 연산자는‘
 ̄’또는‘ ´’ 로 표현된다 .
2.6 논리 회로
주요 논리 회로
2.6 논리 회로
주요 논리 회로
( 계속)