강사: 주형준([email protected], 010-6317-0101) 전자계산기 일반 1.1 컴퓨터란 무엇인가? 1.2 컴퓨터 시스템의 구성 1.3 컴퓨터 시스템 1.4 컴퓨터의 발전과 분류 1.5 자료의 표현 제1장 컴퓨터와 자료 2.1 컴퓨터 구조의.

Download Report

Transcript 강사: 주형준([email protected], 010-6317-0101) 전자계산기 일반 1.1 컴퓨터란 무엇인가? 1.2 컴퓨터 시스템의 구성 1.3 컴퓨터 시스템 1.4 컴퓨터의 발전과 분류 1.5 자료의 표현 제1장 컴퓨터와 자료 2.1 컴퓨터 구조의.

Slide 1

강사: 주형준([email protected], 010-6317-0101)

전자계산기 일반

1.1 컴퓨터란 무엇인가?
1.2 컴퓨터 시스템의 구성
1.3 컴퓨터 시스템
1.4 컴퓨터의 발전과 분류
1.5 자료의 표현

제1장 컴퓨터와 자료

2

2.1 컴퓨터 구조의 개요
2.2 컴퓨터의 기본 구성
2.3 논리회로와 논리대수
2.4 조합회로와 순차회로
2.5 시스템 구성을 위한 기본 조합 회로
2.6 기억 장치
2.7 명령어와 명령어 세트
2.8 주소방식에 따른 명령어 형식
2.9 중앙처리장치: 처리장치와 제어장치
2.10 입출력장치
2.11 병렬처리

제2장 컴퓨터의 구조

3

3.1 운영체제의 개념
3.2 운영체제의 종류
3.3 주기억장치의 관리
3.4 프로세서 관리
3.5 장치와 파일 관리
3.6 분산 시스템

제3장 운영체제

4

4.1 기본 개념
4.2 배열
4.3 리스트
4.4 스택과 큐
4.5 트리
4.6 그래프
4.7 정렬 알고리즘
4.8 탐색 알고리즘

제5장 프로그래밍 언어
제6장 데이터베이스
제7장 컴퓨터 네트워크
제8장 인공지능

제4장 자료구조와 알고리즘

5

제1장 컴퓨터와 자료

6

1.1 컴퓨터란 무엇인가?
 Computer: 컴퓨터, 전자 계산기
 Compute: 계산하다

 외부에서 자료를 입력(input)받고, 입력 받은 자료를
처리(process)하고, 처리된 결과를 출력(output)하는

기계

 컴퓨터의 가장 큰 장점
 신속한 처리, 계산 결과의 정확성

7

1.2 컴퓨터 시스템의 구성
 하드웨어(H/W; hardware)





입,출력장치
기억장치
산술논리연산장치
제어장치

중앙처리장치(CPU)

 소프트웨어(S/W; software)

 시스템 소프트웨어
 운영체제(OS), 컴파일러, 각종 유틸리티, …
 응용 소프트웨어
 워드프로세서, 그래픽 프로그램, …

 자료(data)
 사용자(user)

8

컴퓨터의 발전
 파스칼의 계산기
 덧셈, 뺄셈

 라이프니츠 계산기
 사칙연산

 배비지의 해석기관
 중앙처리장치,기억장치,입력장치,출력장치

 홀러리스의 천공카드 시스템, 1889
 미국 인구 조사국에서 사용

 Mark I, 1944
 최초의 전기 기계식 계산기
9

 ENIAC(에니악), 1946





미국, 모클리와 에커트
최초의 전자계산기, 1946
진공관 사용
프로그램 외장 방식

 EDSAC(에드삭), 1949

 최초의 프로그램 내장방식 채택

 EDVAC(에드박), 1951
 UNIVAC-I(유니박)

 최초의 상용 컴퓨터
 1951년 미국 조사 통계국에서 사용
10

 인텔 4004, 1972
 최초의 마이크로 프로세서

 Altair(알테어) 8800, 1975
 기계어, 256 byte 메모리

 (1975, 빌게이츠, 마이크로소프트 창립)
 (1977, 스티브 잡스, 애플사(Apple computer) 창립)
 애플 컴퓨터 – 세계 최초의 PC, 8 비트

Apple-I과 Apple-II
11

 1978, 인텔 8086
 16비트 마이크로프로세서

 1981, IBM PC
 PC 내부 공개 IBM 호환 PC

 16비트(8088 CPU)
 MS-DOS

 1985, 80386 마이크로 프로세서 – 32비트

12

컴퓨터 세대별 구분
 제1세대: 1950년~1959년

 진공관
 주기억장치: 자기드럼, 천공카드, 기계어
 EDSAC(에드삭), UNIVAC-I

 제2세대: 1959~1965년

 트랜지스터
 주기억장치: 자기코어, 보조기억장치: 자기드럼,자기디스


 FORTRAN, COBOL, ALGOL 고급 언어 등장

 제3세대: 1965~1975년

 IC(반도체 집적회로)
 다중프로그래밍, 실시간처리시스템, 시분할 시스템
13

 제4세대: 1975~1985년
 LSI(고밀도 집적회로), VLSI(초고밀도집적회로)
 마이크로 컴퓨터 발전(PC 등장)

 제5세대: 1985년 ~ 현재
 AI(Artificial Intelligence, 인공 지능)

 퍼지 이론, 전문자 시스템, 음성 인식

14

 컴퓨터에서 사용되는 시간 단위
 ms(millisecond) : 10-3초
 µs(microsecond): 10-6초
 ns(nanosecond): 10-9초
 ps(picosecond): 10-12초
 fs(femtosecond): 10-15초
 as(attosecond): 10-18초

15

컴퓨터의 분류
 사용목적에 따른 분류
 범용(general-purpose) 컴퓨터
 여러 가지 목적으로 사용되는 일반적인 컴퓨터
 전용(special-purpose) 컴퓨터
 특정한 목적으로 사용되는 컴퓨터
 비행기 운항 조절 등

16

컴퓨터의 분류
 자료 표현 방식에 따른 분류
 디지털(digital) 컴퓨터
 컴퓨터 내부에서 자료를 디지털 신호로 표현
 이산적인 자료 처리
 우리가 사용하는 대부분의 컴퓨터
 아날로그(analog) 컴퓨터
 연속적인 자료 처리
 연속적으로 변하는 자료를 물리적인 양 그대로 입력하여 처리
하는 컴퓨터
 온도, 비행기의 연료 소모량, 달리는 차의 속도
 하이브리드 컴퓨터
 디지털과 아날로그의 장점만 따서 만든 컴퓨터
 특수한 분야에 사용

17

컴퓨터의 분류
 컴퓨터의 성능에 따른 분류(처리 능력에 따른 분류)
 슈퍼컴퓨터
 1초에 1조 개 이상의 명령어 처리(부동소숫점 산술 연산)
 현존하는 가장 강력한 성능의 컴퓨터
 대형컴퓨터
 메인 프레임(mainframe)
 대기업, 금융기관에서 주로 사용
 1초에 수억 개 이상의 명령어를 처리
 미니컴퓨터
 (중형컴퓨터)
 다수의 터미널 지원, 다중 사용자 환경에서 사용
 워크스테이션
 마이크로 컴퓨터와 미니 컴퓨터의 중간 정도의 성능
 마이크로 컴퓨터
 마이크로프로세서를 사용해서 만든 컴퓨터
 개인용 컴퓨터(PC)

18

19

자료의 표현
 숫자 자료의 표현
 고정 소수점 표현
 부동 소숫점 표현

 문자 자료의 표현
 ASCII 코드
 EBCDIC 코드
 BCD 코드

 Unicode

20

자료의 표현
 자료 표현의 단위
 Bit(비트; binary digit)
 2진수
 0 또는 1, 2가지 상태를 표현
 Byte(바이트)
 문자를 표현
 보통 8 bit가 모여서 1 byte가 됨

 Word(워드)
 연산 처리의 기본 단위
 보통 4 byte가 모여서 1 word가 됨(32 비트 시스템)

21

자료의 표현
 컴퓨터의 용량을 표현하는 단위
 1 bit
 1 byte = 8 bit
 1 KB(kilo byte):210 = 1024 byte ≈ 103 byte

 1 MB(mega byte): 220 = 1 KB x 1024 ≈ 106 byte
 1 GB(giga byte): 230 = 1 MB x 1024 ≈ 109 byte
 1 TB(tera byte): 240 = 1 GB x 1024 ≈ 1012 byte

 1 PB(peta bate): 250 = 1 TB x 1024 ≈ 1015 byte

22

자료의 표현
 진법
 디지털 컴퓨터에서는 2진법이 기본
 8,16진법은 2진법 관계가 있다.
 인간은 10진법을 주로 사용한다.

 2진법

 0,1만으로 수를 표현

 8진법

 0,1,2,..7로 수를 표현

 10진법

 0,1,2,3,…9로 수를 표현

 16진법

 0,1,2,3,…9,A,B,C,D,E,F로 수를 표현
23

 2,8,16진법(2,8,16진수)

10진수

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

2진수

0
1
10
11
100
101
110
111
1000
1001
1010
1011
1100
1101
1110
1111
10000

8진수

0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20

16진수

0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
10

24

자료의 표현
 10진수를 2진수로 변환
 2진수를 10진수로 변환
 2진수와 8,16진수의 관계
 2진수 3자리  8진수 1자리
 2진수 4자리  16진수 1자리

 2진수를 8진수,10진수, 16진수로 변환
 8진수를 2진수, 16진수, 10진수로 변환
 16진수를 2진수, 8진수, 16진수로 변환
25

 34

 ( 100010
 ( 42
 ( 22

)2
)8
)16

 34.625

 ( 100010.101 )2
 ( 42.5
)8
 ( 42.A
)16

26

자료 표현
 고정 소수점 표현
 정수를 표현할 때 사용된다.
 부호없는 수의 표현

 부호를 표기하지 않는다.
 표현 범위: 0 ~ 2n-1
 부호 있는 정수의 표현(음수의 표현 방식)

 부호와 절대치(부호와 크기 )
 1의 보수
 2의 보수

27

고정 소수점 표현
 부호와 절대치(크기) 방식
 최상위 1비트로 부호를 표기(양수:0, 음수 1)
 나머지 부분에 수를 절대값으로 표현
 +0, -0이 존재

 1의 보수 방식

 양의 정수에 대한 보수로 음수를 표현
 +0, -0이 존재한다.

 2의 보수 방식

 1의 보수에 1을 더해서 표현한다.
 -0이 없으므로, 음수를 하나 더 표현할 수 있다.
 일반적으로 가장 많이 사용한다.

 양수는 위의 3가지 방식이 모두 동일
28

부동 소수점 표현
 부동 소수점 표현
 실수를 표현하는 방식이다.
 단정도(4 byte), 배정도(8 byte)로 표현한다.
 부호부, 지수부, 가수부로 나누어서 표현한다.

단정도
부호 지수
1비트

8 비트

가수
-- 지수 (초과 127)

23비트

배정도
부호

지수

가수

1비트 11 비트

52비트

-- 지수(초과 1023)

29

자료 표현
 문자 표현

 ASCII 코드
 American Standard Code for Information Interchange
 미국 표준협회에서 제정한 정보 교환용 코드
 7비트(또는 8비트)로 1문자를 표현
 128문자(27) 또는 258문자(28)를 표현
 Unicode
 2바이트로 1문자를 표현
 전 세계의 모든 문자를 동일한 방식으로 표현
 EBCDIC(Extended Binary Coded Decimal Interchange Code;

확장된 BCD 코드)

 IBM 대형 기종에서 사용, 8 bit = 1문자

 BCD 코드
 4비트로 숫자1개를 표현

30

연습문제
2. 십진수 53.625를 8진수와 16진수로 각각 올바르
게 표현한 것은?
① 65.5 35.A ② 65.7 35.A
③ 65.5 35.b ④ 65.7 35.b

31

3. 8비트를 사용해서 표현된 정수의 비트 패턴이
10000000이다. 주어진 비트 패턴의 값을 정수
로 해석할 때, 다음 중 가장 작을 값을 나타내
는 정수의 표현 방법은?
① 부호와-크기 방법
③ 2의 보수

② 1의 보수
④ 부동소수점

32

4. 531.74(8)를 16진법의 표현으로 알맞게 나타
낸 것은?
① 159.F
③ 159.3C

② AC1.3C
④ AC1.F

33

5. 다음 중에서 가장 큰 수는 어떤 진법으로 표현
된 수인가?
(227)10 (343)8 (11100101)2 (E7)16
① 10진법
③ 2진법

② 8진법
④ 16진법

34

주관식
다음 물음에 답하시오
(1) 십진수 23.125를 2진수로 변환하시오.
(2) 이진수 100101.1001을 8, 10, 16진수로 변
환하시오.
(3) 16진수 ABC.6A를 2진수와 8진수로 변환하
시오.

35


Slide 2

강사: 주형준([email protected], 010-6317-0101)

전자계산기 일반

1.1 컴퓨터란 무엇인가?
1.2 컴퓨터 시스템의 구성
1.3 컴퓨터 시스템
1.4 컴퓨터의 발전과 분류
1.5 자료의 표현

제1장 컴퓨터와 자료

2

2.1 컴퓨터 구조의 개요
2.2 컴퓨터의 기본 구성
2.3 논리회로와 논리대수
2.4 조합회로와 순차회로
2.5 시스템 구성을 위한 기본 조합 회로
2.6 기억 장치
2.7 명령어와 명령어 세트
2.8 주소방식에 따른 명령어 형식
2.9 중앙처리장치: 처리장치와 제어장치
2.10 입출력장치
2.11 병렬처리

제2장 컴퓨터의 구조

3

3.1 운영체제의 개념
3.2 운영체제의 종류
3.3 주기억장치의 관리
3.4 프로세서 관리
3.5 장치와 파일 관리
3.6 분산 시스템

제3장 운영체제

4

4.1 기본 개념
4.2 배열
4.3 리스트
4.4 스택과 큐
4.5 트리
4.6 그래프
4.7 정렬 알고리즘
4.8 탐색 알고리즘

제5장 프로그래밍 언어
제6장 데이터베이스
제7장 컴퓨터 네트워크
제8장 인공지능

제4장 자료구조와 알고리즘

5

제1장 컴퓨터와 자료

6

1.1 컴퓨터란 무엇인가?
 Computer: 컴퓨터, 전자 계산기
 Compute: 계산하다

 외부에서 자료를 입력(input)받고, 입력 받은 자료를
처리(process)하고, 처리된 결과를 출력(output)하는

기계

 컴퓨터의 가장 큰 장점
 신속한 처리, 계산 결과의 정확성

7

1.2 컴퓨터 시스템의 구성
 하드웨어(H/W; hardware)





입,출력장치
기억장치
산술논리연산장치
제어장치

중앙처리장치(CPU)

 소프트웨어(S/W; software)

 시스템 소프트웨어
 운영체제(OS), 컴파일러, 각종 유틸리티, …
 응용 소프트웨어
 워드프로세서, 그래픽 프로그램, …

 자료(data)
 사용자(user)

8

컴퓨터의 발전
 파스칼의 계산기
 덧셈, 뺄셈

 라이프니츠 계산기
 사칙연산

 배비지의 해석기관
 중앙처리장치,기억장치,입력장치,출력장치

 홀러리스의 천공카드 시스템, 1889
 미국 인구 조사국에서 사용

 Mark I, 1944
 최초의 전기 기계식 계산기
9

 ENIAC(에니악), 1946





미국, 모클리와 에커트
최초의 전자계산기, 1946
진공관 사용
프로그램 외장 방식

 EDSAC(에드삭), 1949

 최초의 프로그램 내장방식 채택

 EDVAC(에드박), 1951
 UNIVAC-I(유니박)

 최초의 상용 컴퓨터
 1951년 미국 조사 통계국에서 사용
10

 인텔 4004, 1972
 최초의 마이크로 프로세서

 Altair(알테어) 8800, 1975
 기계어, 256 byte 메모리

 (1975, 빌게이츠, 마이크로소프트 창립)
 (1977, 스티브 잡스, 애플사(Apple computer) 창립)
 애플 컴퓨터 – 세계 최초의 PC, 8 비트

Apple-I과 Apple-II
11

 1978, 인텔 8086
 16비트 마이크로프로세서

 1981, IBM PC
 PC 내부 공개 IBM 호환 PC

 16비트(8088 CPU)
 MS-DOS

 1985, 80386 마이크로 프로세서 – 32비트

12

컴퓨터 세대별 구분
 제1세대: 1950년~1959년

 진공관
 주기억장치: 자기드럼, 천공카드, 기계어
 EDSAC(에드삭), UNIVAC-I

 제2세대: 1959~1965년

 트랜지스터
 주기억장치: 자기코어, 보조기억장치: 자기드럼,자기디스


 FORTRAN, COBOL, ALGOL 고급 언어 등장

 제3세대: 1965~1975년

 IC(반도체 집적회로)
 다중프로그래밍, 실시간처리시스템, 시분할 시스템
13

 제4세대: 1975~1985년
 LSI(고밀도 집적회로), VLSI(초고밀도집적회로)
 마이크로 컴퓨터 발전(PC 등장)

 제5세대: 1985년 ~ 현재
 AI(Artificial Intelligence, 인공 지능)

 퍼지 이론, 전문자 시스템, 음성 인식

14

 컴퓨터에서 사용되는 시간 단위
 ms(millisecond) : 10-3초
 µs(microsecond): 10-6초
 ns(nanosecond): 10-9초
 ps(picosecond): 10-12초
 fs(femtosecond): 10-15초
 as(attosecond): 10-18초

15

컴퓨터의 분류
 사용목적에 따른 분류
 범용(general-purpose) 컴퓨터
 여러 가지 목적으로 사용되는 일반적인 컴퓨터
 전용(special-purpose) 컴퓨터
 특정한 목적으로 사용되는 컴퓨터
 비행기 운항 조절 등

16

컴퓨터의 분류
 자료 표현 방식에 따른 분류
 디지털(digital) 컴퓨터
 컴퓨터 내부에서 자료를 디지털 신호로 표현
 이산적인 자료 처리
 우리가 사용하는 대부분의 컴퓨터
 아날로그(analog) 컴퓨터
 연속적인 자료 처리
 연속적으로 변하는 자료를 물리적인 양 그대로 입력하여 처리
하는 컴퓨터
 온도, 비행기의 연료 소모량, 달리는 차의 속도
 하이브리드 컴퓨터
 디지털과 아날로그의 장점만 따서 만든 컴퓨터
 특수한 분야에 사용

17

컴퓨터의 분류
 컴퓨터의 성능에 따른 분류(처리 능력에 따른 분류)
 슈퍼컴퓨터
 1초에 1조 개 이상의 명령어 처리(부동소숫점 산술 연산)
 현존하는 가장 강력한 성능의 컴퓨터
 대형컴퓨터
 메인 프레임(mainframe)
 대기업, 금융기관에서 주로 사용
 1초에 수억 개 이상의 명령어를 처리
 미니컴퓨터
 (중형컴퓨터)
 다수의 터미널 지원, 다중 사용자 환경에서 사용
 워크스테이션
 마이크로 컴퓨터와 미니 컴퓨터의 중간 정도의 성능
 마이크로 컴퓨터
 마이크로프로세서를 사용해서 만든 컴퓨터
 개인용 컴퓨터(PC)

18

19

자료의 표현
 숫자 자료의 표현
 고정 소수점 표현
 부동 소숫점 표현

 문자 자료의 표현
 ASCII 코드
 EBCDIC 코드
 BCD 코드

 Unicode

20

자료의 표현
 자료 표현의 단위
 Bit(비트; binary digit)
 2진수
 0 또는 1, 2가지 상태를 표현
 Byte(바이트)
 문자를 표현
 보통 8 bit가 모여서 1 byte가 됨

 Word(워드)
 연산 처리의 기본 단위
 보통 4 byte가 모여서 1 word가 됨(32 비트 시스템)

21

자료의 표현
 컴퓨터의 용량을 표현하는 단위
 1 bit
 1 byte = 8 bit
 1 KB(kilo byte):210 = 1024 byte ≈ 103 byte

 1 MB(mega byte): 220 = 1 KB x 1024 ≈ 106 byte
 1 GB(giga byte): 230 = 1 MB x 1024 ≈ 109 byte
 1 TB(tera byte): 240 = 1 GB x 1024 ≈ 1012 byte

 1 PB(peta bate): 250 = 1 TB x 1024 ≈ 1015 byte

22

자료의 표현
 진법
 디지털 컴퓨터에서는 2진법이 기본
 8,16진법은 2진법 관계가 있다.
 인간은 10진법을 주로 사용한다.

 2진법

 0,1만으로 수를 표현

 8진법

 0,1,2,..7로 수를 표현

 10진법

 0,1,2,3,…9로 수를 표현

 16진법

 0,1,2,3,…9,A,B,C,D,E,F로 수를 표현
23

 2,8,16진법(2,8,16진수)

10진수

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

2진수

0
1
10
11
100
101
110
111
1000
1001
1010
1011
1100
1101
1110
1111
10000

8진수

0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20

16진수

0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
10

24

자료의 표현
 10진수를 2진수로 변환
 2진수를 10진수로 변환
 2진수와 8,16진수의 관계
 2진수 3자리  8진수 1자리
 2진수 4자리  16진수 1자리

 2진수를 8진수,10진수, 16진수로 변환
 8진수를 2진수, 16진수, 10진수로 변환
 16진수를 2진수, 8진수, 16진수로 변환
25

 34

 ( 100010
 ( 42
 ( 22

)2
)8
)16

 34.625

 ( 100010.101 )2
 ( 42.5
)8
 ( 42.A
)16

26

자료 표현
 고정 소수점 표현
 정수를 표현할 때 사용된다.
 부호없는 수의 표현

 부호를 표기하지 않는다.
 표현 범위: 0 ~ 2n-1
 부호 있는 정수의 표현(음수의 표현 방식)

 부호와 절대치(부호와 크기 )
 1의 보수
 2의 보수

27

고정 소수점 표현
 부호와 절대치(크기) 방식
 최상위 1비트로 부호를 표기(양수:0, 음수 1)
 나머지 부분에 수를 절대값으로 표현
 +0, -0이 존재

 1의 보수 방식

 양의 정수에 대한 보수로 음수를 표현
 +0, -0이 존재한다.

 2의 보수 방식

 1의 보수에 1을 더해서 표현한다.
 -0이 없으므로, 음수를 하나 더 표현할 수 있다.
 일반적으로 가장 많이 사용한다.

 양수는 위의 3가지 방식이 모두 동일
28

부동 소수점 표현
 부동 소수점 표현
 실수를 표현하는 방식이다.
 단정도(4 byte), 배정도(8 byte)로 표현한다.
 부호부, 지수부, 가수부로 나누어서 표현한다.

단정도
부호 지수
1비트

8 비트

가수
-- 지수 (초과 127)

23비트

배정도
부호

지수

가수

1비트 11 비트

52비트

-- 지수(초과 1023)

29

자료 표현
 문자 표현

 ASCII 코드
 American Standard Code for Information Interchange
 미국 표준협회에서 제정한 정보 교환용 코드
 7비트(또는 8비트)로 1문자를 표현
 128문자(27) 또는 258문자(28)를 표현
 Unicode
 2바이트로 1문자를 표현
 전 세계의 모든 문자를 동일한 방식으로 표현
 EBCDIC(Extended Binary Coded Decimal Interchange Code;

확장된 BCD 코드)

 IBM 대형 기종에서 사용, 8 bit = 1문자

 BCD 코드
 4비트로 숫자1개를 표현

30

연습문제
2. 십진수 53.625를 8진수와 16진수로 각각 올바르
게 표현한 것은?
① 65.5 35.A ② 65.7 35.A
③ 65.5 35.b ④ 65.7 35.b

31

3. 8비트를 사용해서 표현된 정수의 비트 패턴이
10000000이다. 주어진 비트 패턴의 값을 정수
로 해석할 때, 다음 중 가장 작을 값을 나타내
는 정수의 표현 방법은?
① 부호와-크기 방법
③ 2의 보수

② 1의 보수
④ 부동소수점

32

4. 531.74(8)를 16진법의 표현으로 알맞게 나타
낸 것은?
① 159.F
③ 159.3C

② AC1.3C
④ AC1.F

33

5. 다음 중에서 가장 큰 수는 어떤 진법으로 표현
된 수인가?
(227)10 (343)8 (11100101)2 (E7)16
① 10진법
③ 2진법

② 8진법
④ 16진법

34

주관식
다음 물음에 답하시오
(1) 십진수 23.125를 2진수로 변환하시오.
(2) 이진수 100101.1001을 8, 10, 16진수로 변
환하시오.
(3) 16진수 ABC.6A를 2진수와 8진수로 변환하
시오.

35


Slide 3

강사: 주형준([email protected], 010-6317-0101)

전자계산기 일반

1.1 컴퓨터란 무엇인가?
1.2 컴퓨터 시스템의 구성
1.3 컴퓨터 시스템
1.4 컴퓨터의 발전과 분류
1.5 자료의 표현

제1장 컴퓨터와 자료

2

2.1 컴퓨터 구조의 개요
2.2 컴퓨터의 기본 구성
2.3 논리회로와 논리대수
2.4 조합회로와 순차회로
2.5 시스템 구성을 위한 기본 조합 회로
2.6 기억 장치
2.7 명령어와 명령어 세트
2.8 주소방식에 따른 명령어 형식
2.9 중앙처리장치: 처리장치와 제어장치
2.10 입출력장치
2.11 병렬처리

제2장 컴퓨터의 구조

3

3.1 운영체제의 개념
3.2 운영체제의 종류
3.3 주기억장치의 관리
3.4 프로세서 관리
3.5 장치와 파일 관리
3.6 분산 시스템

제3장 운영체제

4

4.1 기본 개념
4.2 배열
4.3 리스트
4.4 스택과 큐
4.5 트리
4.6 그래프
4.7 정렬 알고리즘
4.8 탐색 알고리즘

제5장 프로그래밍 언어
제6장 데이터베이스
제7장 컴퓨터 네트워크
제8장 인공지능

제4장 자료구조와 알고리즘

5

제1장 컴퓨터와 자료

6

1.1 컴퓨터란 무엇인가?
 Computer: 컴퓨터, 전자 계산기
 Compute: 계산하다

 외부에서 자료를 입력(input)받고, 입력 받은 자료를
처리(process)하고, 처리된 결과를 출력(output)하는

기계

 컴퓨터의 가장 큰 장점
 신속한 처리, 계산 결과의 정확성

7

1.2 컴퓨터 시스템의 구성
 하드웨어(H/W; hardware)





입,출력장치
기억장치
산술논리연산장치
제어장치

중앙처리장치(CPU)

 소프트웨어(S/W; software)

 시스템 소프트웨어
 운영체제(OS), 컴파일러, 각종 유틸리티, …
 응용 소프트웨어
 워드프로세서, 그래픽 프로그램, …

 자료(data)
 사용자(user)

8

컴퓨터의 발전
 파스칼의 계산기
 덧셈, 뺄셈

 라이프니츠 계산기
 사칙연산

 배비지의 해석기관
 중앙처리장치,기억장치,입력장치,출력장치

 홀러리스의 천공카드 시스템, 1889
 미국 인구 조사국에서 사용

 Mark I, 1944
 최초의 전기 기계식 계산기
9

 ENIAC(에니악), 1946





미국, 모클리와 에커트
최초의 전자계산기, 1946
진공관 사용
프로그램 외장 방식

 EDSAC(에드삭), 1949

 최초의 프로그램 내장방식 채택

 EDVAC(에드박), 1951
 UNIVAC-I(유니박)

 최초의 상용 컴퓨터
 1951년 미국 조사 통계국에서 사용
10

 인텔 4004, 1972
 최초의 마이크로 프로세서

 Altair(알테어) 8800, 1975
 기계어, 256 byte 메모리

 (1975, 빌게이츠, 마이크로소프트 창립)
 (1977, 스티브 잡스, 애플사(Apple computer) 창립)
 애플 컴퓨터 – 세계 최초의 PC, 8 비트

Apple-I과 Apple-II
11

 1978, 인텔 8086
 16비트 마이크로프로세서

 1981, IBM PC
 PC 내부 공개 IBM 호환 PC

 16비트(8088 CPU)
 MS-DOS

 1985, 80386 마이크로 프로세서 – 32비트

12

컴퓨터 세대별 구분
 제1세대: 1950년~1959년

 진공관
 주기억장치: 자기드럼, 천공카드, 기계어
 EDSAC(에드삭), UNIVAC-I

 제2세대: 1959~1965년

 트랜지스터
 주기억장치: 자기코어, 보조기억장치: 자기드럼,자기디스


 FORTRAN, COBOL, ALGOL 고급 언어 등장

 제3세대: 1965~1975년

 IC(반도체 집적회로)
 다중프로그래밍, 실시간처리시스템, 시분할 시스템
13

 제4세대: 1975~1985년
 LSI(고밀도 집적회로), VLSI(초고밀도집적회로)
 마이크로 컴퓨터 발전(PC 등장)

 제5세대: 1985년 ~ 현재
 AI(Artificial Intelligence, 인공 지능)

 퍼지 이론, 전문자 시스템, 음성 인식

14

 컴퓨터에서 사용되는 시간 단위
 ms(millisecond) : 10-3초
 µs(microsecond): 10-6초
 ns(nanosecond): 10-9초
 ps(picosecond): 10-12초
 fs(femtosecond): 10-15초
 as(attosecond): 10-18초

15

컴퓨터의 분류
 사용목적에 따른 분류
 범용(general-purpose) 컴퓨터
 여러 가지 목적으로 사용되는 일반적인 컴퓨터
 전용(special-purpose) 컴퓨터
 특정한 목적으로 사용되는 컴퓨터
 비행기 운항 조절 등

16

컴퓨터의 분류
 자료 표현 방식에 따른 분류
 디지털(digital) 컴퓨터
 컴퓨터 내부에서 자료를 디지털 신호로 표현
 이산적인 자료 처리
 우리가 사용하는 대부분의 컴퓨터
 아날로그(analog) 컴퓨터
 연속적인 자료 처리
 연속적으로 변하는 자료를 물리적인 양 그대로 입력하여 처리
하는 컴퓨터
 온도, 비행기의 연료 소모량, 달리는 차의 속도
 하이브리드 컴퓨터
 디지털과 아날로그의 장점만 따서 만든 컴퓨터
 특수한 분야에 사용

17

컴퓨터의 분류
 컴퓨터의 성능에 따른 분류(처리 능력에 따른 분류)
 슈퍼컴퓨터
 1초에 1조 개 이상의 명령어 처리(부동소숫점 산술 연산)
 현존하는 가장 강력한 성능의 컴퓨터
 대형컴퓨터
 메인 프레임(mainframe)
 대기업, 금융기관에서 주로 사용
 1초에 수억 개 이상의 명령어를 처리
 미니컴퓨터
 (중형컴퓨터)
 다수의 터미널 지원, 다중 사용자 환경에서 사용
 워크스테이션
 마이크로 컴퓨터와 미니 컴퓨터의 중간 정도의 성능
 마이크로 컴퓨터
 마이크로프로세서를 사용해서 만든 컴퓨터
 개인용 컴퓨터(PC)

18

19

자료의 표현
 숫자 자료의 표현
 고정 소수점 표현
 부동 소숫점 표현

 문자 자료의 표현
 ASCII 코드
 EBCDIC 코드
 BCD 코드

 Unicode

20

자료의 표현
 자료 표현의 단위
 Bit(비트; binary digit)
 2진수
 0 또는 1, 2가지 상태를 표현
 Byte(바이트)
 문자를 표현
 보통 8 bit가 모여서 1 byte가 됨

 Word(워드)
 연산 처리의 기본 단위
 보통 4 byte가 모여서 1 word가 됨(32 비트 시스템)

21

자료의 표현
 컴퓨터의 용량을 표현하는 단위
 1 bit
 1 byte = 8 bit
 1 KB(kilo byte):210 = 1024 byte ≈ 103 byte

 1 MB(mega byte): 220 = 1 KB x 1024 ≈ 106 byte
 1 GB(giga byte): 230 = 1 MB x 1024 ≈ 109 byte
 1 TB(tera byte): 240 = 1 GB x 1024 ≈ 1012 byte

 1 PB(peta bate): 250 = 1 TB x 1024 ≈ 1015 byte

22

자료의 표현
 진법
 디지털 컴퓨터에서는 2진법이 기본
 8,16진법은 2진법 관계가 있다.
 인간은 10진법을 주로 사용한다.

 2진법

 0,1만으로 수를 표현

 8진법

 0,1,2,..7로 수를 표현

 10진법

 0,1,2,3,…9로 수를 표현

 16진법

 0,1,2,3,…9,A,B,C,D,E,F로 수를 표현
23

 2,8,16진법(2,8,16진수)

10진수

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

2진수

0
1
10
11
100
101
110
111
1000
1001
1010
1011
1100
1101
1110
1111
10000

8진수

0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20

16진수

0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
10

24

자료의 표현
 10진수를 2진수로 변환
 2진수를 10진수로 변환
 2진수와 8,16진수의 관계
 2진수 3자리  8진수 1자리
 2진수 4자리  16진수 1자리

 2진수를 8진수,10진수, 16진수로 변환
 8진수를 2진수, 16진수, 10진수로 변환
 16진수를 2진수, 8진수, 16진수로 변환
25

 34

 ( 100010
 ( 42
 ( 22

)2
)8
)16

 34.625

 ( 100010.101 )2
 ( 42.5
)8
 ( 42.A
)16

26

자료 표현
 고정 소수점 표현
 정수를 표현할 때 사용된다.
 부호없는 수의 표현

 부호를 표기하지 않는다.
 표현 범위: 0 ~ 2n-1
 부호 있는 정수의 표현(음수의 표현 방식)

 부호와 절대치(부호와 크기 )
 1의 보수
 2의 보수

27

고정 소수점 표현
 부호와 절대치(크기) 방식
 최상위 1비트로 부호를 표기(양수:0, 음수 1)
 나머지 부분에 수를 절대값으로 표현
 +0, -0이 존재

 1의 보수 방식

 양의 정수에 대한 보수로 음수를 표현
 +0, -0이 존재한다.

 2의 보수 방식

 1의 보수에 1을 더해서 표현한다.
 -0이 없으므로, 음수를 하나 더 표현할 수 있다.
 일반적으로 가장 많이 사용한다.

 양수는 위의 3가지 방식이 모두 동일
28

부동 소수점 표현
 부동 소수점 표현
 실수를 표현하는 방식이다.
 단정도(4 byte), 배정도(8 byte)로 표현한다.
 부호부, 지수부, 가수부로 나누어서 표현한다.

단정도
부호 지수
1비트

8 비트

가수
-- 지수 (초과 127)

23비트

배정도
부호

지수

가수

1비트 11 비트

52비트

-- 지수(초과 1023)

29

자료 표현
 문자 표현

 ASCII 코드
 American Standard Code for Information Interchange
 미국 표준협회에서 제정한 정보 교환용 코드
 7비트(또는 8비트)로 1문자를 표현
 128문자(27) 또는 258문자(28)를 표현
 Unicode
 2바이트로 1문자를 표현
 전 세계의 모든 문자를 동일한 방식으로 표현
 EBCDIC(Extended Binary Coded Decimal Interchange Code;

확장된 BCD 코드)

 IBM 대형 기종에서 사용, 8 bit = 1문자

 BCD 코드
 4비트로 숫자1개를 표현

30

연습문제
2. 십진수 53.625를 8진수와 16진수로 각각 올바르
게 표현한 것은?
① 65.5 35.A ② 65.7 35.A
③ 65.5 35.b ④ 65.7 35.b

31

3. 8비트를 사용해서 표현된 정수의 비트 패턴이
10000000이다. 주어진 비트 패턴의 값을 정수
로 해석할 때, 다음 중 가장 작을 값을 나타내
는 정수의 표현 방법은?
① 부호와-크기 방법
③ 2의 보수

② 1의 보수
④ 부동소수점

32

4. 531.74(8)를 16진법의 표현으로 알맞게 나타
낸 것은?
① 159.F
③ 159.3C

② AC1.3C
④ AC1.F

33

5. 다음 중에서 가장 큰 수는 어떤 진법으로 표현
된 수인가?
(227)10 (343)8 (11100101)2 (E7)16
① 10진법
③ 2진법

② 8진법
④ 16진법

34

주관식
다음 물음에 답하시오
(1) 십진수 23.125를 2진수로 변환하시오.
(2) 이진수 100101.1001을 8, 10, 16진수로 변
환하시오.
(3) 16진수 ABC.6A를 2진수와 8진수로 변환하
시오.

35


Slide 4

강사: 주형준([email protected], 010-6317-0101)

전자계산기 일반

1.1 컴퓨터란 무엇인가?
1.2 컴퓨터 시스템의 구성
1.3 컴퓨터 시스템
1.4 컴퓨터의 발전과 분류
1.5 자료의 표현

제1장 컴퓨터와 자료

2

2.1 컴퓨터 구조의 개요
2.2 컴퓨터의 기본 구성
2.3 논리회로와 논리대수
2.4 조합회로와 순차회로
2.5 시스템 구성을 위한 기본 조합 회로
2.6 기억 장치
2.7 명령어와 명령어 세트
2.8 주소방식에 따른 명령어 형식
2.9 중앙처리장치: 처리장치와 제어장치
2.10 입출력장치
2.11 병렬처리

제2장 컴퓨터의 구조

3

3.1 운영체제의 개념
3.2 운영체제의 종류
3.3 주기억장치의 관리
3.4 프로세서 관리
3.5 장치와 파일 관리
3.6 분산 시스템

제3장 운영체제

4

4.1 기본 개념
4.2 배열
4.3 리스트
4.4 스택과 큐
4.5 트리
4.6 그래프
4.7 정렬 알고리즘
4.8 탐색 알고리즘

제5장 프로그래밍 언어
제6장 데이터베이스
제7장 컴퓨터 네트워크
제8장 인공지능

제4장 자료구조와 알고리즘

5

제1장 컴퓨터와 자료

6

1.1 컴퓨터란 무엇인가?
 Computer: 컴퓨터, 전자 계산기
 Compute: 계산하다

 외부에서 자료를 입력(input)받고, 입력 받은 자료를
처리(process)하고, 처리된 결과를 출력(output)하는

기계

 컴퓨터의 가장 큰 장점
 신속한 처리, 계산 결과의 정확성

7

1.2 컴퓨터 시스템의 구성
 하드웨어(H/W; hardware)





입,출력장치
기억장치
산술논리연산장치
제어장치

중앙처리장치(CPU)

 소프트웨어(S/W; software)

 시스템 소프트웨어
 운영체제(OS), 컴파일러, 각종 유틸리티, …
 응용 소프트웨어
 워드프로세서, 그래픽 프로그램, …

 자료(data)
 사용자(user)

8

컴퓨터의 발전
 파스칼의 계산기
 덧셈, 뺄셈

 라이프니츠 계산기
 사칙연산

 배비지의 해석기관
 중앙처리장치,기억장치,입력장치,출력장치

 홀러리스의 천공카드 시스템, 1889
 미국 인구 조사국에서 사용

 Mark I, 1944
 최초의 전기 기계식 계산기
9

 ENIAC(에니악), 1946





미국, 모클리와 에커트
최초의 전자계산기, 1946
진공관 사용
프로그램 외장 방식

 EDSAC(에드삭), 1949

 최초의 프로그램 내장방식 채택

 EDVAC(에드박), 1951
 UNIVAC-I(유니박)

 최초의 상용 컴퓨터
 1951년 미국 조사 통계국에서 사용
10

 인텔 4004, 1972
 최초의 마이크로 프로세서

 Altair(알테어) 8800, 1975
 기계어, 256 byte 메모리

 (1975, 빌게이츠, 마이크로소프트 창립)
 (1977, 스티브 잡스, 애플사(Apple computer) 창립)
 애플 컴퓨터 – 세계 최초의 PC, 8 비트

Apple-I과 Apple-II
11

 1978, 인텔 8086
 16비트 마이크로프로세서

 1981, IBM PC
 PC 내부 공개 IBM 호환 PC

 16비트(8088 CPU)
 MS-DOS

 1985, 80386 마이크로 프로세서 – 32비트

12

컴퓨터 세대별 구분
 제1세대: 1950년~1959년

 진공관
 주기억장치: 자기드럼, 천공카드, 기계어
 EDSAC(에드삭), UNIVAC-I

 제2세대: 1959~1965년

 트랜지스터
 주기억장치: 자기코어, 보조기억장치: 자기드럼,자기디스


 FORTRAN, COBOL, ALGOL 고급 언어 등장

 제3세대: 1965~1975년

 IC(반도체 집적회로)
 다중프로그래밍, 실시간처리시스템, 시분할 시스템
13

 제4세대: 1975~1985년
 LSI(고밀도 집적회로), VLSI(초고밀도집적회로)
 마이크로 컴퓨터 발전(PC 등장)

 제5세대: 1985년 ~ 현재
 AI(Artificial Intelligence, 인공 지능)

 퍼지 이론, 전문자 시스템, 음성 인식

14

 컴퓨터에서 사용되는 시간 단위
 ms(millisecond) : 10-3초
 µs(microsecond): 10-6초
 ns(nanosecond): 10-9초
 ps(picosecond): 10-12초
 fs(femtosecond): 10-15초
 as(attosecond): 10-18초

15

컴퓨터의 분류
 사용목적에 따른 분류
 범용(general-purpose) 컴퓨터
 여러 가지 목적으로 사용되는 일반적인 컴퓨터
 전용(special-purpose) 컴퓨터
 특정한 목적으로 사용되는 컴퓨터
 비행기 운항 조절 등

16

컴퓨터의 분류
 자료 표현 방식에 따른 분류
 디지털(digital) 컴퓨터
 컴퓨터 내부에서 자료를 디지털 신호로 표현
 이산적인 자료 처리
 우리가 사용하는 대부분의 컴퓨터
 아날로그(analog) 컴퓨터
 연속적인 자료 처리
 연속적으로 변하는 자료를 물리적인 양 그대로 입력하여 처리
하는 컴퓨터
 온도, 비행기의 연료 소모량, 달리는 차의 속도
 하이브리드 컴퓨터
 디지털과 아날로그의 장점만 따서 만든 컴퓨터
 특수한 분야에 사용

17

컴퓨터의 분류
 컴퓨터의 성능에 따른 분류(처리 능력에 따른 분류)
 슈퍼컴퓨터
 1초에 1조 개 이상의 명령어 처리(부동소숫점 산술 연산)
 현존하는 가장 강력한 성능의 컴퓨터
 대형컴퓨터
 메인 프레임(mainframe)
 대기업, 금융기관에서 주로 사용
 1초에 수억 개 이상의 명령어를 처리
 미니컴퓨터
 (중형컴퓨터)
 다수의 터미널 지원, 다중 사용자 환경에서 사용
 워크스테이션
 마이크로 컴퓨터와 미니 컴퓨터의 중간 정도의 성능
 마이크로 컴퓨터
 마이크로프로세서를 사용해서 만든 컴퓨터
 개인용 컴퓨터(PC)

18

19

자료의 표현
 숫자 자료의 표현
 고정 소수점 표현
 부동 소숫점 표현

 문자 자료의 표현
 ASCII 코드
 EBCDIC 코드
 BCD 코드

 Unicode

20

자료의 표현
 자료 표현의 단위
 Bit(비트; binary digit)
 2진수
 0 또는 1, 2가지 상태를 표현
 Byte(바이트)
 문자를 표현
 보통 8 bit가 모여서 1 byte가 됨

 Word(워드)
 연산 처리의 기본 단위
 보통 4 byte가 모여서 1 word가 됨(32 비트 시스템)

21

자료의 표현
 컴퓨터의 용량을 표현하는 단위
 1 bit
 1 byte = 8 bit
 1 KB(kilo byte):210 = 1024 byte ≈ 103 byte

 1 MB(mega byte): 220 = 1 KB x 1024 ≈ 106 byte
 1 GB(giga byte): 230 = 1 MB x 1024 ≈ 109 byte
 1 TB(tera byte): 240 = 1 GB x 1024 ≈ 1012 byte

 1 PB(peta bate): 250 = 1 TB x 1024 ≈ 1015 byte

22

자료의 표현
 진법
 디지털 컴퓨터에서는 2진법이 기본
 8,16진법은 2진법 관계가 있다.
 인간은 10진법을 주로 사용한다.

 2진법

 0,1만으로 수를 표현

 8진법

 0,1,2,..7로 수를 표현

 10진법

 0,1,2,3,…9로 수를 표현

 16진법

 0,1,2,3,…9,A,B,C,D,E,F로 수를 표현
23

 2,8,16진법(2,8,16진수)

10진수

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

2진수

0
1
10
11
100
101
110
111
1000
1001
1010
1011
1100
1101
1110
1111
10000

8진수

0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20

16진수

0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
10

24

자료의 표현
 10진수를 2진수로 변환
 2진수를 10진수로 변환
 2진수와 8,16진수의 관계
 2진수 3자리  8진수 1자리
 2진수 4자리  16진수 1자리

 2진수를 8진수,10진수, 16진수로 변환
 8진수를 2진수, 16진수, 10진수로 변환
 16진수를 2진수, 8진수, 16진수로 변환
25

 34

 ( 100010
 ( 42
 ( 22

)2
)8
)16

 34.625

 ( 100010.101 )2
 ( 42.5
)8
 ( 42.A
)16

26

자료 표현
 고정 소수점 표현
 정수를 표현할 때 사용된다.
 부호없는 수의 표현

 부호를 표기하지 않는다.
 표현 범위: 0 ~ 2n-1
 부호 있는 정수의 표현(음수의 표현 방식)

 부호와 절대치(부호와 크기 )
 1의 보수
 2의 보수

27

고정 소수점 표현
 부호와 절대치(크기) 방식
 최상위 1비트로 부호를 표기(양수:0, 음수 1)
 나머지 부분에 수를 절대값으로 표현
 +0, -0이 존재

 1의 보수 방식

 양의 정수에 대한 보수로 음수를 표현
 +0, -0이 존재한다.

 2의 보수 방식

 1의 보수에 1을 더해서 표현한다.
 -0이 없으므로, 음수를 하나 더 표현할 수 있다.
 일반적으로 가장 많이 사용한다.

 양수는 위의 3가지 방식이 모두 동일
28

부동 소수점 표현
 부동 소수점 표현
 실수를 표현하는 방식이다.
 단정도(4 byte), 배정도(8 byte)로 표현한다.
 부호부, 지수부, 가수부로 나누어서 표현한다.

단정도
부호 지수
1비트

8 비트

가수
-- 지수 (초과 127)

23비트

배정도
부호

지수

가수

1비트 11 비트

52비트

-- 지수(초과 1023)

29

자료 표현
 문자 표현

 ASCII 코드
 American Standard Code for Information Interchange
 미국 표준협회에서 제정한 정보 교환용 코드
 7비트(또는 8비트)로 1문자를 표현
 128문자(27) 또는 258문자(28)를 표현
 Unicode
 2바이트로 1문자를 표현
 전 세계의 모든 문자를 동일한 방식으로 표현
 EBCDIC(Extended Binary Coded Decimal Interchange Code;

확장된 BCD 코드)

 IBM 대형 기종에서 사용, 8 bit = 1문자

 BCD 코드
 4비트로 숫자1개를 표현

30

연습문제
2. 십진수 53.625를 8진수와 16진수로 각각 올바르
게 표현한 것은?
① 65.5 35.A ② 65.7 35.A
③ 65.5 35.b ④ 65.7 35.b

31

3. 8비트를 사용해서 표현된 정수의 비트 패턴이
10000000이다. 주어진 비트 패턴의 값을 정수
로 해석할 때, 다음 중 가장 작을 값을 나타내
는 정수의 표현 방법은?
① 부호와-크기 방법
③ 2의 보수

② 1의 보수
④ 부동소수점

32

4. 531.74(8)를 16진법의 표현으로 알맞게 나타
낸 것은?
① 159.F
③ 159.3C

② AC1.3C
④ AC1.F

33

5. 다음 중에서 가장 큰 수는 어떤 진법으로 표현
된 수인가?
(227)10 (343)8 (11100101)2 (E7)16
① 10진법
③ 2진법

② 8진법
④ 16진법

34

주관식
다음 물음에 답하시오
(1) 십진수 23.125를 2진수로 변환하시오.
(2) 이진수 100101.1001을 8, 10, 16진수로 변
환하시오.
(3) 16진수 ABC.6A를 2진수와 8진수로 변환하
시오.

35


Slide 5

강사: 주형준([email protected], 010-6317-0101)

전자계산기 일반

1.1 컴퓨터란 무엇인가?
1.2 컴퓨터 시스템의 구성
1.3 컴퓨터 시스템
1.4 컴퓨터의 발전과 분류
1.5 자료의 표현

제1장 컴퓨터와 자료

2

2.1 컴퓨터 구조의 개요
2.2 컴퓨터의 기본 구성
2.3 논리회로와 논리대수
2.4 조합회로와 순차회로
2.5 시스템 구성을 위한 기본 조합 회로
2.6 기억 장치
2.7 명령어와 명령어 세트
2.8 주소방식에 따른 명령어 형식
2.9 중앙처리장치: 처리장치와 제어장치
2.10 입출력장치
2.11 병렬처리

제2장 컴퓨터의 구조

3

3.1 운영체제의 개념
3.2 운영체제의 종류
3.3 주기억장치의 관리
3.4 프로세서 관리
3.5 장치와 파일 관리
3.6 분산 시스템

제3장 운영체제

4

4.1 기본 개념
4.2 배열
4.3 리스트
4.4 스택과 큐
4.5 트리
4.6 그래프
4.7 정렬 알고리즘
4.8 탐색 알고리즘

제5장 프로그래밍 언어
제6장 데이터베이스
제7장 컴퓨터 네트워크
제8장 인공지능

제4장 자료구조와 알고리즘

5

제1장 컴퓨터와 자료

6

1.1 컴퓨터란 무엇인가?
 Computer: 컴퓨터, 전자 계산기
 Compute: 계산하다

 외부에서 자료를 입력(input)받고, 입력 받은 자료를
처리(process)하고, 처리된 결과를 출력(output)하는

기계

 컴퓨터의 가장 큰 장점
 신속한 처리, 계산 결과의 정확성

7

1.2 컴퓨터 시스템의 구성
 하드웨어(H/W; hardware)





입,출력장치
기억장치
산술논리연산장치
제어장치

중앙처리장치(CPU)

 소프트웨어(S/W; software)

 시스템 소프트웨어
 운영체제(OS), 컴파일러, 각종 유틸리티, …
 응용 소프트웨어
 워드프로세서, 그래픽 프로그램, …

 자료(data)
 사용자(user)

8

컴퓨터의 발전
 파스칼의 계산기
 덧셈, 뺄셈

 라이프니츠 계산기
 사칙연산

 배비지의 해석기관
 중앙처리장치,기억장치,입력장치,출력장치

 홀러리스의 천공카드 시스템, 1889
 미국 인구 조사국에서 사용

 Mark I, 1944
 최초의 전기 기계식 계산기
9

 ENIAC(에니악), 1946





미국, 모클리와 에커트
최초의 전자계산기, 1946
진공관 사용
프로그램 외장 방식

 EDSAC(에드삭), 1949

 최초의 프로그램 내장방식 채택

 EDVAC(에드박), 1951
 UNIVAC-I(유니박)

 최초의 상용 컴퓨터
 1951년 미국 조사 통계국에서 사용
10

 인텔 4004, 1972
 최초의 마이크로 프로세서

 Altair(알테어) 8800, 1975
 기계어, 256 byte 메모리

 (1975, 빌게이츠, 마이크로소프트 창립)
 (1977, 스티브 잡스, 애플사(Apple computer) 창립)
 애플 컴퓨터 – 세계 최초의 PC, 8 비트

Apple-I과 Apple-II
11

 1978, 인텔 8086
 16비트 마이크로프로세서

 1981, IBM PC
 PC 내부 공개 IBM 호환 PC

 16비트(8088 CPU)
 MS-DOS

 1985, 80386 마이크로 프로세서 – 32비트

12

컴퓨터 세대별 구분
 제1세대: 1950년~1959년

 진공관
 주기억장치: 자기드럼, 천공카드, 기계어
 EDSAC(에드삭), UNIVAC-I

 제2세대: 1959~1965년

 트랜지스터
 주기억장치: 자기코어, 보조기억장치: 자기드럼,자기디스


 FORTRAN, COBOL, ALGOL 고급 언어 등장

 제3세대: 1965~1975년

 IC(반도체 집적회로)
 다중프로그래밍, 실시간처리시스템, 시분할 시스템
13

 제4세대: 1975~1985년
 LSI(고밀도 집적회로), VLSI(초고밀도집적회로)
 마이크로 컴퓨터 발전(PC 등장)

 제5세대: 1985년 ~ 현재
 AI(Artificial Intelligence, 인공 지능)

 퍼지 이론, 전문자 시스템, 음성 인식

14

 컴퓨터에서 사용되는 시간 단위
 ms(millisecond) : 10-3초
 µs(microsecond): 10-6초
 ns(nanosecond): 10-9초
 ps(picosecond): 10-12초
 fs(femtosecond): 10-15초
 as(attosecond): 10-18초

15

컴퓨터의 분류
 사용목적에 따른 분류
 범용(general-purpose) 컴퓨터
 여러 가지 목적으로 사용되는 일반적인 컴퓨터
 전용(special-purpose) 컴퓨터
 특정한 목적으로 사용되는 컴퓨터
 비행기 운항 조절 등

16

컴퓨터의 분류
 자료 표현 방식에 따른 분류
 디지털(digital) 컴퓨터
 컴퓨터 내부에서 자료를 디지털 신호로 표현
 이산적인 자료 처리
 우리가 사용하는 대부분의 컴퓨터
 아날로그(analog) 컴퓨터
 연속적인 자료 처리
 연속적으로 변하는 자료를 물리적인 양 그대로 입력하여 처리
하는 컴퓨터
 온도, 비행기의 연료 소모량, 달리는 차의 속도
 하이브리드 컴퓨터
 디지털과 아날로그의 장점만 따서 만든 컴퓨터
 특수한 분야에 사용

17

컴퓨터의 분류
 컴퓨터의 성능에 따른 분류(처리 능력에 따른 분류)
 슈퍼컴퓨터
 1초에 1조 개 이상의 명령어 처리(부동소숫점 산술 연산)
 현존하는 가장 강력한 성능의 컴퓨터
 대형컴퓨터
 메인 프레임(mainframe)
 대기업, 금융기관에서 주로 사용
 1초에 수억 개 이상의 명령어를 처리
 미니컴퓨터
 (중형컴퓨터)
 다수의 터미널 지원, 다중 사용자 환경에서 사용
 워크스테이션
 마이크로 컴퓨터와 미니 컴퓨터의 중간 정도의 성능
 마이크로 컴퓨터
 마이크로프로세서를 사용해서 만든 컴퓨터
 개인용 컴퓨터(PC)

18

19

자료의 표현
 숫자 자료의 표현
 고정 소수점 표현
 부동 소숫점 표현

 문자 자료의 표현
 ASCII 코드
 EBCDIC 코드
 BCD 코드

 Unicode

20

자료의 표현
 자료 표현의 단위
 Bit(비트; binary digit)
 2진수
 0 또는 1, 2가지 상태를 표현
 Byte(바이트)
 문자를 표현
 보통 8 bit가 모여서 1 byte가 됨

 Word(워드)
 연산 처리의 기본 단위
 보통 4 byte가 모여서 1 word가 됨(32 비트 시스템)

21

자료의 표현
 컴퓨터의 용량을 표현하는 단위
 1 bit
 1 byte = 8 bit
 1 KB(kilo byte):210 = 1024 byte ≈ 103 byte

 1 MB(mega byte): 220 = 1 KB x 1024 ≈ 106 byte
 1 GB(giga byte): 230 = 1 MB x 1024 ≈ 109 byte
 1 TB(tera byte): 240 = 1 GB x 1024 ≈ 1012 byte

 1 PB(peta bate): 250 = 1 TB x 1024 ≈ 1015 byte

22

자료의 표현
 진법
 디지털 컴퓨터에서는 2진법이 기본
 8,16진법은 2진법 관계가 있다.
 인간은 10진법을 주로 사용한다.

 2진법

 0,1만으로 수를 표현

 8진법

 0,1,2,..7로 수를 표현

 10진법

 0,1,2,3,…9로 수를 표현

 16진법

 0,1,2,3,…9,A,B,C,D,E,F로 수를 표현
23

 2,8,16진법(2,8,16진수)

10진수

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

2진수

0
1
10
11
100
101
110
111
1000
1001
1010
1011
1100
1101
1110
1111
10000

8진수

0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20

16진수

0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
10

24

자료의 표현
 10진수를 2진수로 변환
 2진수를 10진수로 변환
 2진수와 8,16진수의 관계
 2진수 3자리  8진수 1자리
 2진수 4자리  16진수 1자리

 2진수를 8진수,10진수, 16진수로 변환
 8진수를 2진수, 16진수, 10진수로 변환
 16진수를 2진수, 8진수, 16진수로 변환
25

 34

 ( 100010
 ( 42
 ( 22

)2
)8
)16

 34.625

 ( 100010.101 )2
 ( 42.5
)8
 ( 42.A
)16

26

자료 표현
 고정 소수점 표현
 정수를 표현할 때 사용된다.
 부호없는 수의 표현

 부호를 표기하지 않는다.
 표현 범위: 0 ~ 2n-1
 부호 있는 정수의 표현(음수의 표현 방식)

 부호와 절대치(부호와 크기 )
 1의 보수
 2의 보수

27

고정 소수점 표현
 부호와 절대치(크기) 방식
 최상위 1비트로 부호를 표기(양수:0, 음수 1)
 나머지 부분에 수를 절대값으로 표현
 +0, -0이 존재

 1의 보수 방식

 양의 정수에 대한 보수로 음수를 표현
 +0, -0이 존재한다.

 2의 보수 방식

 1의 보수에 1을 더해서 표현한다.
 -0이 없으므로, 음수를 하나 더 표현할 수 있다.
 일반적으로 가장 많이 사용한다.

 양수는 위의 3가지 방식이 모두 동일
28

부동 소수점 표현
 부동 소수점 표현
 실수를 표현하는 방식이다.
 단정도(4 byte), 배정도(8 byte)로 표현한다.
 부호부, 지수부, 가수부로 나누어서 표현한다.

단정도
부호 지수
1비트

8 비트

가수
-- 지수 (초과 127)

23비트

배정도
부호

지수

가수

1비트 11 비트

52비트

-- 지수(초과 1023)

29

자료 표현
 문자 표현

 ASCII 코드
 American Standard Code for Information Interchange
 미국 표준협회에서 제정한 정보 교환용 코드
 7비트(또는 8비트)로 1문자를 표현
 128문자(27) 또는 258문자(28)를 표현
 Unicode
 2바이트로 1문자를 표현
 전 세계의 모든 문자를 동일한 방식으로 표현
 EBCDIC(Extended Binary Coded Decimal Interchange Code;

확장된 BCD 코드)

 IBM 대형 기종에서 사용, 8 bit = 1문자

 BCD 코드
 4비트로 숫자1개를 표현

30

연습문제
2. 십진수 53.625를 8진수와 16진수로 각각 올바르
게 표현한 것은?
① 65.5 35.A ② 65.7 35.A
③ 65.5 35.b ④ 65.7 35.b

31

3. 8비트를 사용해서 표현된 정수의 비트 패턴이
10000000이다. 주어진 비트 패턴의 값을 정수
로 해석할 때, 다음 중 가장 작을 값을 나타내
는 정수의 표현 방법은?
① 부호와-크기 방법
③ 2의 보수

② 1의 보수
④ 부동소수점

32

4. 531.74(8)를 16진법의 표현으로 알맞게 나타
낸 것은?
① 159.F
③ 159.3C

② AC1.3C
④ AC1.F

33

5. 다음 중에서 가장 큰 수는 어떤 진법으로 표현
된 수인가?
(227)10 (343)8 (11100101)2 (E7)16
① 10진법
③ 2진법

② 8진법
④ 16진법

34

주관식
다음 물음에 답하시오
(1) 십진수 23.125를 2진수로 변환하시오.
(2) 이진수 100101.1001을 8, 10, 16진수로 변
환하시오.
(3) 16진수 ABC.6A를 2진수와 8진수로 변환하
시오.

35


Slide 6

강사: 주형준([email protected], 010-6317-0101)

전자계산기 일반

1.1 컴퓨터란 무엇인가?
1.2 컴퓨터 시스템의 구성
1.3 컴퓨터 시스템
1.4 컴퓨터의 발전과 분류
1.5 자료의 표현

제1장 컴퓨터와 자료

2

2.1 컴퓨터 구조의 개요
2.2 컴퓨터의 기본 구성
2.3 논리회로와 논리대수
2.4 조합회로와 순차회로
2.5 시스템 구성을 위한 기본 조합 회로
2.6 기억 장치
2.7 명령어와 명령어 세트
2.8 주소방식에 따른 명령어 형식
2.9 중앙처리장치: 처리장치와 제어장치
2.10 입출력장치
2.11 병렬처리

제2장 컴퓨터의 구조

3

3.1 운영체제의 개념
3.2 운영체제의 종류
3.3 주기억장치의 관리
3.4 프로세서 관리
3.5 장치와 파일 관리
3.6 분산 시스템

제3장 운영체제

4

4.1 기본 개념
4.2 배열
4.3 리스트
4.4 스택과 큐
4.5 트리
4.6 그래프
4.7 정렬 알고리즘
4.8 탐색 알고리즘

제5장 프로그래밍 언어
제6장 데이터베이스
제7장 컴퓨터 네트워크
제8장 인공지능

제4장 자료구조와 알고리즘

5

제1장 컴퓨터와 자료

6

1.1 컴퓨터란 무엇인가?
 Computer: 컴퓨터, 전자 계산기
 Compute: 계산하다

 외부에서 자료를 입력(input)받고, 입력 받은 자료를
처리(process)하고, 처리된 결과를 출력(output)하는

기계

 컴퓨터의 가장 큰 장점
 신속한 처리, 계산 결과의 정확성

7

1.2 컴퓨터 시스템의 구성
 하드웨어(H/W; hardware)





입,출력장치
기억장치
산술논리연산장치
제어장치

중앙처리장치(CPU)

 소프트웨어(S/W; software)

 시스템 소프트웨어
 운영체제(OS), 컴파일러, 각종 유틸리티, …
 응용 소프트웨어
 워드프로세서, 그래픽 프로그램, …

 자료(data)
 사용자(user)

8

컴퓨터의 발전
 파스칼의 계산기
 덧셈, 뺄셈

 라이프니츠 계산기
 사칙연산

 배비지의 해석기관
 중앙처리장치,기억장치,입력장치,출력장치

 홀러리스의 천공카드 시스템, 1889
 미국 인구 조사국에서 사용

 Mark I, 1944
 최초의 전기 기계식 계산기
9

 ENIAC(에니악), 1946





미국, 모클리와 에커트
최초의 전자계산기, 1946
진공관 사용
프로그램 외장 방식

 EDSAC(에드삭), 1949

 최초의 프로그램 내장방식 채택

 EDVAC(에드박), 1951
 UNIVAC-I(유니박)

 최초의 상용 컴퓨터
 1951년 미국 조사 통계국에서 사용
10

 인텔 4004, 1972
 최초의 마이크로 프로세서

 Altair(알테어) 8800, 1975
 기계어, 256 byte 메모리

 (1975, 빌게이츠, 마이크로소프트 창립)
 (1977, 스티브 잡스, 애플사(Apple computer) 창립)
 애플 컴퓨터 – 세계 최초의 PC, 8 비트

Apple-I과 Apple-II
11

 1978, 인텔 8086
 16비트 마이크로프로세서

 1981, IBM PC
 PC 내부 공개 IBM 호환 PC

 16비트(8088 CPU)
 MS-DOS

 1985, 80386 마이크로 프로세서 – 32비트

12

컴퓨터 세대별 구분
 제1세대: 1950년~1959년

 진공관
 주기억장치: 자기드럼, 천공카드, 기계어
 EDSAC(에드삭), UNIVAC-I

 제2세대: 1959~1965년

 트랜지스터
 주기억장치: 자기코어, 보조기억장치: 자기드럼,자기디스


 FORTRAN, COBOL, ALGOL 고급 언어 등장

 제3세대: 1965~1975년

 IC(반도체 집적회로)
 다중프로그래밍, 실시간처리시스템, 시분할 시스템
13

 제4세대: 1975~1985년
 LSI(고밀도 집적회로), VLSI(초고밀도집적회로)
 마이크로 컴퓨터 발전(PC 등장)

 제5세대: 1985년 ~ 현재
 AI(Artificial Intelligence, 인공 지능)

 퍼지 이론, 전문자 시스템, 음성 인식

14

 컴퓨터에서 사용되는 시간 단위
 ms(millisecond) : 10-3초
 µs(microsecond): 10-6초
 ns(nanosecond): 10-9초
 ps(picosecond): 10-12초
 fs(femtosecond): 10-15초
 as(attosecond): 10-18초

15

컴퓨터의 분류
 사용목적에 따른 분류
 범용(general-purpose) 컴퓨터
 여러 가지 목적으로 사용되는 일반적인 컴퓨터
 전용(special-purpose) 컴퓨터
 특정한 목적으로 사용되는 컴퓨터
 비행기 운항 조절 등

16

컴퓨터의 분류
 자료 표현 방식에 따른 분류
 디지털(digital) 컴퓨터
 컴퓨터 내부에서 자료를 디지털 신호로 표현
 이산적인 자료 처리
 우리가 사용하는 대부분의 컴퓨터
 아날로그(analog) 컴퓨터
 연속적인 자료 처리
 연속적으로 변하는 자료를 물리적인 양 그대로 입력하여 처리
하는 컴퓨터
 온도, 비행기의 연료 소모량, 달리는 차의 속도
 하이브리드 컴퓨터
 디지털과 아날로그의 장점만 따서 만든 컴퓨터
 특수한 분야에 사용

17

컴퓨터의 분류
 컴퓨터의 성능에 따른 분류(처리 능력에 따른 분류)
 슈퍼컴퓨터
 1초에 1조 개 이상의 명령어 처리(부동소숫점 산술 연산)
 현존하는 가장 강력한 성능의 컴퓨터
 대형컴퓨터
 메인 프레임(mainframe)
 대기업, 금융기관에서 주로 사용
 1초에 수억 개 이상의 명령어를 처리
 미니컴퓨터
 (중형컴퓨터)
 다수의 터미널 지원, 다중 사용자 환경에서 사용
 워크스테이션
 마이크로 컴퓨터와 미니 컴퓨터의 중간 정도의 성능
 마이크로 컴퓨터
 마이크로프로세서를 사용해서 만든 컴퓨터
 개인용 컴퓨터(PC)

18

19

자료의 표현
 숫자 자료의 표현
 고정 소수점 표현
 부동 소숫점 표현

 문자 자료의 표현
 ASCII 코드
 EBCDIC 코드
 BCD 코드

 Unicode

20

자료의 표현
 자료 표현의 단위
 Bit(비트; binary digit)
 2진수
 0 또는 1, 2가지 상태를 표현
 Byte(바이트)
 문자를 표현
 보통 8 bit가 모여서 1 byte가 됨

 Word(워드)
 연산 처리의 기본 단위
 보통 4 byte가 모여서 1 word가 됨(32 비트 시스템)

21

자료의 표현
 컴퓨터의 용량을 표현하는 단위
 1 bit
 1 byte = 8 bit
 1 KB(kilo byte):210 = 1024 byte ≈ 103 byte

 1 MB(mega byte): 220 = 1 KB x 1024 ≈ 106 byte
 1 GB(giga byte): 230 = 1 MB x 1024 ≈ 109 byte
 1 TB(tera byte): 240 = 1 GB x 1024 ≈ 1012 byte

 1 PB(peta bate): 250 = 1 TB x 1024 ≈ 1015 byte

22

자료의 표현
 진법
 디지털 컴퓨터에서는 2진법이 기본
 8,16진법은 2진법 관계가 있다.
 인간은 10진법을 주로 사용한다.

 2진법

 0,1만으로 수를 표현

 8진법

 0,1,2,..7로 수를 표현

 10진법

 0,1,2,3,…9로 수를 표현

 16진법

 0,1,2,3,…9,A,B,C,D,E,F로 수를 표현
23

 2,8,16진법(2,8,16진수)

10진수

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

2진수

0
1
10
11
100
101
110
111
1000
1001
1010
1011
1100
1101
1110
1111
10000

8진수

0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20

16진수

0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
10

24

자료의 표현
 10진수를 2진수로 변환
 2진수를 10진수로 변환
 2진수와 8,16진수의 관계
 2진수 3자리  8진수 1자리
 2진수 4자리  16진수 1자리

 2진수를 8진수,10진수, 16진수로 변환
 8진수를 2진수, 16진수, 10진수로 변환
 16진수를 2진수, 8진수, 16진수로 변환
25

 34

 ( 100010
 ( 42
 ( 22

)2
)8
)16

 34.625

 ( 100010.101 )2
 ( 42.5
)8
 ( 42.A
)16

26

자료 표현
 고정 소수점 표현
 정수를 표현할 때 사용된다.
 부호없는 수의 표현

 부호를 표기하지 않는다.
 표현 범위: 0 ~ 2n-1
 부호 있는 정수의 표현(음수의 표현 방식)

 부호와 절대치(부호와 크기 )
 1의 보수
 2의 보수

27

고정 소수점 표현
 부호와 절대치(크기) 방식
 최상위 1비트로 부호를 표기(양수:0, 음수 1)
 나머지 부분에 수를 절대값으로 표현
 +0, -0이 존재

 1의 보수 방식

 양의 정수에 대한 보수로 음수를 표현
 +0, -0이 존재한다.

 2의 보수 방식

 1의 보수에 1을 더해서 표현한다.
 -0이 없으므로, 음수를 하나 더 표현할 수 있다.
 일반적으로 가장 많이 사용한다.

 양수는 위의 3가지 방식이 모두 동일
28

부동 소수점 표현
 부동 소수점 표현
 실수를 표현하는 방식이다.
 단정도(4 byte), 배정도(8 byte)로 표현한다.
 부호부, 지수부, 가수부로 나누어서 표현한다.

단정도
부호 지수
1비트

8 비트

가수
-- 지수 (초과 127)

23비트

배정도
부호

지수

가수

1비트 11 비트

52비트

-- 지수(초과 1023)

29

자료 표현
 문자 표현

 ASCII 코드
 American Standard Code for Information Interchange
 미국 표준협회에서 제정한 정보 교환용 코드
 7비트(또는 8비트)로 1문자를 표현
 128문자(27) 또는 258문자(28)를 표현
 Unicode
 2바이트로 1문자를 표현
 전 세계의 모든 문자를 동일한 방식으로 표현
 EBCDIC(Extended Binary Coded Decimal Interchange Code;

확장된 BCD 코드)

 IBM 대형 기종에서 사용, 8 bit = 1문자

 BCD 코드
 4비트로 숫자1개를 표현

30

연습문제
2. 십진수 53.625를 8진수와 16진수로 각각 올바르
게 표현한 것은?
① 65.5 35.A ② 65.7 35.A
③ 65.5 35.b ④ 65.7 35.b

31

3. 8비트를 사용해서 표현된 정수의 비트 패턴이
10000000이다. 주어진 비트 패턴의 값을 정수
로 해석할 때, 다음 중 가장 작을 값을 나타내
는 정수의 표현 방법은?
① 부호와-크기 방법
③ 2의 보수

② 1의 보수
④ 부동소수점

32

4. 531.74(8)를 16진법의 표현으로 알맞게 나타
낸 것은?
① 159.F
③ 159.3C

② AC1.3C
④ AC1.F

33

5. 다음 중에서 가장 큰 수는 어떤 진법으로 표현
된 수인가?
(227)10 (343)8 (11100101)2 (E7)16
① 10진법
③ 2진법

② 8진법
④ 16진법

34

주관식
다음 물음에 답하시오
(1) 십진수 23.125를 2진수로 변환하시오.
(2) 이진수 100101.1001을 8, 10, 16진수로 변
환하시오.
(3) 16진수 ABC.6A를 2진수와 8진수로 변환하
시오.

35


Slide 7

강사: 주형준([email protected], 010-6317-0101)

전자계산기 일반

1.1 컴퓨터란 무엇인가?
1.2 컴퓨터 시스템의 구성
1.3 컴퓨터 시스템
1.4 컴퓨터의 발전과 분류
1.5 자료의 표현

제1장 컴퓨터와 자료

2

2.1 컴퓨터 구조의 개요
2.2 컴퓨터의 기본 구성
2.3 논리회로와 논리대수
2.4 조합회로와 순차회로
2.5 시스템 구성을 위한 기본 조합 회로
2.6 기억 장치
2.7 명령어와 명령어 세트
2.8 주소방식에 따른 명령어 형식
2.9 중앙처리장치: 처리장치와 제어장치
2.10 입출력장치
2.11 병렬처리

제2장 컴퓨터의 구조

3

3.1 운영체제의 개념
3.2 운영체제의 종류
3.3 주기억장치의 관리
3.4 프로세서 관리
3.5 장치와 파일 관리
3.6 분산 시스템

제3장 운영체제

4

4.1 기본 개념
4.2 배열
4.3 리스트
4.4 스택과 큐
4.5 트리
4.6 그래프
4.7 정렬 알고리즘
4.8 탐색 알고리즘

제5장 프로그래밍 언어
제6장 데이터베이스
제7장 컴퓨터 네트워크
제8장 인공지능

제4장 자료구조와 알고리즘

5

제1장 컴퓨터와 자료

6

1.1 컴퓨터란 무엇인가?
 Computer: 컴퓨터, 전자 계산기
 Compute: 계산하다

 외부에서 자료를 입력(input)받고, 입력 받은 자료를
처리(process)하고, 처리된 결과를 출력(output)하는

기계

 컴퓨터의 가장 큰 장점
 신속한 처리, 계산 결과의 정확성

7

1.2 컴퓨터 시스템의 구성
 하드웨어(H/W; hardware)





입,출력장치
기억장치
산술논리연산장치
제어장치

중앙처리장치(CPU)

 소프트웨어(S/W; software)

 시스템 소프트웨어
 운영체제(OS), 컴파일러, 각종 유틸리티, …
 응용 소프트웨어
 워드프로세서, 그래픽 프로그램, …

 자료(data)
 사용자(user)

8

컴퓨터의 발전
 파스칼의 계산기
 덧셈, 뺄셈

 라이프니츠 계산기
 사칙연산

 배비지의 해석기관
 중앙처리장치,기억장치,입력장치,출력장치

 홀러리스의 천공카드 시스템, 1889
 미국 인구 조사국에서 사용

 Mark I, 1944
 최초의 전기 기계식 계산기
9

 ENIAC(에니악), 1946





미국, 모클리와 에커트
최초의 전자계산기, 1946
진공관 사용
프로그램 외장 방식

 EDSAC(에드삭), 1949

 최초의 프로그램 내장방식 채택

 EDVAC(에드박), 1951
 UNIVAC-I(유니박)

 최초의 상용 컴퓨터
 1951년 미국 조사 통계국에서 사용
10

 인텔 4004, 1972
 최초의 마이크로 프로세서

 Altair(알테어) 8800, 1975
 기계어, 256 byte 메모리

 (1975, 빌게이츠, 마이크로소프트 창립)
 (1977, 스티브 잡스, 애플사(Apple computer) 창립)
 애플 컴퓨터 – 세계 최초의 PC, 8 비트

Apple-I과 Apple-II
11

 1978, 인텔 8086
 16비트 마이크로프로세서

 1981, IBM PC
 PC 내부 공개 IBM 호환 PC

 16비트(8088 CPU)
 MS-DOS

 1985, 80386 마이크로 프로세서 – 32비트

12

컴퓨터 세대별 구분
 제1세대: 1950년~1959년

 진공관
 주기억장치: 자기드럼, 천공카드, 기계어
 EDSAC(에드삭), UNIVAC-I

 제2세대: 1959~1965년

 트랜지스터
 주기억장치: 자기코어, 보조기억장치: 자기드럼,자기디스


 FORTRAN, COBOL, ALGOL 고급 언어 등장

 제3세대: 1965~1975년

 IC(반도체 집적회로)
 다중프로그래밍, 실시간처리시스템, 시분할 시스템
13

 제4세대: 1975~1985년
 LSI(고밀도 집적회로), VLSI(초고밀도집적회로)
 마이크로 컴퓨터 발전(PC 등장)

 제5세대: 1985년 ~ 현재
 AI(Artificial Intelligence, 인공 지능)

 퍼지 이론, 전문자 시스템, 음성 인식

14

 컴퓨터에서 사용되는 시간 단위
 ms(millisecond) : 10-3초
 µs(microsecond): 10-6초
 ns(nanosecond): 10-9초
 ps(picosecond): 10-12초
 fs(femtosecond): 10-15초
 as(attosecond): 10-18초

15

컴퓨터의 분류
 사용목적에 따른 분류
 범용(general-purpose) 컴퓨터
 여러 가지 목적으로 사용되는 일반적인 컴퓨터
 전용(special-purpose) 컴퓨터
 특정한 목적으로 사용되는 컴퓨터
 비행기 운항 조절 등

16

컴퓨터의 분류
 자료 표현 방식에 따른 분류
 디지털(digital) 컴퓨터
 컴퓨터 내부에서 자료를 디지털 신호로 표현
 이산적인 자료 처리
 우리가 사용하는 대부분의 컴퓨터
 아날로그(analog) 컴퓨터
 연속적인 자료 처리
 연속적으로 변하는 자료를 물리적인 양 그대로 입력하여 처리
하는 컴퓨터
 온도, 비행기의 연료 소모량, 달리는 차의 속도
 하이브리드 컴퓨터
 디지털과 아날로그의 장점만 따서 만든 컴퓨터
 특수한 분야에 사용

17

컴퓨터의 분류
 컴퓨터의 성능에 따른 분류(처리 능력에 따른 분류)
 슈퍼컴퓨터
 1초에 1조 개 이상의 명령어 처리(부동소숫점 산술 연산)
 현존하는 가장 강력한 성능의 컴퓨터
 대형컴퓨터
 메인 프레임(mainframe)
 대기업, 금융기관에서 주로 사용
 1초에 수억 개 이상의 명령어를 처리
 미니컴퓨터
 (중형컴퓨터)
 다수의 터미널 지원, 다중 사용자 환경에서 사용
 워크스테이션
 마이크로 컴퓨터와 미니 컴퓨터의 중간 정도의 성능
 마이크로 컴퓨터
 마이크로프로세서를 사용해서 만든 컴퓨터
 개인용 컴퓨터(PC)

18

19

자료의 표현
 숫자 자료의 표현
 고정 소수점 표현
 부동 소숫점 표현

 문자 자료의 표현
 ASCII 코드
 EBCDIC 코드
 BCD 코드

 Unicode

20

자료의 표현
 자료 표현의 단위
 Bit(비트; binary digit)
 2진수
 0 또는 1, 2가지 상태를 표현
 Byte(바이트)
 문자를 표현
 보통 8 bit가 모여서 1 byte가 됨

 Word(워드)
 연산 처리의 기본 단위
 보통 4 byte가 모여서 1 word가 됨(32 비트 시스템)

21

자료의 표현
 컴퓨터의 용량을 표현하는 단위
 1 bit
 1 byte = 8 bit
 1 KB(kilo byte):210 = 1024 byte ≈ 103 byte

 1 MB(mega byte): 220 = 1 KB x 1024 ≈ 106 byte
 1 GB(giga byte): 230 = 1 MB x 1024 ≈ 109 byte
 1 TB(tera byte): 240 = 1 GB x 1024 ≈ 1012 byte

 1 PB(peta bate): 250 = 1 TB x 1024 ≈ 1015 byte

22

자료의 표현
 진법
 디지털 컴퓨터에서는 2진법이 기본
 8,16진법은 2진법 관계가 있다.
 인간은 10진법을 주로 사용한다.

 2진법

 0,1만으로 수를 표현

 8진법

 0,1,2,..7로 수를 표현

 10진법

 0,1,2,3,…9로 수를 표현

 16진법

 0,1,2,3,…9,A,B,C,D,E,F로 수를 표현
23

 2,8,16진법(2,8,16진수)

10진수

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

2진수

0
1
10
11
100
101
110
111
1000
1001
1010
1011
1100
1101
1110
1111
10000

8진수

0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20

16진수

0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
10

24

자료의 표현
 10진수를 2진수로 변환
 2진수를 10진수로 변환
 2진수와 8,16진수의 관계
 2진수 3자리  8진수 1자리
 2진수 4자리  16진수 1자리

 2진수를 8진수,10진수, 16진수로 변환
 8진수를 2진수, 16진수, 10진수로 변환
 16진수를 2진수, 8진수, 16진수로 변환
25

 34

 ( 100010
 ( 42
 ( 22

)2
)8
)16

 34.625

 ( 100010.101 )2
 ( 42.5
)8
 ( 42.A
)16

26

자료 표현
 고정 소수점 표현
 정수를 표현할 때 사용된다.
 부호없는 수의 표현

 부호를 표기하지 않는다.
 표현 범위: 0 ~ 2n-1
 부호 있는 정수의 표현(음수의 표현 방식)

 부호와 절대치(부호와 크기 )
 1의 보수
 2의 보수

27

고정 소수점 표현
 부호와 절대치(크기) 방식
 최상위 1비트로 부호를 표기(양수:0, 음수 1)
 나머지 부분에 수를 절대값으로 표현
 +0, -0이 존재

 1의 보수 방식

 양의 정수에 대한 보수로 음수를 표현
 +0, -0이 존재한다.

 2의 보수 방식

 1의 보수에 1을 더해서 표현한다.
 -0이 없으므로, 음수를 하나 더 표현할 수 있다.
 일반적으로 가장 많이 사용한다.

 양수는 위의 3가지 방식이 모두 동일
28

부동 소수점 표현
 부동 소수점 표현
 실수를 표현하는 방식이다.
 단정도(4 byte), 배정도(8 byte)로 표현한다.
 부호부, 지수부, 가수부로 나누어서 표현한다.

단정도
부호 지수
1비트

8 비트

가수
-- 지수 (초과 127)

23비트

배정도
부호

지수

가수

1비트 11 비트

52비트

-- 지수(초과 1023)

29

자료 표현
 문자 표현

 ASCII 코드
 American Standard Code for Information Interchange
 미국 표준협회에서 제정한 정보 교환용 코드
 7비트(또는 8비트)로 1문자를 표현
 128문자(27) 또는 258문자(28)를 표현
 Unicode
 2바이트로 1문자를 표현
 전 세계의 모든 문자를 동일한 방식으로 표현
 EBCDIC(Extended Binary Coded Decimal Interchange Code;

확장된 BCD 코드)

 IBM 대형 기종에서 사용, 8 bit = 1문자

 BCD 코드
 4비트로 숫자1개를 표현

30

연습문제
2. 십진수 53.625를 8진수와 16진수로 각각 올바르
게 표현한 것은?
① 65.5 35.A ② 65.7 35.A
③ 65.5 35.b ④ 65.7 35.b

31

3. 8비트를 사용해서 표현된 정수의 비트 패턴이
10000000이다. 주어진 비트 패턴의 값을 정수
로 해석할 때, 다음 중 가장 작을 값을 나타내
는 정수의 표현 방법은?
① 부호와-크기 방법
③ 2의 보수

② 1의 보수
④ 부동소수점

32

4. 531.74(8)를 16진법의 표현으로 알맞게 나타
낸 것은?
① 159.F
③ 159.3C

② AC1.3C
④ AC1.F

33

5. 다음 중에서 가장 큰 수는 어떤 진법으로 표현
된 수인가?
(227)10 (343)8 (11100101)2 (E7)16
① 10진법
③ 2진법

② 8진법
④ 16진법

34

주관식
다음 물음에 답하시오
(1) 십진수 23.125를 2진수로 변환하시오.
(2) 이진수 100101.1001을 8, 10, 16진수로 변
환하시오.
(3) 16진수 ABC.6A를 2진수와 8진수로 변환하
시오.

35


Slide 8

강사: 주형준([email protected], 010-6317-0101)

전자계산기 일반

1.1 컴퓨터란 무엇인가?
1.2 컴퓨터 시스템의 구성
1.3 컴퓨터 시스템
1.4 컴퓨터의 발전과 분류
1.5 자료의 표현

제1장 컴퓨터와 자료

2

2.1 컴퓨터 구조의 개요
2.2 컴퓨터의 기본 구성
2.3 논리회로와 논리대수
2.4 조합회로와 순차회로
2.5 시스템 구성을 위한 기본 조합 회로
2.6 기억 장치
2.7 명령어와 명령어 세트
2.8 주소방식에 따른 명령어 형식
2.9 중앙처리장치: 처리장치와 제어장치
2.10 입출력장치
2.11 병렬처리

제2장 컴퓨터의 구조

3

3.1 운영체제의 개념
3.2 운영체제의 종류
3.3 주기억장치의 관리
3.4 프로세서 관리
3.5 장치와 파일 관리
3.6 분산 시스템

제3장 운영체제

4

4.1 기본 개념
4.2 배열
4.3 리스트
4.4 스택과 큐
4.5 트리
4.6 그래프
4.7 정렬 알고리즘
4.8 탐색 알고리즘

제5장 프로그래밍 언어
제6장 데이터베이스
제7장 컴퓨터 네트워크
제8장 인공지능

제4장 자료구조와 알고리즘

5

제1장 컴퓨터와 자료

6

1.1 컴퓨터란 무엇인가?
 Computer: 컴퓨터, 전자 계산기
 Compute: 계산하다

 외부에서 자료를 입력(input)받고, 입력 받은 자료를
처리(process)하고, 처리된 결과를 출력(output)하는

기계

 컴퓨터의 가장 큰 장점
 신속한 처리, 계산 결과의 정확성

7

1.2 컴퓨터 시스템의 구성
 하드웨어(H/W; hardware)





입,출력장치
기억장치
산술논리연산장치
제어장치

중앙처리장치(CPU)

 소프트웨어(S/W; software)

 시스템 소프트웨어
 운영체제(OS), 컴파일러, 각종 유틸리티, …
 응용 소프트웨어
 워드프로세서, 그래픽 프로그램, …

 자료(data)
 사용자(user)

8

컴퓨터의 발전
 파스칼의 계산기
 덧셈, 뺄셈

 라이프니츠 계산기
 사칙연산

 배비지의 해석기관
 중앙처리장치,기억장치,입력장치,출력장치

 홀러리스의 천공카드 시스템, 1889
 미국 인구 조사국에서 사용

 Mark I, 1944
 최초의 전기 기계식 계산기
9

 ENIAC(에니악), 1946





미국, 모클리와 에커트
최초의 전자계산기, 1946
진공관 사용
프로그램 외장 방식

 EDSAC(에드삭), 1949

 최초의 프로그램 내장방식 채택

 EDVAC(에드박), 1951
 UNIVAC-I(유니박)

 최초의 상용 컴퓨터
 1951년 미국 조사 통계국에서 사용
10

 인텔 4004, 1972
 최초의 마이크로 프로세서

 Altair(알테어) 8800, 1975
 기계어, 256 byte 메모리

 (1975, 빌게이츠, 마이크로소프트 창립)
 (1977, 스티브 잡스, 애플사(Apple computer) 창립)
 애플 컴퓨터 – 세계 최초의 PC, 8 비트

Apple-I과 Apple-II
11

 1978, 인텔 8086
 16비트 마이크로프로세서

 1981, IBM PC
 PC 내부 공개 IBM 호환 PC

 16비트(8088 CPU)
 MS-DOS

 1985, 80386 마이크로 프로세서 – 32비트

12

컴퓨터 세대별 구분
 제1세대: 1950년~1959년

 진공관
 주기억장치: 자기드럼, 천공카드, 기계어
 EDSAC(에드삭), UNIVAC-I

 제2세대: 1959~1965년

 트랜지스터
 주기억장치: 자기코어, 보조기억장치: 자기드럼,자기디스


 FORTRAN, COBOL, ALGOL 고급 언어 등장

 제3세대: 1965~1975년

 IC(반도체 집적회로)
 다중프로그래밍, 실시간처리시스템, 시분할 시스템
13

 제4세대: 1975~1985년
 LSI(고밀도 집적회로), VLSI(초고밀도집적회로)
 마이크로 컴퓨터 발전(PC 등장)

 제5세대: 1985년 ~ 현재
 AI(Artificial Intelligence, 인공 지능)

 퍼지 이론, 전문자 시스템, 음성 인식

14

 컴퓨터에서 사용되는 시간 단위
 ms(millisecond) : 10-3초
 µs(microsecond): 10-6초
 ns(nanosecond): 10-9초
 ps(picosecond): 10-12초
 fs(femtosecond): 10-15초
 as(attosecond): 10-18초

15

컴퓨터의 분류
 사용목적에 따른 분류
 범용(general-purpose) 컴퓨터
 여러 가지 목적으로 사용되는 일반적인 컴퓨터
 전용(special-purpose) 컴퓨터
 특정한 목적으로 사용되는 컴퓨터
 비행기 운항 조절 등

16

컴퓨터의 분류
 자료 표현 방식에 따른 분류
 디지털(digital) 컴퓨터
 컴퓨터 내부에서 자료를 디지털 신호로 표현
 이산적인 자료 처리
 우리가 사용하는 대부분의 컴퓨터
 아날로그(analog) 컴퓨터
 연속적인 자료 처리
 연속적으로 변하는 자료를 물리적인 양 그대로 입력하여 처리
하는 컴퓨터
 온도, 비행기의 연료 소모량, 달리는 차의 속도
 하이브리드 컴퓨터
 디지털과 아날로그의 장점만 따서 만든 컴퓨터
 특수한 분야에 사용

17

컴퓨터의 분류
 컴퓨터의 성능에 따른 분류(처리 능력에 따른 분류)
 슈퍼컴퓨터
 1초에 1조 개 이상의 명령어 처리(부동소숫점 산술 연산)
 현존하는 가장 강력한 성능의 컴퓨터
 대형컴퓨터
 메인 프레임(mainframe)
 대기업, 금융기관에서 주로 사용
 1초에 수억 개 이상의 명령어를 처리
 미니컴퓨터
 (중형컴퓨터)
 다수의 터미널 지원, 다중 사용자 환경에서 사용
 워크스테이션
 마이크로 컴퓨터와 미니 컴퓨터의 중간 정도의 성능
 마이크로 컴퓨터
 마이크로프로세서를 사용해서 만든 컴퓨터
 개인용 컴퓨터(PC)

18

19

자료의 표현
 숫자 자료의 표현
 고정 소수점 표현
 부동 소숫점 표현

 문자 자료의 표현
 ASCII 코드
 EBCDIC 코드
 BCD 코드

 Unicode

20

자료의 표현
 자료 표현의 단위
 Bit(비트; binary digit)
 2진수
 0 또는 1, 2가지 상태를 표현
 Byte(바이트)
 문자를 표현
 보통 8 bit가 모여서 1 byte가 됨

 Word(워드)
 연산 처리의 기본 단위
 보통 4 byte가 모여서 1 word가 됨(32 비트 시스템)

21

자료의 표현
 컴퓨터의 용량을 표현하는 단위
 1 bit
 1 byte = 8 bit
 1 KB(kilo byte):210 = 1024 byte ≈ 103 byte

 1 MB(mega byte): 220 = 1 KB x 1024 ≈ 106 byte
 1 GB(giga byte): 230 = 1 MB x 1024 ≈ 109 byte
 1 TB(tera byte): 240 = 1 GB x 1024 ≈ 1012 byte

 1 PB(peta bate): 250 = 1 TB x 1024 ≈ 1015 byte

22

자료의 표현
 진법
 디지털 컴퓨터에서는 2진법이 기본
 8,16진법은 2진법 관계가 있다.
 인간은 10진법을 주로 사용한다.

 2진법

 0,1만으로 수를 표현

 8진법

 0,1,2,..7로 수를 표현

 10진법

 0,1,2,3,…9로 수를 표현

 16진법

 0,1,2,3,…9,A,B,C,D,E,F로 수를 표현
23

 2,8,16진법(2,8,16진수)

10진수

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

2진수

0
1
10
11
100
101
110
111
1000
1001
1010
1011
1100
1101
1110
1111
10000

8진수

0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20

16진수

0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
10

24

자료의 표현
 10진수를 2진수로 변환
 2진수를 10진수로 변환
 2진수와 8,16진수의 관계
 2진수 3자리  8진수 1자리
 2진수 4자리  16진수 1자리

 2진수를 8진수,10진수, 16진수로 변환
 8진수를 2진수, 16진수, 10진수로 변환
 16진수를 2진수, 8진수, 16진수로 변환
25

 34

 ( 100010
 ( 42
 ( 22

)2
)8
)16

 34.625

 ( 100010.101 )2
 ( 42.5
)8
 ( 42.A
)16

26

자료 표현
 고정 소수점 표현
 정수를 표현할 때 사용된다.
 부호없는 수의 표현

 부호를 표기하지 않는다.
 표현 범위: 0 ~ 2n-1
 부호 있는 정수의 표현(음수의 표현 방식)

 부호와 절대치(부호와 크기 )
 1의 보수
 2의 보수

27

고정 소수점 표현
 부호와 절대치(크기) 방식
 최상위 1비트로 부호를 표기(양수:0, 음수 1)
 나머지 부분에 수를 절대값으로 표현
 +0, -0이 존재

 1의 보수 방식

 양의 정수에 대한 보수로 음수를 표현
 +0, -0이 존재한다.

 2의 보수 방식

 1의 보수에 1을 더해서 표현한다.
 -0이 없으므로, 음수를 하나 더 표현할 수 있다.
 일반적으로 가장 많이 사용한다.

 양수는 위의 3가지 방식이 모두 동일
28

부동 소수점 표현
 부동 소수점 표현
 실수를 표현하는 방식이다.
 단정도(4 byte), 배정도(8 byte)로 표현한다.
 부호부, 지수부, 가수부로 나누어서 표현한다.

단정도
부호 지수
1비트

8 비트

가수
-- 지수 (초과 127)

23비트

배정도
부호

지수

가수

1비트 11 비트

52비트

-- 지수(초과 1023)

29

자료 표현
 문자 표현

 ASCII 코드
 American Standard Code for Information Interchange
 미국 표준협회에서 제정한 정보 교환용 코드
 7비트(또는 8비트)로 1문자를 표현
 128문자(27) 또는 258문자(28)를 표현
 Unicode
 2바이트로 1문자를 표현
 전 세계의 모든 문자를 동일한 방식으로 표현
 EBCDIC(Extended Binary Coded Decimal Interchange Code;

확장된 BCD 코드)

 IBM 대형 기종에서 사용, 8 bit = 1문자

 BCD 코드
 4비트로 숫자1개를 표현

30

연습문제
2. 십진수 53.625를 8진수와 16진수로 각각 올바르
게 표현한 것은?
① 65.5 35.A ② 65.7 35.A
③ 65.5 35.b ④ 65.7 35.b

31

3. 8비트를 사용해서 표현된 정수의 비트 패턴이
10000000이다. 주어진 비트 패턴의 값을 정수
로 해석할 때, 다음 중 가장 작을 값을 나타내
는 정수의 표현 방법은?
① 부호와-크기 방법
③ 2의 보수

② 1의 보수
④ 부동소수점

32

4. 531.74(8)를 16진법의 표현으로 알맞게 나타
낸 것은?
① 159.F
③ 159.3C

② AC1.3C
④ AC1.F

33

5. 다음 중에서 가장 큰 수는 어떤 진법으로 표현
된 수인가?
(227)10 (343)8 (11100101)2 (E7)16
① 10진법
③ 2진법

② 8진법
④ 16진법

34

주관식
다음 물음에 답하시오
(1) 십진수 23.125를 2진수로 변환하시오.
(2) 이진수 100101.1001을 8, 10, 16진수로 변
환하시오.
(3) 16진수 ABC.6A를 2진수와 8진수로 변환하
시오.

35


Slide 9

강사: 주형준([email protected], 010-6317-0101)

전자계산기 일반

1.1 컴퓨터란 무엇인가?
1.2 컴퓨터 시스템의 구성
1.3 컴퓨터 시스템
1.4 컴퓨터의 발전과 분류
1.5 자료의 표현

제1장 컴퓨터와 자료

2

2.1 컴퓨터 구조의 개요
2.2 컴퓨터의 기본 구성
2.3 논리회로와 논리대수
2.4 조합회로와 순차회로
2.5 시스템 구성을 위한 기본 조합 회로
2.6 기억 장치
2.7 명령어와 명령어 세트
2.8 주소방식에 따른 명령어 형식
2.9 중앙처리장치: 처리장치와 제어장치
2.10 입출력장치
2.11 병렬처리

제2장 컴퓨터의 구조

3

3.1 운영체제의 개념
3.2 운영체제의 종류
3.3 주기억장치의 관리
3.4 프로세서 관리
3.5 장치와 파일 관리
3.6 분산 시스템

제3장 운영체제

4

4.1 기본 개념
4.2 배열
4.3 리스트
4.4 스택과 큐
4.5 트리
4.6 그래프
4.7 정렬 알고리즘
4.8 탐색 알고리즘

제5장 프로그래밍 언어
제6장 데이터베이스
제7장 컴퓨터 네트워크
제8장 인공지능

제4장 자료구조와 알고리즘

5

제1장 컴퓨터와 자료

6

1.1 컴퓨터란 무엇인가?
 Computer: 컴퓨터, 전자 계산기
 Compute: 계산하다

 외부에서 자료를 입력(input)받고, 입력 받은 자료를
처리(process)하고, 처리된 결과를 출력(output)하는

기계

 컴퓨터의 가장 큰 장점
 신속한 처리, 계산 결과의 정확성

7

1.2 컴퓨터 시스템의 구성
 하드웨어(H/W; hardware)





입,출력장치
기억장치
산술논리연산장치
제어장치

중앙처리장치(CPU)

 소프트웨어(S/W; software)

 시스템 소프트웨어
 운영체제(OS), 컴파일러, 각종 유틸리티, …
 응용 소프트웨어
 워드프로세서, 그래픽 프로그램, …

 자료(data)
 사용자(user)

8

컴퓨터의 발전
 파스칼의 계산기
 덧셈, 뺄셈

 라이프니츠 계산기
 사칙연산

 배비지의 해석기관
 중앙처리장치,기억장치,입력장치,출력장치

 홀러리스의 천공카드 시스템, 1889
 미국 인구 조사국에서 사용

 Mark I, 1944
 최초의 전기 기계식 계산기
9

 ENIAC(에니악), 1946





미국, 모클리와 에커트
최초의 전자계산기, 1946
진공관 사용
프로그램 외장 방식

 EDSAC(에드삭), 1949

 최초의 프로그램 내장방식 채택

 EDVAC(에드박), 1951
 UNIVAC-I(유니박)

 최초의 상용 컴퓨터
 1951년 미국 조사 통계국에서 사용
10

 인텔 4004, 1972
 최초의 마이크로 프로세서

 Altair(알테어) 8800, 1975
 기계어, 256 byte 메모리

 (1975, 빌게이츠, 마이크로소프트 창립)
 (1977, 스티브 잡스, 애플사(Apple computer) 창립)
 애플 컴퓨터 – 세계 최초의 PC, 8 비트

Apple-I과 Apple-II
11

 1978, 인텔 8086
 16비트 마이크로프로세서

 1981, IBM PC
 PC 내부 공개 IBM 호환 PC

 16비트(8088 CPU)
 MS-DOS

 1985, 80386 마이크로 프로세서 – 32비트

12

컴퓨터 세대별 구분
 제1세대: 1950년~1959년

 진공관
 주기억장치: 자기드럼, 천공카드, 기계어
 EDSAC(에드삭), UNIVAC-I

 제2세대: 1959~1965년

 트랜지스터
 주기억장치: 자기코어, 보조기억장치: 자기드럼,자기디스


 FORTRAN, COBOL, ALGOL 고급 언어 등장

 제3세대: 1965~1975년

 IC(반도체 집적회로)
 다중프로그래밍, 실시간처리시스템, 시분할 시스템
13

 제4세대: 1975~1985년
 LSI(고밀도 집적회로), VLSI(초고밀도집적회로)
 마이크로 컴퓨터 발전(PC 등장)

 제5세대: 1985년 ~ 현재
 AI(Artificial Intelligence, 인공 지능)

 퍼지 이론, 전문자 시스템, 음성 인식

14

 컴퓨터에서 사용되는 시간 단위
 ms(millisecond) : 10-3초
 µs(microsecond): 10-6초
 ns(nanosecond): 10-9초
 ps(picosecond): 10-12초
 fs(femtosecond): 10-15초
 as(attosecond): 10-18초

15

컴퓨터의 분류
 사용목적에 따른 분류
 범용(general-purpose) 컴퓨터
 여러 가지 목적으로 사용되는 일반적인 컴퓨터
 전용(special-purpose) 컴퓨터
 특정한 목적으로 사용되는 컴퓨터
 비행기 운항 조절 등

16

컴퓨터의 분류
 자료 표현 방식에 따른 분류
 디지털(digital) 컴퓨터
 컴퓨터 내부에서 자료를 디지털 신호로 표현
 이산적인 자료 처리
 우리가 사용하는 대부분의 컴퓨터
 아날로그(analog) 컴퓨터
 연속적인 자료 처리
 연속적으로 변하는 자료를 물리적인 양 그대로 입력하여 처리
하는 컴퓨터
 온도, 비행기의 연료 소모량, 달리는 차의 속도
 하이브리드 컴퓨터
 디지털과 아날로그의 장점만 따서 만든 컴퓨터
 특수한 분야에 사용

17

컴퓨터의 분류
 컴퓨터의 성능에 따른 분류(처리 능력에 따른 분류)
 슈퍼컴퓨터
 1초에 1조 개 이상의 명령어 처리(부동소숫점 산술 연산)
 현존하는 가장 강력한 성능의 컴퓨터
 대형컴퓨터
 메인 프레임(mainframe)
 대기업, 금융기관에서 주로 사용
 1초에 수억 개 이상의 명령어를 처리
 미니컴퓨터
 (중형컴퓨터)
 다수의 터미널 지원, 다중 사용자 환경에서 사용
 워크스테이션
 마이크로 컴퓨터와 미니 컴퓨터의 중간 정도의 성능
 마이크로 컴퓨터
 마이크로프로세서를 사용해서 만든 컴퓨터
 개인용 컴퓨터(PC)

18

19

자료의 표현
 숫자 자료의 표현
 고정 소수점 표현
 부동 소숫점 표현

 문자 자료의 표현
 ASCII 코드
 EBCDIC 코드
 BCD 코드

 Unicode

20

자료의 표현
 자료 표현의 단위
 Bit(비트; binary digit)
 2진수
 0 또는 1, 2가지 상태를 표현
 Byte(바이트)
 문자를 표현
 보통 8 bit가 모여서 1 byte가 됨

 Word(워드)
 연산 처리의 기본 단위
 보통 4 byte가 모여서 1 word가 됨(32 비트 시스템)

21

자료의 표현
 컴퓨터의 용량을 표현하는 단위
 1 bit
 1 byte = 8 bit
 1 KB(kilo byte):210 = 1024 byte ≈ 103 byte

 1 MB(mega byte): 220 = 1 KB x 1024 ≈ 106 byte
 1 GB(giga byte): 230 = 1 MB x 1024 ≈ 109 byte
 1 TB(tera byte): 240 = 1 GB x 1024 ≈ 1012 byte

 1 PB(peta bate): 250 = 1 TB x 1024 ≈ 1015 byte

22

자료의 표현
 진법
 디지털 컴퓨터에서는 2진법이 기본
 8,16진법은 2진법 관계가 있다.
 인간은 10진법을 주로 사용한다.

 2진법

 0,1만으로 수를 표현

 8진법

 0,1,2,..7로 수를 표현

 10진법

 0,1,2,3,…9로 수를 표현

 16진법

 0,1,2,3,…9,A,B,C,D,E,F로 수를 표현
23

 2,8,16진법(2,8,16진수)

10진수

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

2진수

0
1
10
11
100
101
110
111
1000
1001
1010
1011
1100
1101
1110
1111
10000

8진수

0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20

16진수

0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
10

24

자료의 표현
 10진수를 2진수로 변환
 2진수를 10진수로 변환
 2진수와 8,16진수의 관계
 2진수 3자리  8진수 1자리
 2진수 4자리  16진수 1자리

 2진수를 8진수,10진수, 16진수로 변환
 8진수를 2진수, 16진수, 10진수로 변환
 16진수를 2진수, 8진수, 16진수로 변환
25

 34

 ( 100010
 ( 42
 ( 22

)2
)8
)16

 34.625

 ( 100010.101 )2
 ( 42.5
)8
 ( 42.A
)16

26

자료 표현
 고정 소수점 표현
 정수를 표현할 때 사용된다.
 부호없는 수의 표현

 부호를 표기하지 않는다.
 표현 범위: 0 ~ 2n-1
 부호 있는 정수의 표현(음수의 표현 방식)

 부호와 절대치(부호와 크기 )
 1의 보수
 2의 보수

27

고정 소수점 표현
 부호와 절대치(크기) 방식
 최상위 1비트로 부호를 표기(양수:0, 음수 1)
 나머지 부분에 수를 절대값으로 표현
 +0, -0이 존재

 1의 보수 방식

 양의 정수에 대한 보수로 음수를 표현
 +0, -0이 존재한다.

 2의 보수 방식

 1의 보수에 1을 더해서 표현한다.
 -0이 없으므로, 음수를 하나 더 표현할 수 있다.
 일반적으로 가장 많이 사용한다.

 양수는 위의 3가지 방식이 모두 동일
28

부동 소수점 표현
 부동 소수점 표현
 실수를 표현하는 방식이다.
 단정도(4 byte), 배정도(8 byte)로 표현한다.
 부호부, 지수부, 가수부로 나누어서 표현한다.

단정도
부호 지수
1비트

8 비트

가수
-- 지수 (초과 127)

23비트

배정도
부호

지수

가수

1비트 11 비트

52비트

-- 지수(초과 1023)

29

자료 표현
 문자 표현

 ASCII 코드
 American Standard Code for Information Interchange
 미국 표준협회에서 제정한 정보 교환용 코드
 7비트(또는 8비트)로 1문자를 표현
 128문자(27) 또는 258문자(28)를 표현
 Unicode
 2바이트로 1문자를 표현
 전 세계의 모든 문자를 동일한 방식으로 표현
 EBCDIC(Extended Binary Coded Decimal Interchange Code;

확장된 BCD 코드)

 IBM 대형 기종에서 사용, 8 bit = 1문자

 BCD 코드
 4비트로 숫자1개를 표현

30

연습문제
2. 십진수 53.625를 8진수와 16진수로 각각 올바르
게 표현한 것은?
① 65.5 35.A ② 65.7 35.A
③ 65.5 35.b ④ 65.7 35.b

31

3. 8비트를 사용해서 표현된 정수의 비트 패턴이
10000000이다. 주어진 비트 패턴의 값을 정수
로 해석할 때, 다음 중 가장 작을 값을 나타내
는 정수의 표현 방법은?
① 부호와-크기 방법
③ 2의 보수

② 1의 보수
④ 부동소수점

32

4. 531.74(8)를 16진법의 표현으로 알맞게 나타
낸 것은?
① 159.F
③ 159.3C

② AC1.3C
④ AC1.F

33

5. 다음 중에서 가장 큰 수는 어떤 진법으로 표현
된 수인가?
(227)10 (343)8 (11100101)2 (E7)16
① 10진법
③ 2진법

② 8진법
④ 16진법

34

주관식
다음 물음에 답하시오
(1) 십진수 23.125를 2진수로 변환하시오.
(2) 이진수 100101.1001을 8, 10, 16진수로 변
환하시오.
(3) 16진수 ABC.6A를 2진수와 8진수로 변환하
시오.

35


Slide 10

강사: 주형준([email protected], 010-6317-0101)

전자계산기 일반

1.1 컴퓨터란 무엇인가?
1.2 컴퓨터 시스템의 구성
1.3 컴퓨터 시스템
1.4 컴퓨터의 발전과 분류
1.5 자료의 표현

제1장 컴퓨터와 자료

2

2.1 컴퓨터 구조의 개요
2.2 컴퓨터의 기본 구성
2.3 논리회로와 논리대수
2.4 조합회로와 순차회로
2.5 시스템 구성을 위한 기본 조합 회로
2.6 기억 장치
2.7 명령어와 명령어 세트
2.8 주소방식에 따른 명령어 형식
2.9 중앙처리장치: 처리장치와 제어장치
2.10 입출력장치
2.11 병렬처리

제2장 컴퓨터의 구조

3

3.1 운영체제의 개념
3.2 운영체제의 종류
3.3 주기억장치의 관리
3.4 프로세서 관리
3.5 장치와 파일 관리
3.6 분산 시스템

제3장 운영체제

4

4.1 기본 개념
4.2 배열
4.3 리스트
4.4 스택과 큐
4.5 트리
4.6 그래프
4.7 정렬 알고리즘
4.8 탐색 알고리즘

제5장 프로그래밍 언어
제6장 데이터베이스
제7장 컴퓨터 네트워크
제8장 인공지능

제4장 자료구조와 알고리즘

5

제1장 컴퓨터와 자료

6

1.1 컴퓨터란 무엇인가?
 Computer: 컴퓨터, 전자 계산기
 Compute: 계산하다

 외부에서 자료를 입력(input)받고, 입력 받은 자료를
처리(process)하고, 처리된 결과를 출력(output)하는

기계

 컴퓨터의 가장 큰 장점
 신속한 처리, 계산 결과의 정확성

7

1.2 컴퓨터 시스템의 구성
 하드웨어(H/W; hardware)





입,출력장치
기억장치
산술논리연산장치
제어장치

중앙처리장치(CPU)

 소프트웨어(S/W; software)

 시스템 소프트웨어
 운영체제(OS), 컴파일러, 각종 유틸리티, …
 응용 소프트웨어
 워드프로세서, 그래픽 프로그램, …

 자료(data)
 사용자(user)

8

컴퓨터의 발전
 파스칼의 계산기
 덧셈, 뺄셈

 라이프니츠 계산기
 사칙연산

 배비지의 해석기관
 중앙처리장치,기억장치,입력장치,출력장치

 홀러리스의 천공카드 시스템, 1889
 미국 인구 조사국에서 사용

 Mark I, 1944
 최초의 전기 기계식 계산기
9

 ENIAC(에니악), 1946





미국, 모클리와 에커트
최초의 전자계산기, 1946
진공관 사용
프로그램 외장 방식

 EDSAC(에드삭), 1949

 최초의 프로그램 내장방식 채택

 EDVAC(에드박), 1951
 UNIVAC-I(유니박)

 최초의 상용 컴퓨터
 1951년 미국 조사 통계국에서 사용
10

 인텔 4004, 1972
 최초의 마이크로 프로세서

 Altair(알테어) 8800, 1975
 기계어, 256 byte 메모리

 (1975, 빌게이츠, 마이크로소프트 창립)
 (1977, 스티브 잡스, 애플사(Apple computer) 창립)
 애플 컴퓨터 – 세계 최초의 PC, 8 비트

Apple-I과 Apple-II
11

 1978, 인텔 8086
 16비트 마이크로프로세서

 1981, IBM PC
 PC 내부 공개 IBM 호환 PC

 16비트(8088 CPU)
 MS-DOS

 1985, 80386 마이크로 프로세서 – 32비트

12

컴퓨터 세대별 구분
 제1세대: 1950년~1959년

 진공관
 주기억장치: 자기드럼, 천공카드, 기계어
 EDSAC(에드삭), UNIVAC-I

 제2세대: 1959~1965년

 트랜지스터
 주기억장치: 자기코어, 보조기억장치: 자기드럼,자기디스


 FORTRAN, COBOL, ALGOL 고급 언어 등장

 제3세대: 1965~1975년

 IC(반도체 집적회로)
 다중프로그래밍, 실시간처리시스템, 시분할 시스템
13

 제4세대: 1975~1985년
 LSI(고밀도 집적회로), VLSI(초고밀도집적회로)
 마이크로 컴퓨터 발전(PC 등장)

 제5세대: 1985년 ~ 현재
 AI(Artificial Intelligence, 인공 지능)

 퍼지 이론, 전문자 시스템, 음성 인식

14

 컴퓨터에서 사용되는 시간 단위
 ms(millisecond) : 10-3초
 µs(microsecond): 10-6초
 ns(nanosecond): 10-9초
 ps(picosecond): 10-12초
 fs(femtosecond): 10-15초
 as(attosecond): 10-18초

15

컴퓨터의 분류
 사용목적에 따른 분류
 범용(general-purpose) 컴퓨터
 여러 가지 목적으로 사용되는 일반적인 컴퓨터
 전용(special-purpose) 컴퓨터
 특정한 목적으로 사용되는 컴퓨터
 비행기 운항 조절 등

16

컴퓨터의 분류
 자료 표현 방식에 따른 분류
 디지털(digital) 컴퓨터
 컴퓨터 내부에서 자료를 디지털 신호로 표현
 이산적인 자료 처리
 우리가 사용하는 대부분의 컴퓨터
 아날로그(analog) 컴퓨터
 연속적인 자료 처리
 연속적으로 변하는 자료를 물리적인 양 그대로 입력하여 처리
하는 컴퓨터
 온도, 비행기의 연료 소모량, 달리는 차의 속도
 하이브리드 컴퓨터
 디지털과 아날로그의 장점만 따서 만든 컴퓨터
 특수한 분야에 사용

17

컴퓨터의 분류
 컴퓨터의 성능에 따른 분류(처리 능력에 따른 분류)
 슈퍼컴퓨터
 1초에 1조 개 이상의 명령어 처리(부동소숫점 산술 연산)
 현존하는 가장 강력한 성능의 컴퓨터
 대형컴퓨터
 메인 프레임(mainframe)
 대기업, 금융기관에서 주로 사용
 1초에 수억 개 이상의 명령어를 처리
 미니컴퓨터
 (중형컴퓨터)
 다수의 터미널 지원, 다중 사용자 환경에서 사용
 워크스테이션
 마이크로 컴퓨터와 미니 컴퓨터의 중간 정도의 성능
 마이크로 컴퓨터
 마이크로프로세서를 사용해서 만든 컴퓨터
 개인용 컴퓨터(PC)

18

19

자료의 표현
 숫자 자료의 표현
 고정 소수점 표현
 부동 소숫점 표현

 문자 자료의 표현
 ASCII 코드
 EBCDIC 코드
 BCD 코드

 Unicode

20

자료의 표현
 자료 표현의 단위
 Bit(비트; binary digit)
 2진수
 0 또는 1, 2가지 상태를 표현
 Byte(바이트)
 문자를 표현
 보통 8 bit가 모여서 1 byte가 됨

 Word(워드)
 연산 처리의 기본 단위
 보통 4 byte가 모여서 1 word가 됨(32 비트 시스템)

21

자료의 표현
 컴퓨터의 용량을 표현하는 단위
 1 bit
 1 byte = 8 bit
 1 KB(kilo byte):210 = 1024 byte ≈ 103 byte

 1 MB(mega byte): 220 = 1 KB x 1024 ≈ 106 byte
 1 GB(giga byte): 230 = 1 MB x 1024 ≈ 109 byte
 1 TB(tera byte): 240 = 1 GB x 1024 ≈ 1012 byte

 1 PB(peta bate): 250 = 1 TB x 1024 ≈ 1015 byte

22

자료의 표현
 진법
 디지털 컴퓨터에서는 2진법이 기본
 8,16진법은 2진법 관계가 있다.
 인간은 10진법을 주로 사용한다.

 2진법

 0,1만으로 수를 표현

 8진법

 0,1,2,..7로 수를 표현

 10진법

 0,1,2,3,…9로 수를 표현

 16진법

 0,1,2,3,…9,A,B,C,D,E,F로 수를 표현
23

 2,8,16진법(2,8,16진수)

10진수

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

2진수

0
1
10
11
100
101
110
111
1000
1001
1010
1011
1100
1101
1110
1111
10000

8진수

0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20

16진수

0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
10

24

자료의 표현
 10진수를 2진수로 변환
 2진수를 10진수로 변환
 2진수와 8,16진수의 관계
 2진수 3자리  8진수 1자리
 2진수 4자리  16진수 1자리

 2진수를 8진수,10진수, 16진수로 변환
 8진수를 2진수, 16진수, 10진수로 변환
 16진수를 2진수, 8진수, 16진수로 변환
25

 34

 ( 100010
 ( 42
 ( 22

)2
)8
)16

 34.625

 ( 100010.101 )2
 ( 42.5
)8
 ( 42.A
)16

26

자료 표현
 고정 소수점 표현
 정수를 표현할 때 사용된다.
 부호없는 수의 표현

 부호를 표기하지 않는다.
 표현 범위: 0 ~ 2n-1
 부호 있는 정수의 표현(음수의 표현 방식)

 부호와 절대치(부호와 크기 )
 1의 보수
 2의 보수

27

고정 소수점 표현
 부호와 절대치(크기) 방식
 최상위 1비트로 부호를 표기(양수:0, 음수 1)
 나머지 부분에 수를 절대값으로 표현
 +0, -0이 존재

 1의 보수 방식

 양의 정수에 대한 보수로 음수를 표현
 +0, -0이 존재한다.

 2의 보수 방식

 1의 보수에 1을 더해서 표현한다.
 -0이 없으므로, 음수를 하나 더 표현할 수 있다.
 일반적으로 가장 많이 사용한다.

 양수는 위의 3가지 방식이 모두 동일
28

부동 소수점 표현
 부동 소수점 표현
 실수를 표현하는 방식이다.
 단정도(4 byte), 배정도(8 byte)로 표현한다.
 부호부, 지수부, 가수부로 나누어서 표현한다.

단정도
부호 지수
1비트

8 비트

가수
-- 지수 (초과 127)

23비트

배정도
부호

지수

가수

1비트 11 비트

52비트

-- 지수(초과 1023)

29

자료 표현
 문자 표현

 ASCII 코드
 American Standard Code for Information Interchange
 미국 표준협회에서 제정한 정보 교환용 코드
 7비트(또는 8비트)로 1문자를 표현
 128문자(27) 또는 258문자(28)를 표현
 Unicode
 2바이트로 1문자를 표현
 전 세계의 모든 문자를 동일한 방식으로 표현
 EBCDIC(Extended Binary Coded Decimal Interchange Code;

확장된 BCD 코드)

 IBM 대형 기종에서 사용, 8 bit = 1문자

 BCD 코드
 4비트로 숫자1개를 표현

30

연습문제
2. 십진수 53.625를 8진수와 16진수로 각각 올바르
게 표현한 것은?
① 65.5 35.A ② 65.7 35.A
③ 65.5 35.b ④ 65.7 35.b

31

3. 8비트를 사용해서 표현된 정수의 비트 패턴이
10000000이다. 주어진 비트 패턴의 값을 정수
로 해석할 때, 다음 중 가장 작을 값을 나타내
는 정수의 표현 방법은?
① 부호와-크기 방법
③ 2의 보수

② 1의 보수
④ 부동소수점

32

4. 531.74(8)를 16진법의 표현으로 알맞게 나타
낸 것은?
① 159.F
③ 159.3C

② AC1.3C
④ AC1.F

33

5. 다음 중에서 가장 큰 수는 어떤 진법으로 표현
된 수인가?
(227)10 (343)8 (11100101)2 (E7)16
① 10진법
③ 2진법

② 8진법
④ 16진법

34

주관식
다음 물음에 답하시오
(1) 십진수 23.125를 2진수로 변환하시오.
(2) 이진수 100101.1001을 8, 10, 16진수로 변
환하시오.
(3) 16진수 ABC.6A를 2진수와 8진수로 변환하
시오.

35


Slide 11

강사: 주형준([email protected], 010-6317-0101)

전자계산기 일반

1.1 컴퓨터란 무엇인가?
1.2 컴퓨터 시스템의 구성
1.3 컴퓨터 시스템
1.4 컴퓨터의 발전과 분류
1.5 자료의 표현

제1장 컴퓨터와 자료

2

2.1 컴퓨터 구조의 개요
2.2 컴퓨터의 기본 구성
2.3 논리회로와 논리대수
2.4 조합회로와 순차회로
2.5 시스템 구성을 위한 기본 조합 회로
2.6 기억 장치
2.7 명령어와 명령어 세트
2.8 주소방식에 따른 명령어 형식
2.9 중앙처리장치: 처리장치와 제어장치
2.10 입출력장치
2.11 병렬처리

제2장 컴퓨터의 구조

3

3.1 운영체제의 개념
3.2 운영체제의 종류
3.3 주기억장치의 관리
3.4 프로세서 관리
3.5 장치와 파일 관리
3.6 분산 시스템

제3장 운영체제

4

4.1 기본 개념
4.2 배열
4.3 리스트
4.4 스택과 큐
4.5 트리
4.6 그래프
4.7 정렬 알고리즘
4.8 탐색 알고리즘

제5장 프로그래밍 언어
제6장 데이터베이스
제7장 컴퓨터 네트워크
제8장 인공지능

제4장 자료구조와 알고리즘

5

제1장 컴퓨터와 자료

6

1.1 컴퓨터란 무엇인가?
 Computer: 컴퓨터, 전자 계산기
 Compute: 계산하다

 외부에서 자료를 입력(input)받고, 입력 받은 자료를
처리(process)하고, 처리된 결과를 출력(output)하는

기계

 컴퓨터의 가장 큰 장점
 신속한 처리, 계산 결과의 정확성

7

1.2 컴퓨터 시스템의 구성
 하드웨어(H/W; hardware)





입,출력장치
기억장치
산술논리연산장치
제어장치

중앙처리장치(CPU)

 소프트웨어(S/W; software)

 시스템 소프트웨어
 운영체제(OS), 컴파일러, 각종 유틸리티, …
 응용 소프트웨어
 워드프로세서, 그래픽 프로그램, …

 자료(data)
 사용자(user)

8

컴퓨터의 발전
 파스칼의 계산기
 덧셈, 뺄셈

 라이프니츠 계산기
 사칙연산

 배비지의 해석기관
 중앙처리장치,기억장치,입력장치,출력장치

 홀러리스의 천공카드 시스템, 1889
 미국 인구 조사국에서 사용

 Mark I, 1944
 최초의 전기 기계식 계산기
9

 ENIAC(에니악), 1946





미국, 모클리와 에커트
최초의 전자계산기, 1946
진공관 사용
프로그램 외장 방식

 EDSAC(에드삭), 1949

 최초의 프로그램 내장방식 채택

 EDVAC(에드박), 1951
 UNIVAC-I(유니박)

 최초의 상용 컴퓨터
 1951년 미국 조사 통계국에서 사용
10

 인텔 4004, 1972
 최초의 마이크로 프로세서

 Altair(알테어) 8800, 1975
 기계어, 256 byte 메모리

 (1975, 빌게이츠, 마이크로소프트 창립)
 (1977, 스티브 잡스, 애플사(Apple computer) 창립)
 애플 컴퓨터 – 세계 최초의 PC, 8 비트

Apple-I과 Apple-II
11

 1978, 인텔 8086
 16비트 마이크로프로세서

 1981, IBM PC
 PC 내부 공개 IBM 호환 PC

 16비트(8088 CPU)
 MS-DOS

 1985, 80386 마이크로 프로세서 – 32비트

12

컴퓨터 세대별 구분
 제1세대: 1950년~1959년

 진공관
 주기억장치: 자기드럼, 천공카드, 기계어
 EDSAC(에드삭), UNIVAC-I

 제2세대: 1959~1965년

 트랜지스터
 주기억장치: 자기코어, 보조기억장치: 자기드럼,자기디스


 FORTRAN, COBOL, ALGOL 고급 언어 등장

 제3세대: 1965~1975년

 IC(반도체 집적회로)
 다중프로그래밍, 실시간처리시스템, 시분할 시스템
13

 제4세대: 1975~1985년
 LSI(고밀도 집적회로), VLSI(초고밀도집적회로)
 마이크로 컴퓨터 발전(PC 등장)

 제5세대: 1985년 ~ 현재
 AI(Artificial Intelligence, 인공 지능)

 퍼지 이론, 전문자 시스템, 음성 인식

14

 컴퓨터에서 사용되는 시간 단위
 ms(millisecond) : 10-3초
 µs(microsecond): 10-6초
 ns(nanosecond): 10-9초
 ps(picosecond): 10-12초
 fs(femtosecond): 10-15초
 as(attosecond): 10-18초

15

컴퓨터의 분류
 사용목적에 따른 분류
 범용(general-purpose) 컴퓨터
 여러 가지 목적으로 사용되는 일반적인 컴퓨터
 전용(special-purpose) 컴퓨터
 특정한 목적으로 사용되는 컴퓨터
 비행기 운항 조절 등

16

컴퓨터의 분류
 자료 표현 방식에 따른 분류
 디지털(digital) 컴퓨터
 컴퓨터 내부에서 자료를 디지털 신호로 표현
 이산적인 자료 처리
 우리가 사용하는 대부분의 컴퓨터
 아날로그(analog) 컴퓨터
 연속적인 자료 처리
 연속적으로 변하는 자료를 물리적인 양 그대로 입력하여 처리
하는 컴퓨터
 온도, 비행기의 연료 소모량, 달리는 차의 속도
 하이브리드 컴퓨터
 디지털과 아날로그의 장점만 따서 만든 컴퓨터
 특수한 분야에 사용

17

컴퓨터의 분류
 컴퓨터의 성능에 따른 분류(처리 능력에 따른 분류)
 슈퍼컴퓨터
 1초에 1조 개 이상의 명령어 처리(부동소숫점 산술 연산)
 현존하는 가장 강력한 성능의 컴퓨터
 대형컴퓨터
 메인 프레임(mainframe)
 대기업, 금융기관에서 주로 사용
 1초에 수억 개 이상의 명령어를 처리
 미니컴퓨터
 (중형컴퓨터)
 다수의 터미널 지원, 다중 사용자 환경에서 사용
 워크스테이션
 마이크로 컴퓨터와 미니 컴퓨터의 중간 정도의 성능
 마이크로 컴퓨터
 마이크로프로세서를 사용해서 만든 컴퓨터
 개인용 컴퓨터(PC)

18

19

자료의 표현
 숫자 자료의 표현
 고정 소수점 표현
 부동 소숫점 표현

 문자 자료의 표현
 ASCII 코드
 EBCDIC 코드
 BCD 코드

 Unicode

20

자료의 표현
 자료 표현의 단위
 Bit(비트; binary digit)
 2진수
 0 또는 1, 2가지 상태를 표현
 Byte(바이트)
 문자를 표현
 보통 8 bit가 모여서 1 byte가 됨

 Word(워드)
 연산 처리의 기본 단위
 보통 4 byte가 모여서 1 word가 됨(32 비트 시스템)

21

자료의 표현
 컴퓨터의 용량을 표현하는 단위
 1 bit
 1 byte = 8 bit
 1 KB(kilo byte):210 = 1024 byte ≈ 103 byte

 1 MB(mega byte): 220 = 1 KB x 1024 ≈ 106 byte
 1 GB(giga byte): 230 = 1 MB x 1024 ≈ 109 byte
 1 TB(tera byte): 240 = 1 GB x 1024 ≈ 1012 byte

 1 PB(peta bate): 250 = 1 TB x 1024 ≈ 1015 byte

22

자료의 표현
 진법
 디지털 컴퓨터에서는 2진법이 기본
 8,16진법은 2진법 관계가 있다.
 인간은 10진법을 주로 사용한다.

 2진법

 0,1만으로 수를 표현

 8진법

 0,1,2,..7로 수를 표현

 10진법

 0,1,2,3,…9로 수를 표현

 16진법

 0,1,2,3,…9,A,B,C,D,E,F로 수를 표현
23

 2,8,16진법(2,8,16진수)

10진수

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

2진수

0
1
10
11
100
101
110
111
1000
1001
1010
1011
1100
1101
1110
1111
10000

8진수

0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20

16진수

0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
10

24

자료의 표현
 10진수를 2진수로 변환
 2진수를 10진수로 변환
 2진수와 8,16진수의 관계
 2진수 3자리  8진수 1자리
 2진수 4자리  16진수 1자리

 2진수를 8진수,10진수, 16진수로 변환
 8진수를 2진수, 16진수, 10진수로 변환
 16진수를 2진수, 8진수, 16진수로 변환
25

 34

 ( 100010
 ( 42
 ( 22

)2
)8
)16

 34.625

 ( 100010.101 )2
 ( 42.5
)8
 ( 42.A
)16

26

자료 표현
 고정 소수점 표현
 정수를 표현할 때 사용된다.
 부호없는 수의 표현

 부호를 표기하지 않는다.
 표현 범위: 0 ~ 2n-1
 부호 있는 정수의 표현(음수의 표현 방식)

 부호와 절대치(부호와 크기 )
 1의 보수
 2의 보수

27

고정 소수점 표현
 부호와 절대치(크기) 방식
 최상위 1비트로 부호를 표기(양수:0, 음수 1)
 나머지 부분에 수를 절대값으로 표현
 +0, -0이 존재

 1의 보수 방식

 양의 정수에 대한 보수로 음수를 표현
 +0, -0이 존재한다.

 2의 보수 방식

 1의 보수에 1을 더해서 표현한다.
 -0이 없으므로, 음수를 하나 더 표현할 수 있다.
 일반적으로 가장 많이 사용한다.

 양수는 위의 3가지 방식이 모두 동일
28

부동 소수점 표현
 부동 소수점 표현
 실수를 표현하는 방식이다.
 단정도(4 byte), 배정도(8 byte)로 표현한다.
 부호부, 지수부, 가수부로 나누어서 표현한다.

단정도
부호 지수
1비트

8 비트

가수
-- 지수 (초과 127)

23비트

배정도
부호

지수

가수

1비트 11 비트

52비트

-- 지수(초과 1023)

29

자료 표현
 문자 표현

 ASCII 코드
 American Standard Code for Information Interchange
 미국 표준협회에서 제정한 정보 교환용 코드
 7비트(또는 8비트)로 1문자를 표현
 128문자(27) 또는 258문자(28)를 표현
 Unicode
 2바이트로 1문자를 표현
 전 세계의 모든 문자를 동일한 방식으로 표현
 EBCDIC(Extended Binary Coded Decimal Interchange Code;

확장된 BCD 코드)

 IBM 대형 기종에서 사용, 8 bit = 1문자

 BCD 코드
 4비트로 숫자1개를 표현

30

연습문제
2. 십진수 53.625를 8진수와 16진수로 각각 올바르
게 표현한 것은?
① 65.5 35.A ② 65.7 35.A
③ 65.5 35.b ④ 65.7 35.b

31

3. 8비트를 사용해서 표현된 정수의 비트 패턴이
10000000이다. 주어진 비트 패턴의 값을 정수
로 해석할 때, 다음 중 가장 작을 값을 나타내
는 정수의 표현 방법은?
① 부호와-크기 방법
③ 2의 보수

② 1의 보수
④ 부동소수점

32

4. 531.74(8)를 16진법의 표현으로 알맞게 나타
낸 것은?
① 159.F
③ 159.3C

② AC1.3C
④ AC1.F

33

5. 다음 중에서 가장 큰 수는 어떤 진법으로 표현
된 수인가?
(227)10 (343)8 (11100101)2 (E7)16
① 10진법
③ 2진법

② 8진법
④ 16진법

34

주관식
다음 물음에 답하시오
(1) 십진수 23.125를 2진수로 변환하시오.
(2) 이진수 100101.1001을 8, 10, 16진수로 변
환하시오.
(3) 16진수 ABC.6A를 2진수와 8진수로 변환하
시오.

35


Slide 12

강사: 주형준([email protected], 010-6317-0101)

전자계산기 일반

1.1 컴퓨터란 무엇인가?
1.2 컴퓨터 시스템의 구성
1.3 컴퓨터 시스템
1.4 컴퓨터의 발전과 분류
1.5 자료의 표현

제1장 컴퓨터와 자료

2

2.1 컴퓨터 구조의 개요
2.2 컴퓨터의 기본 구성
2.3 논리회로와 논리대수
2.4 조합회로와 순차회로
2.5 시스템 구성을 위한 기본 조합 회로
2.6 기억 장치
2.7 명령어와 명령어 세트
2.8 주소방식에 따른 명령어 형식
2.9 중앙처리장치: 처리장치와 제어장치
2.10 입출력장치
2.11 병렬처리

제2장 컴퓨터의 구조

3

3.1 운영체제의 개념
3.2 운영체제의 종류
3.3 주기억장치의 관리
3.4 프로세서 관리
3.5 장치와 파일 관리
3.6 분산 시스템

제3장 운영체제

4

4.1 기본 개념
4.2 배열
4.3 리스트
4.4 스택과 큐
4.5 트리
4.6 그래프
4.7 정렬 알고리즘
4.8 탐색 알고리즘

제5장 프로그래밍 언어
제6장 데이터베이스
제7장 컴퓨터 네트워크
제8장 인공지능

제4장 자료구조와 알고리즘

5

제1장 컴퓨터와 자료

6

1.1 컴퓨터란 무엇인가?
 Computer: 컴퓨터, 전자 계산기
 Compute: 계산하다

 외부에서 자료를 입력(input)받고, 입력 받은 자료를
처리(process)하고, 처리된 결과를 출력(output)하는

기계

 컴퓨터의 가장 큰 장점
 신속한 처리, 계산 결과의 정확성

7

1.2 컴퓨터 시스템의 구성
 하드웨어(H/W; hardware)





입,출력장치
기억장치
산술논리연산장치
제어장치

중앙처리장치(CPU)

 소프트웨어(S/W; software)

 시스템 소프트웨어
 운영체제(OS), 컴파일러, 각종 유틸리티, …
 응용 소프트웨어
 워드프로세서, 그래픽 프로그램, …

 자료(data)
 사용자(user)

8

컴퓨터의 발전
 파스칼의 계산기
 덧셈, 뺄셈

 라이프니츠 계산기
 사칙연산

 배비지의 해석기관
 중앙처리장치,기억장치,입력장치,출력장치

 홀러리스의 천공카드 시스템, 1889
 미국 인구 조사국에서 사용

 Mark I, 1944
 최초의 전기 기계식 계산기
9

 ENIAC(에니악), 1946





미국, 모클리와 에커트
최초의 전자계산기, 1946
진공관 사용
프로그램 외장 방식

 EDSAC(에드삭), 1949

 최초의 프로그램 내장방식 채택

 EDVAC(에드박), 1951
 UNIVAC-I(유니박)

 최초의 상용 컴퓨터
 1951년 미국 조사 통계국에서 사용
10

 인텔 4004, 1972
 최초의 마이크로 프로세서

 Altair(알테어) 8800, 1975
 기계어, 256 byte 메모리

 (1975, 빌게이츠, 마이크로소프트 창립)
 (1977, 스티브 잡스, 애플사(Apple computer) 창립)
 애플 컴퓨터 – 세계 최초의 PC, 8 비트

Apple-I과 Apple-II
11

 1978, 인텔 8086
 16비트 마이크로프로세서

 1981, IBM PC
 PC 내부 공개 IBM 호환 PC

 16비트(8088 CPU)
 MS-DOS

 1985, 80386 마이크로 프로세서 – 32비트

12

컴퓨터 세대별 구분
 제1세대: 1950년~1959년

 진공관
 주기억장치: 자기드럼, 천공카드, 기계어
 EDSAC(에드삭), UNIVAC-I

 제2세대: 1959~1965년

 트랜지스터
 주기억장치: 자기코어, 보조기억장치: 자기드럼,자기디스


 FORTRAN, COBOL, ALGOL 고급 언어 등장

 제3세대: 1965~1975년

 IC(반도체 집적회로)
 다중프로그래밍, 실시간처리시스템, 시분할 시스템
13

 제4세대: 1975~1985년
 LSI(고밀도 집적회로), VLSI(초고밀도집적회로)
 마이크로 컴퓨터 발전(PC 등장)

 제5세대: 1985년 ~ 현재
 AI(Artificial Intelligence, 인공 지능)

 퍼지 이론, 전문자 시스템, 음성 인식

14

 컴퓨터에서 사용되는 시간 단위
 ms(millisecond) : 10-3초
 µs(microsecond): 10-6초
 ns(nanosecond): 10-9초
 ps(picosecond): 10-12초
 fs(femtosecond): 10-15초
 as(attosecond): 10-18초

15

컴퓨터의 분류
 사용목적에 따른 분류
 범용(general-purpose) 컴퓨터
 여러 가지 목적으로 사용되는 일반적인 컴퓨터
 전용(special-purpose) 컴퓨터
 특정한 목적으로 사용되는 컴퓨터
 비행기 운항 조절 등

16

컴퓨터의 분류
 자료 표현 방식에 따른 분류
 디지털(digital) 컴퓨터
 컴퓨터 내부에서 자료를 디지털 신호로 표현
 이산적인 자료 처리
 우리가 사용하는 대부분의 컴퓨터
 아날로그(analog) 컴퓨터
 연속적인 자료 처리
 연속적으로 변하는 자료를 물리적인 양 그대로 입력하여 처리
하는 컴퓨터
 온도, 비행기의 연료 소모량, 달리는 차의 속도
 하이브리드 컴퓨터
 디지털과 아날로그의 장점만 따서 만든 컴퓨터
 특수한 분야에 사용

17

컴퓨터의 분류
 컴퓨터의 성능에 따른 분류(처리 능력에 따른 분류)
 슈퍼컴퓨터
 1초에 1조 개 이상의 명령어 처리(부동소숫점 산술 연산)
 현존하는 가장 강력한 성능의 컴퓨터
 대형컴퓨터
 메인 프레임(mainframe)
 대기업, 금융기관에서 주로 사용
 1초에 수억 개 이상의 명령어를 처리
 미니컴퓨터
 (중형컴퓨터)
 다수의 터미널 지원, 다중 사용자 환경에서 사용
 워크스테이션
 마이크로 컴퓨터와 미니 컴퓨터의 중간 정도의 성능
 마이크로 컴퓨터
 마이크로프로세서를 사용해서 만든 컴퓨터
 개인용 컴퓨터(PC)

18

19

자료의 표현
 숫자 자료의 표현
 고정 소수점 표현
 부동 소숫점 표현

 문자 자료의 표현
 ASCII 코드
 EBCDIC 코드
 BCD 코드

 Unicode

20

자료의 표현
 자료 표현의 단위
 Bit(비트; binary digit)
 2진수
 0 또는 1, 2가지 상태를 표현
 Byte(바이트)
 문자를 표현
 보통 8 bit가 모여서 1 byte가 됨

 Word(워드)
 연산 처리의 기본 단위
 보통 4 byte가 모여서 1 word가 됨(32 비트 시스템)

21

자료의 표현
 컴퓨터의 용량을 표현하는 단위
 1 bit
 1 byte = 8 bit
 1 KB(kilo byte):210 = 1024 byte ≈ 103 byte

 1 MB(mega byte): 220 = 1 KB x 1024 ≈ 106 byte
 1 GB(giga byte): 230 = 1 MB x 1024 ≈ 109 byte
 1 TB(tera byte): 240 = 1 GB x 1024 ≈ 1012 byte

 1 PB(peta bate): 250 = 1 TB x 1024 ≈ 1015 byte

22

자료의 표현
 진법
 디지털 컴퓨터에서는 2진법이 기본
 8,16진법은 2진법 관계가 있다.
 인간은 10진법을 주로 사용한다.

 2진법

 0,1만으로 수를 표현

 8진법

 0,1,2,..7로 수를 표현

 10진법

 0,1,2,3,…9로 수를 표현

 16진법

 0,1,2,3,…9,A,B,C,D,E,F로 수를 표현
23

 2,8,16진법(2,8,16진수)

10진수

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

2진수

0
1
10
11
100
101
110
111
1000
1001
1010
1011
1100
1101
1110
1111
10000

8진수

0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20

16진수

0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
10

24

자료의 표현
 10진수를 2진수로 변환
 2진수를 10진수로 변환
 2진수와 8,16진수의 관계
 2진수 3자리  8진수 1자리
 2진수 4자리  16진수 1자리

 2진수를 8진수,10진수, 16진수로 변환
 8진수를 2진수, 16진수, 10진수로 변환
 16진수를 2진수, 8진수, 16진수로 변환
25

 34

 ( 100010
 ( 42
 ( 22

)2
)8
)16

 34.625

 ( 100010.101 )2
 ( 42.5
)8
 ( 42.A
)16

26

자료 표현
 고정 소수점 표현
 정수를 표현할 때 사용된다.
 부호없는 수의 표현

 부호를 표기하지 않는다.
 표현 범위: 0 ~ 2n-1
 부호 있는 정수의 표현(음수의 표현 방식)

 부호와 절대치(부호와 크기 )
 1의 보수
 2의 보수

27

고정 소수점 표현
 부호와 절대치(크기) 방식
 최상위 1비트로 부호를 표기(양수:0, 음수 1)
 나머지 부분에 수를 절대값으로 표현
 +0, -0이 존재

 1의 보수 방식

 양의 정수에 대한 보수로 음수를 표현
 +0, -0이 존재한다.

 2의 보수 방식

 1의 보수에 1을 더해서 표현한다.
 -0이 없으므로, 음수를 하나 더 표현할 수 있다.
 일반적으로 가장 많이 사용한다.

 양수는 위의 3가지 방식이 모두 동일
28

부동 소수점 표현
 부동 소수점 표현
 실수를 표현하는 방식이다.
 단정도(4 byte), 배정도(8 byte)로 표현한다.
 부호부, 지수부, 가수부로 나누어서 표현한다.

단정도
부호 지수
1비트

8 비트

가수
-- 지수 (초과 127)

23비트

배정도
부호

지수

가수

1비트 11 비트

52비트

-- 지수(초과 1023)

29

자료 표현
 문자 표현

 ASCII 코드
 American Standard Code for Information Interchange
 미국 표준협회에서 제정한 정보 교환용 코드
 7비트(또는 8비트)로 1문자를 표현
 128문자(27) 또는 258문자(28)를 표현
 Unicode
 2바이트로 1문자를 표현
 전 세계의 모든 문자를 동일한 방식으로 표현
 EBCDIC(Extended Binary Coded Decimal Interchange Code;

확장된 BCD 코드)

 IBM 대형 기종에서 사용, 8 bit = 1문자

 BCD 코드
 4비트로 숫자1개를 표현

30

연습문제
2. 십진수 53.625를 8진수와 16진수로 각각 올바르
게 표현한 것은?
① 65.5 35.A ② 65.7 35.A
③ 65.5 35.b ④ 65.7 35.b

31

3. 8비트를 사용해서 표현된 정수의 비트 패턴이
10000000이다. 주어진 비트 패턴의 값을 정수
로 해석할 때, 다음 중 가장 작을 값을 나타내
는 정수의 표현 방법은?
① 부호와-크기 방법
③ 2의 보수

② 1의 보수
④ 부동소수점

32

4. 531.74(8)를 16진법의 표현으로 알맞게 나타
낸 것은?
① 159.F
③ 159.3C

② AC1.3C
④ AC1.F

33

5. 다음 중에서 가장 큰 수는 어떤 진법으로 표현
된 수인가?
(227)10 (343)8 (11100101)2 (E7)16
① 10진법
③ 2진법

② 8진법
④ 16진법

34

주관식
다음 물음에 답하시오
(1) 십진수 23.125를 2진수로 변환하시오.
(2) 이진수 100101.1001을 8, 10, 16진수로 변
환하시오.
(3) 16진수 ABC.6A를 2진수와 8진수로 변환하
시오.

35


Slide 13

강사: 주형준([email protected], 010-6317-0101)

전자계산기 일반

1.1 컴퓨터란 무엇인가?
1.2 컴퓨터 시스템의 구성
1.3 컴퓨터 시스템
1.4 컴퓨터의 발전과 분류
1.5 자료의 표현

제1장 컴퓨터와 자료

2

2.1 컴퓨터 구조의 개요
2.2 컴퓨터의 기본 구성
2.3 논리회로와 논리대수
2.4 조합회로와 순차회로
2.5 시스템 구성을 위한 기본 조합 회로
2.6 기억 장치
2.7 명령어와 명령어 세트
2.8 주소방식에 따른 명령어 형식
2.9 중앙처리장치: 처리장치와 제어장치
2.10 입출력장치
2.11 병렬처리

제2장 컴퓨터의 구조

3

3.1 운영체제의 개념
3.2 운영체제의 종류
3.3 주기억장치의 관리
3.4 프로세서 관리
3.5 장치와 파일 관리
3.6 분산 시스템

제3장 운영체제

4

4.1 기본 개념
4.2 배열
4.3 리스트
4.4 스택과 큐
4.5 트리
4.6 그래프
4.7 정렬 알고리즘
4.8 탐색 알고리즘

제5장 프로그래밍 언어
제6장 데이터베이스
제7장 컴퓨터 네트워크
제8장 인공지능

제4장 자료구조와 알고리즘

5

제1장 컴퓨터와 자료

6

1.1 컴퓨터란 무엇인가?
 Computer: 컴퓨터, 전자 계산기
 Compute: 계산하다

 외부에서 자료를 입력(input)받고, 입력 받은 자료를
처리(process)하고, 처리된 결과를 출력(output)하는

기계

 컴퓨터의 가장 큰 장점
 신속한 처리, 계산 결과의 정확성

7

1.2 컴퓨터 시스템의 구성
 하드웨어(H/W; hardware)





입,출력장치
기억장치
산술논리연산장치
제어장치

중앙처리장치(CPU)

 소프트웨어(S/W; software)

 시스템 소프트웨어
 운영체제(OS), 컴파일러, 각종 유틸리티, …
 응용 소프트웨어
 워드프로세서, 그래픽 프로그램, …

 자료(data)
 사용자(user)

8

컴퓨터의 발전
 파스칼의 계산기
 덧셈, 뺄셈

 라이프니츠 계산기
 사칙연산

 배비지의 해석기관
 중앙처리장치,기억장치,입력장치,출력장치

 홀러리스의 천공카드 시스템, 1889
 미국 인구 조사국에서 사용

 Mark I, 1944
 최초의 전기 기계식 계산기
9

 ENIAC(에니악), 1946





미국, 모클리와 에커트
최초의 전자계산기, 1946
진공관 사용
프로그램 외장 방식

 EDSAC(에드삭), 1949

 최초의 프로그램 내장방식 채택

 EDVAC(에드박), 1951
 UNIVAC-I(유니박)

 최초의 상용 컴퓨터
 1951년 미국 조사 통계국에서 사용
10

 인텔 4004, 1972
 최초의 마이크로 프로세서

 Altair(알테어) 8800, 1975
 기계어, 256 byte 메모리

 (1975, 빌게이츠, 마이크로소프트 창립)
 (1977, 스티브 잡스, 애플사(Apple computer) 창립)
 애플 컴퓨터 – 세계 최초의 PC, 8 비트

Apple-I과 Apple-II
11

 1978, 인텔 8086
 16비트 마이크로프로세서

 1981, IBM PC
 PC 내부 공개 IBM 호환 PC

 16비트(8088 CPU)
 MS-DOS

 1985, 80386 마이크로 프로세서 – 32비트

12

컴퓨터 세대별 구분
 제1세대: 1950년~1959년

 진공관
 주기억장치: 자기드럼, 천공카드, 기계어
 EDSAC(에드삭), UNIVAC-I

 제2세대: 1959~1965년

 트랜지스터
 주기억장치: 자기코어, 보조기억장치: 자기드럼,자기디스


 FORTRAN, COBOL, ALGOL 고급 언어 등장

 제3세대: 1965~1975년

 IC(반도체 집적회로)
 다중프로그래밍, 실시간처리시스템, 시분할 시스템
13

 제4세대: 1975~1985년
 LSI(고밀도 집적회로), VLSI(초고밀도집적회로)
 마이크로 컴퓨터 발전(PC 등장)

 제5세대: 1985년 ~ 현재
 AI(Artificial Intelligence, 인공 지능)

 퍼지 이론, 전문자 시스템, 음성 인식

14

 컴퓨터에서 사용되는 시간 단위
 ms(millisecond) : 10-3초
 µs(microsecond): 10-6초
 ns(nanosecond): 10-9초
 ps(picosecond): 10-12초
 fs(femtosecond): 10-15초
 as(attosecond): 10-18초

15

컴퓨터의 분류
 사용목적에 따른 분류
 범용(general-purpose) 컴퓨터
 여러 가지 목적으로 사용되는 일반적인 컴퓨터
 전용(special-purpose) 컴퓨터
 특정한 목적으로 사용되는 컴퓨터
 비행기 운항 조절 등

16

컴퓨터의 분류
 자료 표현 방식에 따른 분류
 디지털(digital) 컴퓨터
 컴퓨터 내부에서 자료를 디지털 신호로 표현
 이산적인 자료 처리
 우리가 사용하는 대부분의 컴퓨터
 아날로그(analog) 컴퓨터
 연속적인 자료 처리
 연속적으로 변하는 자료를 물리적인 양 그대로 입력하여 처리
하는 컴퓨터
 온도, 비행기의 연료 소모량, 달리는 차의 속도
 하이브리드 컴퓨터
 디지털과 아날로그의 장점만 따서 만든 컴퓨터
 특수한 분야에 사용

17

컴퓨터의 분류
 컴퓨터의 성능에 따른 분류(처리 능력에 따른 분류)
 슈퍼컴퓨터
 1초에 1조 개 이상의 명령어 처리(부동소숫점 산술 연산)
 현존하는 가장 강력한 성능의 컴퓨터
 대형컴퓨터
 메인 프레임(mainframe)
 대기업, 금융기관에서 주로 사용
 1초에 수억 개 이상의 명령어를 처리
 미니컴퓨터
 (중형컴퓨터)
 다수의 터미널 지원, 다중 사용자 환경에서 사용
 워크스테이션
 마이크로 컴퓨터와 미니 컴퓨터의 중간 정도의 성능
 마이크로 컴퓨터
 마이크로프로세서를 사용해서 만든 컴퓨터
 개인용 컴퓨터(PC)

18

19

자료의 표현
 숫자 자료의 표현
 고정 소수점 표현
 부동 소숫점 표현

 문자 자료의 표현
 ASCII 코드
 EBCDIC 코드
 BCD 코드

 Unicode

20

자료의 표현
 자료 표현의 단위
 Bit(비트; binary digit)
 2진수
 0 또는 1, 2가지 상태를 표현
 Byte(바이트)
 문자를 표현
 보통 8 bit가 모여서 1 byte가 됨

 Word(워드)
 연산 처리의 기본 단위
 보통 4 byte가 모여서 1 word가 됨(32 비트 시스템)

21

자료의 표현
 컴퓨터의 용량을 표현하는 단위
 1 bit
 1 byte = 8 bit
 1 KB(kilo byte):210 = 1024 byte ≈ 103 byte

 1 MB(mega byte): 220 = 1 KB x 1024 ≈ 106 byte
 1 GB(giga byte): 230 = 1 MB x 1024 ≈ 109 byte
 1 TB(tera byte): 240 = 1 GB x 1024 ≈ 1012 byte

 1 PB(peta bate): 250 = 1 TB x 1024 ≈ 1015 byte

22

자료의 표현
 진법
 디지털 컴퓨터에서는 2진법이 기본
 8,16진법은 2진법 관계가 있다.
 인간은 10진법을 주로 사용한다.

 2진법

 0,1만으로 수를 표현

 8진법

 0,1,2,..7로 수를 표현

 10진법

 0,1,2,3,…9로 수를 표현

 16진법

 0,1,2,3,…9,A,B,C,D,E,F로 수를 표현
23

 2,8,16진법(2,8,16진수)

10진수

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

2진수

0
1
10
11
100
101
110
111
1000
1001
1010
1011
1100
1101
1110
1111
10000

8진수

0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20

16진수

0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
10

24

자료의 표현
 10진수를 2진수로 변환
 2진수를 10진수로 변환
 2진수와 8,16진수의 관계
 2진수 3자리  8진수 1자리
 2진수 4자리  16진수 1자리

 2진수를 8진수,10진수, 16진수로 변환
 8진수를 2진수, 16진수, 10진수로 변환
 16진수를 2진수, 8진수, 16진수로 변환
25

 34

 ( 100010
 ( 42
 ( 22

)2
)8
)16

 34.625

 ( 100010.101 )2
 ( 42.5
)8
 ( 42.A
)16

26

자료 표현
 고정 소수점 표현
 정수를 표현할 때 사용된다.
 부호없는 수의 표현

 부호를 표기하지 않는다.
 표현 범위: 0 ~ 2n-1
 부호 있는 정수의 표현(음수의 표현 방식)

 부호와 절대치(부호와 크기 )
 1의 보수
 2의 보수

27

고정 소수점 표현
 부호와 절대치(크기) 방식
 최상위 1비트로 부호를 표기(양수:0, 음수 1)
 나머지 부분에 수를 절대값으로 표현
 +0, -0이 존재

 1의 보수 방식

 양의 정수에 대한 보수로 음수를 표현
 +0, -0이 존재한다.

 2의 보수 방식

 1의 보수에 1을 더해서 표현한다.
 -0이 없으므로, 음수를 하나 더 표현할 수 있다.
 일반적으로 가장 많이 사용한다.

 양수는 위의 3가지 방식이 모두 동일
28

부동 소수점 표현
 부동 소수점 표현
 실수를 표현하는 방식이다.
 단정도(4 byte), 배정도(8 byte)로 표현한다.
 부호부, 지수부, 가수부로 나누어서 표현한다.

단정도
부호 지수
1비트

8 비트

가수
-- 지수 (초과 127)

23비트

배정도
부호

지수

가수

1비트 11 비트

52비트

-- 지수(초과 1023)

29

자료 표현
 문자 표현

 ASCII 코드
 American Standard Code for Information Interchange
 미국 표준협회에서 제정한 정보 교환용 코드
 7비트(또는 8비트)로 1문자를 표현
 128문자(27) 또는 258문자(28)를 표현
 Unicode
 2바이트로 1문자를 표현
 전 세계의 모든 문자를 동일한 방식으로 표현
 EBCDIC(Extended Binary Coded Decimal Interchange Code;

확장된 BCD 코드)

 IBM 대형 기종에서 사용, 8 bit = 1문자

 BCD 코드
 4비트로 숫자1개를 표현

30

연습문제
2. 십진수 53.625를 8진수와 16진수로 각각 올바르
게 표현한 것은?
① 65.5 35.A ② 65.7 35.A
③ 65.5 35.b ④ 65.7 35.b

31

3. 8비트를 사용해서 표현된 정수의 비트 패턴이
10000000이다. 주어진 비트 패턴의 값을 정수
로 해석할 때, 다음 중 가장 작을 값을 나타내
는 정수의 표현 방법은?
① 부호와-크기 방법
③ 2의 보수

② 1의 보수
④ 부동소수점

32

4. 531.74(8)를 16진법의 표현으로 알맞게 나타
낸 것은?
① 159.F
③ 159.3C

② AC1.3C
④ AC1.F

33

5. 다음 중에서 가장 큰 수는 어떤 진법으로 표현
된 수인가?
(227)10 (343)8 (11100101)2 (E7)16
① 10진법
③ 2진법

② 8진법
④ 16진법

34

주관식
다음 물음에 답하시오
(1) 십진수 23.125를 2진수로 변환하시오.
(2) 이진수 100101.1001을 8, 10, 16진수로 변
환하시오.
(3) 16진수 ABC.6A를 2진수와 8진수로 변환하
시오.

35


Slide 14

강사: 주형준([email protected], 010-6317-0101)

전자계산기 일반

1.1 컴퓨터란 무엇인가?
1.2 컴퓨터 시스템의 구성
1.3 컴퓨터 시스템
1.4 컴퓨터의 발전과 분류
1.5 자료의 표현

제1장 컴퓨터와 자료

2

2.1 컴퓨터 구조의 개요
2.2 컴퓨터의 기본 구성
2.3 논리회로와 논리대수
2.4 조합회로와 순차회로
2.5 시스템 구성을 위한 기본 조합 회로
2.6 기억 장치
2.7 명령어와 명령어 세트
2.8 주소방식에 따른 명령어 형식
2.9 중앙처리장치: 처리장치와 제어장치
2.10 입출력장치
2.11 병렬처리

제2장 컴퓨터의 구조

3

3.1 운영체제의 개념
3.2 운영체제의 종류
3.3 주기억장치의 관리
3.4 프로세서 관리
3.5 장치와 파일 관리
3.6 분산 시스템

제3장 운영체제

4

4.1 기본 개념
4.2 배열
4.3 리스트
4.4 스택과 큐
4.5 트리
4.6 그래프
4.7 정렬 알고리즘
4.8 탐색 알고리즘

제5장 프로그래밍 언어
제6장 데이터베이스
제7장 컴퓨터 네트워크
제8장 인공지능

제4장 자료구조와 알고리즘

5

제1장 컴퓨터와 자료

6

1.1 컴퓨터란 무엇인가?
 Computer: 컴퓨터, 전자 계산기
 Compute: 계산하다

 외부에서 자료를 입력(input)받고, 입력 받은 자료를
처리(process)하고, 처리된 결과를 출력(output)하는

기계

 컴퓨터의 가장 큰 장점
 신속한 처리, 계산 결과의 정확성

7

1.2 컴퓨터 시스템의 구성
 하드웨어(H/W; hardware)





입,출력장치
기억장치
산술논리연산장치
제어장치

중앙처리장치(CPU)

 소프트웨어(S/W; software)

 시스템 소프트웨어
 운영체제(OS), 컴파일러, 각종 유틸리티, …
 응용 소프트웨어
 워드프로세서, 그래픽 프로그램, …

 자료(data)
 사용자(user)

8

컴퓨터의 발전
 파스칼의 계산기
 덧셈, 뺄셈

 라이프니츠 계산기
 사칙연산

 배비지의 해석기관
 중앙처리장치,기억장치,입력장치,출력장치

 홀러리스의 천공카드 시스템, 1889
 미국 인구 조사국에서 사용

 Mark I, 1944
 최초의 전기 기계식 계산기
9

 ENIAC(에니악), 1946





미국, 모클리와 에커트
최초의 전자계산기, 1946
진공관 사용
프로그램 외장 방식

 EDSAC(에드삭), 1949

 최초의 프로그램 내장방식 채택

 EDVAC(에드박), 1951
 UNIVAC-I(유니박)

 최초의 상용 컴퓨터
 1951년 미국 조사 통계국에서 사용
10

 인텔 4004, 1972
 최초의 마이크로 프로세서

 Altair(알테어) 8800, 1975
 기계어, 256 byte 메모리

 (1975, 빌게이츠, 마이크로소프트 창립)
 (1977, 스티브 잡스, 애플사(Apple computer) 창립)
 애플 컴퓨터 – 세계 최초의 PC, 8 비트

Apple-I과 Apple-II
11

 1978, 인텔 8086
 16비트 마이크로프로세서

 1981, IBM PC
 PC 내부 공개 IBM 호환 PC

 16비트(8088 CPU)
 MS-DOS

 1985, 80386 마이크로 프로세서 – 32비트

12

컴퓨터 세대별 구분
 제1세대: 1950년~1959년

 진공관
 주기억장치: 자기드럼, 천공카드, 기계어
 EDSAC(에드삭), UNIVAC-I

 제2세대: 1959~1965년

 트랜지스터
 주기억장치: 자기코어, 보조기억장치: 자기드럼,자기디스


 FORTRAN, COBOL, ALGOL 고급 언어 등장

 제3세대: 1965~1975년

 IC(반도체 집적회로)
 다중프로그래밍, 실시간처리시스템, 시분할 시스템
13

 제4세대: 1975~1985년
 LSI(고밀도 집적회로), VLSI(초고밀도집적회로)
 마이크로 컴퓨터 발전(PC 등장)

 제5세대: 1985년 ~ 현재
 AI(Artificial Intelligence, 인공 지능)

 퍼지 이론, 전문자 시스템, 음성 인식

14

 컴퓨터에서 사용되는 시간 단위
 ms(millisecond) : 10-3초
 µs(microsecond): 10-6초
 ns(nanosecond): 10-9초
 ps(picosecond): 10-12초
 fs(femtosecond): 10-15초
 as(attosecond): 10-18초

15

컴퓨터의 분류
 사용목적에 따른 분류
 범용(general-purpose) 컴퓨터
 여러 가지 목적으로 사용되는 일반적인 컴퓨터
 전용(special-purpose) 컴퓨터
 특정한 목적으로 사용되는 컴퓨터
 비행기 운항 조절 등

16

컴퓨터의 분류
 자료 표현 방식에 따른 분류
 디지털(digital) 컴퓨터
 컴퓨터 내부에서 자료를 디지털 신호로 표현
 이산적인 자료 처리
 우리가 사용하는 대부분의 컴퓨터
 아날로그(analog) 컴퓨터
 연속적인 자료 처리
 연속적으로 변하는 자료를 물리적인 양 그대로 입력하여 처리
하는 컴퓨터
 온도, 비행기의 연료 소모량, 달리는 차의 속도
 하이브리드 컴퓨터
 디지털과 아날로그의 장점만 따서 만든 컴퓨터
 특수한 분야에 사용

17

컴퓨터의 분류
 컴퓨터의 성능에 따른 분류(처리 능력에 따른 분류)
 슈퍼컴퓨터
 1초에 1조 개 이상의 명령어 처리(부동소숫점 산술 연산)
 현존하는 가장 강력한 성능의 컴퓨터
 대형컴퓨터
 메인 프레임(mainframe)
 대기업, 금융기관에서 주로 사용
 1초에 수억 개 이상의 명령어를 처리
 미니컴퓨터
 (중형컴퓨터)
 다수의 터미널 지원, 다중 사용자 환경에서 사용
 워크스테이션
 마이크로 컴퓨터와 미니 컴퓨터의 중간 정도의 성능
 마이크로 컴퓨터
 마이크로프로세서를 사용해서 만든 컴퓨터
 개인용 컴퓨터(PC)

18

19

자료의 표현
 숫자 자료의 표현
 고정 소수점 표현
 부동 소숫점 표현

 문자 자료의 표현
 ASCII 코드
 EBCDIC 코드
 BCD 코드

 Unicode

20

자료의 표현
 자료 표현의 단위
 Bit(비트; binary digit)
 2진수
 0 또는 1, 2가지 상태를 표현
 Byte(바이트)
 문자를 표현
 보통 8 bit가 모여서 1 byte가 됨

 Word(워드)
 연산 처리의 기본 단위
 보통 4 byte가 모여서 1 word가 됨(32 비트 시스템)

21

자료의 표현
 컴퓨터의 용량을 표현하는 단위
 1 bit
 1 byte = 8 bit
 1 KB(kilo byte):210 = 1024 byte ≈ 103 byte

 1 MB(mega byte): 220 = 1 KB x 1024 ≈ 106 byte
 1 GB(giga byte): 230 = 1 MB x 1024 ≈ 109 byte
 1 TB(tera byte): 240 = 1 GB x 1024 ≈ 1012 byte

 1 PB(peta bate): 250 = 1 TB x 1024 ≈ 1015 byte

22

자료의 표현
 진법
 디지털 컴퓨터에서는 2진법이 기본
 8,16진법은 2진법 관계가 있다.
 인간은 10진법을 주로 사용한다.

 2진법

 0,1만으로 수를 표현

 8진법

 0,1,2,..7로 수를 표현

 10진법

 0,1,2,3,…9로 수를 표현

 16진법

 0,1,2,3,…9,A,B,C,D,E,F로 수를 표현
23

 2,8,16진법(2,8,16진수)

10진수

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

2진수

0
1
10
11
100
101
110
111
1000
1001
1010
1011
1100
1101
1110
1111
10000

8진수

0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20

16진수

0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
10

24

자료의 표현
 10진수를 2진수로 변환
 2진수를 10진수로 변환
 2진수와 8,16진수의 관계
 2진수 3자리  8진수 1자리
 2진수 4자리  16진수 1자리

 2진수를 8진수,10진수, 16진수로 변환
 8진수를 2진수, 16진수, 10진수로 변환
 16진수를 2진수, 8진수, 16진수로 변환
25

 34

 ( 100010
 ( 42
 ( 22

)2
)8
)16

 34.625

 ( 100010.101 )2
 ( 42.5
)8
 ( 42.A
)16

26

자료 표현
 고정 소수점 표현
 정수를 표현할 때 사용된다.
 부호없는 수의 표현

 부호를 표기하지 않는다.
 표현 범위: 0 ~ 2n-1
 부호 있는 정수의 표현(음수의 표현 방식)

 부호와 절대치(부호와 크기 )
 1의 보수
 2의 보수

27

고정 소수점 표현
 부호와 절대치(크기) 방식
 최상위 1비트로 부호를 표기(양수:0, 음수 1)
 나머지 부분에 수를 절대값으로 표현
 +0, -0이 존재

 1의 보수 방식

 양의 정수에 대한 보수로 음수를 표현
 +0, -0이 존재한다.

 2의 보수 방식

 1의 보수에 1을 더해서 표현한다.
 -0이 없으므로, 음수를 하나 더 표현할 수 있다.
 일반적으로 가장 많이 사용한다.

 양수는 위의 3가지 방식이 모두 동일
28

부동 소수점 표현
 부동 소수점 표현
 실수를 표현하는 방식이다.
 단정도(4 byte), 배정도(8 byte)로 표현한다.
 부호부, 지수부, 가수부로 나누어서 표현한다.

단정도
부호 지수
1비트

8 비트

가수
-- 지수 (초과 127)

23비트

배정도
부호

지수

가수

1비트 11 비트

52비트

-- 지수(초과 1023)

29

자료 표현
 문자 표현

 ASCII 코드
 American Standard Code for Information Interchange
 미국 표준협회에서 제정한 정보 교환용 코드
 7비트(또는 8비트)로 1문자를 표현
 128문자(27) 또는 258문자(28)를 표현
 Unicode
 2바이트로 1문자를 표현
 전 세계의 모든 문자를 동일한 방식으로 표현
 EBCDIC(Extended Binary Coded Decimal Interchange Code;

확장된 BCD 코드)

 IBM 대형 기종에서 사용, 8 bit = 1문자

 BCD 코드
 4비트로 숫자1개를 표현

30

연습문제
2. 십진수 53.625를 8진수와 16진수로 각각 올바르
게 표현한 것은?
① 65.5 35.A ② 65.7 35.A
③ 65.5 35.b ④ 65.7 35.b

31

3. 8비트를 사용해서 표현된 정수의 비트 패턴이
10000000이다. 주어진 비트 패턴의 값을 정수
로 해석할 때, 다음 중 가장 작을 값을 나타내
는 정수의 표현 방법은?
① 부호와-크기 방법
③ 2의 보수

② 1의 보수
④ 부동소수점

32

4. 531.74(8)를 16진법의 표현으로 알맞게 나타
낸 것은?
① 159.F
③ 159.3C

② AC1.3C
④ AC1.F

33

5. 다음 중에서 가장 큰 수는 어떤 진법으로 표현
된 수인가?
(227)10 (343)8 (11100101)2 (E7)16
① 10진법
③ 2진법

② 8진법
④ 16진법

34

주관식
다음 물음에 답하시오
(1) 십진수 23.125를 2진수로 변환하시오.
(2) 이진수 100101.1001을 8, 10, 16진수로 변
환하시오.
(3) 16진수 ABC.6A를 2진수와 8진수로 변환하
시오.

35


Slide 15

강사: 주형준([email protected], 010-6317-0101)

전자계산기 일반

1.1 컴퓨터란 무엇인가?
1.2 컴퓨터 시스템의 구성
1.3 컴퓨터 시스템
1.4 컴퓨터의 발전과 분류
1.5 자료의 표현

제1장 컴퓨터와 자료

2

2.1 컴퓨터 구조의 개요
2.2 컴퓨터의 기본 구성
2.3 논리회로와 논리대수
2.4 조합회로와 순차회로
2.5 시스템 구성을 위한 기본 조합 회로
2.6 기억 장치
2.7 명령어와 명령어 세트
2.8 주소방식에 따른 명령어 형식
2.9 중앙처리장치: 처리장치와 제어장치
2.10 입출력장치
2.11 병렬처리

제2장 컴퓨터의 구조

3

3.1 운영체제의 개념
3.2 운영체제의 종류
3.3 주기억장치의 관리
3.4 프로세서 관리
3.5 장치와 파일 관리
3.6 분산 시스템

제3장 운영체제

4

4.1 기본 개념
4.2 배열
4.3 리스트
4.4 스택과 큐
4.5 트리
4.6 그래프
4.7 정렬 알고리즘
4.8 탐색 알고리즘

제5장 프로그래밍 언어
제6장 데이터베이스
제7장 컴퓨터 네트워크
제8장 인공지능

제4장 자료구조와 알고리즘

5

제1장 컴퓨터와 자료

6

1.1 컴퓨터란 무엇인가?
 Computer: 컴퓨터, 전자 계산기
 Compute: 계산하다

 외부에서 자료를 입력(input)받고, 입력 받은 자료를
처리(process)하고, 처리된 결과를 출력(output)하는

기계

 컴퓨터의 가장 큰 장점
 신속한 처리, 계산 결과의 정확성

7

1.2 컴퓨터 시스템의 구성
 하드웨어(H/W; hardware)





입,출력장치
기억장치
산술논리연산장치
제어장치

중앙처리장치(CPU)

 소프트웨어(S/W; software)

 시스템 소프트웨어
 운영체제(OS), 컴파일러, 각종 유틸리티, …
 응용 소프트웨어
 워드프로세서, 그래픽 프로그램, …

 자료(data)
 사용자(user)

8

컴퓨터의 발전
 파스칼의 계산기
 덧셈, 뺄셈

 라이프니츠 계산기
 사칙연산

 배비지의 해석기관
 중앙처리장치,기억장치,입력장치,출력장치

 홀러리스의 천공카드 시스템, 1889
 미국 인구 조사국에서 사용

 Mark I, 1944
 최초의 전기 기계식 계산기
9

 ENIAC(에니악), 1946





미국, 모클리와 에커트
최초의 전자계산기, 1946
진공관 사용
프로그램 외장 방식

 EDSAC(에드삭), 1949

 최초의 프로그램 내장방식 채택

 EDVAC(에드박), 1951
 UNIVAC-I(유니박)

 최초의 상용 컴퓨터
 1951년 미국 조사 통계국에서 사용
10

 인텔 4004, 1972
 최초의 마이크로 프로세서

 Altair(알테어) 8800, 1975
 기계어, 256 byte 메모리

 (1975, 빌게이츠, 마이크로소프트 창립)
 (1977, 스티브 잡스, 애플사(Apple computer) 창립)
 애플 컴퓨터 – 세계 최초의 PC, 8 비트

Apple-I과 Apple-II
11

 1978, 인텔 8086
 16비트 마이크로프로세서

 1981, IBM PC
 PC 내부 공개 IBM 호환 PC

 16비트(8088 CPU)
 MS-DOS

 1985, 80386 마이크로 프로세서 – 32비트

12

컴퓨터 세대별 구분
 제1세대: 1950년~1959년

 진공관
 주기억장치: 자기드럼, 천공카드, 기계어
 EDSAC(에드삭), UNIVAC-I

 제2세대: 1959~1965년

 트랜지스터
 주기억장치: 자기코어, 보조기억장치: 자기드럼,자기디스


 FORTRAN, COBOL, ALGOL 고급 언어 등장

 제3세대: 1965~1975년

 IC(반도체 집적회로)
 다중프로그래밍, 실시간처리시스템, 시분할 시스템
13

 제4세대: 1975~1985년
 LSI(고밀도 집적회로), VLSI(초고밀도집적회로)
 마이크로 컴퓨터 발전(PC 등장)

 제5세대: 1985년 ~ 현재
 AI(Artificial Intelligence, 인공 지능)

 퍼지 이론, 전문자 시스템, 음성 인식

14

 컴퓨터에서 사용되는 시간 단위
 ms(millisecond) : 10-3초
 µs(microsecond): 10-6초
 ns(nanosecond): 10-9초
 ps(picosecond): 10-12초
 fs(femtosecond): 10-15초
 as(attosecond): 10-18초

15

컴퓨터의 분류
 사용목적에 따른 분류
 범용(general-purpose) 컴퓨터
 여러 가지 목적으로 사용되는 일반적인 컴퓨터
 전용(special-purpose) 컴퓨터
 특정한 목적으로 사용되는 컴퓨터
 비행기 운항 조절 등

16

컴퓨터의 분류
 자료 표현 방식에 따른 분류
 디지털(digital) 컴퓨터
 컴퓨터 내부에서 자료를 디지털 신호로 표현
 이산적인 자료 처리
 우리가 사용하는 대부분의 컴퓨터
 아날로그(analog) 컴퓨터
 연속적인 자료 처리
 연속적으로 변하는 자료를 물리적인 양 그대로 입력하여 처리
하는 컴퓨터
 온도, 비행기의 연료 소모량, 달리는 차의 속도
 하이브리드 컴퓨터
 디지털과 아날로그의 장점만 따서 만든 컴퓨터
 특수한 분야에 사용

17

컴퓨터의 분류
 컴퓨터의 성능에 따른 분류(처리 능력에 따른 분류)
 슈퍼컴퓨터
 1초에 1조 개 이상의 명령어 처리(부동소숫점 산술 연산)
 현존하는 가장 강력한 성능의 컴퓨터
 대형컴퓨터
 메인 프레임(mainframe)
 대기업, 금융기관에서 주로 사용
 1초에 수억 개 이상의 명령어를 처리
 미니컴퓨터
 (중형컴퓨터)
 다수의 터미널 지원, 다중 사용자 환경에서 사용
 워크스테이션
 마이크로 컴퓨터와 미니 컴퓨터의 중간 정도의 성능
 마이크로 컴퓨터
 마이크로프로세서를 사용해서 만든 컴퓨터
 개인용 컴퓨터(PC)

18

19

자료의 표현
 숫자 자료의 표현
 고정 소수점 표현
 부동 소숫점 표현

 문자 자료의 표현
 ASCII 코드
 EBCDIC 코드
 BCD 코드

 Unicode

20

자료의 표현
 자료 표현의 단위
 Bit(비트; binary digit)
 2진수
 0 또는 1, 2가지 상태를 표현
 Byte(바이트)
 문자를 표현
 보통 8 bit가 모여서 1 byte가 됨

 Word(워드)
 연산 처리의 기본 단위
 보통 4 byte가 모여서 1 word가 됨(32 비트 시스템)

21

자료의 표현
 컴퓨터의 용량을 표현하는 단위
 1 bit
 1 byte = 8 bit
 1 KB(kilo byte):210 = 1024 byte ≈ 103 byte

 1 MB(mega byte): 220 = 1 KB x 1024 ≈ 106 byte
 1 GB(giga byte): 230 = 1 MB x 1024 ≈ 109 byte
 1 TB(tera byte): 240 = 1 GB x 1024 ≈ 1012 byte

 1 PB(peta bate): 250 = 1 TB x 1024 ≈ 1015 byte

22

자료의 표현
 진법
 디지털 컴퓨터에서는 2진법이 기본
 8,16진법은 2진법 관계가 있다.
 인간은 10진법을 주로 사용한다.

 2진법

 0,1만으로 수를 표현

 8진법

 0,1,2,..7로 수를 표현

 10진법

 0,1,2,3,…9로 수를 표현

 16진법

 0,1,2,3,…9,A,B,C,D,E,F로 수를 표현
23

 2,8,16진법(2,8,16진수)

10진수

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

2진수

0
1
10
11
100
101
110
111
1000
1001
1010
1011
1100
1101
1110
1111
10000

8진수

0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20

16진수

0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
10

24

자료의 표현
 10진수를 2진수로 변환
 2진수를 10진수로 변환
 2진수와 8,16진수의 관계
 2진수 3자리  8진수 1자리
 2진수 4자리  16진수 1자리

 2진수를 8진수,10진수, 16진수로 변환
 8진수를 2진수, 16진수, 10진수로 변환
 16진수를 2진수, 8진수, 16진수로 변환
25

 34

 ( 100010
 ( 42
 ( 22

)2
)8
)16

 34.625

 ( 100010.101 )2
 ( 42.5
)8
 ( 42.A
)16

26

자료 표현
 고정 소수점 표현
 정수를 표현할 때 사용된다.
 부호없는 수의 표현

 부호를 표기하지 않는다.
 표현 범위: 0 ~ 2n-1
 부호 있는 정수의 표현(음수의 표현 방식)

 부호와 절대치(부호와 크기 )
 1의 보수
 2의 보수

27

고정 소수점 표현
 부호와 절대치(크기) 방식
 최상위 1비트로 부호를 표기(양수:0, 음수 1)
 나머지 부분에 수를 절대값으로 표현
 +0, -0이 존재

 1의 보수 방식

 양의 정수에 대한 보수로 음수를 표현
 +0, -0이 존재한다.

 2의 보수 방식

 1의 보수에 1을 더해서 표현한다.
 -0이 없으므로, 음수를 하나 더 표현할 수 있다.
 일반적으로 가장 많이 사용한다.

 양수는 위의 3가지 방식이 모두 동일
28

부동 소수점 표현
 부동 소수점 표현
 실수를 표현하는 방식이다.
 단정도(4 byte), 배정도(8 byte)로 표현한다.
 부호부, 지수부, 가수부로 나누어서 표현한다.

단정도
부호 지수
1비트

8 비트

가수
-- 지수 (초과 127)

23비트

배정도
부호

지수

가수

1비트 11 비트

52비트

-- 지수(초과 1023)

29

자료 표현
 문자 표현

 ASCII 코드
 American Standard Code for Information Interchange
 미국 표준협회에서 제정한 정보 교환용 코드
 7비트(또는 8비트)로 1문자를 표현
 128문자(27) 또는 258문자(28)를 표현
 Unicode
 2바이트로 1문자를 표현
 전 세계의 모든 문자를 동일한 방식으로 표현
 EBCDIC(Extended Binary Coded Decimal Interchange Code;

확장된 BCD 코드)

 IBM 대형 기종에서 사용, 8 bit = 1문자

 BCD 코드
 4비트로 숫자1개를 표현

30

연습문제
2. 십진수 53.625를 8진수와 16진수로 각각 올바르
게 표현한 것은?
① 65.5 35.A ② 65.7 35.A
③ 65.5 35.b ④ 65.7 35.b

31

3. 8비트를 사용해서 표현된 정수의 비트 패턴이
10000000이다. 주어진 비트 패턴의 값을 정수
로 해석할 때, 다음 중 가장 작을 값을 나타내
는 정수의 표현 방법은?
① 부호와-크기 방법
③ 2의 보수

② 1의 보수
④ 부동소수점

32

4. 531.74(8)를 16진법의 표현으로 알맞게 나타
낸 것은?
① 159.F
③ 159.3C

② AC1.3C
④ AC1.F

33

5. 다음 중에서 가장 큰 수는 어떤 진법으로 표현
된 수인가?
(227)10 (343)8 (11100101)2 (E7)16
① 10진법
③ 2진법

② 8진법
④ 16진법

34

주관식
다음 물음에 답하시오
(1) 십진수 23.125를 2진수로 변환하시오.
(2) 이진수 100101.1001을 8, 10, 16진수로 변
환하시오.
(3) 16진수 ABC.6A를 2진수와 8진수로 변환하
시오.

35


Slide 16

강사: 주형준([email protected], 010-6317-0101)

전자계산기 일반

1.1 컴퓨터란 무엇인가?
1.2 컴퓨터 시스템의 구성
1.3 컴퓨터 시스템
1.4 컴퓨터의 발전과 분류
1.5 자료의 표현

제1장 컴퓨터와 자료

2

2.1 컴퓨터 구조의 개요
2.2 컴퓨터의 기본 구성
2.3 논리회로와 논리대수
2.4 조합회로와 순차회로
2.5 시스템 구성을 위한 기본 조합 회로
2.6 기억 장치
2.7 명령어와 명령어 세트
2.8 주소방식에 따른 명령어 형식
2.9 중앙처리장치: 처리장치와 제어장치
2.10 입출력장치
2.11 병렬처리

제2장 컴퓨터의 구조

3

3.1 운영체제의 개념
3.2 운영체제의 종류
3.3 주기억장치의 관리
3.4 프로세서 관리
3.5 장치와 파일 관리
3.6 분산 시스템

제3장 운영체제

4

4.1 기본 개념
4.2 배열
4.3 리스트
4.4 스택과 큐
4.5 트리
4.6 그래프
4.7 정렬 알고리즘
4.8 탐색 알고리즘

제5장 프로그래밍 언어
제6장 데이터베이스
제7장 컴퓨터 네트워크
제8장 인공지능

제4장 자료구조와 알고리즘

5

제1장 컴퓨터와 자료

6

1.1 컴퓨터란 무엇인가?
 Computer: 컴퓨터, 전자 계산기
 Compute: 계산하다

 외부에서 자료를 입력(input)받고, 입력 받은 자료를
처리(process)하고, 처리된 결과를 출력(output)하는

기계

 컴퓨터의 가장 큰 장점
 신속한 처리, 계산 결과의 정확성

7

1.2 컴퓨터 시스템의 구성
 하드웨어(H/W; hardware)





입,출력장치
기억장치
산술논리연산장치
제어장치

중앙처리장치(CPU)

 소프트웨어(S/W; software)

 시스템 소프트웨어
 운영체제(OS), 컴파일러, 각종 유틸리티, …
 응용 소프트웨어
 워드프로세서, 그래픽 프로그램, …

 자료(data)
 사용자(user)

8

컴퓨터의 발전
 파스칼의 계산기
 덧셈, 뺄셈

 라이프니츠 계산기
 사칙연산

 배비지의 해석기관
 중앙처리장치,기억장치,입력장치,출력장치

 홀러리스의 천공카드 시스템, 1889
 미국 인구 조사국에서 사용

 Mark I, 1944
 최초의 전기 기계식 계산기
9

 ENIAC(에니악), 1946





미국, 모클리와 에커트
최초의 전자계산기, 1946
진공관 사용
프로그램 외장 방식

 EDSAC(에드삭), 1949

 최초의 프로그램 내장방식 채택

 EDVAC(에드박), 1951
 UNIVAC-I(유니박)

 최초의 상용 컴퓨터
 1951년 미국 조사 통계국에서 사용
10

 인텔 4004, 1972
 최초의 마이크로 프로세서

 Altair(알테어) 8800, 1975
 기계어, 256 byte 메모리

 (1975, 빌게이츠, 마이크로소프트 창립)
 (1977, 스티브 잡스, 애플사(Apple computer) 창립)
 애플 컴퓨터 – 세계 최초의 PC, 8 비트

Apple-I과 Apple-II
11

 1978, 인텔 8086
 16비트 마이크로프로세서

 1981, IBM PC
 PC 내부 공개 IBM 호환 PC

 16비트(8088 CPU)
 MS-DOS

 1985, 80386 마이크로 프로세서 – 32비트

12

컴퓨터 세대별 구분
 제1세대: 1950년~1959년

 진공관
 주기억장치: 자기드럼, 천공카드, 기계어
 EDSAC(에드삭), UNIVAC-I

 제2세대: 1959~1965년

 트랜지스터
 주기억장치: 자기코어, 보조기억장치: 자기드럼,자기디스


 FORTRAN, COBOL, ALGOL 고급 언어 등장

 제3세대: 1965~1975년

 IC(반도체 집적회로)
 다중프로그래밍, 실시간처리시스템, 시분할 시스템
13

 제4세대: 1975~1985년
 LSI(고밀도 집적회로), VLSI(초고밀도집적회로)
 마이크로 컴퓨터 발전(PC 등장)

 제5세대: 1985년 ~ 현재
 AI(Artificial Intelligence, 인공 지능)

 퍼지 이론, 전문자 시스템, 음성 인식

14

 컴퓨터에서 사용되는 시간 단위
 ms(millisecond) : 10-3초
 µs(microsecond): 10-6초
 ns(nanosecond): 10-9초
 ps(picosecond): 10-12초
 fs(femtosecond): 10-15초
 as(attosecond): 10-18초

15

컴퓨터의 분류
 사용목적에 따른 분류
 범용(general-purpose) 컴퓨터
 여러 가지 목적으로 사용되는 일반적인 컴퓨터
 전용(special-purpose) 컴퓨터
 특정한 목적으로 사용되는 컴퓨터
 비행기 운항 조절 등

16

컴퓨터의 분류
 자료 표현 방식에 따른 분류
 디지털(digital) 컴퓨터
 컴퓨터 내부에서 자료를 디지털 신호로 표현
 이산적인 자료 처리
 우리가 사용하는 대부분의 컴퓨터
 아날로그(analog) 컴퓨터
 연속적인 자료 처리
 연속적으로 변하는 자료를 물리적인 양 그대로 입력하여 처리
하는 컴퓨터
 온도, 비행기의 연료 소모량, 달리는 차의 속도
 하이브리드 컴퓨터
 디지털과 아날로그의 장점만 따서 만든 컴퓨터
 특수한 분야에 사용

17

컴퓨터의 분류
 컴퓨터의 성능에 따른 분류(처리 능력에 따른 분류)
 슈퍼컴퓨터
 1초에 1조 개 이상의 명령어 처리(부동소숫점 산술 연산)
 현존하는 가장 강력한 성능의 컴퓨터
 대형컴퓨터
 메인 프레임(mainframe)
 대기업, 금융기관에서 주로 사용
 1초에 수억 개 이상의 명령어를 처리
 미니컴퓨터
 (중형컴퓨터)
 다수의 터미널 지원, 다중 사용자 환경에서 사용
 워크스테이션
 마이크로 컴퓨터와 미니 컴퓨터의 중간 정도의 성능
 마이크로 컴퓨터
 마이크로프로세서를 사용해서 만든 컴퓨터
 개인용 컴퓨터(PC)

18

19

자료의 표현
 숫자 자료의 표현
 고정 소수점 표현
 부동 소숫점 표현

 문자 자료의 표현
 ASCII 코드
 EBCDIC 코드
 BCD 코드

 Unicode

20

자료의 표현
 자료 표현의 단위
 Bit(비트; binary digit)
 2진수
 0 또는 1, 2가지 상태를 표현
 Byte(바이트)
 문자를 표현
 보통 8 bit가 모여서 1 byte가 됨

 Word(워드)
 연산 처리의 기본 단위
 보통 4 byte가 모여서 1 word가 됨(32 비트 시스템)

21

자료의 표현
 컴퓨터의 용량을 표현하는 단위
 1 bit
 1 byte = 8 bit
 1 KB(kilo byte):210 = 1024 byte ≈ 103 byte

 1 MB(mega byte): 220 = 1 KB x 1024 ≈ 106 byte
 1 GB(giga byte): 230 = 1 MB x 1024 ≈ 109 byte
 1 TB(tera byte): 240 = 1 GB x 1024 ≈ 1012 byte

 1 PB(peta bate): 250 = 1 TB x 1024 ≈ 1015 byte

22

자료의 표현
 진법
 디지털 컴퓨터에서는 2진법이 기본
 8,16진법은 2진법 관계가 있다.
 인간은 10진법을 주로 사용한다.

 2진법

 0,1만으로 수를 표현

 8진법

 0,1,2,..7로 수를 표현

 10진법

 0,1,2,3,…9로 수를 표현

 16진법

 0,1,2,3,…9,A,B,C,D,E,F로 수를 표현
23

 2,8,16진법(2,8,16진수)

10진수

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

2진수

0
1
10
11
100
101
110
111
1000
1001
1010
1011
1100
1101
1110
1111
10000

8진수

0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20

16진수

0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
10

24

자료의 표현
 10진수를 2진수로 변환
 2진수를 10진수로 변환
 2진수와 8,16진수의 관계
 2진수 3자리  8진수 1자리
 2진수 4자리  16진수 1자리

 2진수를 8진수,10진수, 16진수로 변환
 8진수를 2진수, 16진수, 10진수로 변환
 16진수를 2진수, 8진수, 16진수로 변환
25

 34

 ( 100010
 ( 42
 ( 22

)2
)8
)16

 34.625

 ( 100010.101 )2
 ( 42.5
)8
 ( 42.A
)16

26

자료 표현
 고정 소수점 표현
 정수를 표현할 때 사용된다.
 부호없는 수의 표현

 부호를 표기하지 않는다.
 표현 범위: 0 ~ 2n-1
 부호 있는 정수의 표현(음수의 표현 방식)

 부호와 절대치(부호와 크기 )
 1의 보수
 2의 보수

27

고정 소수점 표현
 부호와 절대치(크기) 방식
 최상위 1비트로 부호를 표기(양수:0, 음수 1)
 나머지 부분에 수를 절대값으로 표현
 +0, -0이 존재

 1의 보수 방식

 양의 정수에 대한 보수로 음수를 표현
 +0, -0이 존재한다.

 2의 보수 방식

 1의 보수에 1을 더해서 표현한다.
 -0이 없으므로, 음수를 하나 더 표현할 수 있다.
 일반적으로 가장 많이 사용한다.

 양수는 위의 3가지 방식이 모두 동일
28

부동 소수점 표현
 부동 소수점 표현
 실수를 표현하는 방식이다.
 단정도(4 byte), 배정도(8 byte)로 표현한다.
 부호부, 지수부, 가수부로 나누어서 표현한다.

단정도
부호 지수
1비트

8 비트

가수
-- 지수 (초과 127)

23비트

배정도
부호

지수

가수

1비트 11 비트

52비트

-- 지수(초과 1023)

29

자료 표현
 문자 표현

 ASCII 코드
 American Standard Code for Information Interchange
 미국 표준협회에서 제정한 정보 교환용 코드
 7비트(또는 8비트)로 1문자를 표현
 128문자(27) 또는 258문자(28)를 표현
 Unicode
 2바이트로 1문자를 표현
 전 세계의 모든 문자를 동일한 방식으로 표현
 EBCDIC(Extended Binary Coded Decimal Interchange Code;

확장된 BCD 코드)

 IBM 대형 기종에서 사용, 8 bit = 1문자

 BCD 코드
 4비트로 숫자1개를 표현

30

연습문제
2. 십진수 53.625를 8진수와 16진수로 각각 올바르
게 표현한 것은?
① 65.5 35.A ② 65.7 35.A
③ 65.5 35.b ④ 65.7 35.b

31

3. 8비트를 사용해서 표현된 정수의 비트 패턴이
10000000이다. 주어진 비트 패턴의 값을 정수
로 해석할 때, 다음 중 가장 작을 값을 나타내
는 정수의 표현 방법은?
① 부호와-크기 방법
③ 2의 보수

② 1의 보수
④ 부동소수점

32

4. 531.74(8)를 16진법의 표현으로 알맞게 나타
낸 것은?
① 159.F
③ 159.3C

② AC1.3C
④ AC1.F

33

5. 다음 중에서 가장 큰 수는 어떤 진법으로 표현
된 수인가?
(227)10 (343)8 (11100101)2 (E7)16
① 10진법
③ 2진법

② 8진법
④ 16진법

34

주관식
다음 물음에 답하시오
(1) 십진수 23.125를 2진수로 변환하시오.
(2) 이진수 100101.1001을 8, 10, 16진수로 변
환하시오.
(3) 16진수 ABC.6A를 2진수와 8진수로 변환하
시오.

35


Slide 17

강사: 주형준([email protected], 010-6317-0101)

전자계산기 일반

1.1 컴퓨터란 무엇인가?
1.2 컴퓨터 시스템의 구성
1.3 컴퓨터 시스템
1.4 컴퓨터의 발전과 분류
1.5 자료의 표현

제1장 컴퓨터와 자료

2

2.1 컴퓨터 구조의 개요
2.2 컴퓨터의 기본 구성
2.3 논리회로와 논리대수
2.4 조합회로와 순차회로
2.5 시스템 구성을 위한 기본 조합 회로
2.6 기억 장치
2.7 명령어와 명령어 세트
2.8 주소방식에 따른 명령어 형식
2.9 중앙처리장치: 처리장치와 제어장치
2.10 입출력장치
2.11 병렬처리

제2장 컴퓨터의 구조

3

3.1 운영체제의 개념
3.2 운영체제의 종류
3.3 주기억장치의 관리
3.4 프로세서 관리
3.5 장치와 파일 관리
3.6 분산 시스템

제3장 운영체제

4

4.1 기본 개념
4.2 배열
4.3 리스트
4.4 스택과 큐
4.5 트리
4.6 그래프
4.7 정렬 알고리즘
4.8 탐색 알고리즘

제5장 프로그래밍 언어
제6장 데이터베이스
제7장 컴퓨터 네트워크
제8장 인공지능

제4장 자료구조와 알고리즘

5

제1장 컴퓨터와 자료

6

1.1 컴퓨터란 무엇인가?
 Computer: 컴퓨터, 전자 계산기
 Compute: 계산하다

 외부에서 자료를 입력(input)받고, 입력 받은 자료를
처리(process)하고, 처리된 결과를 출력(output)하는

기계

 컴퓨터의 가장 큰 장점
 신속한 처리, 계산 결과의 정확성

7

1.2 컴퓨터 시스템의 구성
 하드웨어(H/W; hardware)





입,출력장치
기억장치
산술논리연산장치
제어장치

중앙처리장치(CPU)

 소프트웨어(S/W; software)

 시스템 소프트웨어
 운영체제(OS), 컴파일러, 각종 유틸리티, …
 응용 소프트웨어
 워드프로세서, 그래픽 프로그램, …

 자료(data)
 사용자(user)

8

컴퓨터의 발전
 파스칼의 계산기
 덧셈, 뺄셈

 라이프니츠 계산기
 사칙연산

 배비지의 해석기관
 중앙처리장치,기억장치,입력장치,출력장치

 홀러리스의 천공카드 시스템, 1889
 미국 인구 조사국에서 사용

 Mark I, 1944
 최초의 전기 기계식 계산기
9

 ENIAC(에니악), 1946





미국, 모클리와 에커트
최초의 전자계산기, 1946
진공관 사용
프로그램 외장 방식

 EDSAC(에드삭), 1949

 최초의 프로그램 내장방식 채택

 EDVAC(에드박), 1951
 UNIVAC-I(유니박)

 최초의 상용 컴퓨터
 1951년 미국 조사 통계국에서 사용
10

 인텔 4004, 1972
 최초의 마이크로 프로세서

 Altair(알테어) 8800, 1975
 기계어, 256 byte 메모리

 (1975, 빌게이츠, 마이크로소프트 창립)
 (1977, 스티브 잡스, 애플사(Apple computer) 창립)
 애플 컴퓨터 – 세계 최초의 PC, 8 비트

Apple-I과 Apple-II
11

 1978, 인텔 8086
 16비트 마이크로프로세서

 1981, IBM PC
 PC 내부 공개 IBM 호환 PC

 16비트(8088 CPU)
 MS-DOS

 1985, 80386 마이크로 프로세서 – 32비트

12

컴퓨터 세대별 구분
 제1세대: 1950년~1959년

 진공관
 주기억장치: 자기드럼, 천공카드, 기계어
 EDSAC(에드삭), UNIVAC-I

 제2세대: 1959~1965년

 트랜지스터
 주기억장치: 자기코어, 보조기억장치: 자기드럼,자기디스


 FORTRAN, COBOL, ALGOL 고급 언어 등장

 제3세대: 1965~1975년

 IC(반도체 집적회로)
 다중프로그래밍, 실시간처리시스템, 시분할 시스템
13

 제4세대: 1975~1985년
 LSI(고밀도 집적회로), VLSI(초고밀도집적회로)
 마이크로 컴퓨터 발전(PC 등장)

 제5세대: 1985년 ~ 현재
 AI(Artificial Intelligence, 인공 지능)

 퍼지 이론, 전문자 시스템, 음성 인식

14

 컴퓨터에서 사용되는 시간 단위
 ms(millisecond) : 10-3초
 µs(microsecond): 10-6초
 ns(nanosecond): 10-9초
 ps(picosecond): 10-12초
 fs(femtosecond): 10-15초
 as(attosecond): 10-18초

15

컴퓨터의 분류
 사용목적에 따른 분류
 범용(general-purpose) 컴퓨터
 여러 가지 목적으로 사용되는 일반적인 컴퓨터
 전용(special-purpose) 컴퓨터
 특정한 목적으로 사용되는 컴퓨터
 비행기 운항 조절 등

16

컴퓨터의 분류
 자료 표현 방식에 따른 분류
 디지털(digital) 컴퓨터
 컴퓨터 내부에서 자료를 디지털 신호로 표현
 이산적인 자료 처리
 우리가 사용하는 대부분의 컴퓨터
 아날로그(analog) 컴퓨터
 연속적인 자료 처리
 연속적으로 변하는 자료를 물리적인 양 그대로 입력하여 처리
하는 컴퓨터
 온도, 비행기의 연료 소모량, 달리는 차의 속도
 하이브리드 컴퓨터
 디지털과 아날로그의 장점만 따서 만든 컴퓨터
 특수한 분야에 사용

17

컴퓨터의 분류
 컴퓨터의 성능에 따른 분류(처리 능력에 따른 분류)
 슈퍼컴퓨터
 1초에 1조 개 이상의 명령어 처리(부동소숫점 산술 연산)
 현존하는 가장 강력한 성능의 컴퓨터
 대형컴퓨터
 메인 프레임(mainframe)
 대기업, 금융기관에서 주로 사용
 1초에 수억 개 이상의 명령어를 처리
 미니컴퓨터
 (중형컴퓨터)
 다수의 터미널 지원, 다중 사용자 환경에서 사용
 워크스테이션
 마이크로 컴퓨터와 미니 컴퓨터의 중간 정도의 성능
 마이크로 컴퓨터
 마이크로프로세서를 사용해서 만든 컴퓨터
 개인용 컴퓨터(PC)

18

19

자료의 표현
 숫자 자료의 표현
 고정 소수점 표현
 부동 소숫점 표현

 문자 자료의 표현
 ASCII 코드
 EBCDIC 코드
 BCD 코드

 Unicode

20

자료의 표현
 자료 표현의 단위
 Bit(비트; binary digit)
 2진수
 0 또는 1, 2가지 상태를 표현
 Byte(바이트)
 문자를 표현
 보통 8 bit가 모여서 1 byte가 됨

 Word(워드)
 연산 처리의 기본 단위
 보통 4 byte가 모여서 1 word가 됨(32 비트 시스템)

21

자료의 표현
 컴퓨터의 용량을 표현하는 단위
 1 bit
 1 byte = 8 bit
 1 KB(kilo byte):210 = 1024 byte ≈ 103 byte

 1 MB(mega byte): 220 = 1 KB x 1024 ≈ 106 byte
 1 GB(giga byte): 230 = 1 MB x 1024 ≈ 109 byte
 1 TB(tera byte): 240 = 1 GB x 1024 ≈ 1012 byte

 1 PB(peta bate): 250 = 1 TB x 1024 ≈ 1015 byte

22

자료의 표현
 진법
 디지털 컴퓨터에서는 2진법이 기본
 8,16진법은 2진법 관계가 있다.
 인간은 10진법을 주로 사용한다.

 2진법

 0,1만으로 수를 표현

 8진법

 0,1,2,..7로 수를 표현

 10진법

 0,1,2,3,…9로 수를 표현

 16진법

 0,1,2,3,…9,A,B,C,D,E,F로 수를 표현
23

 2,8,16진법(2,8,16진수)

10진수

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

2진수

0
1
10
11
100
101
110
111
1000
1001
1010
1011
1100
1101
1110
1111
10000

8진수

0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20

16진수

0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
10

24

자료의 표현
 10진수를 2진수로 변환
 2진수를 10진수로 변환
 2진수와 8,16진수의 관계
 2진수 3자리  8진수 1자리
 2진수 4자리  16진수 1자리

 2진수를 8진수,10진수, 16진수로 변환
 8진수를 2진수, 16진수, 10진수로 변환
 16진수를 2진수, 8진수, 16진수로 변환
25

 34

 ( 100010
 ( 42
 ( 22

)2
)8
)16

 34.625

 ( 100010.101 )2
 ( 42.5
)8
 ( 42.A
)16

26

자료 표현
 고정 소수점 표현
 정수를 표현할 때 사용된다.
 부호없는 수의 표현

 부호를 표기하지 않는다.
 표현 범위: 0 ~ 2n-1
 부호 있는 정수의 표현(음수의 표현 방식)

 부호와 절대치(부호와 크기 )
 1의 보수
 2의 보수

27

고정 소수점 표현
 부호와 절대치(크기) 방식
 최상위 1비트로 부호를 표기(양수:0, 음수 1)
 나머지 부분에 수를 절대값으로 표현
 +0, -0이 존재

 1의 보수 방식

 양의 정수에 대한 보수로 음수를 표현
 +0, -0이 존재한다.

 2의 보수 방식

 1의 보수에 1을 더해서 표현한다.
 -0이 없으므로, 음수를 하나 더 표현할 수 있다.
 일반적으로 가장 많이 사용한다.

 양수는 위의 3가지 방식이 모두 동일
28

부동 소수점 표현
 부동 소수점 표현
 실수를 표현하는 방식이다.
 단정도(4 byte), 배정도(8 byte)로 표현한다.
 부호부, 지수부, 가수부로 나누어서 표현한다.

단정도
부호 지수
1비트

8 비트

가수
-- 지수 (초과 127)

23비트

배정도
부호

지수

가수

1비트 11 비트

52비트

-- 지수(초과 1023)

29

자료 표현
 문자 표현

 ASCII 코드
 American Standard Code for Information Interchange
 미국 표준협회에서 제정한 정보 교환용 코드
 7비트(또는 8비트)로 1문자를 표현
 128문자(27) 또는 258문자(28)를 표현
 Unicode
 2바이트로 1문자를 표현
 전 세계의 모든 문자를 동일한 방식으로 표현
 EBCDIC(Extended Binary Coded Decimal Interchange Code;

확장된 BCD 코드)

 IBM 대형 기종에서 사용, 8 bit = 1문자

 BCD 코드
 4비트로 숫자1개를 표현

30

연습문제
2. 십진수 53.625를 8진수와 16진수로 각각 올바르
게 표현한 것은?
① 65.5 35.A ② 65.7 35.A
③ 65.5 35.b ④ 65.7 35.b

31

3. 8비트를 사용해서 표현된 정수의 비트 패턴이
10000000이다. 주어진 비트 패턴의 값을 정수
로 해석할 때, 다음 중 가장 작을 값을 나타내
는 정수의 표현 방법은?
① 부호와-크기 방법
③ 2의 보수

② 1의 보수
④ 부동소수점

32

4. 531.74(8)를 16진법의 표현으로 알맞게 나타
낸 것은?
① 159.F
③ 159.3C

② AC1.3C
④ AC1.F

33

5. 다음 중에서 가장 큰 수는 어떤 진법으로 표현
된 수인가?
(227)10 (343)8 (11100101)2 (E7)16
① 10진법
③ 2진법

② 8진법
④ 16진법

34

주관식
다음 물음에 답하시오
(1) 십진수 23.125를 2진수로 변환하시오.
(2) 이진수 100101.1001을 8, 10, 16진수로 변
환하시오.
(3) 16진수 ABC.6A를 2진수와 8진수로 변환하
시오.

35


Slide 18

강사: 주형준([email protected], 010-6317-0101)

전자계산기 일반

1.1 컴퓨터란 무엇인가?
1.2 컴퓨터 시스템의 구성
1.3 컴퓨터 시스템
1.4 컴퓨터의 발전과 분류
1.5 자료의 표현

제1장 컴퓨터와 자료

2

2.1 컴퓨터 구조의 개요
2.2 컴퓨터의 기본 구성
2.3 논리회로와 논리대수
2.4 조합회로와 순차회로
2.5 시스템 구성을 위한 기본 조합 회로
2.6 기억 장치
2.7 명령어와 명령어 세트
2.8 주소방식에 따른 명령어 형식
2.9 중앙처리장치: 처리장치와 제어장치
2.10 입출력장치
2.11 병렬처리

제2장 컴퓨터의 구조

3

3.1 운영체제의 개념
3.2 운영체제의 종류
3.3 주기억장치의 관리
3.4 프로세서 관리
3.5 장치와 파일 관리
3.6 분산 시스템

제3장 운영체제

4

4.1 기본 개념
4.2 배열
4.3 리스트
4.4 스택과 큐
4.5 트리
4.6 그래프
4.7 정렬 알고리즘
4.8 탐색 알고리즘

제5장 프로그래밍 언어
제6장 데이터베이스
제7장 컴퓨터 네트워크
제8장 인공지능

제4장 자료구조와 알고리즘

5

제1장 컴퓨터와 자료

6

1.1 컴퓨터란 무엇인가?
 Computer: 컴퓨터, 전자 계산기
 Compute: 계산하다

 외부에서 자료를 입력(input)받고, 입력 받은 자료를
처리(process)하고, 처리된 결과를 출력(output)하는

기계

 컴퓨터의 가장 큰 장점
 신속한 처리, 계산 결과의 정확성

7

1.2 컴퓨터 시스템의 구성
 하드웨어(H/W; hardware)





입,출력장치
기억장치
산술논리연산장치
제어장치

중앙처리장치(CPU)

 소프트웨어(S/W; software)

 시스템 소프트웨어
 운영체제(OS), 컴파일러, 각종 유틸리티, …
 응용 소프트웨어
 워드프로세서, 그래픽 프로그램, …

 자료(data)
 사용자(user)

8

컴퓨터의 발전
 파스칼의 계산기
 덧셈, 뺄셈

 라이프니츠 계산기
 사칙연산

 배비지의 해석기관
 중앙처리장치,기억장치,입력장치,출력장치

 홀러리스의 천공카드 시스템, 1889
 미국 인구 조사국에서 사용

 Mark I, 1944
 최초의 전기 기계식 계산기
9

 ENIAC(에니악), 1946





미국, 모클리와 에커트
최초의 전자계산기, 1946
진공관 사용
프로그램 외장 방식

 EDSAC(에드삭), 1949

 최초의 프로그램 내장방식 채택

 EDVAC(에드박), 1951
 UNIVAC-I(유니박)

 최초의 상용 컴퓨터
 1951년 미국 조사 통계국에서 사용
10

 인텔 4004, 1972
 최초의 마이크로 프로세서

 Altair(알테어) 8800, 1975
 기계어, 256 byte 메모리

 (1975, 빌게이츠, 마이크로소프트 창립)
 (1977, 스티브 잡스, 애플사(Apple computer) 창립)
 애플 컴퓨터 – 세계 최초의 PC, 8 비트

Apple-I과 Apple-II
11

 1978, 인텔 8086
 16비트 마이크로프로세서

 1981, IBM PC
 PC 내부 공개 IBM 호환 PC

 16비트(8088 CPU)
 MS-DOS

 1985, 80386 마이크로 프로세서 – 32비트

12

컴퓨터 세대별 구분
 제1세대: 1950년~1959년

 진공관
 주기억장치: 자기드럼, 천공카드, 기계어
 EDSAC(에드삭), UNIVAC-I

 제2세대: 1959~1965년

 트랜지스터
 주기억장치: 자기코어, 보조기억장치: 자기드럼,자기디스


 FORTRAN, COBOL, ALGOL 고급 언어 등장

 제3세대: 1965~1975년

 IC(반도체 집적회로)
 다중프로그래밍, 실시간처리시스템, 시분할 시스템
13

 제4세대: 1975~1985년
 LSI(고밀도 집적회로), VLSI(초고밀도집적회로)
 마이크로 컴퓨터 발전(PC 등장)

 제5세대: 1985년 ~ 현재
 AI(Artificial Intelligence, 인공 지능)

 퍼지 이론, 전문자 시스템, 음성 인식

14

 컴퓨터에서 사용되는 시간 단위
 ms(millisecond) : 10-3초
 µs(microsecond): 10-6초
 ns(nanosecond): 10-9초
 ps(picosecond): 10-12초
 fs(femtosecond): 10-15초
 as(attosecond): 10-18초

15

컴퓨터의 분류
 사용목적에 따른 분류
 범용(general-purpose) 컴퓨터
 여러 가지 목적으로 사용되는 일반적인 컴퓨터
 전용(special-purpose) 컴퓨터
 특정한 목적으로 사용되는 컴퓨터
 비행기 운항 조절 등

16

컴퓨터의 분류
 자료 표현 방식에 따른 분류
 디지털(digital) 컴퓨터
 컴퓨터 내부에서 자료를 디지털 신호로 표현
 이산적인 자료 처리
 우리가 사용하는 대부분의 컴퓨터
 아날로그(analog) 컴퓨터
 연속적인 자료 처리
 연속적으로 변하는 자료를 물리적인 양 그대로 입력하여 처리
하는 컴퓨터
 온도, 비행기의 연료 소모량, 달리는 차의 속도
 하이브리드 컴퓨터
 디지털과 아날로그의 장점만 따서 만든 컴퓨터
 특수한 분야에 사용

17

컴퓨터의 분류
 컴퓨터의 성능에 따른 분류(처리 능력에 따른 분류)
 슈퍼컴퓨터
 1초에 1조 개 이상의 명령어 처리(부동소숫점 산술 연산)
 현존하는 가장 강력한 성능의 컴퓨터
 대형컴퓨터
 메인 프레임(mainframe)
 대기업, 금융기관에서 주로 사용
 1초에 수억 개 이상의 명령어를 처리
 미니컴퓨터
 (중형컴퓨터)
 다수의 터미널 지원, 다중 사용자 환경에서 사용
 워크스테이션
 마이크로 컴퓨터와 미니 컴퓨터의 중간 정도의 성능
 마이크로 컴퓨터
 마이크로프로세서를 사용해서 만든 컴퓨터
 개인용 컴퓨터(PC)

18

19

자료의 표현
 숫자 자료의 표현
 고정 소수점 표현
 부동 소숫점 표현

 문자 자료의 표현
 ASCII 코드
 EBCDIC 코드
 BCD 코드

 Unicode

20

자료의 표현
 자료 표현의 단위
 Bit(비트; binary digit)
 2진수
 0 또는 1, 2가지 상태를 표현
 Byte(바이트)
 문자를 표현
 보통 8 bit가 모여서 1 byte가 됨

 Word(워드)
 연산 처리의 기본 단위
 보통 4 byte가 모여서 1 word가 됨(32 비트 시스템)

21

자료의 표현
 컴퓨터의 용량을 표현하는 단위
 1 bit
 1 byte = 8 bit
 1 KB(kilo byte):210 = 1024 byte ≈ 103 byte

 1 MB(mega byte): 220 = 1 KB x 1024 ≈ 106 byte
 1 GB(giga byte): 230 = 1 MB x 1024 ≈ 109 byte
 1 TB(tera byte): 240 = 1 GB x 1024 ≈ 1012 byte

 1 PB(peta bate): 250 = 1 TB x 1024 ≈ 1015 byte

22

자료의 표현
 진법
 디지털 컴퓨터에서는 2진법이 기본
 8,16진법은 2진법 관계가 있다.
 인간은 10진법을 주로 사용한다.

 2진법

 0,1만으로 수를 표현

 8진법

 0,1,2,..7로 수를 표현

 10진법

 0,1,2,3,…9로 수를 표현

 16진법

 0,1,2,3,…9,A,B,C,D,E,F로 수를 표현
23

 2,8,16진법(2,8,16진수)

10진수

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

2진수

0
1
10
11
100
101
110
111
1000
1001
1010
1011
1100
1101
1110
1111
10000

8진수

0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20

16진수

0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
10

24

자료의 표현
 10진수를 2진수로 변환
 2진수를 10진수로 변환
 2진수와 8,16진수의 관계
 2진수 3자리  8진수 1자리
 2진수 4자리  16진수 1자리

 2진수를 8진수,10진수, 16진수로 변환
 8진수를 2진수, 16진수, 10진수로 변환
 16진수를 2진수, 8진수, 16진수로 변환
25

 34

 ( 100010
 ( 42
 ( 22

)2
)8
)16

 34.625

 ( 100010.101 )2
 ( 42.5
)8
 ( 42.A
)16

26

자료 표현
 고정 소수점 표현
 정수를 표현할 때 사용된다.
 부호없는 수의 표현

 부호를 표기하지 않는다.
 표현 범위: 0 ~ 2n-1
 부호 있는 정수의 표현(음수의 표현 방식)

 부호와 절대치(부호와 크기 )
 1의 보수
 2의 보수

27

고정 소수점 표현
 부호와 절대치(크기) 방식
 최상위 1비트로 부호를 표기(양수:0, 음수 1)
 나머지 부분에 수를 절대값으로 표현
 +0, -0이 존재

 1의 보수 방식

 양의 정수에 대한 보수로 음수를 표현
 +0, -0이 존재한다.

 2의 보수 방식

 1의 보수에 1을 더해서 표현한다.
 -0이 없으므로, 음수를 하나 더 표현할 수 있다.
 일반적으로 가장 많이 사용한다.

 양수는 위의 3가지 방식이 모두 동일
28

부동 소수점 표현
 부동 소수점 표현
 실수를 표현하는 방식이다.
 단정도(4 byte), 배정도(8 byte)로 표현한다.
 부호부, 지수부, 가수부로 나누어서 표현한다.

단정도
부호 지수
1비트

8 비트

가수
-- 지수 (초과 127)

23비트

배정도
부호

지수

가수

1비트 11 비트

52비트

-- 지수(초과 1023)

29

자료 표현
 문자 표현

 ASCII 코드
 American Standard Code for Information Interchange
 미국 표준협회에서 제정한 정보 교환용 코드
 7비트(또는 8비트)로 1문자를 표현
 128문자(27) 또는 258문자(28)를 표현
 Unicode
 2바이트로 1문자를 표현
 전 세계의 모든 문자를 동일한 방식으로 표현
 EBCDIC(Extended Binary Coded Decimal Interchange Code;

확장된 BCD 코드)

 IBM 대형 기종에서 사용, 8 bit = 1문자

 BCD 코드
 4비트로 숫자1개를 표현

30

연습문제
2. 십진수 53.625를 8진수와 16진수로 각각 올바르
게 표현한 것은?
① 65.5 35.A ② 65.7 35.A
③ 65.5 35.b ④ 65.7 35.b

31

3. 8비트를 사용해서 표현된 정수의 비트 패턴이
10000000이다. 주어진 비트 패턴의 값을 정수
로 해석할 때, 다음 중 가장 작을 값을 나타내
는 정수의 표현 방법은?
① 부호와-크기 방법
③ 2의 보수

② 1의 보수
④ 부동소수점

32

4. 531.74(8)를 16진법의 표현으로 알맞게 나타
낸 것은?
① 159.F
③ 159.3C

② AC1.3C
④ AC1.F

33

5. 다음 중에서 가장 큰 수는 어떤 진법으로 표현
된 수인가?
(227)10 (343)8 (11100101)2 (E7)16
① 10진법
③ 2진법

② 8진법
④ 16진법

34

주관식
다음 물음에 답하시오
(1) 십진수 23.125를 2진수로 변환하시오.
(2) 이진수 100101.1001을 8, 10, 16진수로 변
환하시오.
(3) 16진수 ABC.6A를 2진수와 8진수로 변환하
시오.

35


Slide 19

강사: 주형준([email protected], 010-6317-0101)

전자계산기 일반

1.1 컴퓨터란 무엇인가?
1.2 컴퓨터 시스템의 구성
1.3 컴퓨터 시스템
1.4 컴퓨터의 발전과 분류
1.5 자료의 표현

제1장 컴퓨터와 자료

2

2.1 컴퓨터 구조의 개요
2.2 컴퓨터의 기본 구성
2.3 논리회로와 논리대수
2.4 조합회로와 순차회로
2.5 시스템 구성을 위한 기본 조합 회로
2.6 기억 장치
2.7 명령어와 명령어 세트
2.8 주소방식에 따른 명령어 형식
2.9 중앙처리장치: 처리장치와 제어장치
2.10 입출력장치
2.11 병렬처리

제2장 컴퓨터의 구조

3

3.1 운영체제의 개념
3.2 운영체제의 종류
3.3 주기억장치의 관리
3.4 프로세서 관리
3.5 장치와 파일 관리
3.6 분산 시스템

제3장 운영체제

4

4.1 기본 개념
4.2 배열
4.3 리스트
4.4 스택과 큐
4.5 트리
4.6 그래프
4.7 정렬 알고리즘
4.8 탐색 알고리즘

제5장 프로그래밍 언어
제6장 데이터베이스
제7장 컴퓨터 네트워크
제8장 인공지능

제4장 자료구조와 알고리즘

5

제1장 컴퓨터와 자료

6

1.1 컴퓨터란 무엇인가?
 Computer: 컴퓨터, 전자 계산기
 Compute: 계산하다

 외부에서 자료를 입력(input)받고, 입력 받은 자료를
처리(process)하고, 처리된 결과를 출력(output)하는

기계

 컴퓨터의 가장 큰 장점
 신속한 처리, 계산 결과의 정확성

7

1.2 컴퓨터 시스템의 구성
 하드웨어(H/W; hardware)





입,출력장치
기억장치
산술논리연산장치
제어장치

중앙처리장치(CPU)

 소프트웨어(S/W; software)

 시스템 소프트웨어
 운영체제(OS), 컴파일러, 각종 유틸리티, …
 응용 소프트웨어
 워드프로세서, 그래픽 프로그램, …

 자료(data)
 사용자(user)

8

컴퓨터의 발전
 파스칼의 계산기
 덧셈, 뺄셈

 라이프니츠 계산기
 사칙연산

 배비지의 해석기관
 중앙처리장치,기억장치,입력장치,출력장치

 홀러리스의 천공카드 시스템, 1889
 미국 인구 조사국에서 사용

 Mark I, 1944
 최초의 전기 기계식 계산기
9

 ENIAC(에니악), 1946





미국, 모클리와 에커트
최초의 전자계산기, 1946
진공관 사용
프로그램 외장 방식

 EDSAC(에드삭), 1949

 최초의 프로그램 내장방식 채택

 EDVAC(에드박), 1951
 UNIVAC-I(유니박)

 최초의 상용 컴퓨터
 1951년 미국 조사 통계국에서 사용
10

 인텔 4004, 1972
 최초의 마이크로 프로세서

 Altair(알테어) 8800, 1975
 기계어, 256 byte 메모리

 (1975, 빌게이츠, 마이크로소프트 창립)
 (1977, 스티브 잡스, 애플사(Apple computer) 창립)
 애플 컴퓨터 – 세계 최초의 PC, 8 비트

Apple-I과 Apple-II
11

 1978, 인텔 8086
 16비트 마이크로프로세서

 1981, IBM PC
 PC 내부 공개 IBM 호환 PC

 16비트(8088 CPU)
 MS-DOS

 1985, 80386 마이크로 프로세서 – 32비트

12

컴퓨터 세대별 구분
 제1세대: 1950년~1959년

 진공관
 주기억장치: 자기드럼, 천공카드, 기계어
 EDSAC(에드삭), UNIVAC-I

 제2세대: 1959~1965년

 트랜지스터
 주기억장치: 자기코어, 보조기억장치: 자기드럼,자기디스


 FORTRAN, COBOL, ALGOL 고급 언어 등장

 제3세대: 1965~1975년

 IC(반도체 집적회로)
 다중프로그래밍, 실시간처리시스템, 시분할 시스템
13

 제4세대: 1975~1985년
 LSI(고밀도 집적회로), VLSI(초고밀도집적회로)
 마이크로 컴퓨터 발전(PC 등장)

 제5세대: 1985년 ~ 현재
 AI(Artificial Intelligence, 인공 지능)

 퍼지 이론, 전문자 시스템, 음성 인식

14

 컴퓨터에서 사용되는 시간 단위
 ms(millisecond) : 10-3초
 µs(microsecond): 10-6초
 ns(nanosecond): 10-9초
 ps(picosecond): 10-12초
 fs(femtosecond): 10-15초
 as(attosecond): 10-18초

15

컴퓨터의 분류
 사용목적에 따른 분류
 범용(general-purpose) 컴퓨터
 여러 가지 목적으로 사용되는 일반적인 컴퓨터
 전용(special-purpose) 컴퓨터
 특정한 목적으로 사용되는 컴퓨터
 비행기 운항 조절 등

16

컴퓨터의 분류
 자료 표현 방식에 따른 분류
 디지털(digital) 컴퓨터
 컴퓨터 내부에서 자료를 디지털 신호로 표현
 이산적인 자료 처리
 우리가 사용하는 대부분의 컴퓨터
 아날로그(analog) 컴퓨터
 연속적인 자료 처리
 연속적으로 변하는 자료를 물리적인 양 그대로 입력하여 처리
하는 컴퓨터
 온도, 비행기의 연료 소모량, 달리는 차의 속도
 하이브리드 컴퓨터
 디지털과 아날로그의 장점만 따서 만든 컴퓨터
 특수한 분야에 사용

17

컴퓨터의 분류
 컴퓨터의 성능에 따른 분류(처리 능력에 따른 분류)
 슈퍼컴퓨터
 1초에 1조 개 이상의 명령어 처리(부동소숫점 산술 연산)
 현존하는 가장 강력한 성능의 컴퓨터
 대형컴퓨터
 메인 프레임(mainframe)
 대기업, 금융기관에서 주로 사용
 1초에 수억 개 이상의 명령어를 처리
 미니컴퓨터
 (중형컴퓨터)
 다수의 터미널 지원, 다중 사용자 환경에서 사용
 워크스테이션
 마이크로 컴퓨터와 미니 컴퓨터의 중간 정도의 성능
 마이크로 컴퓨터
 마이크로프로세서를 사용해서 만든 컴퓨터
 개인용 컴퓨터(PC)

18

19

자료의 표현
 숫자 자료의 표현
 고정 소수점 표현
 부동 소숫점 표현

 문자 자료의 표현
 ASCII 코드
 EBCDIC 코드
 BCD 코드

 Unicode

20

자료의 표현
 자료 표현의 단위
 Bit(비트; binary digit)
 2진수
 0 또는 1, 2가지 상태를 표현
 Byte(바이트)
 문자를 표현
 보통 8 bit가 모여서 1 byte가 됨

 Word(워드)
 연산 처리의 기본 단위
 보통 4 byte가 모여서 1 word가 됨(32 비트 시스템)

21

자료의 표현
 컴퓨터의 용량을 표현하는 단위
 1 bit
 1 byte = 8 bit
 1 KB(kilo byte):210 = 1024 byte ≈ 103 byte

 1 MB(mega byte): 220 = 1 KB x 1024 ≈ 106 byte
 1 GB(giga byte): 230 = 1 MB x 1024 ≈ 109 byte
 1 TB(tera byte): 240 = 1 GB x 1024 ≈ 1012 byte

 1 PB(peta bate): 250 = 1 TB x 1024 ≈ 1015 byte

22

자료의 표현
 진법
 디지털 컴퓨터에서는 2진법이 기본
 8,16진법은 2진법 관계가 있다.
 인간은 10진법을 주로 사용한다.

 2진법

 0,1만으로 수를 표현

 8진법

 0,1,2,..7로 수를 표현

 10진법

 0,1,2,3,…9로 수를 표현

 16진법

 0,1,2,3,…9,A,B,C,D,E,F로 수를 표현
23

 2,8,16진법(2,8,16진수)

10진수

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

2진수

0
1
10
11
100
101
110
111
1000
1001
1010
1011
1100
1101
1110
1111
10000

8진수

0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20

16진수

0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
10

24

자료의 표현
 10진수를 2진수로 변환
 2진수를 10진수로 변환
 2진수와 8,16진수의 관계
 2진수 3자리  8진수 1자리
 2진수 4자리  16진수 1자리

 2진수를 8진수,10진수, 16진수로 변환
 8진수를 2진수, 16진수, 10진수로 변환
 16진수를 2진수, 8진수, 16진수로 변환
25

 34

 ( 100010
 ( 42
 ( 22

)2
)8
)16

 34.625

 ( 100010.101 )2
 ( 42.5
)8
 ( 42.A
)16

26

자료 표현
 고정 소수점 표현
 정수를 표현할 때 사용된다.
 부호없는 수의 표현

 부호를 표기하지 않는다.
 표현 범위: 0 ~ 2n-1
 부호 있는 정수의 표현(음수의 표현 방식)

 부호와 절대치(부호와 크기 )
 1의 보수
 2의 보수

27

고정 소수점 표현
 부호와 절대치(크기) 방식
 최상위 1비트로 부호를 표기(양수:0, 음수 1)
 나머지 부분에 수를 절대값으로 표현
 +0, -0이 존재

 1의 보수 방식

 양의 정수에 대한 보수로 음수를 표현
 +0, -0이 존재한다.

 2의 보수 방식

 1의 보수에 1을 더해서 표현한다.
 -0이 없으므로, 음수를 하나 더 표현할 수 있다.
 일반적으로 가장 많이 사용한다.

 양수는 위의 3가지 방식이 모두 동일
28

부동 소수점 표현
 부동 소수점 표현
 실수를 표현하는 방식이다.
 단정도(4 byte), 배정도(8 byte)로 표현한다.
 부호부, 지수부, 가수부로 나누어서 표현한다.

단정도
부호 지수
1비트

8 비트

가수
-- 지수 (초과 127)

23비트

배정도
부호

지수

가수

1비트 11 비트

52비트

-- 지수(초과 1023)

29

자료 표현
 문자 표현

 ASCII 코드
 American Standard Code for Information Interchange
 미국 표준협회에서 제정한 정보 교환용 코드
 7비트(또는 8비트)로 1문자를 표현
 128문자(27) 또는 258문자(28)를 표현
 Unicode
 2바이트로 1문자를 표현
 전 세계의 모든 문자를 동일한 방식으로 표현
 EBCDIC(Extended Binary Coded Decimal Interchange Code;

확장된 BCD 코드)

 IBM 대형 기종에서 사용, 8 bit = 1문자

 BCD 코드
 4비트로 숫자1개를 표현

30

연습문제
2. 십진수 53.625를 8진수와 16진수로 각각 올바르
게 표현한 것은?
① 65.5 35.A ② 65.7 35.A
③ 65.5 35.b ④ 65.7 35.b

31

3. 8비트를 사용해서 표현된 정수의 비트 패턴이
10000000이다. 주어진 비트 패턴의 값을 정수
로 해석할 때, 다음 중 가장 작을 값을 나타내
는 정수의 표현 방법은?
① 부호와-크기 방법
③ 2의 보수

② 1의 보수
④ 부동소수점

32

4. 531.74(8)를 16진법의 표현으로 알맞게 나타
낸 것은?
① 159.F
③ 159.3C

② AC1.3C
④ AC1.F

33

5. 다음 중에서 가장 큰 수는 어떤 진법으로 표현
된 수인가?
(227)10 (343)8 (11100101)2 (E7)16
① 10진법
③ 2진법

② 8진법
④ 16진법

34

주관식
다음 물음에 답하시오
(1) 십진수 23.125를 2진수로 변환하시오.
(2) 이진수 100101.1001을 8, 10, 16진수로 변
환하시오.
(3) 16진수 ABC.6A를 2진수와 8진수로 변환하
시오.

35


Slide 20

강사: 주형준([email protected], 010-6317-0101)

전자계산기 일반

1.1 컴퓨터란 무엇인가?
1.2 컴퓨터 시스템의 구성
1.3 컴퓨터 시스템
1.4 컴퓨터의 발전과 분류
1.5 자료의 표현

제1장 컴퓨터와 자료

2

2.1 컴퓨터 구조의 개요
2.2 컴퓨터의 기본 구성
2.3 논리회로와 논리대수
2.4 조합회로와 순차회로
2.5 시스템 구성을 위한 기본 조합 회로
2.6 기억 장치
2.7 명령어와 명령어 세트
2.8 주소방식에 따른 명령어 형식
2.9 중앙처리장치: 처리장치와 제어장치
2.10 입출력장치
2.11 병렬처리

제2장 컴퓨터의 구조

3

3.1 운영체제의 개념
3.2 운영체제의 종류
3.3 주기억장치의 관리
3.4 프로세서 관리
3.5 장치와 파일 관리
3.6 분산 시스템

제3장 운영체제

4

4.1 기본 개념
4.2 배열
4.3 리스트
4.4 스택과 큐
4.5 트리
4.6 그래프
4.7 정렬 알고리즘
4.8 탐색 알고리즘

제5장 프로그래밍 언어
제6장 데이터베이스
제7장 컴퓨터 네트워크
제8장 인공지능

제4장 자료구조와 알고리즘

5

제1장 컴퓨터와 자료

6

1.1 컴퓨터란 무엇인가?
 Computer: 컴퓨터, 전자 계산기
 Compute: 계산하다

 외부에서 자료를 입력(input)받고, 입력 받은 자료를
처리(process)하고, 처리된 결과를 출력(output)하는

기계

 컴퓨터의 가장 큰 장점
 신속한 처리, 계산 결과의 정확성

7

1.2 컴퓨터 시스템의 구성
 하드웨어(H/W; hardware)





입,출력장치
기억장치
산술논리연산장치
제어장치

중앙처리장치(CPU)

 소프트웨어(S/W; software)

 시스템 소프트웨어
 운영체제(OS), 컴파일러, 각종 유틸리티, …
 응용 소프트웨어
 워드프로세서, 그래픽 프로그램, …

 자료(data)
 사용자(user)

8

컴퓨터의 발전
 파스칼의 계산기
 덧셈, 뺄셈

 라이프니츠 계산기
 사칙연산

 배비지의 해석기관
 중앙처리장치,기억장치,입력장치,출력장치

 홀러리스의 천공카드 시스템, 1889
 미국 인구 조사국에서 사용

 Mark I, 1944
 최초의 전기 기계식 계산기
9

 ENIAC(에니악), 1946





미국, 모클리와 에커트
최초의 전자계산기, 1946
진공관 사용
프로그램 외장 방식

 EDSAC(에드삭), 1949

 최초의 프로그램 내장방식 채택

 EDVAC(에드박), 1951
 UNIVAC-I(유니박)

 최초의 상용 컴퓨터
 1951년 미국 조사 통계국에서 사용
10

 인텔 4004, 1972
 최초의 마이크로 프로세서

 Altair(알테어) 8800, 1975
 기계어, 256 byte 메모리

 (1975, 빌게이츠, 마이크로소프트 창립)
 (1977, 스티브 잡스, 애플사(Apple computer) 창립)
 애플 컴퓨터 – 세계 최초의 PC, 8 비트

Apple-I과 Apple-II
11

 1978, 인텔 8086
 16비트 마이크로프로세서

 1981, IBM PC
 PC 내부 공개 IBM 호환 PC

 16비트(8088 CPU)
 MS-DOS

 1985, 80386 마이크로 프로세서 – 32비트

12

컴퓨터 세대별 구분
 제1세대: 1950년~1959년

 진공관
 주기억장치: 자기드럼, 천공카드, 기계어
 EDSAC(에드삭), UNIVAC-I

 제2세대: 1959~1965년

 트랜지스터
 주기억장치: 자기코어, 보조기억장치: 자기드럼,자기디스


 FORTRAN, COBOL, ALGOL 고급 언어 등장

 제3세대: 1965~1975년

 IC(반도체 집적회로)
 다중프로그래밍, 실시간처리시스템, 시분할 시스템
13

 제4세대: 1975~1985년
 LSI(고밀도 집적회로), VLSI(초고밀도집적회로)
 마이크로 컴퓨터 발전(PC 등장)

 제5세대: 1985년 ~ 현재
 AI(Artificial Intelligence, 인공 지능)

 퍼지 이론, 전문자 시스템, 음성 인식

14

 컴퓨터에서 사용되는 시간 단위
 ms(millisecond) : 10-3초
 µs(microsecond): 10-6초
 ns(nanosecond): 10-9초
 ps(picosecond): 10-12초
 fs(femtosecond): 10-15초
 as(attosecond): 10-18초

15

컴퓨터의 분류
 사용목적에 따른 분류
 범용(general-purpose) 컴퓨터
 여러 가지 목적으로 사용되는 일반적인 컴퓨터
 전용(special-purpose) 컴퓨터
 특정한 목적으로 사용되는 컴퓨터
 비행기 운항 조절 등

16

컴퓨터의 분류
 자료 표현 방식에 따른 분류
 디지털(digital) 컴퓨터
 컴퓨터 내부에서 자료를 디지털 신호로 표현
 이산적인 자료 처리
 우리가 사용하는 대부분의 컴퓨터
 아날로그(analog) 컴퓨터
 연속적인 자료 처리
 연속적으로 변하는 자료를 물리적인 양 그대로 입력하여 처리
하는 컴퓨터
 온도, 비행기의 연료 소모량, 달리는 차의 속도
 하이브리드 컴퓨터
 디지털과 아날로그의 장점만 따서 만든 컴퓨터
 특수한 분야에 사용

17

컴퓨터의 분류
 컴퓨터의 성능에 따른 분류(처리 능력에 따른 분류)
 슈퍼컴퓨터
 1초에 1조 개 이상의 명령어 처리(부동소숫점 산술 연산)
 현존하는 가장 강력한 성능의 컴퓨터
 대형컴퓨터
 메인 프레임(mainframe)
 대기업, 금융기관에서 주로 사용
 1초에 수억 개 이상의 명령어를 처리
 미니컴퓨터
 (중형컴퓨터)
 다수의 터미널 지원, 다중 사용자 환경에서 사용
 워크스테이션
 마이크로 컴퓨터와 미니 컴퓨터의 중간 정도의 성능
 마이크로 컴퓨터
 마이크로프로세서를 사용해서 만든 컴퓨터
 개인용 컴퓨터(PC)

18

19

자료의 표현
 숫자 자료의 표현
 고정 소수점 표현
 부동 소숫점 표현

 문자 자료의 표현
 ASCII 코드
 EBCDIC 코드
 BCD 코드

 Unicode

20

자료의 표현
 자료 표현의 단위
 Bit(비트; binary digit)
 2진수
 0 또는 1, 2가지 상태를 표현
 Byte(바이트)
 문자를 표현
 보통 8 bit가 모여서 1 byte가 됨

 Word(워드)
 연산 처리의 기본 단위
 보통 4 byte가 모여서 1 word가 됨(32 비트 시스템)

21

자료의 표현
 컴퓨터의 용량을 표현하는 단위
 1 bit
 1 byte = 8 bit
 1 KB(kilo byte):210 = 1024 byte ≈ 103 byte

 1 MB(mega byte): 220 = 1 KB x 1024 ≈ 106 byte
 1 GB(giga byte): 230 = 1 MB x 1024 ≈ 109 byte
 1 TB(tera byte): 240 = 1 GB x 1024 ≈ 1012 byte

 1 PB(peta bate): 250 = 1 TB x 1024 ≈ 1015 byte

22

자료의 표현
 진법
 디지털 컴퓨터에서는 2진법이 기본
 8,16진법은 2진법 관계가 있다.
 인간은 10진법을 주로 사용한다.

 2진법

 0,1만으로 수를 표현

 8진법

 0,1,2,..7로 수를 표현

 10진법

 0,1,2,3,…9로 수를 표현

 16진법

 0,1,2,3,…9,A,B,C,D,E,F로 수를 표현
23

 2,8,16진법(2,8,16진수)

10진수

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

2진수

0
1
10
11
100
101
110
111
1000
1001
1010
1011
1100
1101
1110
1111
10000

8진수

0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20

16진수

0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
10

24

자료의 표현
 10진수를 2진수로 변환
 2진수를 10진수로 변환
 2진수와 8,16진수의 관계
 2진수 3자리  8진수 1자리
 2진수 4자리  16진수 1자리

 2진수를 8진수,10진수, 16진수로 변환
 8진수를 2진수, 16진수, 10진수로 변환
 16진수를 2진수, 8진수, 16진수로 변환
25

 34

 ( 100010
 ( 42
 ( 22

)2
)8
)16

 34.625

 ( 100010.101 )2
 ( 42.5
)8
 ( 42.A
)16

26

자료 표현
 고정 소수점 표현
 정수를 표현할 때 사용된다.
 부호없는 수의 표현

 부호를 표기하지 않는다.
 표현 범위: 0 ~ 2n-1
 부호 있는 정수의 표현(음수의 표현 방식)

 부호와 절대치(부호와 크기 )
 1의 보수
 2의 보수

27

고정 소수점 표현
 부호와 절대치(크기) 방식
 최상위 1비트로 부호를 표기(양수:0, 음수 1)
 나머지 부분에 수를 절대값으로 표현
 +0, -0이 존재

 1의 보수 방식

 양의 정수에 대한 보수로 음수를 표현
 +0, -0이 존재한다.

 2의 보수 방식

 1의 보수에 1을 더해서 표현한다.
 -0이 없으므로, 음수를 하나 더 표현할 수 있다.
 일반적으로 가장 많이 사용한다.

 양수는 위의 3가지 방식이 모두 동일
28

부동 소수점 표현
 부동 소수점 표현
 실수를 표현하는 방식이다.
 단정도(4 byte), 배정도(8 byte)로 표현한다.
 부호부, 지수부, 가수부로 나누어서 표현한다.

단정도
부호 지수
1비트

8 비트

가수
-- 지수 (초과 127)

23비트

배정도
부호

지수

가수

1비트 11 비트

52비트

-- 지수(초과 1023)

29

자료 표현
 문자 표현

 ASCII 코드
 American Standard Code for Information Interchange
 미국 표준협회에서 제정한 정보 교환용 코드
 7비트(또는 8비트)로 1문자를 표현
 128문자(27) 또는 258문자(28)를 표현
 Unicode
 2바이트로 1문자를 표현
 전 세계의 모든 문자를 동일한 방식으로 표현
 EBCDIC(Extended Binary Coded Decimal Interchange Code;

확장된 BCD 코드)

 IBM 대형 기종에서 사용, 8 bit = 1문자

 BCD 코드
 4비트로 숫자1개를 표현

30

연습문제
2. 십진수 53.625를 8진수와 16진수로 각각 올바르
게 표현한 것은?
① 65.5 35.A ② 65.7 35.A
③ 65.5 35.b ④ 65.7 35.b

31

3. 8비트를 사용해서 표현된 정수의 비트 패턴이
10000000이다. 주어진 비트 패턴의 값을 정수
로 해석할 때, 다음 중 가장 작을 값을 나타내
는 정수의 표현 방법은?
① 부호와-크기 방법
③ 2의 보수

② 1의 보수
④ 부동소수점

32

4. 531.74(8)를 16진법의 표현으로 알맞게 나타
낸 것은?
① 159.F
③ 159.3C

② AC1.3C
④ AC1.F

33

5. 다음 중에서 가장 큰 수는 어떤 진법으로 표현
된 수인가?
(227)10 (343)8 (11100101)2 (E7)16
① 10진법
③ 2진법

② 8진법
④ 16진법

34

주관식
다음 물음에 답하시오
(1) 십진수 23.125를 2진수로 변환하시오.
(2) 이진수 100101.1001을 8, 10, 16진수로 변
환하시오.
(3) 16진수 ABC.6A를 2진수와 8진수로 변환하
시오.

35


Slide 21

강사: 주형준([email protected], 010-6317-0101)

전자계산기 일반

1.1 컴퓨터란 무엇인가?
1.2 컴퓨터 시스템의 구성
1.3 컴퓨터 시스템
1.4 컴퓨터의 발전과 분류
1.5 자료의 표현

제1장 컴퓨터와 자료

2

2.1 컴퓨터 구조의 개요
2.2 컴퓨터의 기본 구성
2.3 논리회로와 논리대수
2.4 조합회로와 순차회로
2.5 시스템 구성을 위한 기본 조합 회로
2.6 기억 장치
2.7 명령어와 명령어 세트
2.8 주소방식에 따른 명령어 형식
2.9 중앙처리장치: 처리장치와 제어장치
2.10 입출력장치
2.11 병렬처리

제2장 컴퓨터의 구조

3

3.1 운영체제의 개념
3.2 운영체제의 종류
3.3 주기억장치의 관리
3.4 프로세서 관리
3.5 장치와 파일 관리
3.6 분산 시스템

제3장 운영체제

4

4.1 기본 개념
4.2 배열
4.3 리스트
4.4 스택과 큐
4.5 트리
4.6 그래프
4.7 정렬 알고리즘
4.8 탐색 알고리즘

제5장 프로그래밍 언어
제6장 데이터베이스
제7장 컴퓨터 네트워크
제8장 인공지능

제4장 자료구조와 알고리즘

5

제1장 컴퓨터와 자료

6

1.1 컴퓨터란 무엇인가?
 Computer: 컴퓨터, 전자 계산기
 Compute: 계산하다

 외부에서 자료를 입력(input)받고, 입력 받은 자료를
처리(process)하고, 처리된 결과를 출력(output)하는

기계

 컴퓨터의 가장 큰 장점
 신속한 처리, 계산 결과의 정확성

7

1.2 컴퓨터 시스템의 구성
 하드웨어(H/W; hardware)





입,출력장치
기억장치
산술논리연산장치
제어장치

중앙처리장치(CPU)

 소프트웨어(S/W; software)

 시스템 소프트웨어
 운영체제(OS), 컴파일러, 각종 유틸리티, …
 응용 소프트웨어
 워드프로세서, 그래픽 프로그램, …

 자료(data)
 사용자(user)

8

컴퓨터의 발전
 파스칼의 계산기
 덧셈, 뺄셈

 라이프니츠 계산기
 사칙연산

 배비지의 해석기관
 중앙처리장치,기억장치,입력장치,출력장치

 홀러리스의 천공카드 시스템, 1889
 미국 인구 조사국에서 사용

 Mark I, 1944
 최초의 전기 기계식 계산기
9

 ENIAC(에니악), 1946





미국, 모클리와 에커트
최초의 전자계산기, 1946
진공관 사용
프로그램 외장 방식

 EDSAC(에드삭), 1949

 최초의 프로그램 내장방식 채택

 EDVAC(에드박), 1951
 UNIVAC-I(유니박)

 최초의 상용 컴퓨터
 1951년 미국 조사 통계국에서 사용
10

 인텔 4004, 1972
 최초의 마이크로 프로세서

 Altair(알테어) 8800, 1975
 기계어, 256 byte 메모리

 (1975, 빌게이츠, 마이크로소프트 창립)
 (1977, 스티브 잡스, 애플사(Apple computer) 창립)
 애플 컴퓨터 – 세계 최초의 PC, 8 비트

Apple-I과 Apple-II
11

 1978, 인텔 8086
 16비트 마이크로프로세서

 1981, IBM PC
 PC 내부 공개 IBM 호환 PC

 16비트(8088 CPU)
 MS-DOS

 1985, 80386 마이크로 프로세서 – 32비트

12

컴퓨터 세대별 구분
 제1세대: 1950년~1959년

 진공관
 주기억장치: 자기드럼, 천공카드, 기계어
 EDSAC(에드삭), UNIVAC-I

 제2세대: 1959~1965년

 트랜지스터
 주기억장치: 자기코어, 보조기억장치: 자기드럼,자기디스


 FORTRAN, COBOL, ALGOL 고급 언어 등장

 제3세대: 1965~1975년

 IC(반도체 집적회로)
 다중프로그래밍, 실시간처리시스템, 시분할 시스템
13

 제4세대: 1975~1985년
 LSI(고밀도 집적회로), VLSI(초고밀도집적회로)
 마이크로 컴퓨터 발전(PC 등장)

 제5세대: 1985년 ~ 현재
 AI(Artificial Intelligence, 인공 지능)

 퍼지 이론, 전문자 시스템, 음성 인식

14

 컴퓨터에서 사용되는 시간 단위
 ms(millisecond) : 10-3초
 µs(microsecond): 10-6초
 ns(nanosecond): 10-9초
 ps(picosecond): 10-12초
 fs(femtosecond): 10-15초
 as(attosecond): 10-18초

15

컴퓨터의 분류
 사용목적에 따른 분류
 범용(general-purpose) 컴퓨터
 여러 가지 목적으로 사용되는 일반적인 컴퓨터
 전용(special-purpose) 컴퓨터
 특정한 목적으로 사용되는 컴퓨터
 비행기 운항 조절 등

16

컴퓨터의 분류
 자료 표현 방식에 따른 분류
 디지털(digital) 컴퓨터
 컴퓨터 내부에서 자료를 디지털 신호로 표현
 이산적인 자료 처리
 우리가 사용하는 대부분의 컴퓨터
 아날로그(analog) 컴퓨터
 연속적인 자료 처리
 연속적으로 변하는 자료를 물리적인 양 그대로 입력하여 처리
하는 컴퓨터
 온도, 비행기의 연료 소모량, 달리는 차의 속도
 하이브리드 컴퓨터
 디지털과 아날로그의 장점만 따서 만든 컴퓨터
 특수한 분야에 사용

17

컴퓨터의 분류
 컴퓨터의 성능에 따른 분류(처리 능력에 따른 분류)
 슈퍼컴퓨터
 1초에 1조 개 이상의 명령어 처리(부동소숫점 산술 연산)
 현존하는 가장 강력한 성능의 컴퓨터
 대형컴퓨터
 메인 프레임(mainframe)
 대기업, 금융기관에서 주로 사용
 1초에 수억 개 이상의 명령어를 처리
 미니컴퓨터
 (중형컴퓨터)
 다수의 터미널 지원, 다중 사용자 환경에서 사용
 워크스테이션
 마이크로 컴퓨터와 미니 컴퓨터의 중간 정도의 성능
 마이크로 컴퓨터
 마이크로프로세서를 사용해서 만든 컴퓨터
 개인용 컴퓨터(PC)

18

19

자료의 표현
 숫자 자료의 표현
 고정 소수점 표현
 부동 소숫점 표현

 문자 자료의 표현
 ASCII 코드
 EBCDIC 코드
 BCD 코드

 Unicode

20

자료의 표현
 자료 표현의 단위
 Bit(비트; binary digit)
 2진수
 0 또는 1, 2가지 상태를 표현
 Byte(바이트)
 문자를 표현
 보통 8 bit가 모여서 1 byte가 됨

 Word(워드)
 연산 처리의 기본 단위
 보통 4 byte가 모여서 1 word가 됨(32 비트 시스템)

21

자료의 표현
 컴퓨터의 용량을 표현하는 단위
 1 bit
 1 byte = 8 bit
 1 KB(kilo byte):210 = 1024 byte ≈ 103 byte

 1 MB(mega byte): 220 = 1 KB x 1024 ≈ 106 byte
 1 GB(giga byte): 230 = 1 MB x 1024 ≈ 109 byte
 1 TB(tera byte): 240 = 1 GB x 1024 ≈ 1012 byte

 1 PB(peta bate): 250 = 1 TB x 1024 ≈ 1015 byte

22

자료의 표현
 진법
 디지털 컴퓨터에서는 2진법이 기본
 8,16진법은 2진법 관계가 있다.
 인간은 10진법을 주로 사용한다.

 2진법

 0,1만으로 수를 표현

 8진법

 0,1,2,..7로 수를 표현

 10진법

 0,1,2,3,…9로 수를 표현

 16진법

 0,1,2,3,…9,A,B,C,D,E,F로 수를 표현
23

 2,8,16진법(2,8,16진수)

10진수

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

2진수

0
1
10
11
100
101
110
111
1000
1001
1010
1011
1100
1101
1110
1111
10000

8진수

0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20

16진수

0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
10

24

자료의 표현
 10진수를 2진수로 변환
 2진수를 10진수로 변환
 2진수와 8,16진수의 관계
 2진수 3자리  8진수 1자리
 2진수 4자리  16진수 1자리

 2진수를 8진수,10진수, 16진수로 변환
 8진수를 2진수, 16진수, 10진수로 변환
 16진수를 2진수, 8진수, 16진수로 변환
25

 34

 ( 100010
 ( 42
 ( 22

)2
)8
)16

 34.625

 ( 100010.101 )2
 ( 42.5
)8
 ( 42.A
)16

26

자료 표현
 고정 소수점 표현
 정수를 표현할 때 사용된다.
 부호없는 수의 표현

 부호를 표기하지 않는다.
 표현 범위: 0 ~ 2n-1
 부호 있는 정수의 표현(음수의 표현 방식)

 부호와 절대치(부호와 크기 )
 1의 보수
 2의 보수

27

고정 소수점 표현
 부호와 절대치(크기) 방식
 최상위 1비트로 부호를 표기(양수:0, 음수 1)
 나머지 부분에 수를 절대값으로 표현
 +0, -0이 존재

 1의 보수 방식

 양의 정수에 대한 보수로 음수를 표현
 +0, -0이 존재한다.

 2의 보수 방식

 1의 보수에 1을 더해서 표현한다.
 -0이 없으므로, 음수를 하나 더 표현할 수 있다.
 일반적으로 가장 많이 사용한다.

 양수는 위의 3가지 방식이 모두 동일
28

부동 소수점 표현
 부동 소수점 표현
 실수를 표현하는 방식이다.
 단정도(4 byte), 배정도(8 byte)로 표현한다.
 부호부, 지수부, 가수부로 나누어서 표현한다.

단정도
부호 지수
1비트

8 비트

가수
-- 지수 (초과 127)

23비트

배정도
부호

지수

가수

1비트 11 비트

52비트

-- 지수(초과 1023)

29

자료 표현
 문자 표현

 ASCII 코드
 American Standard Code for Information Interchange
 미국 표준협회에서 제정한 정보 교환용 코드
 7비트(또는 8비트)로 1문자를 표현
 128문자(27) 또는 258문자(28)를 표현
 Unicode
 2바이트로 1문자를 표현
 전 세계의 모든 문자를 동일한 방식으로 표현
 EBCDIC(Extended Binary Coded Decimal Interchange Code;

확장된 BCD 코드)

 IBM 대형 기종에서 사용, 8 bit = 1문자

 BCD 코드
 4비트로 숫자1개를 표현

30

연습문제
2. 십진수 53.625를 8진수와 16진수로 각각 올바르
게 표현한 것은?
① 65.5 35.A ② 65.7 35.A
③ 65.5 35.b ④ 65.7 35.b

31

3. 8비트를 사용해서 표현된 정수의 비트 패턴이
10000000이다. 주어진 비트 패턴의 값을 정수
로 해석할 때, 다음 중 가장 작을 값을 나타내
는 정수의 표현 방법은?
① 부호와-크기 방법
③ 2의 보수

② 1의 보수
④ 부동소수점

32

4. 531.74(8)를 16진법의 표현으로 알맞게 나타
낸 것은?
① 159.F
③ 159.3C

② AC1.3C
④ AC1.F

33

5. 다음 중에서 가장 큰 수는 어떤 진법으로 표현
된 수인가?
(227)10 (343)8 (11100101)2 (E7)16
① 10진법
③ 2진법

② 8진법
④ 16진법

34

주관식
다음 물음에 답하시오
(1) 십진수 23.125를 2진수로 변환하시오.
(2) 이진수 100101.1001을 8, 10, 16진수로 변
환하시오.
(3) 16진수 ABC.6A를 2진수와 8진수로 변환하
시오.

35


Slide 22

강사: 주형준([email protected], 010-6317-0101)

전자계산기 일반

1.1 컴퓨터란 무엇인가?
1.2 컴퓨터 시스템의 구성
1.3 컴퓨터 시스템
1.4 컴퓨터의 발전과 분류
1.5 자료의 표현

제1장 컴퓨터와 자료

2

2.1 컴퓨터 구조의 개요
2.2 컴퓨터의 기본 구성
2.3 논리회로와 논리대수
2.4 조합회로와 순차회로
2.5 시스템 구성을 위한 기본 조합 회로
2.6 기억 장치
2.7 명령어와 명령어 세트
2.8 주소방식에 따른 명령어 형식
2.9 중앙처리장치: 처리장치와 제어장치
2.10 입출력장치
2.11 병렬처리

제2장 컴퓨터의 구조

3

3.1 운영체제의 개념
3.2 운영체제의 종류
3.3 주기억장치의 관리
3.4 프로세서 관리
3.5 장치와 파일 관리
3.6 분산 시스템

제3장 운영체제

4

4.1 기본 개념
4.2 배열
4.3 리스트
4.4 스택과 큐
4.5 트리
4.6 그래프
4.7 정렬 알고리즘
4.8 탐색 알고리즘

제5장 프로그래밍 언어
제6장 데이터베이스
제7장 컴퓨터 네트워크
제8장 인공지능

제4장 자료구조와 알고리즘

5

제1장 컴퓨터와 자료

6

1.1 컴퓨터란 무엇인가?
 Computer: 컴퓨터, 전자 계산기
 Compute: 계산하다

 외부에서 자료를 입력(input)받고, 입력 받은 자료를
처리(process)하고, 처리된 결과를 출력(output)하는

기계

 컴퓨터의 가장 큰 장점
 신속한 처리, 계산 결과의 정확성

7

1.2 컴퓨터 시스템의 구성
 하드웨어(H/W; hardware)





입,출력장치
기억장치
산술논리연산장치
제어장치

중앙처리장치(CPU)

 소프트웨어(S/W; software)

 시스템 소프트웨어
 운영체제(OS), 컴파일러, 각종 유틸리티, …
 응용 소프트웨어
 워드프로세서, 그래픽 프로그램, …

 자료(data)
 사용자(user)

8

컴퓨터의 발전
 파스칼의 계산기
 덧셈, 뺄셈

 라이프니츠 계산기
 사칙연산

 배비지의 해석기관
 중앙처리장치,기억장치,입력장치,출력장치

 홀러리스의 천공카드 시스템, 1889
 미국 인구 조사국에서 사용

 Mark I, 1944
 최초의 전기 기계식 계산기
9

 ENIAC(에니악), 1946





미국, 모클리와 에커트
최초의 전자계산기, 1946
진공관 사용
프로그램 외장 방식

 EDSAC(에드삭), 1949

 최초의 프로그램 내장방식 채택

 EDVAC(에드박), 1951
 UNIVAC-I(유니박)

 최초의 상용 컴퓨터
 1951년 미국 조사 통계국에서 사용
10

 인텔 4004, 1972
 최초의 마이크로 프로세서

 Altair(알테어) 8800, 1975
 기계어, 256 byte 메모리

 (1975, 빌게이츠, 마이크로소프트 창립)
 (1977, 스티브 잡스, 애플사(Apple computer) 창립)
 애플 컴퓨터 – 세계 최초의 PC, 8 비트

Apple-I과 Apple-II
11

 1978, 인텔 8086
 16비트 마이크로프로세서

 1981, IBM PC
 PC 내부 공개 IBM 호환 PC

 16비트(8088 CPU)
 MS-DOS

 1985, 80386 마이크로 프로세서 – 32비트

12

컴퓨터 세대별 구분
 제1세대: 1950년~1959년

 진공관
 주기억장치: 자기드럼, 천공카드, 기계어
 EDSAC(에드삭), UNIVAC-I

 제2세대: 1959~1965년

 트랜지스터
 주기억장치: 자기코어, 보조기억장치: 자기드럼,자기디스


 FORTRAN, COBOL, ALGOL 고급 언어 등장

 제3세대: 1965~1975년

 IC(반도체 집적회로)
 다중프로그래밍, 실시간처리시스템, 시분할 시스템
13

 제4세대: 1975~1985년
 LSI(고밀도 집적회로), VLSI(초고밀도집적회로)
 마이크로 컴퓨터 발전(PC 등장)

 제5세대: 1985년 ~ 현재
 AI(Artificial Intelligence, 인공 지능)

 퍼지 이론, 전문자 시스템, 음성 인식

14

 컴퓨터에서 사용되는 시간 단위
 ms(millisecond) : 10-3초
 µs(microsecond): 10-6초
 ns(nanosecond): 10-9초
 ps(picosecond): 10-12초
 fs(femtosecond): 10-15초
 as(attosecond): 10-18초

15

컴퓨터의 분류
 사용목적에 따른 분류
 범용(general-purpose) 컴퓨터
 여러 가지 목적으로 사용되는 일반적인 컴퓨터
 전용(special-purpose) 컴퓨터
 특정한 목적으로 사용되는 컴퓨터
 비행기 운항 조절 등

16

컴퓨터의 분류
 자료 표현 방식에 따른 분류
 디지털(digital) 컴퓨터
 컴퓨터 내부에서 자료를 디지털 신호로 표현
 이산적인 자료 처리
 우리가 사용하는 대부분의 컴퓨터
 아날로그(analog) 컴퓨터
 연속적인 자료 처리
 연속적으로 변하는 자료를 물리적인 양 그대로 입력하여 처리
하는 컴퓨터
 온도, 비행기의 연료 소모량, 달리는 차의 속도
 하이브리드 컴퓨터
 디지털과 아날로그의 장점만 따서 만든 컴퓨터
 특수한 분야에 사용

17

컴퓨터의 분류
 컴퓨터의 성능에 따른 분류(처리 능력에 따른 분류)
 슈퍼컴퓨터
 1초에 1조 개 이상의 명령어 처리(부동소숫점 산술 연산)
 현존하는 가장 강력한 성능의 컴퓨터
 대형컴퓨터
 메인 프레임(mainframe)
 대기업, 금융기관에서 주로 사용
 1초에 수억 개 이상의 명령어를 처리
 미니컴퓨터
 (중형컴퓨터)
 다수의 터미널 지원, 다중 사용자 환경에서 사용
 워크스테이션
 마이크로 컴퓨터와 미니 컴퓨터의 중간 정도의 성능
 마이크로 컴퓨터
 마이크로프로세서를 사용해서 만든 컴퓨터
 개인용 컴퓨터(PC)

18

19

자료의 표현
 숫자 자료의 표현
 고정 소수점 표현
 부동 소숫점 표현

 문자 자료의 표현
 ASCII 코드
 EBCDIC 코드
 BCD 코드

 Unicode

20

자료의 표현
 자료 표현의 단위
 Bit(비트; binary digit)
 2진수
 0 또는 1, 2가지 상태를 표현
 Byte(바이트)
 문자를 표현
 보통 8 bit가 모여서 1 byte가 됨

 Word(워드)
 연산 처리의 기본 단위
 보통 4 byte가 모여서 1 word가 됨(32 비트 시스템)

21

자료의 표현
 컴퓨터의 용량을 표현하는 단위
 1 bit
 1 byte = 8 bit
 1 KB(kilo byte):210 = 1024 byte ≈ 103 byte

 1 MB(mega byte): 220 = 1 KB x 1024 ≈ 106 byte
 1 GB(giga byte): 230 = 1 MB x 1024 ≈ 109 byte
 1 TB(tera byte): 240 = 1 GB x 1024 ≈ 1012 byte

 1 PB(peta bate): 250 = 1 TB x 1024 ≈ 1015 byte

22

자료의 표현
 진법
 디지털 컴퓨터에서는 2진법이 기본
 8,16진법은 2진법 관계가 있다.
 인간은 10진법을 주로 사용한다.

 2진법

 0,1만으로 수를 표현

 8진법

 0,1,2,..7로 수를 표현

 10진법

 0,1,2,3,…9로 수를 표현

 16진법

 0,1,2,3,…9,A,B,C,D,E,F로 수를 표현
23

 2,8,16진법(2,8,16진수)

10진수

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

2진수

0
1
10
11
100
101
110
111
1000
1001
1010
1011
1100
1101
1110
1111
10000

8진수

0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20

16진수

0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
10

24

자료의 표현
 10진수를 2진수로 변환
 2진수를 10진수로 변환
 2진수와 8,16진수의 관계
 2진수 3자리  8진수 1자리
 2진수 4자리  16진수 1자리

 2진수를 8진수,10진수, 16진수로 변환
 8진수를 2진수, 16진수, 10진수로 변환
 16진수를 2진수, 8진수, 16진수로 변환
25

 34

 ( 100010
 ( 42
 ( 22

)2
)8
)16

 34.625

 ( 100010.101 )2
 ( 42.5
)8
 ( 42.A
)16

26

자료 표현
 고정 소수점 표현
 정수를 표현할 때 사용된다.
 부호없는 수의 표현

 부호를 표기하지 않는다.
 표현 범위: 0 ~ 2n-1
 부호 있는 정수의 표현(음수의 표현 방식)

 부호와 절대치(부호와 크기 )
 1의 보수
 2의 보수

27

고정 소수점 표현
 부호와 절대치(크기) 방식
 최상위 1비트로 부호를 표기(양수:0, 음수 1)
 나머지 부분에 수를 절대값으로 표현
 +0, -0이 존재

 1의 보수 방식

 양의 정수에 대한 보수로 음수를 표현
 +0, -0이 존재한다.

 2의 보수 방식

 1의 보수에 1을 더해서 표현한다.
 -0이 없으므로, 음수를 하나 더 표현할 수 있다.
 일반적으로 가장 많이 사용한다.

 양수는 위의 3가지 방식이 모두 동일
28

부동 소수점 표현
 부동 소수점 표현
 실수를 표현하는 방식이다.
 단정도(4 byte), 배정도(8 byte)로 표현한다.
 부호부, 지수부, 가수부로 나누어서 표현한다.

단정도
부호 지수
1비트

8 비트

가수
-- 지수 (초과 127)

23비트

배정도
부호

지수

가수

1비트 11 비트

52비트

-- 지수(초과 1023)

29

자료 표현
 문자 표현

 ASCII 코드
 American Standard Code for Information Interchange
 미국 표준협회에서 제정한 정보 교환용 코드
 7비트(또는 8비트)로 1문자를 표현
 128문자(27) 또는 258문자(28)를 표현
 Unicode
 2바이트로 1문자를 표현
 전 세계의 모든 문자를 동일한 방식으로 표현
 EBCDIC(Extended Binary Coded Decimal Interchange Code;

확장된 BCD 코드)

 IBM 대형 기종에서 사용, 8 bit = 1문자

 BCD 코드
 4비트로 숫자1개를 표현

30

연습문제
2. 십진수 53.625를 8진수와 16진수로 각각 올바르
게 표현한 것은?
① 65.5 35.A ② 65.7 35.A
③ 65.5 35.b ④ 65.7 35.b

31

3. 8비트를 사용해서 표현된 정수의 비트 패턴이
10000000이다. 주어진 비트 패턴의 값을 정수
로 해석할 때, 다음 중 가장 작을 값을 나타내
는 정수의 표현 방법은?
① 부호와-크기 방법
③ 2의 보수

② 1의 보수
④ 부동소수점

32

4. 531.74(8)를 16진법의 표현으로 알맞게 나타
낸 것은?
① 159.F
③ 159.3C

② AC1.3C
④ AC1.F

33

5. 다음 중에서 가장 큰 수는 어떤 진법으로 표현
된 수인가?
(227)10 (343)8 (11100101)2 (E7)16
① 10진법
③ 2진법

② 8진법
④ 16진법

34

주관식
다음 물음에 답하시오
(1) 십진수 23.125를 2진수로 변환하시오.
(2) 이진수 100101.1001을 8, 10, 16진수로 변
환하시오.
(3) 16진수 ABC.6A를 2진수와 8진수로 변환하
시오.

35


Slide 23

강사: 주형준([email protected], 010-6317-0101)

전자계산기 일반

1.1 컴퓨터란 무엇인가?
1.2 컴퓨터 시스템의 구성
1.3 컴퓨터 시스템
1.4 컴퓨터의 발전과 분류
1.5 자료의 표현

제1장 컴퓨터와 자료

2

2.1 컴퓨터 구조의 개요
2.2 컴퓨터의 기본 구성
2.3 논리회로와 논리대수
2.4 조합회로와 순차회로
2.5 시스템 구성을 위한 기본 조합 회로
2.6 기억 장치
2.7 명령어와 명령어 세트
2.8 주소방식에 따른 명령어 형식
2.9 중앙처리장치: 처리장치와 제어장치
2.10 입출력장치
2.11 병렬처리

제2장 컴퓨터의 구조

3

3.1 운영체제의 개념
3.2 운영체제의 종류
3.3 주기억장치의 관리
3.4 프로세서 관리
3.5 장치와 파일 관리
3.6 분산 시스템

제3장 운영체제

4

4.1 기본 개념
4.2 배열
4.3 리스트
4.4 스택과 큐
4.5 트리
4.6 그래프
4.7 정렬 알고리즘
4.8 탐색 알고리즘

제5장 프로그래밍 언어
제6장 데이터베이스
제7장 컴퓨터 네트워크
제8장 인공지능

제4장 자료구조와 알고리즘

5

제1장 컴퓨터와 자료

6

1.1 컴퓨터란 무엇인가?
 Computer: 컴퓨터, 전자 계산기
 Compute: 계산하다

 외부에서 자료를 입력(input)받고, 입력 받은 자료를
처리(process)하고, 처리된 결과를 출력(output)하는

기계

 컴퓨터의 가장 큰 장점
 신속한 처리, 계산 결과의 정확성

7

1.2 컴퓨터 시스템의 구성
 하드웨어(H/W; hardware)





입,출력장치
기억장치
산술논리연산장치
제어장치

중앙처리장치(CPU)

 소프트웨어(S/W; software)

 시스템 소프트웨어
 운영체제(OS), 컴파일러, 각종 유틸리티, …
 응용 소프트웨어
 워드프로세서, 그래픽 프로그램, …

 자료(data)
 사용자(user)

8

컴퓨터의 발전
 파스칼의 계산기
 덧셈, 뺄셈

 라이프니츠 계산기
 사칙연산

 배비지의 해석기관
 중앙처리장치,기억장치,입력장치,출력장치

 홀러리스의 천공카드 시스템, 1889
 미국 인구 조사국에서 사용

 Mark I, 1944
 최초의 전기 기계식 계산기
9

 ENIAC(에니악), 1946





미국, 모클리와 에커트
최초의 전자계산기, 1946
진공관 사용
프로그램 외장 방식

 EDSAC(에드삭), 1949

 최초의 프로그램 내장방식 채택

 EDVAC(에드박), 1951
 UNIVAC-I(유니박)

 최초의 상용 컴퓨터
 1951년 미국 조사 통계국에서 사용
10

 인텔 4004, 1972
 최초의 마이크로 프로세서

 Altair(알테어) 8800, 1975
 기계어, 256 byte 메모리

 (1975, 빌게이츠, 마이크로소프트 창립)
 (1977, 스티브 잡스, 애플사(Apple computer) 창립)
 애플 컴퓨터 – 세계 최초의 PC, 8 비트

Apple-I과 Apple-II
11

 1978, 인텔 8086
 16비트 마이크로프로세서

 1981, IBM PC
 PC 내부 공개 IBM 호환 PC

 16비트(8088 CPU)
 MS-DOS

 1985, 80386 마이크로 프로세서 – 32비트

12

컴퓨터 세대별 구분
 제1세대: 1950년~1959년

 진공관
 주기억장치: 자기드럼, 천공카드, 기계어
 EDSAC(에드삭), UNIVAC-I

 제2세대: 1959~1965년

 트랜지스터
 주기억장치: 자기코어, 보조기억장치: 자기드럼,자기디스


 FORTRAN, COBOL, ALGOL 고급 언어 등장

 제3세대: 1965~1975년

 IC(반도체 집적회로)
 다중프로그래밍, 실시간처리시스템, 시분할 시스템
13

 제4세대: 1975~1985년
 LSI(고밀도 집적회로), VLSI(초고밀도집적회로)
 마이크로 컴퓨터 발전(PC 등장)

 제5세대: 1985년 ~ 현재
 AI(Artificial Intelligence, 인공 지능)

 퍼지 이론, 전문자 시스템, 음성 인식

14

 컴퓨터에서 사용되는 시간 단위
 ms(millisecond) : 10-3초
 µs(microsecond): 10-6초
 ns(nanosecond): 10-9초
 ps(picosecond): 10-12초
 fs(femtosecond): 10-15초
 as(attosecond): 10-18초

15

컴퓨터의 분류
 사용목적에 따른 분류
 범용(general-purpose) 컴퓨터
 여러 가지 목적으로 사용되는 일반적인 컴퓨터
 전용(special-purpose) 컴퓨터
 특정한 목적으로 사용되는 컴퓨터
 비행기 운항 조절 등

16

컴퓨터의 분류
 자료 표현 방식에 따른 분류
 디지털(digital) 컴퓨터
 컴퓨터 내부에서 자료를 디지털 신호로 표현
 이산적인 자료 처리
 우리가 사용하는 대부분의 컴퓨터
 아날로그(analog) 컴퓨터
 연속적인 자료 처리
 연속적으로 변하는 자료를 물리적인 양 그대로 입력하여 처리
하는 컴퓨터
 온도, 비행기의 연료 소모량, 달리는 차의 속도
 하이브리드 컴퓨터
 디지털과 아날로그의 장점만 따서 만든 컴퓨터
 특수한 분야에 사용

17

컴퓨터의 분류
 컴퓨터의 성능에 따른 분류(처리 능력에 따른 분류)
 슈퍼컴퓨터
 1초에 1조 개 이상의 명령어 처리(부동소숫점 산술 연산)
 현존하는 가장 강력한 성능의 컴퓨터
 대형컴퓨터
 메인 프레임(mainframe)
 대기업, 금융기관에서 주로 사용
 1초에 수억 개 이상의 명령어를 처리
 미니컴퓨터
 (중형컴퓨터)
 다수의 터미널 지원, 다중 사용자 환경에서 사용
 워크스테이션
 마이크로 컴퓨터와 미니 컴퓨터의 중간 정도의 성능
 마이크로 컴퓨터
 마이크로프로세서를 사용해서 만든 컴퓨터
 개인용 컴퓨터(PC)

18

19

자료의 표현
 숫자 자료의 표현
 고정 소수점 표현
 부동 소숫점 표현

 문자 자료의 표현
 ASCII 코드
 EBCDIC 코드
 BCD 코드

 Unicode

20

자료의 표현
 자료 표현의 단위
 Bit(비트; binary digit)
 2진수
 0 또는 1, 2가지 상태를 표현
 Byte(바이트)
 문자를 표현
 보통 8 bit가 모여서 1 byte가 됨

 Word(워드)
 연산 처리의 기본 단위
 보통 4 byte가 모여서 1 word가 됨(32 비트 시스템)

21

자료의 표현
 컴퓨터의 용량을 표현하는 단위
 1 bit
 1 byte = 8 bit
 1 KB(kilo byte):210 = 1024 byte ≈ 103 byte

 1 MB(mega byte): 220 = 1 KB x 1024 ≈ 106 byte
 1 GB(giga byte): 230 = 1 MB x 1024 ≈ 109 byte
 1 TB(tera byte): 240 = 1 GB x 1024 ≈ 1012 byte

 1 PB(peta bate): 250 = 1 TB x 1024 ≈ 1015 byte

22

자료의 표현
 진법
 디지털 컴퓨터에서는 2진법이 기본
 8,16진법은 2진법 관계가 있다.
 인간은 10진법을 주로 사용한다.

 2진법

 0,1만으로 수를 표현

 8진법

 0,1,2,..7로 수를 표현

 10진법

 0,1,2,3,…9로 수를 표현

 16진법

 0,1,2,3,…9,A,B,C,D,E,F로 수를 표현
23

 2,8,16진법(2,8,16진수)

10진수

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

2진수

0
1
10
11
100
101
110
111
1000
1001
1010
1011
1100
1101
1110
1111
10000

8진수

0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20

16진수

0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
10

24

자료의 표현
 10진수를 2진수로 변환
 2진수를 10진수로 변환
 2진수와 8,16진수의 관계
 2진수 3자리  8진수 1자리
 2진수 4자리  16진수 1자리

 2진수를 8진수,10진수, 16진수로 변환
 8진수를 2진수, 16진수, 10진수로 변환
 16진수를 2진수, 8진수, 16진수로 변환
25

 34

 ( 100010
 ( 42
 ( 22

)2
)8
)16

 34.625

 ( 100010.101 )2
 ( 42.5
)8
 ( 42.A
)16

26

자료 표현
 고정 소수점 표현
 정수를 표현할 때 사용된다.
 부호없는 수의 표현

 부호를 표기하지 않는다.
 표현 범위: 0 ~ 2n-1
 부호 있는 정수의 표현(음수의 표현 방식)

 부호와 절대치(부호와 크기 )
 1의 보수
 2의 보수

27

고정 소수점 표현
 부호와 절대치(크기) 방식
 최상위 1비트로 부호를 표기(양수:0, 음수 1)
 나머지 부분에 수를 절대값으로 표현
 +0, -0이 존재

 1의 보수 방식

 양의 정수에 대한 보수로 음수를 표현
 +0, -0이 존재한다.

 2의 보수 방식

 1의 보수에 1을 더해서 표현한다.
 -0이 없으므로, 음수를 하나 더 표현할 수 있다.
 일반적으로 가장 많이 사용한다.

 양수는 위의 3가지 방식이 모두 동일
28

부동 소수점 표현
 부동 소수점 표현
 실수를 표현하는 방식이다.
 단정도(4 byte), 배정도(8 byte)로 표현한다.
 부호부, 지수부, 가수부로 나누어서 표현한다.

단정도
부호 지수
1비트

8 비트

가수
-- 지수 (초과 127)

23비트

배정도
부호

지수

가수

1비트 11 비트

52비트

-- 지수(초과 1023)

29

자료 표현
 문자 표현

 ASCII 코드
 American Standard Code for Information Interchange
 미국 표준협회에서 제정한 정보 교환용 코드
 7비트(또는 8비트)로 1문자를 표현
 128문자(27) 또는 258문자(28)를 표현
 Unicode
 2바이트로 1문자를 표현
 전 세계의 모든 문자를 동일한 방식으로 표현
 EBCDIC(Extended Binary Coded Decimal Interchange Code;

확장된 BCD 코드)

 IBM 대형 기종에서 사용, 8 bit = 1문자

 BCD 코드
 4비트로 숫자1개를 표현

30

연습문제
2. 십진수 53.625를 8진수와 16진수로 각각 올바르
게 표현한 것은?
① 65.5 35.A ② 65.7 35.A
③ 65.5 35.b ④ 65.7 35.b

31

3. 8비트를 사용해서 표현된 정수의 비트 패턴이
10000000이다. 주어진 비트 패턴의 값을 정수
로 해석할 때, 다음 중 가장 작을 값을 나타내
는 정수의 표현 방법은?
① 부호와-크기 방법
③ 2의 보수

② 1의 보수
④ 부동소수점

32

4. 531.74(8)를 16진법의 표현으로 알맞게 나타
낸 것은?
① 159.F
③ 159.3C

② AC1.3C
④ AC1.F

33

5. 다음 중에서 가장 큰 수는 어떤 진법으로 표현
된 수인가?
(227)10 (343)8 (11100101)2 (E7)16
① 10진법
③ 2진법

② 8진법
④ 16진법

34

주관식
다음 물음에 답하시오
(1) 십진수 23.125를 2진수로 변환하시오.
(2) 이진수 100101.1001을 8, 10, 16진수로 변
환하시오.
(3) 16진수 ABC.6A를 2진수와 8진수로 변환하
시오.

35


Slide 24

강사: 주형준([email protected], 010-6317-0101)

전자계산기 일반

1.1 컴퓨터란 무엇인가?
1.2 컴퓨터 시스템의 구성
1.3 컴퓨터 시스템
1.4 컴퓨터의 발전과 분류
1.5 자료의 표현

제1장 컴퓨터와 자료

2

2.1 컴퓨터 구조의 개요
2.2 컴퓨터의 기본 구성
2.3 논리회로와 논리대수
2.4 조합회로와 순차회로
2.5 시스템 구성을 위한 기본 조합 회로
2.6 기억 장치
2.7 명령어와 명령어 세트
2.8 주소방식에 따른 명령어 형식
2.9 중앙처리장치: 처리장치와 제어장치
2.10 입출력장치
2.11 병렬처리

제2장 컴퓨터의 구조

3

3.1 운영체제의 개념
3.2 운영체제의 종류
3.3 주기억장치의 관리
3.4 프로세서 관리
3.5 장치와 파일 관리
3.6 분산 시스템

제3장 운영체제

4

4.1 기본 개념
4.2 배열
4.3 리스트
4.4 스택과 큐
4.5 트리
4.6 그래프
4.7 정렬 알고리즘
4.8 탐색 알고리즘

제5장 프로그래밍 언어
제6장 데이터베이스
제7장 컴퓨터 네트워크
제8장 인공지능

제4장 자료구조와 알고리즘

5

제1장 컴퓨터와 자료

6

1.1 컴퓨터란 무엇인가?
 Computer: 컴퓨터, 전자 계산기
 Compute: 계산하다

 외부에서 자료를 입력(input)받고, 입력 받은 자료를
처리(process)하고, 처리된 결과를 출력(output)하는

기계

 컴퓨터의 가장 큰 장점
 신속한 처리, 계산 결과의 정확성

7

1.2 컴퓨터 시스템의 구성
 하드웨어(H/W; hardware)





입,출력장치
기억장치
산술논리연산장치
제어장치

중앙처리장치(CPU)

 소프트웨어(S/W; software)

 시스템 소프트웨어
 운영체제(OS), 컴파일러, 각종 유틸리티, …
 응용 소프트웨어
 워드프로세서, 그래픽 프로그램, …

 자료(data)
 사용자(user)

8

컴퓨터의 발전
 파스칼의 계산기
 덧셈, 뺄셈

 라이프니츠 계산기
 사칙연산

 배비지의 해석기관
 중앙처리장치,기억장치,입력장치,출력장치

 홀러리스의 천공카드 시스템, 1889
 미국 인구 조사국에서 사용

 Mark I, 1944
 최초의 전기 기계식 계산기
9

 ENIAC(에니악), 1946





미국, 모클리와 에커트
최초의 전자계산기, 1946
진공관 사용
프로그램 외장 방식

 EDSAC(에드삭), 1949

 최초의 프로그램 내장방식 채택

 EDVAC(에드박), 1951
 UNIVAC-I(유니박)

 최초의 상용 컴퓨터
 1951년 미국 조사 통계국에서 사용
10

 인텔 4004, 1972
 최초의 마이크로 프로세서

 Altair(알테어) 8800, 1975
 기계어, 256 byte 메모리

 (1975, 빌게이츠, 마이크로소프트 창립)
 (1977, 스티브 잡스, 애플사(Apple computer) 창립)
 애플 컴퓨터 – 세계 최초의 PC, 8 비트

Apple-I과 Apple-II
11

 1978, 인텔 8086
 16비트 마이크로프로세서

 1981, IBM PC
 PC 내부 공개 IBM 호환 PC

 16비트(8088 CPU)
 MS-DOS

 1985, 80386 마이크로 프로세서 – 32비트

12

컴퓨터 세대별 구분
 제1세대: 1950년~1959년

 진공관
 주기억장치: 자기드럼, 천공카드, 기계어
 EDSAC(에드삭), UNIVAC-I

 제2세대: 1959~1965년

 트랜지스터
 주기억장치: 자기코어, 보조기억장치: 자기드럼,자기디스


 FORTRAN, COBOL, ALGOL 고급 언어 등장

 제3세대: 1965~1975년

 IC(반도체 집적회로)
 다중프로그래밍, 실시간처리시스템, 시분할 시스템
13

 제4세대: 1975~1985년
 LSI(고밀도 집적회로), VLSI(초고밀도집적회로)
 마이크로 컴퓨터 발전(PC 등장)

 제5세대: 1985년 ~ 현재
 AI(Artificial Intelligence, 인공 지능)

 퍼지 이론, 전문자 시스템, 음성 인식

14

 컴퓨터에서 사용되는 시간 단위
 ms(millisecond) : 10-3초
 µs(microsecond): 10-6초
 ns(nanosecond): 10-9초
 ps(picosecond): 10-12초
 fs(femtosecond): 10-15초
 as(attosecond): 10-18초

15

컴퓨터의 분류
 사용목적에 따른 분류
 범용(general-purpose) 컴퓨터
 여러 가지 목적으로 사용되는 일반적인 컴퓨터
 전용(special-purpose) 컴퓨터
 특정한 목적으로 사용되는 컴퓨터
 비행기 운항 조절 등

16

컴퓨터의 분류
 자료 표현 방식에 따른 분류
 디지털(digital) 컴퓨터
 컴퓨터 내부에서 자료를 디지털 신호로 표현
 이산적인 자료 처리
 우리가 사용하는 대부분의 컴퓨터
 아날로그(analog) 컴퓨터
 연속적인 자료 처리
 연속적으로 변하는 자료를 물리적인 양 그대로 입력하여 처리
하는 컴퓨터
 온도, 비행기의 연료 소모량, 달리는 차의 속도
 하이브리드 컴퓨터
 디지털과 아날로그의 장점만 따서 만든 컴퓨터
 특수한 분야에 사용

17

컴퓨터의 분류
 컴퓨터의 성능에 따른 분류(처리 능력에 따른 분류)
 슈퍼컴퓨터
 1초에 1조 개 이상의 명령어 처리(부동소숫점 산술 연산)
 현존하는 가장 강력한 성능의 컴퓨터
 대형컴퓨터
 메인 프레임(mainframe)
 대기업, 금융기관에서 주로 사용
 1초에 수억 개 이상의 명령어를 처리
 미니컴퓨터
 (중형컴퓨터)
 다수의 터미널 지원, 다중 사용자 환경에서 사용
 워크스테이션
 마이크로 컴퓨터와 미니 컴퓨터의 중간 정도의 성능
 마이크로 컴퓨터
 마이크로프로세서를 사용해서 만든 컴퓨터
 개인용 컴퓨터(PC)

18

19

자료의 표현
 숫자 자료의 표현
 고정 소수점 표현
 부동 소숫점 표현

 문자 자료의 표현
 ASCII 코드
 EBCDIC 코드
 BCD 코드

 Unicode

20

자료의 표현
 자료 표현의 단위
 Bit(비트; binary digit)
 2진수
 0 또는 1, 2가지 상태를 표현
 Byte(바이트)
 문자를 표현
 보통 8 bit가 모여서 1 byte가 됨

 Word(워드)
 연산 처리의 기본 단위
 보통 4 byte가 모여서 1 word가 됨(32 비트 시스템)

21

자료의 표현
 컴퓨터의 용량을 표현하는 단위
 1 bit
 1 byte = 8 bit
 1 KB(kilo byte):210 = 1024 byte ≈ 103 byte

 1 MB(mega byte): 220 = 1 KB x 1024 ≈ 106 byte
 1 GB(giga byte): 230 = 1 MB x 1024 ≈ 109 byte
 1 TB(tera byte): 240 = 1 GB x 1024 ≈ 1012 byte

 1 PB(peta bate): 250 = 1 TB x 1024 ≈ 1015 byte

22

자료의 표현
 진법
 디지털 컴퓨터에서는 2진법이 기본
 8,16진법은 2진법 관계가 있다.
 인간은 10진법을 주로 사용한다.

 2진법

 0,1만으로 수를 표현

 8진법

 0,1,2,..7로 수를 표현

 10진법

 0,1,2,3,…9로 수를 표현

 16진법

 0,1,2,3,…9,A,B,C,D,E,F로 수를 표현
23

 2,8,16진법(2,8,16진수)

10진수

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

2진수

0
1
10
11
100
101
110
111
1000
1001
1010
1011
1100
1101
1110
1111
10000

8진수

0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20

16진수

0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
10

24

자료의 표현
 10진수를 2진수로 변환
 2진수를 10진수로 변환
 2진수와 8,16진수의 관계
 2진수 3자리  8진수 1자리
 2진수 4자리  16진수 1자리

 2진수를 8진수,10진수, 16진수로 변환
 8진수를 2진수, 16진수, 10진수로 변환
 16진수를 2진수, 8진수, 16진수로 변환
25

 34

 ( 100010
 ( 42
 ( 22

)2
)8
)16

 34.625

 ( 100010.101 )2
 ( 42.5
)8
 ( 42.A
)16

26

자료 표현
 고정 소수점 표현
 정수를 표현할 때 사용된다.
 부호없는 수의 표현

 부호를 표기하지 않는다.
 표현 범위: 0 ~ 2n-1
 부호 있는 정수의 표현(음수의 표현 방식)

 부호와 절대치(부호와 크기 )
 1의 보수
 2의 보수

27

고정 소수점 표현
 부호와 절대치(크기) 방식
 최상위 1비트로 부호를 표기(양수:0, 음수 1)
 나머지 부분에 수를 절대값으로 표현
 +0, -0이 존재

 1의 보수 방식

 양의 정수에 대한 보수로 음수를 표현
 +0, -0이 존재한다.

 2의 보수 방식

 1의 보수에 1을 더해서 표현한다.
 -0이 없으므로, 음수를 하나 더 표현할 수 있다.
 일반적으로 가장 많이 사용한다.

 양수는 위의 3가지 방식이 모두 동일
28

부동 소수점 표현
 부동 소수점 표현
 실수를 표현하는 방식이다.
 단정도(4 byte), 배정도(8 byte)로 표현한다.
 부호부, 지수부, 가수부로 나누어서 표현한다.

단정도
부호 지수
1비트

8 비트

가수
-- 지수 (초과 127)

23비트

배정도
부호

지수

가수

1비트 11 비트

52비트

-- 지수(초과 1023)

29

자료 표현
 문자 표현

 ASCII 코드
 American Standard Code for Information Interchange
 미국 표준협회에서 제정한 정보 교환용 코드
 7비트(또는 8비트)로 1문자를 표현
 128문자(27) 또는 258문자(28)를 표현
 Unicode
 2바이트로 1문자를 표현
 전 세계의 모든 문자를 동일한 방식으로 표현
 EBCDIC(Extended Binary Coded Decimal Interchange Code;

확장된 BCD 코드)

 IBM 대형 기종에서 사용, 8 bit = 1문자

 BCD 코드
 4비트로 숫자1개를 표현

30

연습문제
2. 십진수 53.625를 8진수와 16진수로 각각 올바르
게 표현한 것은?
① 65.5 35.A ② 65.7 35.A
③ 65.5 35.b ④ 65.7 35.b

31

3. 8비트를 사용해서 표현된 정수의 비트 패턴이
10000000이다. 주어진 비트 패턴의 값을 정수
로 해석할 때, 다음 중 가장 작을 값을 나타내
는 정수의 표현 방법은?
① 부호와-크기 방법
③ 2의 보수

② 1의 보수
④ 부동소수점

32

4. 531.74(8)를 16진법의 표현으로 알맞게 나타
낸 것은?
① 159.F
③ 159.3C

② AC1.3C
④ AC1.F

33

5. 다음 중에서 가장 큰 수는 어떤 진법으로 표현
된 수인가?
(227)10 (343)8 (11100101)2 (E7)16
① 10진법
③ 2진법

② 8진법
④ 16진법

34

주관식
다음 물음에 답하시오
(1) 십진수 23.125를 2진수로 변환하시오.
(2) 이진수 100101.1001을 8, 10, 16진수로 변
환하시오.
(3) 16진수 ABC.6A를 2진수와 8진수로 변환하
시오.

35


Slide 25

강사: 주형준([email protected], 010-6317-0101)

전자계산기 일반

1.1 컴퓨터란 무엇인가?
1.2 컴퓨터 시스템의 구성
1.3 컴퓨터 시스템
1.4 컴퓨터의 발전과 분류
1.5 자료의 표현

제1장 컴퓨터와 자료

2

2.1 컴퓨터 구조의 개요
2.2 컴퓨터의 기본 구성
2.3 논리회로와 논리대수
2.4 조합회로와 순차회로
2.5 시스템 구성을 위한 기본 조합 회로
2.6 기억 장치
2.7 명령어와 명령어 세트
2.8 주소방식에 따른 명령어 형식
2.9 중앙처리장치: 처리장치와 제어장치
2.10 입출력장치
2.11 병렬처리

제2장 컴퓨터의 구조

3

3.1 운영체제의 개념
3.2 운영체제의 종류
3.3 주기억장치의 관리
3.4 프로세서 관리
3.5 장치와 파일 관리
3.6 분산 시스템

제3장 운영체제

4

4.1 기본 개념
4.2 배열
4.3 리스트
4.4 스택과 큐
4.5 트리
4.6 그래프
4.7 정렬 알고리즘
4.8 탐색 알고리즘

제5장 프로그래밍 언어
제6장 데이터베이스
제7장 컴퓨터 네트워크
제8장 인공지능

제4장 자료구조와 알고리즘

5

제1장 컴퓨터와 자료

6

1.1 컴퓨터란 무엇인가?
 Computer: 컴퓨터, 전자 계산기
 Compute: 계산하다

 외부에서 자료를 입력(input)받고, 입력 받은 자료를
처리(process)하고, 처리된 결과를 출력(output)하는

기계

 컴퓨터의 가장 큰 장점
 신속한 처리, 계산 결과의 정확성

7

1.2 컴퓨터 시스템의 구성
 하드웨어(H/W; hardware)





입,출력장치
기억장치
산술논리연산장치
제어장치

중앙처리장치(CPU)

 소프트웨어(S/W; software)

 시스템 소프트웨어
 운영체제(OS), 컴파일러, 각종 유틸리티, …
 응용 소프트웨어
 워드프로세서, 그래픽 프로그램, …

 자료(data)
 사용자(user)

8

컴퓨터의 발전
 파스칼의 계산기
 덧셈, 뺄셈

 라이프니츠 계산기
 사칙연산

 배비지의 해석기관
 중앙처리장치,기억장치,입력장치,출력장치

 홀러리스의 천공카드 시스템, 1889
 미국 인구 조사국에서 사용

 Mark I, 1944
 최초의 전기 기계식 계산기
9

 ENIAC(에니악), 1946





미국, 모클리와 에커트
최초의 전자계산기, 1946
진공관 사용
프로그램 외장 방식

 EDSAC(에드삭), 1949

 최초의 프로그램 내장방식 채택

 EDVAC(에드박), 1951
 UNIVAC-I(유니박)

 최초의 상용 컴퓨터
 1951년 미국 조사 통계국에서 사용
10

 인텔 4004, 1972
 최초의 마이크로 프로세서

 Altair(알테어) 8800, 1975
 기계어, 256 byte 메모리

 (1975, 빌게이츠, 마이크로소프트 창립)
 (1977, 스티브 잡스, 애플사(Apple computer) 창립)
 애플 컴퓨터 – 세계 최초의 PC, 8 비트

Apple-I과 Apple-II
11

 1978, 인텔 8086
 16비트 마이크로프로세서

 1981, IBM PC
 PC 내부 공개 IBM 호환 PC

 16비트(8088 CPU)
 MS-DOS

 1985, 80386 마이크로 프로세서 – 32비트

12

컴퓨터 세대별 구분
 제1세대: 1950년~1959년

 진공관
 주기억장치: 자기드럼, 천공카드, 기계어
 EDSAC(에드삭), UNIVAC-I

 제2세대: 1959~1965년

 트랜지스터
 주기억장치: 자기코어, 보조기억장치: 자기드럼,자기디스


 FORTRAN, COBOL, ALGOL 고급 언어 등장

 제3세대: 1965~1975년

 IC(반도체 집적회로)
 다중프로그래밍, 실시간처리시스템, 시분할 시스템
13

 제4세대: 1975~1985년
 LSI(고밀도 집적회로), VLSI(초고밀도집적회로)
 마이크로 컴퓨터 발전(PC 등장)

 제5세대: 1985년 ~ 현재
 AI(Artificial Intelligence, 인공 지능)

 퍼지 이론, 전문자 시스템, 음성 인식

14

 컴퓨터에서 사용되는 시간 단위
 ms(millisecond) : 10-3초
 µs(microsecond): 10-6초
 ns(nanosecond): 10-9초
 ps(picosecond): 10-12초
 fs(femtosecond): 10-15초
 as(attosecond): 10-18초

15

컴퓨터의 분류
 사용목적에 따른 분류
 범용(general-purpose) 컴퓨터
 여러 가지 목적으로 사용되는 일반적인 컴퓨터
 전용(special-purpose) 컴퓨터
 특정한 목적으로 사용되는 컴퓨터
 비행기 운항 조절 등

16

컴퓨터의 분류
 자료 표현 방식에 따른 분류
 디지털(digital) 컴퓨터
 컴퓨터 내부에서 자료를 디지털 신호로 표현
 이산적인 자료 처리
 우리가 사용하는 대부분의 컴퓨터
 아날로그(analog) 컴퓨터
 연속적인 자료 처리
 연속적으로 변하는 자료를 물리적인 양 그대로 입력하여 처리
하는 컴퓨터
 온도, 비행기의 연료 소모량, 달리는 차의 속도
 하이브리드 컴퓨터
 디지털과 아날로그의 장점만 따서 만든 컴퓨터
 특수한 분야에 사용

17

컴퓨터의 분류
 컴퓨터의 성능에 따른 분류(처리 능력에 따른 분류)
 슈퍼컴퓨터
 1초에 1조 개 이상의 명령어 처리(부동소숫점 산술 연산)
 현존하는 가장 강력한 성능의 컴퓨터
 대형컴퓨터
 메인 프레임(mainframe)
 대기업, 금융기관에서 주로 사용
 1초에 수억 개 이상의 명령어를 처리
 미니컴퓨터
 (중형컴퓨터)
 다수의 터미널 지원, 다중 사용자 환경에서 사용
 워크스테이션
 마이크로 컴퓨터와 미니 컴퓨터의 중간 정도의 성능
 마이크로 컴퓨터
 마이크로프로세서를 사용해서 만든 컴퓨터
 개인용 컴퓨터(PC)

18

19

자료의 표현
 숫자 자료의 표현
 고정 소수점 표현
 부동 소숫점 표현

 문자 자료의 표현
 ASCII 코드
 EBCDIC 코드
 BCD 코드

 Unicode

20

자료의 표현
 자료 표현의 단위
 Bit(비트; binary digit)
 2진수
 0 또는 1, 2가지 상태를 표현
 Byte(바이트)
 문자를 표현
 보통 8 bit가 모여서 1 byte가 됨

 Word(워드)
 연산 처리의 기본 단위
 보통 4 byte가 모여서 1 word가 됨(32 비트 시스템)

21

자료의 표현
 컴퓨터의 용량을 표현하는 단위
 1 bit
 1 byte = 8 bit
 1 KB(kilo byte):210 = 1024 byte ≈ 103 byte

 1 MB(mega byte): 220 = 1 KB x 1024 ≈ 106 byte
 1 GB(giga byte): 230 = 1 MB x 1024 ≈ 109 byte
 1 TB(tera byte): 240 = 1 GB x 1024 ≈ 1012 byte

 1 PB(peta bate): 250 = 1 TB x 1024 ≈ 1015 byte

22

자료의 표현
 진법
 디지털 컴퓨터에서는 2진법이 기본
 8,16진법은 2진법 관계가 있다.
 인간은 10진법을 주로 사용한다.

 2진법

 0,1만으로 수를 표현

 8진법

 0,1,2,..7로 수를 표현

 10진법

 0,1,2,3,…9로 수를 표현

 16진법

 0,1,2,3,…9,A,B,C,D,E,F로 수를 표현
23

 2,8,16진법(2,8,16진수)

10진수

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

2진수

0
1
10
11
100
101
110
111
1000
1001
1010
1011
1100
1101
1110
1111
10000

8진수

0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20

16진수

0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
10

24

자료의 표현
 10진수를 2진수로 변환
 2진수를 10진수로 변환
 2진수와 8,16진수의 관계
 2진수 3자리  8진수 1자리
 2진수 4자리  16진수 1자리

 2진수를 8진수,10진수, 16진수로 변환
 8진수를 2진수, 16진수, 10진수로 변환
 16진수를 2진수, 8진수, 16진수로 변환
25

 34

 ( 100010
 ( 42
 ( 22

)2
)8
)16

 34.625

 ( 100010.101 )2
 ( 42.5
)8
 ( 42.A
)16

26

자료 표현
 고정 소수점 표현
 정수를 표현할 때 사용된다.
 부호없는 수의 표현

 부호를 표기하지 않는다.
 표현 범위: 0 ~ 2n-1
 부호 있는 정수의 표현(음수의 표현 방식)

 부호와 절대치(부호와 크기 )
 1의 보수
 2의 보수

27

고정 소수점 표현
 부호와 절대치(크기) 방식
 최상위 1비트로 부호를 표기(양수:0, 음수 1)
 나머지 부분에 수를 절대값으로 표현
 +0, -0이 존재

 1의 보수 방식

 양의 정수에 대한 보수로 음수를 표현
 +0, -0이 존재한다.

 2의 보수 방식

 1의 보수에 1을 더해서 표현한다.
 -0이 없으므로, 음수를 하나 더 표현할 수 있다.
 일반적으로 가장 많이 사용한다.

 양수는 위의 3가지 방식이 모두 동일
28

부동 소수점 표현
 부동 소수점 표현
 실수를 표현하는 방식이다.
 단정도(4 byte), 배정도(8 byte)로 표현한다.
 부호부, 지수부, 가수부로 나누어서 표현한다.

단정도
부호 지수
1비트

8 비트

가수
-- 지수 (초과 127)

23비트

배정도
부호

지수

가수

1비트 11 비트

52비트

-- 지수(초과 1023)

29

자료 표현
 문자 표현

 ASCII 코드
 American Standard Code for Information Interchange
 미국 표준협회에서 제정한 정보 교환용 코드
 7비트(또는 8비트)로 1문자를 표현
 128문자(27) 또는 258문자(28)를 표현
 Unicode
 2바이트로 1문자를 표현
 전 세계의 모든 문자를 동일한 방식으로 표현
 EBCDIC(Extended Binary Coded Decimal Interchange Code;

확장된 BCD 코드)

 IBM 대형 기종에서 사용, 8 bit = 1문자

 BCD 코드
 4비트로 숫자1개를 표현

30

연습문제
2. 십진수 53.625를 8진수와 16진수로 각각 올바르
게 표현한 것은?
① 65.5 35.A ② 65.7 35.A
③ 65.5 35.b ④ 65.7 35.b

31

3. 8비트를 사용해서 표현된 정수의 비트 패턴이
10000000이다. 주어진 비트 패턴의 값을 정수
로 해석할 때, 다음 중 가장 작을 값을 나타내
는 정수의 표현 방법은?
① 부호와-크기 방법
③ 2의 보수

② 1의 보수
④ 부동소수점

32

4. 531.74(8)를 16진법의 표현으로 알맞게 나타
낸 것은?
① 159.F
③ 159.3C

② AC1.3C
④ AC1.F

33

5. 다음 중에서 가장 큰 수는 어떤 진법으로 표현
된 수인가?
(227)10 (343)8 (11100101)2 (E7)16
① 10진법
③ 2진법

② 8진법
④ 16진법

34

주관식
다음 물음에 답하시오
(1) 십진수 23.125를 2진수로 변환하시오.
(2) 이진수 100101.1001을 8, 10, 16진수로 변
환하시오.
(3) 16진수 ABC.6A를 2진수와 8진수로 변환하
시오.

35


Slide 26

강사: 주형준([email protected], 010-6317-0101)

전자계산기 일반

1.1 컴퓨터란 무엇인가?
1.2 컴퓨터 시스템의 구성
1.3 컴퓨터 시스템
1.4 컴퓨터의 발전과 분류
1.5 자료의 표현

제1장 컴퓨터와 자료

2

2.1 컴퓨터 구조의 개요
2.2 컴퓨터의 기본 구성
2.3 논리회로와 논리대수
2.4 조합회로와 순차회로
2.5 시스템 구성을 위한 기본 조합 회로
2.6 기억 장치
2.7 명령어와 명령어 세트
2.8 주소방식에 따른 명령어 형식
2.9 중앙처리장치: 처리장치와 제어장치
2.10 입출력장치
2.11 병렬처리

제2장 컴퓨터의 구조

3

3.1 운영체제의 개념
3.2 운영체제의 종류
3.3 주기억장치의 관리
3.4 프로세서 관리
3.5 장치와 파일 관리
3.6 분산 시스템

제3장 운영체제

4

4.1 기본 개념
4.2 배열
4.3 리스트
4.4 스택과 큐
4.5 트리
4.6 그래프
4.7 정렬 알고리즘
4.8 탐색 알고리즘

제5장 프로그래밍 언어
제6장 데이터베이스
제7장 컴퓨터 네트워크
제8장 인공지능

제4장 자료구조와 알고리즘

5

제1장 컴퓨터와 자료

6

1.1 컴퓨터란 무엇인가?
 Computer: 컴퓨터, 전자 계산기
 Compute: 계산하다

 외부에서 자료를 입력(input)받고, 입력 받은 자료를
처리(process)하고, 처리된 결과를 출력(output)하는

기계

 컴퓨터의 가장 큰 장점
 신속한 처리, 계산 결과의 정확성

7

1.2 컴퓨터 시스템의 구성
 하드웨어(H/W; hardware)





입,출력장치
기억장치
산술논리연산장치
제어장치

중앙처리장치(CPU)

 소프트웨어(S/W; software)

 시스템 소프트웨어
 운영체제(OS), 컴파일러, 각종 유틸리티, …
 응용 소프트웨어
 워드프로세서, 그래픽 프로그램, …

 자료(data)
 사용자(user)

8

컴퓨터의 발전
 파스칼의 계산기
 덧셈, 뺄셈

 라이프니츠 계산기
 사칙연산

 배비지의 해석기관
 중앙처리장치,기억장치,입력장치,출력장치

 홀러리스의 천공카드 시스템, 1889
 미국 인구 조사국에서 사용

 Mark I, 1944
 최초의 전기 기계식 계산기
9

 ENIAC(에니악), 1946





미국, 모클리와 에커트
최초의 전자계산기, 1946
진공관 사용
프로그램 외장 방식

 EDSAC(에드삭), 1949

 최초의 프로그램 내장방식 채택

 EDVAC(에드박), 1951
 UNIVAC-I(유니박)

 최초의 상용 컴퓨터
 1951년 미국 조사 통계국에서 사용
10

 인텔 4004, 1972
 최초의 마이크로 프로세서

 Altair(알테어) 8800, 1975
 기계어, 256 byte 메모리

 (1975, 빌게이츠, 마이크로소프트 창립)
 (1977, 스티브 잡스, 애플사(Apple computer) 창립)
 애플 컴퓨터 – 세계 최초의 PC, 8 비트

Apple-I과 Apple-II
11

 1978, 인텔 8086
 16비트 마이크로프로세서

 1981, IBM PC
 PC 내부 공개 IBM 호환 PC

 16비트(8088 CPU)
 MS-DOS

 1985, 80386 마이크로 프로세서 – 32비트

12

컴퓨터 세대별 구분
 제1세대: 1950년~1959년

 진공관
 주기억장치: 자기드럼, 천공카드, 기계어
 EDSAC(에드삭), UNIVAC-I

 제2세대: 1959~1965년

 트랜지스터
 주기억장치: 자기코어, 보조기억장치: 자기드럼,자기디스


 FORTRAN, COBOL, ALGOL 고급 언어 등장

 제3세대: 1965~1975년

 IC(반도체 집적회로)
 다중프로그래밍, 실시간처리시스템, 시분할 시스템
13

 제4세대: 1975~1985년
 LSI(고밀도 집적회로), VLSI(초고밀도집적회로)
 마이크로 컴퓨터 발전(PC 등장)

 제5세대: 1985년 ~ 현재
 AI(Artificial Intelligence, 인공 지능)

 퍼지 이론, 전문자 시스템, 음성 인식

14

 컴퓨터에서 사용되는 시간 단위
 ms(millisecond) : 10-3초
 µs(microsecond): 10-6초
 ns(nanosecond): 10-9초
 ps(picosecond): 10-12초
 fs(femtosecond): 10-15초
 as(attosecond): 10-18초

15

컴퓨터의 분류
 사용목적에 따른 분류
 범용(general-purpose) 컴퓨터
 여러 가지 목적으로 사용되는 일반적인 컴퓨터
 전용(special-purpose) 컴퓨터
 특정한 목적으로 사용되는 컴퓨터
 비행기 운항 조절 등

16

컴퓨터의 분류
 자료 표현 방식에 따른 분류
 디지털(digital) 컴퓨터
 컴퓨터 내부에서 자료를 디지털 신호로 표현
 이산적인 자료 처리
 우리가 사용하는 대부분의 컴퓨터
 아날로그(analog) 컴퓨터
 연속적인 자료 처리
 연속적으로 변하는 자료를 물리적인 양 그대로 입력하여 처리
하는 컴퓨터
 온도, 비행기의 연료 소모량, 달리는 차의 속도
 하이브리드 컴퓨터
 디지털과 아날로그의 장점만 따서 만든 컴퓨터
 특수한 분야에 사용

17

컴퓨터의 분류
 컴퓨터의 성능에 따른 분류(처리 능력에 따른 분류)
 슈퍼컴퓨터
 1초에 1조 개 이상의 명령어 처리(부동소숫점 산술 연산)
 현존하는 가장 강력한 성능의 컴퓨터
 대형컴퓨터
 메인 프레임(mainframe)
 대기업, 금융기관에서 주로 사용
 1초에 수억 개 이상의 명령어를 처리
 미니컴퓨터
 (중형컴퓨터)
 다수의 터미널 지원, 다중 사용자 환경에서 사용
 워크스테이션
 마이크로 컴퓨터와 미니 컴퓨터의 중간 정도의 성능
 마이크로 컴퓨터
 마이크로프로세서를 사용해서 만든 컴퓨터
 개인용 컴퓨터(PC)

18

19

자료의 표현
 숫자 자료의 표현
 고정 소수점 표현
 부동 소숫점 표현

 문자 자료의 표현
 ASCII 코드
 EBCDIC 코드
 BCD 코드

 Unicode

20

자료의 표현
 자료 표현의 단위
 Bit(비트; binary digit)
 2진수
 0 또는 1, 2가지 상태를 표현
 Byte(바이트)
 문자를 표현
 보통 8 bit가 모여서 1 byte가 됨

 Word(워드)
 연산 처리의 기본 단위
 보통 4 byte가 모여서 1 word가 됨(32 비트 시스템)

21

자료의 표현
 컴퓨터의 용량을 표현하는 단위
 1 bit
 1 byte = 8 bit
 1 KB(kilo byte):210 = 1024 byte ≈ 103 byte

 1 MB(mega byte): 220 = 1 KB x 1024 ≈ 106 byte
 1 GB(giga byte): 230 = 1 MB x 1024 ≈ 109 byte
 1 TB(tera byte): 240 = 1 GB x 1024 ≈ 1012 byte

 1 PB(peta bate): 250 = 1 TB x 1024 ≈ 1015 byte

22

자료의 표현
 진법
 디지털 컴퓨터에서는 2진법이 기본
 8,16진법은 2진법 관계가 있다.
 인간은 10진법을 주로 사용한다.

 2진법

 0,1만으로 수를 표현

 8진법

 0,1,2,..7로 수를 표현

 10진법

 0,1,2,3,…9로 수를 표현

 16진법

 0,1,2,3,…9,A,B,C,D,E,F로 수를 표현
23

 2,8,16진법(2,8,16진수)

10진수

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

2진수

0
1
10
11
100
101
110
111
1000
1001
1010
1011
1100
1101
1110
1111
10000

8진수

0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20

16진수

0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
10

24

자료의 표현
 10진수를 2진수로 변환
 2진수를 10진수로 변환
 2진수와 8,16진수의 관계
 2진수 3자리  8진수 1자리
 2진수 4자리  16진수 1자리

 2진수를 8진수,10진수, 16진수로 변환
 8진수를 2진수, 16진수, 10진수로 변환
 16진수를 2진수, 8진수, 16진수로 변환
25

 34

 ( 100010
 ( 42
 ( 22

)2
)8
)16

 34.625

 ( 100010.101 )2
 ( 42.5
)8
 ( 42.A
)16

26

자료 표현
 고정 소수점 표현
 정수를 표현할 때 사용된다.
 부호없는 수의 표현

 부호를 표기하지 않는다.
 표현 범위: 0 ~ 2n-1
 부호 있는 정수의 표현(음수의 표현 방식)

 부호와 절대치(부호와 크기 )
 1의 보수
 2의 보수

27

고정 소수점 표현
 부호와 절대치(크기) 방식
 최상위 1비트로 부호를 표기(양수:0, 음수 1)
 나머지 부분에 수를 절대값으로 표현
 +0, -0이 존재

 1의 보수 방식

 양의 정수에 대한 보수로 음수를 표현
 +0, -0이 존재한다.

 2의 보수 방식

 1의 보수에 1을 더해서 표현한다.
 -0이 없으므로, 음수를 하나 더 표현할 수 있다.
 일반적으로 가장 많이 사용한다.

 양수는 위의 3가지 방식이 모두 동일
28

부동 소수점 표현
 부동 소수점 표현
 실수를 표현하는 방식이다.
 단정도(4 byte), 배정도(8 byte)로 표현한다.
 부호부, 지수부, 가수부로 나누어서 표현한다.

단정도
부호 지수
1비트

8 비트

가수
-- 지수 (초과 127)

23비트

배정도
부호

지수

가수

1비트 11 비트

52비트

-- 지수(초과 1023)

29

자료 표현
 문자 표현

 ASCII 코드
 American Standard Code for Information Interchange
 미국 표준협회에서 제정한 정보 교환용 코드
 7비트(또는 8비트)로 1문자를 표현
 128문자(27) 또는 258문자(28)를 표현
 Unicode
 2바이트로 1문자를 표현
 전 세계의 모든 문자를 동일한 방식으로 표현
 EBCDIC(Extended Binary Coded Decimal Interchange Code;

확장된 BCD 코드)

 IBM 대형 기종에서 사용, 8 bit = 1문자

 BCD 코드
 4비트로 숫자1개를 표현

30

연습문제
2. 십진수 53.625를 8진수와 16진수로 각각 올바르
게 표현한 것은?
① 65.5 35.A ② 65.7 35.A
③ 65.5 35.b ④ 65.7 35.b

31

3. 8비트를 사용해서 표현된 정수의 비트 패턴이
10000000이다. 주어진 비트 패턴의 값을 정수
로 해석할 때, 다음 중 가장 작을 값을 나타내
는 정수의 표현 방법은?
① 부호와-크기 방법
③ 2의 보수

② 1의 보수
④ 부동소수점

32

4. 531.74(8)를 16진법의 표현으로 알맞게 나타
낸 것은?
① 159.F
③ 159.3C

② AC1.3C
④ AC1.F

33

5. 다음 중에서 가장 큰 수는 어떤 진법으로 표현
된 수인가?
(227)10 (343)8 (11100101)2 (E7)16
① 10진법
③ 2진법

② 8진법
④ 16진법

34

주관식
다음 물음에 답하시오
(1) 십진수 23.125를 2진수로 변환하시오.
(2) 이진수 100101.1001을 8, 10, 16진수로 변
환하시오.
(3) 16진수 ABC.6A를 2진수와 8진수로 변환하
시오.

35


Slide 27

강사: 주형준([email protected], 010-6317-0101)

전자계산기 일반

1.1 컴퓨터란 무엇인가?
1.2 컴퓨터 시스템의 구성
1.3 컴퓨터 시스템
1.4 컴퓨터의 발전과 분류
1.5 자료의 표현

제1장 컴퓨터와 자료

2

2.1 컴퓨터 구조의 개요
2.2 컴퓨터의 기본 구성
2.3 논리회로와 논리대수
2.4 조합회로와 순차회로
2.5 시스템 구성을 위한 기본 조합 회로
2.6 기억 장치
2.7 명령어와 명령어 세트
2.8 주소방식에 따른 명령어 형식
2.9 중앙처리장치: 처리장치와 제어장치
2.10 입출력장치
2.11 병렬처리

제2장 컴퓨터의 구조

3

3.1 운영체제의 개념
3.2 운영체제의 종류
3.3 주기억장치의 관리
3.4 프로세서 관리
3.5 장치와 파일 관리
3.6 분산 시스템

제3장 운영체제

4

4.1 기본 개념
4.2 배열
4.3 리스트
4.4 스택과 큐
4.5 트리
4.6 그래프
4.7 정렬 알고리즘
4.8 탐색 알고리즘

제5장 프로그래밍 언어
제6장 데이터베이스
제7장 컴퓨터 네트워크
제8장 인공지능

제4장 자료구조와 알고리즘

5

제1장 컴퓨터와 자료

6

1.1 컴퓨터란 무엇인가?
 Computer: 컴퓨터, 전자 계산기
 Compute: 계산하다

 외부에서 자료를 입력(input)받고, 입력 받은 자료를
처리(process)하고, 처리된 결과를 출력(output)하는

기계

 컴퓨터의 가장 큰 장점
 신속한 처리, 계산 결과의 정확성

7

1.2 컴퓨터 시스템의 구성
 하드웨어(H/W; hardware)





입,출력장치
기억장치
산술논리연산장치
제어장치

중앙처리장치(CPU)

 소프트웨어(S/W; software)

 시스템 소프트웨어
 운영체제(OS), 컴파일러, 각종 유틸리티, …
 응용 소프트웨어
 워드프로세서, 그래픽 프로그램, …

 자료(data)
 사용자(user)

8

컴퓨터의 발전
 파스칼의 계산기
 덧셈, 뺄셈

 라이프니츠 계산기
 사칙연산

 배비지의 해석기관
 중앙처리장치,기억장치,입력장치,출력장치

 홀러리스의 천공카드 시스템, 1889
 미국 인구 조사국에서 사용

 Mark I, 1944
 최초의 전기 기계식 계산기
9

 ENIAC(에니악), 1946





미국, 모클리와 에커트
최초의 전자계산기, 1946
진공관 사용
프로그램 외장 방식

 EDSAC(에드삭), 1949

 최초의 프로그램 내장방식 채택

 EDVAC(에드박), 1951
 UNIVAC-I(유니박)

 최초의 상용 컴퓨터
 1951년 미국 조사 통계국에서 사용
10

 인텔 4004, 1972
 최초의 마이크로 프로세서

 Altair(알테어) 8800, 1975
 기계어, 256 byte 메모리

 (1975, 빌게이츠, 마이크로소프트 창립)
 (1977, 스티브 잡스, 애플사(Apple computer) 창립)
 애플 컴퓨터 – 세계 최초의 PC, 8 비트

Apple-I과 Apple-II
11

 1978, 인텔 8086
 16비트 마이크로프로세서

 1981, IBM PC
 PC 내부 공개 IBM 호환 PC

 16비트(8088 CPU)
 MS-DOS

 1985, 80386 마이크로 프로세서 – 32비트

12

컴퓨터 세대별 구분
 제1세대: 1950년~1959년

 진공관
 주기억장치: 자기드럼, 천공카드, 기계어
 EDSAC(에드삭), UNIVAC-I

 제2세대: 1959~1965년

 트랜지스터
 주기억장치: 자기코어, 보조기억장치: 자기드럼,자기디스


 FORTRAN, COBOL, ALGOL 고급 언어 등장

 제3세대: 1965~1975년

 IC(반도체 집적회로)
 다중프로그래밍, 실시간처리시스템, 시분할 시스템
13

 제4세대: 1975~1985년
 LSI(고밀도 집적회로), VLSI(초고밀도집적회로)
 마이크로 컴퓨터 발전(PC 등장)

 제5세대: 1985년 ~ 현재
 AI(Artificial Intelligence, 인공 지능)

 퍼지 이론, 전문자 시스템, 음성 인식

14

 컴퓨터에서 사용되는 시간 단위
 ms(millisecond) : 10-3초
 µs(microsecond): 10-6초
 ns(nanosecond): 10-9초
 ps(picosecond): 10-12초
 fs(femtosecond): 10-15초
 as(attosecond): 10-18초

15

컴퓨터의 분류
 사용목적에 따른 분류
 범용(general-purpose) 컴퓨터
 여러 가지 목적으로 사용되는 일반적인 컴퓨터
 전용(special-purpose) 컴퓨터
 특정한 목적으로 사용되는 컴퓨터
 비행기 운항 조절 등

16

컴퓨터의 분류
 자료 표현 방식에 따른 분류
 디지털(digital) 컴퓨터
 컴퓨터 내부에서 자료를 디지털 신호로 표현
 이산적인 자료 처리
 우리가 사용하는 대부분의 컴퓨터
 아날로그(analog) 컴퓨터
 연속적인 자료 처리
 연속적으로 변하는 자료를 물리적인 양 그대로 입력하여 처리
하는 컴퓨터
 온도, 비행기의 연료 소모량, 달리는 차의 속도
 하이브리드 컴퓨터
 디지털과 아날로그의 장점만 따서 만든 컴퓨터
 특수한 분야에 사용

17

컴퓨터의 분류
 컴퓨터의 성능에 따른 분류(처리 능력에 따른 분류)
 슈퍼컴퓨터
 1초에 1조 개 이상의 명령어 처리(부동소숫점 산술 연산)
 현존하는 가장 강력한 성능의 컴퓨터
 대형컴퓨터
 메인 프레임(mainframe)
 대기업, 금융기관에서 주로 사용
 1초에 수억 개 이상의 명령어를 처리
 미니컴퓨터
 (중형컴퓨터)
 다수의 터미널 지원, 다중 사용자 환경에서 사용
 워크스테이션
 마이크로 컴퓨터와 미니 컴퓨터의 중간 정도의 성능
 마이크로 컴퓨터
 마이크로프로세서를 사용해서 만든 컴퓨터
 개인용 컴퓨터(PC)

18

19

자료의 표현
 숫자 자료의 표현
 고정 소수점 표현
 부동 소숫점 표현

 문자 자료의 표현
 ASCII 코드
 EBCDIC 코드
 BCD 코드

 Unicode

20

자료의 표현
 자료 표현의 단위
 Bit(비트; binary digit)
 2진수
 0 또는 1, 2가지 상태를 표현
 Byte(바이트)
 문자를 표현
 보통 8 bit가 모여서 1 byte가 됨

 Word(워드)
 연산 처리의 기본 단위
 보통 4 byte가 모여서 1 word가 됨(32 비트 시스템)

21

자료의 표현
 컴퓨터의 용량을 표현하는 단위
 1 bit
 1 byte = 8 bit
 1 KB(kilo byte):210 = 1024 byte ≈ 103 byte

 1 MB(mega byte): 220 = 1 KB x 1024 ≈ 106 byte
 1 GB(giga byte): 230 = 1 MB x 1024 ≈ 109 byte
 1 TB(tera byte): 240 = 1 GB x 1024 ≈ 1012 byte

 1 PB(peta bate): 250 = 1 TB x 1024 ≈ 1015 byte

22

자료의 표현
 진법
 디지털 컴퓨터에서는 2진법이 기본
 8,16진법은 2진법 관계가 있다.
 인간은 10진법을 주로 사용한다.

 2진법

 0,1만으로 수를 표현

 8진법

 0,1,2,..7로 수를 표현

 10진법

 0,1,2,3,…9로 수를 표현

 16진법

 0,1,2,3,…9,A,B,C,D,E,F로 수를 표현
23

 2,8,16진법(2,8,16진수)

10진수

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

2진수

0
1
10
11
100
101
110
111
1000
1001
1010
1011
1100
1101
1110
1111
10000

8진수

0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20

16진수

0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
10

24

자료의 표현
 10진수를 2진수로 변환
 2진수를 10진수로 변환
 2진수와 8,16진수의 관계
 2진수 3자리  8진수 1자리
 2진수 4자리  16진수 1자리

 2진수를 8진수,10진수, 16진수로 변환
 8진수를 2진수, 16진수, 10진수로 변환
 16진수를 2진수, 8진수, 16진수로 변환
25

 34

 ( 100010
 ( 42
 ( 22

)2
)8
)16

 34.625

 ( 100010.101 )2
 ( 42.5
)8
 ( 42.A
)16

26

자료 표현
 고정 소수점 표현
 정수를 표현할 때 사용된다.
 부호없는 수의 표현

 부호를 표기하지 않는다.
 표현 범위: 0 ~ 2n-1
 부호 있는 정수의 표현(음수의 표현 방식)

 부호와 절대치(부호와 크기 )
 1의 보수
 2의 보수

27

고정 소수점 표현
 부호와 절대치(크기) 방식
 최상위 1비트로 부호를 표기(양수:0, 음수 1)
 나머지 부분에 수를 절대값으로 표현
 +0, -0이 존재

 1의 보수 방식

 양의 정수에 대한 보수로 음수를 표현
 +0, -0이 존재한다.

 2의 보수 방식

 1의 보수에 1을 더해서 표현한다.
 -0이 없으므로, 음수를 하나 더 표현할 수 있다.
 일반적으로 가장 많이 사용한다.

 양수는 위의 3가지 방식이 모두 동일
28

부동 소수점 표현
 부동 소수점 표현
 실수를 표현하는 방식이다.
 단정도(4 byte), 배정도(8 byte)로 표현한다.
 부호부, 지수부, 가수부로 나누어서 표현한다.

단정도
부호 지수
1비트

8 비트

가수
-- 지수 (초과 127)

23비트

배정도
부호

지수

가수

1비트 11 비트

52비트

-- 지수(초과 1023)

29

자료 표현
 문자 표현

 ASCII 코드
 American Standard Code for Information Interchange
 미국 표준협회에서 제정한 정보 교환용 코드
 7비트(또는 8비트)로 1문자를 표현
 128문자(27) 또는 258문자(28)를 표현
 Unicode
 2바이트로 1문자를 표현
 전 세계의 모든 문자를 동일한 방식으로 표현
 EBCDIC(Extended Binary Coded Decimal Interchange Code;

확장된 BCD 코드)

 IBM 대형 기종에서 사용, 8 bit = 1문자

 BCD 코드
 4비트로 숫자1개를 표현

30

연습문제
2. 십진수 53.625를 8진수와 16진수로 각각 올바르
게 표현한 것은?
① 65.5 35.A ② 65.7 35.A
③ 65.5 35.b ④ 65.7 35.b

31

3. 8비트를 사용해서 표현된 정수의 비트 패턴이
10000000이다. 주어진 비트 패턴의 값을 정수
로 해석할 때, 다음 중 가장 작을 값을 나타내
는 정수의 표현 방법은?
① 부호와-크기 방법
③ 2의 보수

② 1의 보수
④ 부동소수점

32

4. 531.74(8)를 16진법의 표현으로 알맞게 나타
낸 것은?
① 159.F
③ 159.3C

② AC1.3C
④ AC1.F

33

5. 다음 중에서 가장 큰 수는 어떤 진법으로 표현
된 수인가?
(227)10 (343)8 (11100101)2 (E7)16
① 10진법
③ 2진법

② 8진법
④ 16진법

34

주관식
다음 물음에 답하시오
(1) 십진수 23.125를 2진수로 변환하시오.
(2) 이진수 100101.1001을 8, 10, 16진수로 변
환하시오.
(3) 16진수 ABC.6A를 2진수와 8진수로 변환하
시오.

35


Slide 28

강사: 주형준([email protected], 010-6317-0101)

전자계산기 일반

1.1 컴퓨터란 무엇인가?
1.2 컴퓨터 시스템의 구성
1.3 컴퓨터 시스템
1.4 컴퓨터의 발전과 분류
1.5 자료의 표현

제1장 컴퓨터와 자료

2

2.1 컴퓨터 구조의 개요
2.2 컴퓨터의 기본 구성
2.3 논리회로와 논리대수
2.4 조합회로와 순차회로
2.5 시스템 구성을 위한 기본 조합 회로
2.6 기억 장치
2.7 명령어와 명령어 세트
2.8 주소방식에 따른 명령어 형식
2.9 중앙처리장치: 처리장치와 제어장치
2.10 입출력장치
2.11 병렬처리

제2장 컴퓨터의 구조

3

3.1 운영체제의 개념
3.2 운영체제의 종류
3.3 주기억장치의 관리
3.4 프로세서 관리
3.5 장치와 파일 관리
3.6 분산 시스템

제3장 운영체제

4

4.1 기본 개념
4.2 배열
4.3 리스트
4.4 스택과 큐
4.5 트리
4.6 그래프
4.7 정렬 알고리즘
4.8 탐색 알고리즘

제5장 프로그래밍 언어
제6장 데이터베이스
제7장 컴퓨터 네트워크
제8장 인공지능

제4장 자료구조와 알고리즘

5

제1장 컴퓨터와 자료

6

1.1 컴퓨터란 무엇인가?
 Computer: 컴퓨터, 전자 계산기
 Compute: 계산하다

 외부에서 자료를 입력(input)받고, 입력 받은 자료를
처리(process)하고, 처리된 결과를 출력(output)하는

기계

 컴퓨터의 가장 큰 장점
 신속한 처리, 계산 결과의 정확성

7

1.2 컴퓨터 시스템의 구성
 하드웨어(H/W; hardware)





입,출력장치
기억장치
산술논리연산장치
제어장치

중앙처리장치(CPU)

 소프트웨어(S/W; software)

 시스템 소프트웨어
 운영체제(OS), 컴파일러, 각종 유틸리티, …
 응용 소프트웨어
 워드프로세서, 그래픽 프로그램, …

 자료(data)
 사용자(user)

8

컴퓨터의 발전
 파스칼의 계산기
 덧셈, 뺄셈

 라이프니츠 계산기
 사칙연산

 배비지의 해석기관
 중앙처리장치,기억장치,입력장치,출력장치

 홀러리스의 천공카드 시스템, 1889
 미국 인구 조사국에서 사용

 Mark I, 1944
 최초의 전기 기계식 계산기
9

 ENIAC(에니악), 1946





미국, 모클리와 에커트
최초의 전자계산기, 1946
진공관 사용
프로그램 외장 방식

 EDSAC(에드삭), 1949

 최초의 프로그램 내장방식 채택

 EDVAC(에드박), 1951
 UNIVAC-I(유니박)

 최초의 상용 컴퓨터
 1951년 미국 조사 통계국에서 사용
10

 인텔 4004, 1972
 최초의 마이크로 프로세서

 Altair(알테어) 8800, 1975
 기계어, 256 byte 메모리

 (1975, 빌게이츠, 마이크로소프트 창립)
 (1977, 스티브 잡스, 애플사(Apple computer) 창립)
 애플 컴퓨터 – 세계 최초의 PC, 8 비트

Apple-I과 Apple-II
11

 1978, 인텔 8086
 16비트 마이크로프로세서

 1981, IBM PC
 PC 내부 공개 IBM 호환 PC

 16비트(8088 CPU)
 MS-DOS

 1985, 80386 마이크로 프로세서 – 32비트

12

컴퓨터 세대별 구분
 제1세대: 1950년~1959년

 진공관
 주기억장치: 자기드럼, 천공카드, 기계어
 EDSAC(에드삭), UNIVAC-I

 제2세대: 1959~1965년

 트랜지스터
 주기억장치: 자기코어, 보조기억장치: 자기드럼,자기디스


 FORTRAN, COBOL, ALGOL 고급 언어 등장

 제3세대: 1965~1975년

 IC(반도체 집적회로)
 다중프로그래밍, 실시간처리시스템, 시분할 시스템
13

 제4세대: 1975~1985년
 LSI(고밀도 집적회로), VLSI(초고밀도집적회로)
 마이크로 컴퓨터 발전(PC 등장)

 제5세대: 1985년 ~ 현재
 AI(Artificial Intelligence, 인공 지능)

 퍼지 이론, 전문자 시스템, 음성 인식

14

 컴퓨터에서 사용되는 시간 단위
 ms(millisecond) : 10-3초
 µs(microsecond): 10-6초
 ns(nanosecond): 10-9초
 ps(picosecond): 10-12초
 fs(femtosecond): 10-15초
 as(attosecond): 10-18초

15

컴퓨터의 분류
 사용목적에 따른 분류
 범용(general-purpose) 컴퓨터
 여러 가지 목적으로 사용되는 일반적인 컴퓨터
 전용(special-purpose) 컴퓨터
 특정한 목적으로 사용되는 컴퓨터
 비행기 운항 조절 등

16

컴퓨터의 분류
 자료 표현 방식에 따른 분류
 디지털(digital) 컴퓨터
 컴퓨터 내부에서 자료를 디지털 신호로 표현
 이산적인 자료 처리
 우리가 사용하는 대부분의 컴퓨터
 아날로그(analog) 컴퓨터
 연속적인 자료 처리
 연속적으로 변하는 자료를 물리적인 양 그대로 입력하여 처리
하는 컴퓨터
 온도, 비행기의 연료 소모량, 달리는 차의 속도
 하이브리드 컴퓨터
 디지털과 아날로그의 장점만 따서 만든 컴퓨터
 특수한 분야에 사용

17

컴퓨터의 분류
 컴퓨터의 성능에 따른 분류(처리 능력에 따른 분류)
 슈퍼컴퓨터
 1초에 1조 개 이상의 명령어 처리(부동소숫점 산술 연산)
 현존하는 가장 강력한 성능의 컴퓨터
 대형컴퓨터
 메인 프레임(mainframe)
 대기업, 금융기관에서 주로 사용
 1초에 수억 개 이상의 명령어를 처리
 미니컴퓨터
 (중형컴퓨터)
 다수의 터미널 지원, 다중 사용자 환경에서 사용
 워크스테이션
 마이크로 컴퓨터와 미니 컴퓨터의 중간 정도의 성능
 마이크로 컴퓨터
 마이크로프로세서를 사용해서 만든 컴퓨터
 개인용 컴퓨터(PC)

18

19

자료의 표현
 숫자 자료의 표현
 고정 소수점 표현
 부동 소숫점 표현

 문자 자료의 표현
 ASCII 코드
 EBCDIC 코드
 BCD 코드

 Unicode

20

자료의 표현
 자료 표현의 단위
 Bit(비트; binary digit)
 2진수
 0 또는 1, 2가지 상태를 표현
 Byte(바이트)
 문자를 표현
 보통 8 bit가 모여서 1 byte가 됨

 Word(워드)
 연산 처리의 기본 단위
 보통 4 byte가 모여서 1 word가 됨(32 비트 시스템)

21

자료의 표현
 컴퓨터의 용량을 표현하는 단위
 1 bit
 1 byte = 8 bit
 1 KB(kilo byte):210 = 1024 byte ≈ 103 byte

 1 MB(mega byte): 220 = 1 KB x 1024 ≈ 106 byte
 1 GB(giga byte): 230 = 1 MB x 1024 ≈ 109 byte
 1 TB(tera byte): 240 = 1 GB x 1024 ≈ 1012 byte

 1 PB(peta bate): 250 = 1 TB x 1024 ≈ 1015 byte

22

자료의 표현
 진법
 디지털 컴퓨터에서는 2진법이 기본
 8,16진법은 2진법 관계가 있다.
 인간은 10진법을 주로 사용한다.

 2진법

 0,1만으로 수를 표현

 8진법

 0,1,2,..7로 수를 표현

 10진법

 0,1,2,3,…9로 수를 표현

 16진법

 0,1,2,3,…9,A,B,C,D,E,F로 수를 표현
23

 2,8,16진법(2,8,16진수)

10진수

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

2진수

0
1
10
11
100
101
110
111
1000
1001
1010
1011
1100
1101
1110
1111
10000

8진수

0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20

16진수

0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
10

24

자료의 표현
 10진수를 2진수로 변환
 2진수를 10진수로 변환
 2진수와 8,16진수의 관계
 2진수 3자리  8진수 1자리
 2진수 4자리  16진수 1자리

 2진수를 8진수,10진수, 16진수로 변환
 8진수를 2진수, 16진수, 10진수로 변환
 16진수를 2진수, 8진수, 16진수로 변환
25

 34

 ( 100010
 ( 42
 ( 22

)2
)8
)16

 34.625

 ( 100010.101 )2
 ( 42.5
)8
 ( 42.A
)16

26

자료 표현
 고정 소수점 표현
 정수를 표현할 때 사용된다.
 부호없는 수의 표현

 부호를 표기하지 않는다.
 표현 범위: 0 ~ 2n-1
 부호 있는 정수의 표현(음수의 표현 방식)

 부호와 절대치(부호와 크기 )
 1의 보수
 2의 보수

27

고정 소수점 표현
 부호와 절대치(크기) 방식
 최상위 1비트로 부호를 표기(양수:0, 음수 1)
 나머지 부분에 수를 절대값으로 표현
 +0, -0이 존재

 1의 보수 방식

 양의 정수에 대한 보수로 음수를 표현
 +0, -0이 존재한다.

 2의 보수 방식

 1의 보수에 1을 더해서 표현한다.
 -0이 없으므로, 음수를 하나 더 표현할 수 있다.
 일반적으로 가장 많이 사용한다.

 양수는 위의 3가지 방식이 모두 동일
28

부동 소수점 표현
 부동 소수점 표현
 실수를 표현하는 방식이다.
 단정도(4 byte), 배정도(8 byte)로 표현한다.
 부호부, 지수부, 가수부로 나누어서 표현한다.

단정도
부호 지수
1비트

8 비트

가수
-- 지수 (초과 127)

23비트

배정도
부호

지수

가수

1비트 11 비트

52비트

-- 지수(초과 1023)

29

자료 표현
 문자 표현

 ASCII 코드
 American Standard Code for Information Interchange
 미국 표준협회에서 제정한 정보 교환용 코드
 7비트(또는 8비트)로 1문자를 표현
 128문자(27) 또는 258문자(28)를 표현
 Unicode
 2바이트로 1문자를 표현
 전 세계의 모든 문자를 동일한 방식으로 표현
 EBCDIC(Extended Binary Coded Decimal Interchange Code;

확장된 BCD 코드)

 IBM 대형 기종에서 사용, 8 bit = 1문자

 BCD 코드
 4비트로 숫자1개를 표현

30

연습문제
2. 십진수 53.625를 8진수와 16진수로 각각 올바르
게 표현한 것은?
① 65.5 35.A ② 65.7 35.A
③ 65.5 35.b ④ 65.7 35.b

31

3. 8비트를 사용해서 표현된 정수의 비트 패턴이
10000000이다. 주어진 비트 패턴의 값을 정수
로 해석할 때, 다음 중 가장 작을 값을 나타내
는 정수의 표현 방법은?
① 부호와-크기 방법
③ 2의 보수

② 1의 보수
④ 부동소수점

32

4. 531.74(8)를 16진법의 표현으로 알맞게 나타
낸 것은?
① 159.F
③ 159.3C

② AC1.3C
④ AC1.F

33

5. 다음 중에서 가장 큰 수는 어떤 진법으로 표현
된 수인가?
(227)10 (343)8 (11100101)2 (E7)16
① 10진법
③ 2진법

② 8진법
④ 16진법

34

주관식
다음 물음에 답하시오
(1) 십진수 23.125를 2진수로 변환하시오.
(2) 이진수 100101.1001을 8, 10, 16진수로 변
환하시오.
(3) 16진수 ABC.6A를 2진수와 8진수로 변환하
시오.

35


Slide 29

강사: 주형준([email protected], 010-6317-0101)

전자계산기 일반

1.1 컴퓨터란 무엇인가?
1.2 컴퓨터 시스템의 구성
1.3 컴퓨터 시스템
1.4 컴퓨터의 발전과 분류
1.5 자료의 표현

제1장 컴퓨터와 자료

2

2.1 컴퓨터 구조의 개요
2.2 컴퓨터의 기본 구성
2.3 논리회로와 논리대수
2.4 조합회로와 순차회로
2.5 시스템 구성을 위한 기본 조합 회로
2.6 기억 장치
2.7 명령어와 명령어 세트
2.8 주소방식에 따른 명령어 형식
2.9 중앙처리장치: 처리장치와 제어장치
2.10 입출력장치
2.11 병렬처리

제2장 컴퓨터의 구조

3

3.1 운영체제의 개념
3.2 운영체제의 종류
3.3 주기억장치의 관리
3.4 프로세서 관리
3.5 장치와 파일 관리
3.6 분산 시스템

제3장 운영체제

4

4.1 기본 개념
4.2 배열
4.3 리스트
4.4 스택과 큐
4.5 트리
4.6 그래프
4.7 정렬 알고리즘
4.8 탐색 알고리즘

제5장 프로그래밍 언어
제6장 데이터베이스
제7장 컴퓨터 네트워크
제8장 인공지능

제4장 자료구조와 알고리즘

5

제1장 컴퓨터와 자료

6

1.1 컴퓨터란 무엇인가?
 Computer: 컴퓨터, 전자 계산기
 Compute: 계산하다

 외부에서 자료를 입력(input)받고, 입력 받은 자료를
처리(process)하고, 처리된 결과를 출력(output)하는

기계

 컴퓨터의 가장 큰 장점
 신속한 처리, 계산 결과의 정확성

7

1.2 컴퓨터 시스템의 구성
 하드웨어(H/W; hardware)





입,출력장치
기억장치
산술논리연산장치
제어장치

중앙처리장치(CPU)

 소프트웨어(S/W; software)

 시스템 소프트웨어
 운영체제(OS), 컴파일러, 각종 유틸리티, …
 응용 소프트웨어
 워드프로세서, 그래픽 프로그램, …

 자료(data)
 사용자(user)

8

컴퓨터의 발전
 파스칼의 계산기
 덧셈, 뺄셈

 라이프니츠 계산기
 사칙연산

 배비지의 해석기관
 중앙처리장치,기억장치,입력장치,출력장치

 홀러리스의 천공카드 시스템, 1889
 미국 인구 조사국에서 사용

 Mark I, 1944
 최초의 전기 기계식 계산기
9

 ENIAC(에니악), 1946





미국, 모클리와 에커트
최초의 전자계산기, 1946
진공관 사용
프로그램 외장 방식

 EDSAC(에드삭), 1949

 최초의 프로그램 내장방식 채택

 EDVAC(에드박), 1951
 UNIVAC-I(유니박)

 최초의 상용 컴퓨터
 1951년 미국 조사 통계국에서 사용
10

 인텔 4004, 1972
 최초의 마이크로 프로세서

 Altair(알테어) 8800, 1975
 기계어, 256 byte 메모리

 (1975, 빌게이츠, 마이크로소프트 창립)
 (1977, 스티브 잡스, 애플사(Apple computer) 창립)
 애플 컴퓨터 – 세계 최초의 PC, 8 비트

Apple-I과 Apple-II
11

 1978, 인텔 8086
 16비트 마이크로프로세서

 1981, IBM PC
 PC 내부 공개 IBM 호환 PC

 16비트(8088 CPU)
 MS-DOS

 1985, 80386 마이크로 프로세서 – 32비트

12

컴퓨터 세대별 구분
 제1세대: 1950년~1959년

 진공관
 주기억장치: 자기드럼, 천공카드, 기계어
 EDSAC(에드삭), UNIVAC-I

 제2세대: 1959~1965년

 트랜지스터
 주기억장치: 자기코어, 보조기억장치: 자기드럼,자기디스


 FORTRAN, COBOL, ALGOL 고급 언어 등장

 제3세대: 1965~1975년

 IC(반도체 집적회로)
 다중프로그래밍, 실시간처리시스템, 시분할 시스템
13

 제4세대: 1975~1985년
 LSI(고밀도 집적회로), VLSI(초고밀도집적회로)
 마이크로 컴퓨터 발전(PC 등장)

 제5세대: 1985년 ~ 현재
 AI(Artificial Intelligence, 인공 지능)

 퍼지 이론, 전문자 시스템, 음성 인식

14

 컴퓨터에서 사용되는 시간 단위
 ms(millisecond) : 10-3초
 µs(microsecond): 10-6초
 ns(nanosecond): 10-9초
 ps(picosecond): 10-12초
 fs(femtosecond): 10-15초
 as(attosecond): 10-18초

15

컴퓨터의 분류
 사용목적에 따른 분류
 범용(general-purpose) 컴퓨터
 여러 가지 목적으로 사용되는 일반적인 컴퓨터
 전용(special-purpose) 컴퓨터
 특정한 목적으로 사용되는 컴퓨터
 비행기 운항 조절 등

16

컴퓨터의 분류
 자료 표현 방식에 따른 분류
 디지털(digital) 컴퓨터
 컴퓨터 내부에서 자료를 디지털 신호로 표현
 이산적인 자료 처리
 우리가 사용하는 대부분의 컴퓨터
 아날로그(analog) 컴퓨터
 연속적인 자료 처리
 연속적으로 변하는 자료를 물리적인 양 그대로 입력하여 처리
하는 컴퓨터
 온도, 비행기의 연료 소모량, 달리는 차의 속도
 하이브리드 컴퓨터
 디지털과 아날로그의 장점만 따서 만든 컴퓨터
 특수한 분야에 사용

17

컴퓨터의 분류
 컴퓨터의 성능에 따른 분류(처리 능력에 따른 분류)
 슈퍼컴퓨터
 1초에 1조 개 이상의 명령어 처리(부동소숫점 산술 연산)
 현존하는 가장 강력한 성능의 컴퓨터
 대형컴퓨터
 메인 프레임(mainframe)
 대기업, 금융기관에서 주로 사용
 1초에 수억 개 이상의 명령어를 처리
 미니컴퓨터
 (중형컴퓨터)
 다수의 터미널 지원, 다중 사용자 환경에서 사용
 워크스테이션
 마이크로 컴퓨터와 미니 컴퓨터의 중간 정도의 성능
 마이크로 컴퓨터
 마이크로프로세서를 사용해서 만든 컴퓨터
 개인용 컴퓨터(PC)

18

19

자료의 표현
 숫자 자료의 표현
 고정 소수점 표현
 부동 소숫점 표현

 문자 자료의 표현
 ASCII 코드
 EBCDIC 코드
 BCD 코드

 Unicode

20

자료의 표현
 자료 표현의 단위
 Bit(비트; binary digit)
 2진수
 0 또는 1, 2가지 상태를 표현
 Byte(바이트)
 문자를 표현
 보통 8 bit가 모여서 1 byte가 됨

 Word(워드)
 연산 처리의 기본 단위
 보통 4 byte가 모여서 1 word가 됨(32 비트 시스템)

21

자료의 표현
 컴퓨터의 용량을 표현하는 단위
 1 bit
 1 byte = 8 bit
 1 KB(kilo byte):210 = 1024 byte ≈ 103 byte

 1 MB(mega byte): 220 = 1 KB x 1024 ≈ 106 byte
 1 GB(giga byte): 230 = 1 MB x 1024 ≈ 109 byte
 1 TB(tera byte): 240 = 1 GB x 1024 ≈ 1012 byte

 1 PB(peta bate): 250 = 1 TB x 1024 ≈ 1015 byte

22

자료의 표현
 진법
 디지털 컴퓨터에서는 2진법이 기본
 8,16진법은 2진법 관계가 있다.
 인간은 10진법을 주로 사용한다.

 2진법

 0,1만으로 수를 표현

 8진법

 0,1,2,..7로 수를 표현

 10진법

 0,1,2,3,…9로 수를 표현

 16진법

 0,1,2,3,…9,A,B,C,D,E,F로 수를 표현
23

 2,8,16진법(2,8,16진수)

10진수

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

2진수

0
1
10
11
100
101
110
111
1000
1001
1010
1011
1100
1101
1110
1111
10000

8진수

0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20

16진수

0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
10

24

자료의 표현
 10진수를 2진수로 변환
 2진수를 10진수로 변환
 2진수와 8,16진수의 관계
 2진수 3자리  8진수 1자리
 2진수 4자리  16진수 1자리

 2진수를 8진수,10진수, 16진수로 변환
 8진수를 2진수, 16진수, 10진수로 변환
 16진수를 2진수, 8진수, 16진수로 변환
25

 34

 ( 100010
 ( 42
 ( 22

)2
)8
)16

 34.625

 ( 100010.101 )2
 ( 42.5
)8
 ( 42.A
)16

26

자료 표현
 고정 소수점 표현
 정수를 표현할 때 사용된다.
 부호없는 수의 표현

 부호를 표기하지 않는다.
 표현 범위: 0 ~ 2n-1
 부호 있는 정수의 표현(음수의 표현 방식)

 부호와 절대치(부호와 크기 )
 1의 보수
 2의 보수

27

고정 소수점 표현
 부호와 절대치(크기) 방식
 최상위 1비트로 부호를 표기(양수:0, 음수 1)
 나머지 부분에 수를 절대값으로 표현
 +0, -0이 존재

 1의 보수 방식

 양의 정수에 대한 보수로 음수를 표현
 +0, -0이 존재한다.

 2의 보수 방식

 1의 보수에 1을 더해서 표현한다.
 -0이 없으므로, 음수를 하나 더 표현할 수 있다.
 일반적으로 가장 많이 사용한다.

 양수는 위의 3가지 방식이 모두 동일
28

부동 소수점 표현
 부동 소수점 표현
 실수를 표현하는 방식이다.
 단정도(4 byte), 배정도(8 byte)로 표현한다.
 부호부, 지수부, 가수부로 나누어서 표현한다.

단정도
부호 지수
1비트

8 비트

가수
-- 지수 (초과 127)

23비트

배정도
부호

지수

가수

1비트 11 비트

52비트

-- 지수(초과 1023)

29

자료 표현
 문자 표현

 ASCII 코드
 American Standard Code for Information Interchange
 미국 표준협회에서 제정한 정보 교환용 코드
 7비트(또는 8비트)로 1문자를 표현
 128문자(27) 또는 258문자(28)를 표현
 Unicode
 2바이트로 1문자를 표현
 전 세계의 모든 문자를 동일한 방식으로 표현
 EBCDIC(Extended Binary Coded Decimal Interchange Code;

확장된 BCD 코드)

 IBM 대형 기종에서 사용, 8 bit = 1문자

 BCD 코드
 4비트로 숫자1개를 표현

30

연습문제
2. 십진수 53.625를 8진수와 16진수로 각각 올바르
게 표현한 것은?
① 65.5 35.A ② 65.7 35.A
③ 65.5 35.b ④ 65.7 35.b

31

3. 8비트를 사용해서 표현된 정수의 비트 패턴이
10000000이다. 주어진 비트 패턴의 값을 정수
로 해석할 때, 다음 중 가장 작을 값을 나타내
는 정수의 표현 방법은?
① 부호와-크기 방법
③ 2의 보수

② 1의 보수
④ 부동소수점

32

4. 531.74(8)를 16진법의 표현으로 알맞게 나타
낸 것은?
① 159.F
③ 159.3C

② AC1.3C
④ AC1.F

33

5. 다음 중에서 가장 큰 수는 어떤 진법으로 표현
된 수인가?
(227)10 (343)8 (11100101)2 (E7)16
① 10진법
③ 2진법

② 8진법
④ 16진법

34

주관식
다음 물음에 답하시오
(1) 십진수 23.125를 2진수로 변환하시오.
(2) 이진수 100101.1001을 8, 10, 16진수로 변
환하시오.
(3) 16진수 ABC.6A를 2진수와 8진수로 변환하
시오.

35


Slide 30

강사: 주형준([email protected], 010-6317-0101)

전자계산기 일반

1.1 컴퓨터란 무엇인가?
1.2 컴퓨터 시스템의 구성
1.3 컴퓨터 시스템
1.4 컴퓨터의 발전과 분류
1.5 자료의 표현

제1장 컴퓨터와 자료

2

2.1 컴퓨터 구조의 개요
2.2 컴퓨터의 기본 구성
2.3 논리회로와 논리대수
2.4 조합회로와 순차회로
2.5 시스템 구성을 위한 기본 조합 회로
2.6 기억 장치
2.7 명령어와 명령어 세트
2.8 주소방식에 따른 명령어 형식
2.9 중앙처리장치: 처리장치와 제어장치
2.10 입출력장치
2.11 병렬처리

제2장 컴퓨터의 구조

3

3.1 운영체제의 개념
3.2 운영체제의 종류
3.3 주기억장치의 관리
3.4 프로세서 관리
3.5 장치와 파일 관리
3.6 분산 시스템

제3장 운영체제

4

4.1 기본 개념
4.2 배열
4.3 리스트
4.4 스택과 큐
4.5 트리
4.6 그래프
4.7 정렬 알고리즘
4.8 탐색 알고리즘

제5장 프로그래밍 언어
제6장 데이터베이스
제7장 컴퓨터 네트워크
제8장 인공지능

제4장 자료구조와 알고리즘

5

제1장 컴퓨터와 자료

6

1.1 컴퓨터란 무엇인가?
 Computer: 컴퓨터, 전자 계산기
 Compute: 계산하다

 외부에서 자료를 입력(input)받고, 입력 받은 자료를
처리(process)하고, 처리된 결과를 출력(output)하는

기계

 컴퓨터의 가장 큰 장점
 신속한 처리, 계산 결과의 정확성

7

1.2 컴퓨터 시스템의 구성
 하드웨어(H/W; hardware)





입,출력장치
기억장치
산술논리연산장치
제어장치

중앙처리장치(CPU)

 소프트웨어(S/W; software)

 시스템 소프트웨어
 운영체제(OS), 컴파일러, 각종 유틸리티, …
 응용 소프트웨어
 워드프로세서, 그래픽 프로그램, …

 자료(data)
 사용자(user)

8

컴퓨터의 발전
 파스칼의 계산기
 덧셈, 뺄셈

 라이프니츠 계산기
 사칙연산

 배비지의 해석기관
 중앙처리장치,기억장치,입력장치,출력장치

 홀러리스의 천공카드 시스템, 1889
 미국 인구 조사국에서 사용

 Mark I, 1944
 최초의 전기 기계식 계산기
9

 ENIAC(에니악), 1946





미국, 모클리와 에커트
최초의 전자계산기, 1946
진공관 사용
프로그램 외장 방식

 EDSAC(에드삭), 1949

 최초의 프로그램 내장방식 채택

 EDVAC(에드박), 1951
 UNIVAC-I(유니박)

 최초의 상용 컴퓨터
 1951년 미국 조사 통계국에서 사용
10

 인텔 4004, 1972
 최초의 마이크로 프로세서

 Altair(알테어) 8800, 1975
 기계어, 256 byte 메모리

 (1975, 빌게이츠, 마이크로소프트 창립)
 (1977, 스티브 잡스, 애플사(Apple computer) 창립)
 애플 컴퓨터 – 세계 최초의 PC, 8 비트

Apple-I과 Apple-II
11

 1978, 인텔 8086
 16비트 마이크로프로세서

 1981, IBM PC
 PC 내부 공개 IBM 호환 PC

 16비트(8088 CPU)
 MS-DOS

 1985, 80386 마이크로 프로세서 – 32비트

12

컴퓨터 세대별 구분
 제1세대: 1950년~1959년

 진공관
 주기억장치: 자기드럼, 천공카드, 기계어
 EDSAC(에드삭), UNIVAC-I

 제2세대: 1959~1965년

 트랜지스터
 주기억장치: 자기코어, 보조기억장치: 자기드럼,자기디스


 FORTRAN, COBOL, ALGOL 고급 언어 등장

 제3세대: 1965~1975년

 IC(반도체 집적회로)
 다중프로그래밍, 실시간처리시스템, 시분할 시스템
13

 제4세대: 1975~1985년
 LSI(고밀도 집적회로), VLSI(초고밀도집적회로)
 마이크로 컴퓨터 발전(PC 등장)

 제5세대: 1985년 ~ 현재
 AI(Artificial Intelligence, 인공 지능)

 퍼지 이론, 전문자 시스템, 음성 인식

14

 컴퓨터에서 사용되는 시간 단위
 ms(millisecond) : 10-3초
 µs(microsecond): 10-6초
 ns(nanosecond): 10-9초
 ps(picosecond): 10-12초
 fs(femtosecond): 10-15초
 as(attosecond): 10-18초

15

컴퓨터의 분류
 사용목적에 따른 분류
 범용(general-purpose) 컴퓨터
 여러 가지 목적으로 사용되는 일반적인 컴퓨터
 전용(special-purpose) 컴퓨터
 특정한 목적으로 사용되는 컴퓨터
 비행기 운항 조절 등

16

컴퓨터의 분류
 자료 표현 방식에 따른 분류
 디지털(digital) 컴퓨터
 컴퓨터 내부에서 자료를 디지털 신호로 표현
 이산적인 자료 처리
 우리가 사용하는 대부분의 컴퓨터
 아날로그(analog) 컴퓨터
 연속적인 자료 처리
 연속적으로 변하는 자료를 물리적인 양 그대로 입력하여 처리
하는 컴퓨터
 온도, 비행기의 연료 소모량, 달리는 차의 속도
 하이브리드 컴퓨터
 디지털과 아날로그의 장점만 따서 만든 컴퓨터
 특수한 분야에 사용

17

컴퓨터의 분류
 컴퓨터의 성능에 따른 분류(처리 능력에 따른 분류)
 슈퍼컴퓨터
 1초에 1조 개 이상의 명령어 처리(부동소숫점 산술 연산)
 현존하는 가장 강력한 성능의 컴퓨터
 대형컴퓨터
 메인 프레임(mainframe)
 대기업, 금융기관에서 주로 사용
 1초에 수억 개 이상의 명령어를 처리
 미니컴퓨터
 (중형컴퓨터)
 다수의 터미널 지원, 다중 사용자 환경에서 사용
 워크스테이션
 마이크로 컴퓨터와 미니 컴퓨터의 중간 정도의 성능
 마이크로 컴퓨터
 마이크로프로세서를 사용해서 만든 컴퓨터
 개인용 컴퓨터(PC)

18

19

자료의 표현
 숫자 자료의 표현
 고정 소수점 표현
 부동 소숫점 표현

 문자 자료의 표현
 ASCII 코드
 EBCDIC 코드
 BCD 코드

 Unicode

20

자료의 표현
 자료 표현의 단위
 Bit(비트; binary digit)
 2진수
 0 또는 1, 2가지 상태를 표현
 Byte(바이트)
 문자를 표현
 보통 8 bit가 모여서 1 byte가 됨

 Word(워드)
 연산 처리의 기본 단위
 보통 4 byte가 모여서 1 word가 됨(32 비트 시스템)

21

자료의 표현
 컴퓨터의 용량을 표현하는 단위
 1 bit
 1 byte = 8 bit
 1 KB(kilo byte):210 = 1024 byte ≈ 103 byte

 1 MB(mega byte): 220 = 1 KB x 1024 ≈ 106 byte
 1 GB(giga byte): 230 = 1 MB x 1024 ≈ 109 byte
 1 TB(tera byte): 240 = 1 GB x 1024 ≈ 1012 byte

 1 PB(peta bate): 250 = 1 TB x 1024 ≈ 1015 byte

22

자료의 표현
 진법
 디지털 컴퓨터에서는 2진법이 기본
 8,16진법은 2진법 관계가 있다.
 인간은 10진법을 주로 사용한다.

 2진법

 0,1만으로 수를 표현

 8진법

 0,1,2,..7로 수를 표현

 10진법

 0,1,2,3,…9로 수를 표현

 16진법

 0,1,2,3,…9,A,B,C,D,E,F로 수를 표현
23

 2,8,16진법(2,8,16진수)

10진수

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

2진수

0
1
10
11
100
101
110
111
1000
1001
1010
1011
1100
1101
1110
1111
10000

8진수

0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20

16진수

0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
10

24

자료의 표현
 10진수를 2진수로 변환
 2진수를 10진수로 변환
 2진수와 8,16진수의 관계
 2진수 3자리  8진수 1자리
 2진수 4자리  16진수 1자리

 2진수를 8진수,10진수, 16진수로 변환
 8진수를 2진수, 16진수, 10진수로 변환
 16진수를 2진수, 8진수, 16진수로 변환
25

 34

 ( 100010
 ( 42
 ( 22

)2
)8
)16

 34.625

 ( 100010.101 )2
 ( 42.5
)8
 ( 42.A
)16

26

자료 표현
 고정 소수점 표현
 정수를 표현할 때 사용된다.
 부호없는 수의 표현

 부호를 표기하지 않는다.
 표현 범위: 0 ~ 2n-1
 부호 있는 정수의 표현(음수의 표현 방식)

 부호와 절대치(부호와 크기 )
 1의 보수
 2의 보수

27

고정 소수점 표현
 부호와 절대치(크기) 방식
 최상위 1비트로 부호를 표기(양수:0, 음수 1)
 나머지 부분에 수를 절대값으로 표현
 +0, -0이 존재

 1의 보수 방식

 양의 정수에 대한 보수로 음수를 표현
 +0, -0이 존재한다.

 2의 보수 방식

 1의 보수에 1을 더해서 표현한다.
 -0이 없으므로, 음수를 하나 더 표현할 수 있다.
 일반적으로 가장 많이 사용한다.

 양수는 위의 3가지 방식이 모두 동일
28

부동 소수점 표현
 부동 소수점 표현
 실수를 표현하는 방식이다.
 단정도(4 byte), 배정도(8 byte)로 표현한다.
 부호부, 지수부, 가수부로 나누어서 표현한다.

단정도
부호 지수
1비트

8 비트

가수
-- 지수 (초과 127)

23비트

배정도
부호

지수

가수

1비트 11 비트

52비트

-- 지수(초과 1023)

29

자료 표현
 문자 표현

 ASCII 코드
 American Standard Code for Information Interchange
 미국 표준협회에서 제정한 정보 교환용 코드
 7비트(또는 8비트)로 1문자를 표현
 128문자(27) 또는 258문자(28)를 표현
 Unicode
 2바이트로 1문자를 표현
 전 세계의 모든 문자를 동일한 방식으로 표현
 EBCDIC(Extended Binary Coded Decimal Interchange Code;

확장된 BCD 코드)

 IBM 대형 기종에서 사용, 8 bit = 1문자

 BCD 코드
 4비트로 숫자1개를 표현

30

연습문제
2. 십진수 53.625를 8진수와 16진수로 각각 올바르
게 표현한 것은?
① 65.5 35.A ② 65.7 35.A
③ 65.5 35.b ④ 65.7 35.b

31

3. 8비트를 사용해서 표현된 정수의 비트 패턴이
10000000이다. 주어진 비트 패턴의 값을 정수
로 해석할 때, 다음 중 가장 작을 값을 나타내
는 정수의 표현 방법은?
① 부호와-크기 방법
③ 2의 보수

② 1의 보수
④ 부동소수점

32

4. 531.74(8)를 16진법의 표현으로 알맞게 나타
낸 것은?
① 159.F
③ 159.3C

② AC1.3C
④ AC1.F

33

5. 다음 중에서 가장 큰 수는 어떤 진법으로 표현
된 수인가?
(227)10 (343)8 (11100101)2 (E7)16
① 10진법
③ 2진법

② 8진법
④ 16진법

34

주관식
다음 물음에 답하시오
(1) 십진수 23.125를 2진수로 변환하시오.
(2) 이진수 100101.1001을 8, 10, 16진수로 변
환하시오.
(3) 16진수 ABC.6A를 2진수와 8진수로 변환하
시오.

35


Slide 31

강사: 주형준([email protected], 010-6317-0101)

전자계산기 일반

1.1 컴퓨터란 무엇인가?
1.2 컴퓨터 시스템의 구성
1.3 컴퓨터 시스템
1.4 컴퓨터의 발전과 분류
1.5 자료의 표현

제1장 컴퓨터와 자료

2

2.1 컴퓨터 구조의 개요
2.2 컴퓨터의 기본 구성
2.3 논리회로와 논리대수
2.4 조합회로와 순차회로
2.5 시스템 구성을 위한 기본 조합 회로
2.6 기억 장치
2.7 명령어와 명령어 세트
2.8 주소방식에 따른 명령어 형식
2.9 중앙처리장치: 처리장치와 제어장치
2.10 입출력장치
2.11 병렬처리

제2장 컴퓨터의 구조

3

3.1 운영체제의 개념
3.2 운영체제의 종류
3.3 주기억장치의 관리
3.4 프로세서 관리
3.5 장치와 파일 관리
3.6 분산 시스템

제3장 운영체제

4

4.1 기본 개념
4.2 배열
4.3 리스트
4.4 스택과 큐
4.5 트리
4.6 그래프
4.7 정렬 알고리즘
4.8 탐색 알고리즘

제5장 프로그래밍 언어
제6장 데이터베이스
제7장 컴퓨터 네트워크
제8장 인공지능

제4장 자료구조와 알고리즘

5

제1장 컴퓨터와 자료

6

1.1 컴퓨터란 무엇인가?
 Computer: 컴퓨터, 전자 계산기
 Compute: 계산하다

 외부에서 자료를 입력(input)받고, 입력 받은 자료를
처리(process)하고, 처리된 결과를 출력(output)하는

기계

 컴퓨터의 가장 큰 장점
 신속한 처리, 계산 결과의 정확성

7

1.2 컴퓨터 시스템의 구성
 하드웨어(H/W; hardware)





입,출력장치
기억장치
산술논리연산장치
제어장치

중앙처리장치(CPU)

 소프트웨어(S/W; software)

 시스템 소프트웨어
 운영체제(OS), 컴파일러, 각종 유틸리티, …
 응용 소프트웨어
 워드프로세서, 그래픽 프로그램, …

 자료(data)
 사용자(user)

8

컴퓨터의 발전
 파스칼의 계산기
 덧셈, 뺄셈

 라이프니츠 계산기
 사칙연산

 배비지의 해석기관
 중앙처리장치,기억장치,입력장치,출력장치

 홀러리스의 천공카드 시스템, 1889
 미국 인구 조사국에서 사용

 Mark I, 1944
 최초의 전기 기계식 계산기
9

 ENIAC(에니악), 1946





미국, 모클리와 에커트
최초의 전자계산기, 1946
진공관 사용
프로그램 외장 방식

 EDSAC(에드삭), 1949

 최초의 프로그램 내장방식 채택

 EDVAC(에드박), 1951
 UNIVAC-I(유니박)

 최초의 상용 컴퓨터
 1951년 미국 조사 통계국에서 사용
10

 인텔 4004, 1972
 최초의 마이크로 프로세서

 Altair(알테어) 8800, 1975
 기계어, 256 byte 메모리

 (1975, 빌게이츠, 마이크로소프트 창립)
 (1977, 스티브 잡스, 애플사(Apple computer) 창립)
 애플 컴퓨터 – 세계 최초의 PC, 8 비트

Apple-I과 Apple-II
11

 1978, 인텔 8086
 16비트 마이크로프로세서

 1981, IBM PC
 PC 내부 공개 IBM 호환 PC

 16비트(8088 CPU)
 MS-DOS

 1985, 80386 마이크로 프로세서 – 32비트

12

컴퓨터 세대별 구분
 제1세대: 1950년~1959년

 진공관
 주기억장치: 자기드럼, 천공카드, 기계어
 EDSAC(에드삭), UNIVAC-I

 제2세대: 1959~1965년

 트랜지스터
 주기억장치: 자기코어, 보조기억장치: 자기드럼,자기디스


 FORTRAN, COBOL, ALGOL 고급 언어 등장

 제3세대: 1965~1975년

 IC(반도체 집적회로)
 다중프로그래밍, 실시간처리시스템, 시분할 시스템
13

 제4세대: 1975~1985년
 LSI(고밀도 집적회로), VLSI(초고밀도집적회로)
 마이크로 컴퓨터 발전(PC 등장)

 제5세대: 1985년 ~ 현재
 AI(Artificial Intelligence, 인공 지능)

 퍼지 이론, 전문자 시스템, 음성 인식

14

 컴퓨터에서 사용되는 시간 단위
 ms(millisecond) : 10-3초
 µs(microsecond): 10-6초
 ns(nanosecond): 10-9초
 ps(picosecond): 10-12초
 fs(femtosecond): 10-15초
 as(attosecond): 10-18초

15

컴퓨터의 분류
 사용목적에 따른 분류
 범용(general-purpose) 컴퓨터
 여러 가지 목적으로 사용되는 일반적인 컴퓨터
 전용(special-purpose) 컴퓨터
 특정한 목적으로 사용되는 컴퓨터
 비행기 운항 조절 등

16

컴퓨터의 분류
 자료 표현 방식에 따른 분류
 디지털(digital) 컴퓨터
 컴퓨터 내부에서 자료를 디지털 신호로 표현
 이산적인 자료 처리
 우리가 사용하는 대부분의 컴퓨터
 아날로그(analog) 컴퓨터
 연속적인 자료 처리
 연속적으로 변하는 자료를 물리적인 양 그대로 입력하여 처리
하는 컴퓨터
 온도, 비행기의 연료 소모량, 달리는 차의 속도
 하이브리드 컴퓨터
 디지털과 아날로그의 장점만 따서 만든 컴퓨터
 특수한 분야에 사용

17

컴퓨터의 분류
 컴퓨터의 성능에 따른 분류(처리 능력에 따른 분류)
 슈퍼컴퓨터
 1초에 1조 개 이상의 명령어 처리(부동소숫점 산술 연산)
 현존하는 가장 강력한 성능의 컴퓨터
 대형컴퓨터
 메인 프레임(mainframe)
 대기업, 금융기관에서 주로 사용
 1초에 수억 개 이상의 명령어를 처리
 미니컴퓨터
 (중형컴퓨터)
 다수의 터미널 지원, 다중 사용자 환경에서 사용
 워크스테이션
 마이크로 컴퓨터와 미니 컴퓨터의 중간 정도의 성능
 마이크로 컴퓨터
 마이크로프로세서를 사용해서 만든 컴퓨터
 개인용 컴퓨터(PC)

18

19

자료의 표현
 숫자 자료의 표현
 고정 소수점 표현
 부동 소숫점 표현

 문자 자료의 표현
 ASCII 코드
 EBCDIC 코드
 BCD 코드

 Unicode

20

자료의 표현
 자료 표현의 단위
 Bit(비트; binary digit)
 2진수
 0 또는 1, 2가지 상태를 표현
 Byte(바이트)
 문자를 표현
 보통 8 bit가 모여서 1 byte가 됨

 Word(워드)
 연산 처리의 기본 단위
 보통 4 byte가 모여서 1 word가 됨(32 비트 시스템)

21

자료의 표현
 컴퓨터의 용량을 표현하는 단위
 1 bit
 1 byte = 8 bit
 1 KB(kilo byte):210 = 1024 byte ≈ 103 byte

 1 MB(mega byte): 220 = 1 KB x 1024 ≈ 106 byte
 1 GB(giga byte): 230 = 1 MB x 1024 ≈ 109 byte
 1 TB(tera byte): 240 = 1 GB x 1024 ≈ 1012 byte

 1 PB(peta bate): 250 = 1 TB x 1024 ≈ 1015 byte

22

자료의 표현
 진법
 디지털 컴퓨터에서는 2진법이 기본
 8,16진법은 2진법 관계가 있다.
 인간은 10진법을 주로 사용한다.

 2진법

 0,1만으로 수를 표현

 8진법

 0,1,2,..7로 수를 표현

 10진법

 0,1,2,3,…9로 수를 표현

 16진법

 0,1,2,3,…9,A,B,C,D,E,F로 수를 표현
23

 2,8,16진법(2,8,16진수)

10진수

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

2진수

0
1
10
11
100
101
110
111
1000
1001
1010
1011
1100
1101
1110
1111
10000

8진수

0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20

16진수

0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
10

24

자료의 표현
 10진수를 2진수로 변환
 2진수를 10진수로 변환
 2진수와 8,16진수의 관계
 2진수 3자리  8진수 1자리
 2진수 4자리  16진수 1자리

 2진수를 8진수,10진수, 16진수로 변환
 8진수를 2진수, 16진수, 10진수로 변환
 16진수를 2진수, 8진수, 16진수로 변환
25

 34

 ( 100010
 ( 42
 ( 22

)2
)8
)16

 34.625

 ( 100010.101 )2
 ( 42.5
)8
 ( 42.A
)16

26

자료 표현
 고정 소수점 표현
 정수를 표현할 때 사용된다.
 부호없는 수의 표현

 부호를 표기하지 않는다.
 표현 범위: 0 ~ 2n-1
 부호 있는 정수의 표현(음수의 표현 방식)

 부호와 절대치(부호와 크기 )
 1의 보수
 2의 보수

27

고정 소수점 표현
 부호와 절대치(크기) 방식
 최상위 1비트로 부호를 표기(양수:0, 음수 1)
 나머지 부분에 수를 절대값으로 표현
 +0, -0이 존재

 1의 보수 방식

 양의 정수에 대한 보수로 음수를 표현
 +0, -0이 존재한다.

 2의 보수 방식

 1의 보수에 1을 더해서 표현한다.
 -0이 없으므로, 음수를 하나 더 표현할 수 있다.
 일반적으로 가장 많이 사용한다.

 양수는 위의 3가지 방식이 모두 동일
28

부동 소수점 표현
 부동 소수점 표현
 실수를 표현하는 방식이다.
 단정도(4 byte), 배정도(8 byte)로 표현한다.
 부호부, 지수부, 가수부로 나누어서 표현한다.

단정도
부호 지수
1비트

8 비트

가수
-- 지수 (초과 127)

23비트

배정도
부호

지수

가수

1비트 11 비트

52비트

-- 지수(초과 1023)

29

자료 표현
 문자 표현

 ASCII 코드
 American Standard Code for Information Interchange
 미국 표준협회에서 제정한 정보 교환용 코드
 7비트(또는 8비트)로 1문자를 표현
 128문자(27) 또는 258문자(28)를 표현
 Unicode
 2바이트로 1문자를 표현
 전 세계의 모든 문자를 동일한 방식으로 표현
 EBCDIC(Extended Binary Coded Decimal Interchange Code;

확장된 BCD 코드)

 IBM 대형 기종에서 사용, 8 bit = 1문자

 BCD 코드
 4비트로 숫자1개를 표현

30

연습문제
2. 십진수 53.625를 8진수와 16진수로 각각 올바르
게 표현한 것은?
① 65.5 35.A ② 65.7 35.A
③ 65.5 35.b ④ 65.7 35.b

31

3. 8비트를 사용해서 표현된 정수의 비트 패턴이
10000000이다. 주어진 비트 패턴의 값을 정수
로 해석할 때, 다음 중 가장 작을 값을 나타내
는 정수의 표현 방법은?
① 부호와-크기 방법
③ 2의 보수

② 1의 보수
④ 부동소수점

32

4. 531.74(8)를 16진법의 표현으로 알맞게 나타
낸 것은?
① 159.F
③ 159.3C

② AC1.3C
④ AC1.F

33

5. 다음 중에서 가장 큰 수는 어떤 진법으로 표현
된 수인가?
(227)10 (343)8 (11100101)2 (E7)16
① 10진법
③ 2진법

② 8진법
④ 16진법

34

주관식
다음 물음에 답하시오
(1) 십진수 23.125를 2진수로 변환하시오.
(2) 이진수 100101.1001을 8, 10, 16진수로 변
환하시오.
(3) 16진수 ABC.6A를 2진수와 8진수로 변환하
시오.

35


Slide 32

강사: 주형준([email protected], 010-6317-0101)

전자계산기 일반

1.1 컴퓨터란 무엇인가?
1.2 컴퓨터 시스템의 구성
1.3 컴퓨터 시스템
1.4 컴퓨터의 발전과 분류
1.5 자료의 표현

제1장 컴퓨터와 자료

2

2.1 컴퓨터 구조의 개요
2.2 컴퓨터의 기본 구성
2.3 논리회로와 논리대수
2.4 조합회로와 순차회로
2.5 시스템 구성을 위한 기본 조합 회로
2.6 기억 장치
2.7 명령어와 명령어 세트
2.8 주소방식에 따른 명령어 형식
2.9 중앙처리장치: 처리장치와 제어장치
2.10 입출력장치
2.11 병렬처리

제2장 컴퓨터의 구조

3

3.1 운영체제의 개념
3.2 운영체제의 종류
3.3 주기억장치의 관리
3.4 프로세서 관리
3.5 장치와 파일 관리
3.6 분산 시스템

제3장 운영체제

4

4.1 기본 개념
4.2 배열
4.3 리스트
4.4 스택과 큐
4.5 트리
4.6 그래프
4.7 정렬 알고리즘
4.8 탐색 알고리즘

제5장 프로그래밍 언어
제6장 데이터베이스
제7장 컴퓨터 네트워크
제8장 인공지능

제4장 자료구조와 알고리즘

5

제1장 컴퓨터와 자료

6

1.1 컴퓨터란 무엇인가?
 Computer: 컴퓨터, 전자 계산기
 Compute: 계산하다

 외부에서 자료를 입력(input)받고, 입력 받은 자료를
처리(process)하고, 처리된 결과를 출력(output)하는

기계

 컴퓨터의 가장 큰 장점
 신속한 처리, 계산 결과의 정확성

7

1.2 컴퓨터 시스템의 구성
 하드웨어(H/W; hardware)





입,출력장치
기억장치
산술논리연산장치
제어장치

중앙처리장치(CPU)

 소프트웨어(S/W; software)

 시스템 소프트웨어
 운영체제(OS), 컴파일러, 각종 유틸리티, …
 응용 소프트웨어
 워드프로세서, 그래픽 프로그램, …

 자료(data)
 사용자(user)

8

컴퓨터의 발전
 파스칼의 계산기
 덧셈, 뺄셈

 라이프니츠 계산기
 사칙연산

 배비지의 해석기관
 중앙처리장치,기억장치,입력장치,출력장치

 홀러리스의 천공카드 시스템, 1889
 미국 인구 조사국에서 사용

 Mark I, 1944
 최초의 전기 기계식 계산기
9

 ENIAC(에니악), 1946





미국, 모클리와 에커트
최초의 전자계산기, 1946
진공관 사용
프로그램 외장 방식

 EDSAC(에드삭), 1949

 최초의 프로그램 내장방식 채택

 EDVAC(에드박), 1951
 UNIVAC-I(유니박)

 최초의 상용 컴퓨터
 1951년 미국 조사 통계국에서 사용
10

 인텔 4004, 1972
 최초의 마이크로 프로세서

 Altair(알테어) 8800, 1975
 기계어, 256 byte 메모리

 (1975, 빌게이츠, 마이크로소프트 창립)
 (1977, 스티브 잡스, 애플사(Apple computer) 창립)
 애플 컴퓨터 – 세계 최초의 PC, 8 비트

Apple-I과 Apple-II
11

 1978, 인텔 8086
 16비트 마이크로프로세서

 1981, IBM PC
 PC 내부 공개 IBM 호환 PC

 16비트(8088 CPU)
 MS-DOS

 1985, 80386 마이크로 프로세서 – 32비트

12

컴퓨터 세대별 구분
 제1세대: 1950년~1959년

 진공관
 주기억장치: 자기드럼, 천공카드, 기계어
 EDSAC(에드삭), UNIVAC-I

 제2세대: 1959~1965년

 트랜지스터
 주기억장치: 자기코어, 보조기억장치: 자기드럼,자기디스


 FORTRAN, COBOL, ALGOL 고급 언어 등장

 제3세대: 1965~1975년

 IC(반도체 집적회로)
 다중프로그래밍, 실시간처리시스템, 시분할 시스템
13

 제4세대: 1975~1985년
 LSI(고밀도 집적회로), VLSI(초고밀도집적회로)
 마이크로 컴퓨터 발전(PC 등장)

 제5세대: 1985년 ~ 현재
 AI(Artificial Intelligence, 인공 지능)

 퍼지 이론, 전문자 시스템, 음성 인식

14

 컴퓨터에서 사용되는 시간 단위
 ms(millisecond) : 10-3초
 µs(microsecond): 10-6초
 ns(nanosecond): 10-9초
 ps(picosecond): 10-12초
 fs(femtosecond): 10-15초
 as(attosecond): 10-18초

15

컴퓨터의 분류
 사용목적에 따른 분류
 범용(general-purpose) 컴퓨터
 여러 가지 목적으로 사용되는 일반적인 컴퓨터
 전용(special-purpose) 컴퓨터
 특정한 목적으로 사용되는 컴퓨터
 비행기 운항 조절 등

16

컴퓨터의 분류
 자료 표현 방식에 따른 분류
 디지털(digital) 컴퓨터
 컴퓨터 내부에서 자료를 디지털 신호로 표현
 이산적인 자료 처리
 우리가 사용하는 대부분의 컴퓨터
 아날로그(analog) 컴퓨터
 연속적인 자료 처리
 연속적으로 변하는 자료를 물리적인 양 그대로 입력하여 처리
하는 컴퓨터
 온도, 비행기의 연료 소모량, 달리는 차의 속도
 하이브리드 컴퓨터
 디지털과 아날로그의 장점만 따서 만든 컴퓨터
 특수한 분야에 사용

17

컴퓨터의 분류
 컴퓨터의 성능에 따른 분류(처리 능력에 따른 분류)
 슈퍼컴퓨터
 1초에 1조 개 이상의 명령어 처리(부동소숫점 산술 연산)
 현존하는 가장 강력한 성능의 컴퓨터
 대형컴퓨터
 메인 프레임(mainframe)
 대기업, 금융기관에서 주로 사용
 1초에 수억 개 이상의 명령어를 처리
 미니컴퓨터
 (중형컴퓨터)
 다수의 터미널 지원, 다중 사용자 환경에서 사용
 워크스테이션
 마이크로 컴퓨터와 미니 컴퓨터의 중간 정도의 성능
 마이크로 컴퓨터
 마이크로프로세서를 사용해서 만든 컴퓨터
 개인용 컴퓨터(PC)

18

19

자료의 표현
 숫자 자료의 표현
 고정 소수점 표현
 부동 소숫점 표현

 문자 자료의 표현
 ASCII 코드
 EBCDIC 코드
 BCD 코드

 Unicode

20

자료의 표현
 자료 표현의 단위
 Bit(비트; binary digit)
 2진수
 0 또는 1, 2가지 상태를 표현
 Byte(바이트)
 문자를 표현
 보통 8 bit가 모여서 1 byte가 됨

 Word(워드)
 연산 처리의 기본 단위
 보통 4 byte가 모여서 1 word가 됨(32 비트 시스템)

21

자료의 표현
 컴퓨터의 용량을 표현하는 단위
 1 bit
 1 byte = 8 bit
 1 KB(kilo byte):210 = 1024 byte ≈ 103 byte

 1 MB(mega byte): 220 = 1 KB x 1024 ≈ 106 byte
 1 GB(giga byte): 230 = 1 MB x 1024 ≈ 109 byte
 1 TB(tera byte): 240 = 1 GB x 1024 ≈ 1012 byte

 1 PB(peta bate): 250 = 1 TB x 1024 ≈ 1015 byte

22

자료의 표현
 진법
 디지털 컴퓨터에서는 2진법이 기본
 8,16진법은 2진법 관계가 있다.
 인간은 10진법을 주로 사용한다.

 2진법

 0,1만으로 수를 표현

 8진법

 0,1,2,..7로 수를 표현

 10진법

 0,1,2,3,…9로 수를 표현

 16진법

 0,1,2,3,…9,A,B,C,D,E,F로 수를 표현
23

 2,8,16진법(2,8,16진수)

10진수

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

2진수

0
1
10
11
100
101
110
111
1000
1001
1010
1011
1100
1101
1110
1111
10000

8진수

0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20

16진수

0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
10

24

자료의 표현
 10진수를 2진수로 변환
 2진수를 10진수로 변환
 2진수와 8,16진수의 관계
 2진수 3자리  8진수 1자리
 2진수 4자리  16진수 1자리

 2진수를 8진수,10진수, 16진수로 변환
 8진수를 2진수, 16진수, 10진수로 변환
 16진수를 2진수, 8진수, 16진수로 변환
25

 34

 ( 100010
 ( 42
 ( 22

)2
)8
)16

 34.625

 ( 100010.101 )2
 ( 42.5
)8
 ( 42.A
)16

26

자료 표현
 고정 소수점 표현
 정수를 표현할 때 사용된다.
 부호없는 수의 표현

 부호를 표기하지 않는다.
 표현 범위: 0 ~ 2n-1
 부호 있는 정수의 표현(음수의 표현 방식)

 부호와 절대치(부호와 크기 )
 1의 보수
 2의 보수

27

고정 소수점 표현
 부호와 절대치(크기) 방식
 최상위 1비트로 부호를 표기(양수:0, 음수 1)
 나머지 부분에 수를 절대값으로 표현
 +0, -0이 존재

 1의 보수 방식

 양의 정수에 대한 보수로 음수를 표현
 +0, -0이 존재한다.

 2의 보수 방식

 1의 보수에 1을 더해서 표현한다.
 -0이 없으므로, 음수를 하나 더 표현할 수 있다.
 일반적으로 가장 많이 사용한다.

 양수는 위의 3가지 방식이 모두 동일
28

부동 소수점 표현
 부동 소수점 표현
 실수를 표현하는 방식이다.
 단정도(4 byte), 배정도(8 byte)로 표현한다.
 부호부, 지수부, 가수부로 나누어서 표현한다.

단정도
부호 지수
1비트

8 비트

가수
-- 지수 (초과 127)

23비트

배정도
부호

지수

가수

1비트 11 비트

52비트

-- 지수(초과 1023)

29

자료 표현
 문자 표현

 ASCII 코드
 American Standard Code for Information Interchange
 미국 표준협회에서 제정한 정보 교환용 코드
 7비트(또는 8비트)로 1문자를 표현
 128문자(27) 또는 258문자(28)를 표현
 Unicode
 2바이트로 1문자를 표현
 전 세계의 모든 문자를 동일한 방식으로 표현
 EBCDIC(Extended Binary Coded Decimal Interchange Code;

확장된 BCD 코드)

 IBM 대형 기종에서 사용, 8 bit = 1문자

 BCD 코드
 4비트로 숫자1개를 표현

30

연습문제
2. 십진수 53.625를 8진수와 16진수로 각각 올바르
게 표현한 것은?
① 65.5 35.A ② 65.7 35.A
③ 65.5 35.b ④ 65.7 35.b

31

3. 8비트를 사용해서 표현된 정수의 비트 패턴이
10000000이다. 주어진 비트 패턴의 값을 정수
로 해석할 때, 다음 중 가장 작을 값을 나타내
는 정수의 표현 방법은?
① 부호와-크기 방법
③ 2의 보수

② 1의 보수
④ 부동소수점

32

4. 531.74(8)를 16진법의 표현으로 알맞게 나타
낸 것은?
① 159.F
③ 159.3C

② AC1.3C
④ AC1.F

33

5. 다음 중에서 가장 큰 수는 어떤 진법으로 표현
된 수인가?
(227)10 (343)8 (11100101)2 (E7)16
① 10진법
③ 2진법

② 8진법
④ 16진법

34

주관식
다음 물음에 답하시오
(1) 십진수 23.125를 2진수로 변환하시오.
(2) 이진수 100101.1001을 8, 10, 16진수로 변
환하시오.
(3) 16진수 ABC.6A를 2진수와 8진수로 변환하
시오.

35


Slide 33

강사: 주형준([email protected], 010-6317-0101)

전자계산기 일반

1.1 컴퓨터란 무엇인가?
1.2 컴퓨터 시스템의 구성
1.3 컴퓨터 시스템
1.4 컴퓨터의 발전과 분류
1.5 자료의 표현

제1장 컴퓨터와 자료

2

2.1 컴퓨터 구조의 개요
2.2 컴퓨터의 기본 구성
2.3 논리회로와 논리대수
2.4 조합회로와 순차회로
2.5 시스템 구성을 위한 기본 조합 회로
2.6 기억 장치
2.7 명령어와 명령어 세트
2.8 주소방식에 따른 명령어 형식
2.9 중앙처리장치: 처리장치와 제어장치
2.10 입출력장치
2.11 병렬처리

제2장 컴퓨터의 구조

3

3.1 운영체제의 개념
3.2 운영체제의 종류
3.3 주기억장치의 관리
3.4 프로세서 관리
3.5 장치와 파일 관리
3.6 분산 시스템

제3장 운영체제

4

4.1 기본 개념
4.2 배열
4.3 리스트
4.4 스택과 큐
4.5 트리
4.6 그래프
4.7 정렬 알고리즘
4.8 탐색 알고리즘

제5장 프로그래밍 언어
제6장 데이터베이스
제7장 컴퓨터 네트워크
제8장 인공지능

제4장 자료구조와 알고리즘

5

제1장 컴퓨터와 자료

6

1.1 컴퓨터란 무엇인가?
 Computer: 컴퓨터, 전자 계산기
 Compute: 계산하다

 외부에서 자료를 입력(input)받고, 입력 받은 자료를
처리(process)하고, 처리된 결과를 출력(output)하는

기계

 컴퓨터의 가장 큰 장점
 신속한 처리, 계산 결과의 정확성

7

1.2 컴퓨터 시스템의 구성
 하드웨어(H/W; hardware)





입,출력장치
기억장치
산술논리연산장치
제어장치

중앙처리장치(CPU)

 소프트웨어(S/W; software)

 시스템 소프트웨어
 운영체제(OS), 컴파일러, 각종 유틸리티, …
 응용 소프트웨어
 워드프로세서, 그래픽 프로그램, …

 자료(data)
 사용자(user)

8

컴퓨터의 발전
 파스칼의 계산기
 덧셈, 뺄셈

 라이프니츠 계산기
 사칙연산

 배비지의 해석기관
 중앙처리장치,기억장치,입력장치,출력장치

 홀러리스의 천공카드 시스템, 1889
 미국 인구 조사국에서 사용

 Mark I, 1944
 최초의 전기 기계식 계산기
9

 ENIAC(에니악), 1946





미국, 모클리와 에커트
최초의 전자계산기, 1946
진공관 사용
프로그램 외장 방식

 EDSAC(에드삭), 1949

 최초의 프로그램 내장방식 채택

 EDVAC(에드박), 1951
 UNIVAC-I(유니박)

 최초의 상용 컴퓨터
 1951년 미국 조사 통계국에서 사용
10

 인텔 4004, 1972
 최초의 마이크로 프로세서

 Altair(알테어) 8800, 1975
 기계어, 256 byte 메모리

 (1975, 빌게이츠, 마이크로소프트 창립)
 (1977, 스티브 잡스, 애플사(Apple computer) 창립)
 애플 컴퓨터 – 세계 최초의 PC, 8 비트

Apple-I과 Apple-II
11

 1978, 인텔 8086
 16비트 마이크로프로세서

 1981, IBM PC
 PC 내부 공개 IBM 호환 PC

 16비트(8088 CPU)
 MS-DOS

 1985, 80386 마이크로 프로세서 – 32비트

12

컴퓨터 세대별 구분
 제1세대: 1950년~1959년

 진공관
 주기억장치: 자기드럼, 천공카드, 기계어
 EDSAC(에드삭), UNIVAC-I

 제2세대: 1959~1965년

 트랜지스터
 주기억장치: 자기코어, 보조기억장치: 자기드럼,자기디스


 FORTRAN, COBOL, ALGOL 고급 언어 등장

 제3세대: 1965~1975년

 IC(반도체 집적회로)
 다중프로그래밍, 실시간처리시스템, 시분할 시스템
13

 제4세대: 1975~1985년
 LSI(고밀도 집적회로), VLSI(초고밀도집적회로)
 마이크로 컴퓨터 발전(PC 등장)

 제5세대: 1985년 ~ 현재
 AI(Artificial Intelligence, 인공 지능)

 퍼지 이론, 전문자 시스템, 음성 인식

14

 컴퓨터에서 사용되는 시간 단위
 ms(millisecond) : 10-3초
 µs(microsecond): 10-6초
 ns(nanosecond): 10-9초
 ps(picosecond): 10-12초
 fs(femtosecond): 10-15초
 as(attosecond): 10-18초

15

컴퓨터의 분류
 사용목적에 따른 분류
 범용(general-purpose) 컴퓨터
 여러 가지 목적으로 사용되는 일반적인 컴퓨터
 전용(special-purpose) 컴퓨터
 특정한 목적으로 사용되는 컴퓨터
 비행기 운항 조절 등

16

컴퓨터의 분류
 자료 표현 방식에 따른 분류
 디지털(digital) 컴퓨터
 컴퓨터 내부에서 자료를 디지털 신호로 표현
 이산적인 자료 처리
 우리가 사용하는 대부분의 컴퓨터
 아날로그(analog) 컴퓨터
 연속적인 자료 처리
 연속적으로 변하는 자료를 물리적인 양 그대로 입력하여 처리
하는 컴퓨터
 온도, 비행기의 연료 소모량, 달리는 차의 속도
 하이브리드 컴퓨터
 디지털과 아날로그의 장점만 따서 만든 컴퓨터
 특수한 분야에 사용

17

컴퓨터의 분류
 컴퓨터의 성능에 따른 분류(처리 능력에 따른 분류)
 슈퍼컴퓨터
 1초에 1조 개 이상의 명령어 처리(부동소숫점 산술 연산)
 현존하는 가장 강력한 성능의 컴퓨터
 대형컴퓨터
 메인 프레임(mainframe)
 대기업, 금융기관에서 주로 사용
 1초에 수억 개 이상의 명령어를 처리
 미니컴퓨터
 (중형컴퓨터)
 다수의 터미널 지원, 다중 사용자 환경에서 사용
 워크스테이션
 마이크로 컴퓨터와 미니 컴퓨터의 중간 정도의 성능
 마이크로 컴퓨터
 마이크로프로세서를 사용해서 만든 컴퓨터
 개인용 컴퓨터(PC)

18

19

자료의 표현
 숫자 자료의 표현
 고정 소수점 표현
 부동 소숫점 표현

 문자 자료의 표현
 ASCII 코드
 EBCDIC 코드
 BCD 코드

 Unicode

20

자료의 표현
 자료 표현의 단위
 Bit(비트; binary digit)
 2진수
 0 또는 1, 2가지 상태를 표현
 Byte(바이트)
 문자를 표현
 보통 8 bit가 모여서 1 byte가 됨

 Word(워드)
 연산 처리의 기본 단위
 보통 4 byte가 모여서 1 word가 됨(32 비트 시스템)

21

자료의 표현
 컴퓨터의 용량을 표현하는 단위
 1 bit
 1 byte = 8 bit
 1 KB(kilo byte):210 = 1024 byte ≈ 103 byte

 1 MB(mega byte): 220 = 1 KB x 1024 ≈ 106 byte
 1 GB(giga byte): 230 = 1 MB x 1024 ≈ 109 byte
 1 TB(tera byte): 240 = 1 GB x 1024 ≈ 1012 byte

 1 PB(peta bate): 250 = 1 TB x 1024 ≈ 1015 byte

22

자료의 표현
 진법
 디지털 컴퓨터에서는 2진법이 기본
 8,16진법은 2진법 관계가 있다.
 인간은 10진법을 주로 사용한다.

 2진법

 0,1만으로 수를 표현

 8진법

 0,1,2,..7로 수를 표현

 10진법

 0,1,2,3,…9로 수를 표현

 16진법

 0,1,2,3,…9,A,B,C,D,E,F로 수를 표현
23

 2,8,16진법(2,8,16진수)

10진수

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

2진수

0
1
10
11
100
101
110
111
1000
1001
1010
1011
1100
1101
1110
1111
10000

8진수

0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20

16진수

0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
10

24

자료의 표현
 10진수를 2진수로 변환
 2진수를 10진수로 변환
 2진수와 8,16진수의 관계
 2진수 3자리  8진수 1자리
 2진수 4자리  16진수 1자리

 2진수를 8진수,10진수, 16진수로 변환
 8진수를 2진수, 16진수, 10진수로 변환
 16진수를 2진수, 8진수, 16진수로 변환
25

 34

 ( 100010
 ( 42
 ( 22

)2
)8
)16

 34.625

 ( 100010.101 )2
 ( 42.5
)8
 ( 42.A
)16

26

자료 표현
 고정 소수점 표현
 정수를 표현할 때 사용된다.
 부호없는 수의 표현

 부호를 표기하지 않는다.
 표현 범위: 0 ~ 2n-1
 부호 있는 정수의 표현(음수의 표현 방식)

 부호와 절대치(부호와 크기 )
 1의 보수
 2의 보수

27

고정 소수점 표현
 부호와 절대치(크기) 방식
 최상위 1비트로 부호를 표기(양수:0, 음수 1)
 나머지 부분에 수를 절대값으로 표현
 +0, -0이 존재

 1의 보수 방식

 양의 정수에 대한 보수로 음수를 표현
 +0, -0이 존재한다.

 2의 보수 방식

 1의 보수에 1을 더해서 표현한다.
 -0이 없으므로, 음수를 하나 더 표현할 수 있다.
 일반적으로 가장 많이 사용한다.

 양수는 위의 3가지 방식이 모두 동일
28

부동 소수점 표현
 부동 소수점 표현
 실수를 표현하는 방식이다.
 단정도(4 byte), 배정도(8 byte)로 표현한다.
 부호부, 지수부, 가수부로 나누어서 표현한다.

단정도
부호 지수
1비트

8 비트

가수
-- 지수 (초과 127)

23비트

배정도
부호

지수

가수

1비트 11 비트

52비트

-- 지수(초과 1023)

29

자료 표현
 문자 표현

 ASCII 코드
 American Standard Code for Information Interchange
 미국 표준협회에서 제정한 정보 교환용 코드
 7비트(또는 8비트)로 1문자를 표현
 128문자(27) 또는 258문자(28)를 표현
 Unicode
 2바이트로 1문자를 표현
 전 세계의 모든 문자를 동일한 방식으로 표현
 EBCDIC(Extended Binary Coded Decimal Interchange Code;

확장된 BCD 코드)

 IBM 대형 기종에서 사용, 8 bit = 1문자

 BCD 코드
 4비트로 숫자1개를 표현

30

연습문제
2. 십진수 53.625를 8진수와 16진수로 각각 올바르
게 표현한 것은?
① 65.5 35.A ② 65.7 35.A
③ 65.5 35.b ④ 65.7 35.b

31

3. 8비트를 사용해서 표현된 정수의 비트 패턴이
10000000이다. 주어진 비트 패턴의 값을 정수
로 해석할 때, 다음 중 가장 작을 값을 나타내
는 정수의 표현 방법은?
① 부호와-크기 방법
③ 2의 보수

② 1의 보수
④ 부동소수점

32

4. 531.74(8)를 16진법의 표현으로 알맞게 나타
낸 것은?
① 159.F
③ 159.3C

② AC1.3C
④ AC1.F

33

5. 다음 중에서 가장 큰 수는 어떤 진법으로 표현
된 수인가?
(227)10 (343)8 (11100101)2 (E7)16
① 10진법
③ 2진법

② 8진법
④ 16진법

34

주관식
다음 물음에 답하시오
(1) 십진수 23.125를 2진수로 변환하시오.
(2) 이진수 100101.1001을 8, 10, 16진수로 변
환하시오.
(3) 16진수 ABC.6A를 2진수와 8진수로 변환하
시오.

35


Slide 34

강사: 주형준([email protected], 010-6317-0101)

전자계산기 일반

1.1 컴퓨터란 무엇인가?
1.2 컴퓨터 시스템의 구성
1.3 컴퓨터 시스템
1.4 컴퓨터의 발전과 분류
1.5 자료의 표현

제1장 컴퓨터와 자료

2

2.1 컴퓨터 구조의 개요
2.2 컴퓨터의 기본 구성
2.3 논리회로와 논리대수
2.4 조합회로와 순차회로
2.5 시스템 구성을 위한 기본 조합 회로
2.6 기억 장치
2.7 명령어와 명령어 세트
2.8 주소방식에 따른 명령어 형식
2.9 중앙처리장치: 처리장치와 제어장치
2.10 입출력장치
2.11 병렬처리

제2장 컴퓨터의 구조

3

3.1 운영체제의 개념
3.2 운영체제의 종류
3.3 주기억장치의 관리
3.4 프로세서 관리
3.5 장치와 파일 관리
3.6 분산 시스템

제3장 운영체제

4

4.1 기본 개념
4.2 배열
4.3 리스트
4.4 스택과 큐
4.5 트리
4.6 그래프
4.7 정렬 알고리즘
4.8 탐색 알고리즘

제5장 프로그래밍 언어
제6장 데이터베이스
제7장 컴퓨터 네트워크
제8장 인공지능

제4장 자료구조와 알고리즘

5

제1장 컴퓨터와 자료

6

1.1 컴퓨터란 무엇인가?
 Computer: 컴퓨터, 전자 계산기
 Compute: 계산하다

 외부에서 자료를 입력(input)받고, 입력 받은 자료를
처리(process)하고, 처리된 결과를 출력(output)하는

기계

 컴퓨터의 가장 큰 장점
 신속한 처리, 계산 결과의 정확성

7

1.2 컴퓨터 시스템의 구성
 하드웨어(H/W; hardware)





입,출력장치
기억장치
산술논리연산장치
제어장치

중앙처리장치(CPU)

 소프트웨어(S/W; software)

 시스템 소프트웨어
 운영체제(OS), 컴파일러, 각종 유틸리티, …
 응용 소프트웨어
 워드프로세서, 그래픽 프로그램, …

 자료(data)
 사용자(user)

8

컴퓨터의 발전
 파스칼의 계산기
 덧셈, 뺄셈

 라이프니츠 계산기
 사칙연산

 배비지의 해석기관
 중앙처리장치,기억장치,입력장치,출력장치

 홀러리스의 천공카드 시스템, 1889
 미국 인구 조사국에서 사용

 Mark I, 1944
 최초의 전기 기계식 계산기
9

 ENIAC(에니악), 1946





미국, 모클리와 에커트
최초의 전자계산기, 1946
진공관 사용
프로그램 외장 방식

 EDSAC(에드삭), 1949

 최초의 프로그램 내장방식 채택

 EDVAC(에드박), 1951
 UNIVAC-I(유니박)

 최초의 상용 컴퓨터
 1951년 미국 조사 통계국에서 사용
10

 인텔 4004, 1972
 최초의 마이크로 프로세서

 Altair(알테어) 8800, 1975
 기계어, 256 byte 메모리

 (1975, 빌게이츠, 마이크로소프트 창립)
 (1977, 스티브 잡스, 애플사(Apple computer) 창립)
 애플 컴퓨터 – 세계 최초의 PC, 8 비트

Apple-I과 Apple-II
11

 1978, 인텔 8086
 16비트 마이크로프로세서

 1981, IBM PC
 PC 내부 공개 IBM 호환 PC

 16비트(8088 CPU)
 MS-DOS

 1985, 80386 마이크로 프로세서 – 32비트

12

컴퓨터 세대별 구분
 제1세대: 1950년~1959년

 진공관
 주기억장치: 자기드럼, 천공카드, 기계어
 EDSAC(에드삭), UNIVAC-I

 제2세대: 1959~1965년

 트랜지스터
 주기억장치: 자기코어, 보조기억장치: 자기드럼,자기디스


 FORTRAN, COBOL, ALGOL 고급 언어 등장

 제3세대: 1965~1975년

 IC(반도체 집적회로)
 다중프로그래밍, 실시간처리시스템, 시분할 시스템
13

 제4세대: 1975~1985년
 LSI(고밀도 집적회로), VLSI(초고밀도집적회로)
 마이크로 컴퓨터 발전(PC 등장)

 제5세대: 1985년 ~ 현재
 AI(Artificial Intelligence, 인공 지능)

 퍼지 이론, 전문자 시스템, 음성 인식

14

 컴퓨터에서 사용되는 시간 단위
 ms(millisecond) : 10-3초
 µs(microsecond): 10-6초
 ns(nanosecond): 10-9초
 ps(picosecond): 10-12초
 fs(femtosecond): 10-15초
 as(attosecond): 10-18초

15

컴퓨터의 분류
 사용목적에 따른 분류
 범용(general-purpose) 컴퓨터
 여러 가지 목적으로 사용되는 일반적인 컴퓨터
 전용(special-purpose) 컴퓨터
 특정한 목적으로 사용되는 컴퓨터
 비행기 운항 조절 등

16

컴퓨터의 분류
 자료 표현 방식에 따른 분류
 디지털(digital) 컴퓨터
 컴퓨터 내부에서 자료를 디지털 신호로 표현
 이산적인 자료 처리
 우리가 사용하는 대부분의 컴퓨터
 아날로그(analog) 컴퓨터
 연속적인 자료 처리
 연속적으로 변하는 자료를 물리적인 양 그대로 입력하여 처리
하는 컴퓨터
 온도, 비행기의 연료 소모량, 달리는 차의 속도
 하이브리드 컴퓨터
 디지털과 아날로그의 장점만 따서 만든 컴퓨터
 특수한 분야에 사용

17

컴퓨터의 분류
 컴퓨터의 성능에 따른 분류(처리 능력에 따른 분류)
 슈퍼컴퓨터
 1초에 1조 개 이상의 명령어 처리(부동소숫점 산술 연산)
 현존하는 가장 강력한 성능의 컴퓨터
 대형컴퓨터
 메인 프레임(mainframe)
 대기업, 금융기관에서 주로 사용
 1초에 수억 개 이상의 명령어를 처리
 미니컴퓨터
 (중형컴퓨터)
 다수의 터미널 지원, 다중 사용자 환경에서 사용
 워크스테이션
 마이크로 컴퓨터와 미니 컴퓨터의 중간 정도의 성능
 마이크로 컴퓨터
 마이크로프로세서를 사용해서 만든 컴퓨터
 개인용 컴퓨터(PC)

18

19

자료의 표현
 숫자 자료의 표현
 고정 소수점 표현
 부동 소숫점 표현

 문자 자료의 표현
 ASCII 코드
 EBCDIC 코드
 BCD 코드

 Unicode

20

자료의 표현
 자료 표현의 단위
 Bit(비트; binary digit)
 2진수
 0 또는 1, 2가지 상태를 표현
 Byte(바이트)
 문자를 표현
 보통 8 bit가 모여서 1 byte가 됨

 Word(워드)
 연산 처리의 기본 단위
 보통 4 byte가 모여서 1 word가 됨(32 비트 시스템)

21

자료의 표현
 컴퓨터의 용량을 표현하는 단위
 1 bit
 1 byte = 8 bit
 1 KB(kilo byte):210 = 1024 byte ≈ 103 byte

 1 MB(mega byte): 220 = 1 KB x 1024 ≈ 106 byte
 1 GB(giga byte): 230 = 1 MB x 1024 ≈ 109 byte
 1 TB(tera byte): 240 = 1 GB x 1024 ≈ 1012 byte

 1 PB(peta bate): 250 = 1 TB x 1024 ≈ 1015 byte

22

자료의 표현
 진법
 디지털 컴퓨터에서는 2진법이 기본
 8,16진법은 2진법 관계가 있다.
 인간은 10진법을 주로 사용한다.

 2진법

 0,1만으로 수를 표현

 8진법

 0,1,2,..7로 수를 표현

 10진법

 0,1,2,3,…9로 수를 표현

 16진법

 0,1,2,3,…9,A,B,C,D,E,F로 수를 표현
23

 2,8,16진법(2,8,16진수)

10진수

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

2진수

0
1
10
11
100
101
110
111
1000
1001
1010
1011
1100
1101
1110
1111
10000

8진수

0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20

16진수

0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
10

24

자료의 표현
 10진수를 2진수로 변환
 2진수를 10진수로 변환
 2진수와 8,16진수의 관계
 2진수 3자리  8진수 1자리
 2진수 4자리  16진수 1자리

 2진수를 8진수,10진수, 16진수로 변환
 8진수를 2진수, 16진수, 10진수로 변환
 16진수를 2진수, 8진수, 16진수로 변환
25

 34

 ( 100010
 ( 42
 ( 22

)2
)8
)16

 34.625

 ( 100010.101 )2
 ( 42.5
)8
 ( 42.A
)16

26

자료 표현
 고정 소수점 표현
 정수를 표현할 때 사용된다.
 부호없는 수의 표현

 부호를 표기하지 않는다.
 표현 범위: 0 ~ 2n-1
 부호 있는 정수의 표현(음수의 표현 방식)

 부호와 절대치(부호와 크기 )
 1의 보수
 2의 보수

27

고정 소수점 표현
 부호와 절대치(크기) 방식
 최상위 1비트로 부호를 표기(양수:0, 음수 1)
 나머지 부분에 수를 절대값으로 표현
 +0, -0이 존재

 1의 보수 방식

 양의 정수에 대한 보수로 음수를 표현
 +0, -0이 존재한다.

 2의 보수 방식

 1의 보수에 1을 더해서 표현한다.
 -0이 없으므로, 음수를 하나 더 표현할 수 있다.
 일반적으로 가장 많이 사용한다.

 양수는 위의 3가지 방식이 모두 동일
28

부동 소수점 표현
 부동 소수점 표현
 실수를 표현하는 방식이다.
 단정도(4 byte), 배정도(8 byte)로 표현한다.
 부호부, 지수부, 가수부로 나누어서 표현한다.

단정도
부호 지수
1비트

8 비트

가수
-- 지수 (초과 127)

23비트

배정도
부호

지수

가수

1비트 11 비트

52비트

-- 지수(초과 1023)

29

자료 표현
 문자 표현

 ASCII 코드
 American Standard Code for Information Interchange
 미국 표준협회에서 제정한 정보 교환용 코드
 7비트(또는 8비트)로 1문자를 표현
 128문자(27) 또는 258문자(28)를 표현
 Unicode
 2바이트로 1문자를 표현
 전 세계의 모든 문자를 동일한 방식으로 표현
 EBCDIC(Extended Binary Coded Decimal Interchange Code;

확장된 BCD 코드)

 IBM 대형 기종에서 사용, 8 bit = 1문자

 BCD 코드
 4비트로 숫자1개를 표현

30

연습문제
2. 십진수 53.625를 8진수와 16진수로 각각 올바르
게 표현한 것은?
① 65.5 35.A ② 65.7 35.A
③ 65.5 35.b ④ 65.7 35.b

31

3. 8비트를 사용해서 표현된 정수의 비트 패턴이
10000000이다. 주어진 비트 패턴의 값을 정수
로 해석할 때, 다음 중 가장 작을 값을 나타내
는 정수의 표현 방법은?
① 부호와-크기 방법
③ 2의 보수

② 1의 보수
④ 부동소수점

32

4. 531.74(8)를 16진법의 표현으로 알맞게 나타
낸 것은?
① 159.F
③ 159.3C

② AC1.3C
④ AC1.F

33

5. 다음 중에서 가장 큰 수는 어떤 진법으로 표현
된 수인가?
(227)10 (343)8 (11100101)2 (E7)16
① 10진법
③ 2진법

② 8진법
④ 16진법

34

주관식
다음 물음에 답하시오
(1) 십진수 23.125를 2진수로 변환하시오.
(2) 이진수 100101.1001을 8, 10, 16진수로 변
환하시오.
(3) 16진수 ABC.6A를 2진수와 8진수로 변환하
시오.

35


Slide 35

강사: 주형준([email protected], 010-6317-0101)

전자계산기 일반

1.1 컴퓨터란 무엇인가?
1.2 컴퓨터 시스템의 구성
1.3 컴퓨터 시스템
1.4 컴퓨터의 발전과 분류
1.5 자료의 표현

제1장 컴퓨터와 자료

2

2.1 컴퓨터 구조의 개요
2.2 컴퓨터의 기본 구성
2.3 논리회로와 논리대수
2.4 조합회로와 순차회로
2.5 시스템 구성을 위한 기본 조합 회로
2.6 기억 장치
2.7 명령어와 명령어 세트
2.8 주소방식에 따른 명령어 형식
2.9 중앙처리장치: 처리장치와 제어장치
2.10 입출력장치
2.11 병렬처리

제2장 컴퓨터의 구조

3

3.1 운영체제의 개념
3.2 운영체제의 종류
3.3 주기억장치의 관리
3.4 프로세서 관리
3.5 장치와 파일 관리
3.6 분산 시스템

제3장 운영체제

4

4.1 기본 개념
4.2 배열
4.3 리스트
4.4 스택과 큐
4.5 트리
4.6 그래프
4.7 정렬 알고리즘
4.8 탐색 알고리즘

제5장 프로그래밍 언어
제6장 데이터베이스
제7장 컴퓨터 네트워크
제8장 인공지능

제4장 자료구조와 알고리즘

5

제1장 컴퓨터와 자료

6

1.1 컴퓨터란 무엇인가?
 Computer: 컴퓨터, 전자 계산기
 Compute: 계산하다

 외부에서 자료를 입력(input)받고, 입력 받은 자료를
처리(process)하고, 처리된 결과를 출력(output)하는

기계

 컴퓨터의 가장 큰 장점
 신속한 처리, 계산 결과의 정확성

7

1.2 컴퓨터 시스템의 구성
 하드웨어(H/W; hardware)





입,출력장치
기억장치
산술논리연산장치
제어장치

중앙처리장치(CPU)

 소프트웨어(S/W; software)

 시스템 소프트웨어
 운영체제(OS), 컴파일러, 각종 유틸리티, …
 응용 소프트웨어
 워드프로세서, 그래픽 프로그램, …

 자료(data)
 사용자(user)

8

컴퓨터의 발전
 파스칼의 계산기
 덧셈, 뺄셈

 라이프니츠 계산기
 사칙연산

 배비지의 해석기관
 중앙처리장치,기억장치,입력장치,출력장치

 홀러리스의 천공카드 시스템, 1889
 미국 인구 조사국에서 사용

 Mark I, 1944
 최초의 전기 기계식 계산기
9

 ENIAC(에니악), 1946





미국, 모클리와 에커트
최초의 전자계산기, 1946
진공관 사용
프로그램 외장 방식

 EDSAC(에드삭), 1949

 최초의 프로그램 내장방식 채택

 EDVAC(에드박), 1951
 UNIVAC-I(유니박)

 최초의 상용 컴퓨터
 1951년 미국 조사 통계국에서 사용
10

 인텔 4004, 1972
 최초의 마이크로 프로세서

 Altair(알테어) 8800, 1975
 기계어, 256 byte 메모리

 (1975, 빌게이츠, 마이크로소프트 창립)
 (1977, 스티브 잡스, 애플사(Apple computer) 창립)
 애플 컴퓨터 – 세계 최초의 PC, 8 비트

Apple-I과 Apple-II
11

 1978, 인텔 8086
 16비트 마이크로프로세서

 1981, IBM PC
 PC 내부 공개 IBM 호환 PC

 16비트(8088 CPU)
 MS-DOS

 1985, 80386 마이크로 프로세서 – 32비트

12

컴퓨터 세대별 구분
 제1세대: 1950년~1959년

 진공관
 주기억장치: 자기드럼, 천공카드, 기계어
 EDSAC(에드삭), UNIVAC-I

 제2세대: 1959~1965년

 트랜지스터
 주기억장치: 자기코어, 보조기억장치: 자기드럼,자기디스


 FORTRAN, COBOL, ALGOL 고급 언어 등장

 제3세대: 1965~1975년

 IC(반도체 집적회로)
 다중프로그래밍, 실시간처리시스템, 시분할 시스템
13

 제4세대: 1975~1985년
 LSI(고밀도 집적회로), VLSI(초고밀도집적회로)
 마이크로 컴퓨터 발전(PC 등장)

 제5세대: 1985년 ~ 현재
 AI(Artificial Intelligence, 인공 지능)

 퍼지 이론, 전문자 시스템, 음성 인식

14

 컴퓨터에서 사용되는 시간 단위
 ms(millisecond) : 10-3초
 µs(microsecond): 10-6초
 ns(nanosecond): 10-9초
 ps(picosecond): 10-12초
 fs(femtosecond): 10-15초
 as(attosecond): 10-18초

15

컴퓨터의 분류
 사용목적에 따른 분류
 범용(general-purpose) 컴퓨터
 여러 가지 목적으로 사용되는 일반적인 컴퓨터
 전용(special-purpose) 컴퓨터
 특정한 목적으로 사용되는 컴퓨터
 비행기 운항 조절 등

16

컴퓨터의 분류
 자료 표현 방식에 따른 분류
 디지털(digital) 컴퓨터
 컴퓨터 내부에서 자료를 디지털 신호로 표현
 이산적인 자료 처리
 우리가 사용하는 대부분의 컴퓨터
 아날로그(analog) 컴퓨터
 연속적인 자료 처리
 연속적으로 변하는 자료를 물리적인 양 그대로 입력하여 처리
하는 컴퓨터
 온도, 비행기의 연료 소모량, 달리는 차의 속도
 하이브리드 컴퓨터
 디지털과 아날로그의 장점만 따서 만든 컴퓨터
 특수한 분야에 사용

17

컴퓨터의 분류
 컴퓨터의 성능에 따른 분류(처리 능력에 따른 분류)
 슈퍼컴퓨터
 1초에 1조 개 이상의 명령어 처리(부동소숫점 산술 연산)
 현존하는 가장 강력한 성능의 컴퓨터
 대형컴퓨터
 메인 프레임(mainframe)
 대기업, 금융기관에서 주로 사용
 1초에 수억 개 이상의 명령어를 처리
 미니컴퓨터
 (중형컴퓨터)
 다수의 터미널 지원, 다중 사용자 환경에서 사용
 워크스테이션
 마이크로 컴퓨터와 미니 컴퓨터의 중간 정도의 성능
 마이크로 컴퓨터
 마이크로프로세서를 사용해서 만든 컴퓨터
 개인용 컴퓨터(PC)

18

19

자료의 표현
 숫자 자료의 표현
 고정 소수점 표현
 부동 소숫점 표현

 문자 자료의 표현
 ASCII 코드
 EBCDIC 코드
 BCD 코드

 Unicode

20

자료의 표현
 자료 표현의 단위
 Bit(비트; binary digit)
 2진수
 0 또는 1, 2가지 상태를 표현
 Byte(바이트)
 문자를 표현
 보통 8 bit가 모여서 1 byte가 됨

 Word(워드)
 연산 처리의 기본 단위
 보통 4 byte가 모여서 1 word가 됨(32 비트 시스템)

21

자료의 표현
 컴퓨터의 용량을 표현하는 단위
 1 bit
 1 byte = 8 bit
 1 KB(kilo byte):210 = 1024 byte ≈ 103 byte

 1 MB(mega byte): 220 = 1 KB x 1024 ≈ 106 byte
 1 GB(giga byte): 230 = 1 MB x 1024 ≈ 109 byte
 1 TB(tera byte): 240 = 1 GB x 1024 ≈ 1012 byte

 1 PB(peta bate): 250 = 1 TB x 1024 ≈ 1015 byte

22

자료의 표현
 진법
 디지털 컴퓨터에서는 2진법이 기본
 8,16진법은 2진법 관계가 있다.
 인간은 10진법을 주로 사용한다.

 2진법

 0,1만으로 수를 표현

 8진법

 0,1,2,..7로 수를 표현

 10진법

 0,1,2,3,…9로 수를 표현

 16진법

 0,1,2,3,…9,A,B,C,D,E,F로 수를 표현
23

 2,8,16진법(2,8,16진수)

10진수

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

2진수

0
1
10
11
100
101
110
111
1000
1001
1010
1011
1100
1101
1110
1111
10000

8진수

0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20

16진수

0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
10

24

자료의 표현
 10진수를 2진수로 변환
 2진수를 10진수로 변환
 2진수와 8,16진수의 관계
 2진수 3자리  8진수 1자리
 2진수 4자리  16진수 1자리

 2진수를 8진수,10진수, 16진수로 변환
 8진수를 2진수, 16진수, 10진수로 변환
 16진수를 2진수, 8진수, 16진수로 변환
25

 34

 ( 100010
 ( 42
 ( 22

)2
)8
)16

 34.625

 ( 100010.101 )2
 ( 42.5
)8
 ( 42.A
)16

26

자료 표현
 고정 소수점 표현
 정수를 표현할 때 사용된다.
 부호없는 수의 표현

 부호를 표기하지 않는다.
 표현 범위: 0 ~ 2n-1
 부호 있는 정수의 표현(음수의 표현 방식)

 부호와 절대치(부호와 크기 )
 1의 보수
 2의 보수

27

고정 소수점 표현
 부호와 절대치(크기) 방식
 최상위 1비트로 부호를 표기(양수:0, 음수 1)
 나머지 부분에 수를 절대값으로 표현
 +0, -0이 존재

 1의 보수 방식

 양의 정수에 대한 보수로 음수를 표현
 +0, -0이 존재한다.

 2의 보수 방식

 1의 보수에 1을 더해서 표현한다.
 -0이 없으므로, 음수를 하나 더 표현할 수 있다.
 일반적으로 가장 많이 사용한다.

 양수는 위의 3가지 방식이 모두 동일
28

부동 소수점 표현
 부동 소수점 표현
 실수를 표현하는 방식이다.
 단정도(4 byte), 배정도(8 byte)로 표현한다.
 부호부, 지수부, 가수부로 나누어서 표현한다.

단정도
부호 지수
1비트

8 비트

가수
-- 지수 (초과 127)

23비트

배정도
부호

지수

가수

1비트 11 비트

52비트

-- 지수(초과 1023)

29

자료 표현
 문자 표현

 ASCII 코드
 American Standard Code for Information Interchange
 미국 표준협회에서 제정한 정보 교환용 코드
 7비트(또는 8비트)로 1문자를 표현
 128문자(27) 또는 258문자(28)를 표현
 Unicode
 2바이트로 1문자를 표현
 전 세계의 모든 문자를 동일한 방식으로 표현
 EBCDIC(Extended Binary Coded Decimal Interchange Code;

확장된 BCD 코드)

 IBM 대형 기종에서 사용, 8 bit = 1문자

 BCD 코드
 4비트로 숫자1개를 표현

30

연습문제
2. 십진수 53.625를 8진수와 16진수로 각각 올바르
게 표현한 것은?
① 65.5 35.A ② 65.7 35.A
③ 65.5 35.b ④ 65.7 35.b

31

3. 8비트를 사용해서 표현된 정수의 비트 패턴이
10000000이다. 주어진 비트 패턴의 값을 정수
로 해석할 때, 다음 중 가장 작을 값을 나타내
는 정수의 표현 방법은?
① 부호와-크기 방법
③ 2의 보수

② 1의 보수
④ 부동소수점

32

4. 531.74(8)를 16진법의 표현으로 알맞게 나타
낸 것은?
① 159.F
③ 159.3C

② AC1.3C
④ AC1.F

33

5. 다음 중에서 가장 큰 수는 어떤 진법으로 표현
된 수인가?
(227)10 (343)8 (11100101)2 (E7)16
① 10진법
③ 2진법

② 8진법
④ 16진법

34

주관식
다음 물음에 답하시오
(1) 십진수 23.125를 2진수로 변환하시오.
(2) 이진수 100101.1001을 8, 10, 16진수로 변
환하시오.
(3) 16진수 ABC.6A를 2진수와 8진수로 변환하
시오.

35