1.1 디지털과 아날로그: 기본 개념
아날로그
: 연속적인 값
디지털
: 이산적인 값
[ 아날로그방송 과 디지탈방송의 전계강도 특성 비교]
[아날로그 전압계 와 디지탈 전압계의 비교]
1.2 디지털 시스템의 역사
▶1640년대 Pascal 기계적인 덧셈기를 설계
▶1670년대 Gottfried 곱셈과 나눗셈을 하는 기계를 개발
▶1800년대 Babbage 컴퓨터의 효시로 알려져 있는 자동 계산기계 고안
▶1800년대 Boole 현재 부울 대수학이라 부르는 특수한 대수학 확립
▶1940년대 진공관 시대
▶1950~60년대 트랜지스터 시대
▶1960년대 중반 집적회로 개발
▶1970년대 Intel
최초의 마이크로 프로세서 개발
1.3 디지털 시스템의 개요
● 디지털 설계 => 계층적 구조
부품(C,
L, TR) => 기초회로(GATE) => SSI(0~9) => MSI(10~99) => LSI(1000~)....
회로 설계자 논리설계자
시스템 설계자
1.4 수 체계
1.4.1 10진수(decimal number) : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 의 10가지 숫자들의 조합
(7 x 10의 2승) + (8 x 10의 1승) + (9 x 10의 0승) = 78910
(7 x 100) + (8 x 10) + (9 x 1) = 78910
1.4.2 2진수(binary number) : 0, 1의 2가지 숫자의 조합
- 110012 의 10진수 표현
(1 x 2의 4승) + (1 x 2의 3승) + (0 x 2의 2승) + (0 x 2의 1승) + (1 x 2의 0승)
16 + 8 + 0 + 0 + 1 = 2510
1.4.3 8진수(octal number) : 0, 1, 2, 3, 4, 5, 6, 7 의 8가지 숫자들의 조합
- 1238 의 10진수 표현
(1 x 8의 2승) + (2 x 8의 1승) + (3 x 8의 0승)
64 +
16 +
3 = 8310
1.4.4 16진수(hexadecimal number) :
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F 의 16가지 숫자들의 조합
- AF1216 의 10진수 표현
(A x 16의 3승) + (F x 16의 2승) + (1 x 16의 1승) + (2 x 16의 0승)
10 x 4096 + 16 x 256 + 1 x 16 + 2 x 1
40960 + 4096 + 16 + 2 = 4507416
[예제 1.1] 10011.1012는 하나의 2진수를 표현한다. 이 수의 10진수 값을 구하라.
[예제 1.2] 234.568 는 하나의 8진수를 나타낸다. 이수의 10진수 값을 구하라.
[예제 1.3] ABC.12316 는 하나의 16진수를 나타낸다. 이수의 10진수 값을 구하라.
1.4.5 진수 r 에서의 계산
임의의
진수 r로 표현된 수의 문자세트는 r개가 존재한다.
2진수 예에서 10진수 0에서 3까지 셀 경우, 이를 2진수로 쓰면 00, 01, 10,
11이 된다.
2진수의 한자리를 비트(bit : binary digit의 줄인 말)라고 한다.
즉
비트란
2진수 10에서 1과 0 각각을 의미한다.
진수 | 문자세트
--------------------------------------------------
2 | 0, 1
--------------------------------------------------
3 | 0, 1, 2
--------------------------------------------------
4 | 0, 1, 2, 3
--------------------------------------------------
:
--------------------------------------------------
8 | 0, 1, 2, 3, 4, 5, 6,
7
--------------------------------------------------
:
--------------------------------------------------
10 | 0, 1, 2, 3, 4, 5, 6, 7,
8, 9
--------------------------------------------------
:
--------------------------------------------------
16 | 0, 1, 2, 3, 4, 5, 6, 7,
8, 9, A, B, C, D, E, F
--------------------------------------------------
[예제 1.4] 4진수에서 0부터 910까지 수를 세어라.
[예제 1.5] 8진수에서 0부터 2010까지 수를 세어라.
[예제 1.6] 16진수에서 0부터 2010까지 수를 세어라.
1.5 진수 변환
정보를 처리하는 과정에서는 진수의 변환이 필요하며
디지털 처리/연산(2진수) <=> 사람의 기능(10진수)
2진수
: 디지털관련의 대부분에 사용
8진수, 16진수 : 2진수를 사람이 이해하기 쉽도록 짧게 변환
--------------------------------------------------
10진수 | 2진수
| 8진수 |
16진수
--------------------------------------------------
0
0000
00
0
--------------------------------------------------
1
0001
01
1
--------------------------------------------------
2
0010
02
2
--------------------------------------------------
3
0011
03
3
--------------------------------------------------
4
0100
04
4
--------------------------------------------------
5
0101
05
5
--------------------------------------------------
6
0110
06
6
--------------------------------------------------
7
0111
07
7
--------------------------------------------------
8
1000
10
8
--------------------------------------------------
9
1001
11
9
--------------------------------------------------
10
1010
12
A
--------------------------------------------------
11
1011
13
B
--------------------------------------------------
12
1100
14
C
--------------------------------------------------
13
1101
15
D
--------------------------------------------------
14
1110
16
E
--------------------------------------------------
15
1111
17
F
--------------------------------------------------
[ 10진수, 2진수, 8진수, 16진수의 등가 표현]
1.5.1 2진수의 16진수로의 변환
2진수 형태로 표현된 각 비트를 소숫점을 기준으로 좌, 우측으로 4자리씩 끊어
상기 10진수, 2진수, 8진수, 16진수의 등가 표현 Table을 이용, 각 값을 구하면 된다.
[예제 1.7] 2진수 101111011111.011110002 를 16진수로 변환하라.
[예제 1.8] 2진수 1111100001111110.100110112 를 16진수로 변환하라.
1.5.2 16진수와 8진수의 2진수로의 변환
16진수의 한자리는 2진수의 4자리에 해당한다.
상기 10진수, 2진수, 8진수, 16진수의 등가 표현 Table을 이용, 각 값을 구하면 된다.
8진수의 경우에는 8진수의 각 한자리수가 2진수의 3자리에 해당함으로
상기 10진수, 2진수, 8진수, 16진수의 등가 표현 Table을 이용, 각 값을 구하면 된다.
[예제 1.9] 16진수 A12B.E616을 2진수로 변환하라.
[예제 1.10] 16진수 ABC.4A16을 2진수로 변환하라.
[예제 1.11] 8진수 789.1238을 2진수로 변환하라.
1.5.3 2진수의 10진수로의 변환
임의의
진수에서 자리의 위치는 그 진수의 x승 즉 지수승을 나타낸다. 그리고 그 자리위치의
값
그자체는 각 자리의 위치값과 곱할 값이 된다. 이렇게 하여 구한 각 항의
값을 더해가면 해당
진수의 10진수 값이 된다.
1.5.4 반복적인 나눗셈에 의한 진수변환
진수
변환은 자릿수 개념에 의해 변환이 가능하지만, 보다 간결한 방법으로 반복적인
나눗셈이라고 하는 알고리즘을 이용함으로 가능하다. 이 방법의 진수변환은
변환하려고
하는 수 N을 새로운 진수 r로 나누기 하는 과정을 반복하여 구한다. 이 반복과정의
각 나눗셈
에서 얻어지는 나머지는 새로운 진수의 하나의 자릿수가 된다. 이 과정은 MSB가
얻어질
때까지 계속 반복된다. MSB는 제일 윗자리 수이고 LSB는 제일 아랫자리 수이다
[예제 1.12] 10진수 12010을 2진수로 변환하라.
120 / 2 = 60 -> 0 (LSB)
60 / 2 = 30 -> 0
30 / 2 = 15 -> 0
15 / 2 = 7 -> 1
7 / 2 = 3 -> 1
3 / 2 = 1 -> 1
1 / 2 = 0 -> 1
따라서 1111000 이 된다.
1.6 2진 코드
코드 : 어떠한 의미를 가지는 하나의 기호, 기호들의 그룹
2진
부호화 10진수(BCD: Binary Coded Decimal)는 10진수를 2진수로 표기하는데
사용하며
시각적 표시장치의 구동에 편리하다.
1.6.1 2진 부호화 10진수(BCD)
사람과 디지털 시스템에서로 관련된 응용 => 부호화된 2진정보 필요 => 하나의
10진수를
표시하기 위해 4자리의 2진수(4비트)그룹으로 된 코드(BCD) 사용. 개개의 10진수를
하나의
4비트 2진 코드로 변환되기 때문에 여러 자리를 가진 10진수들은 바로 BCD로
표현되는
수로 부호화할 수 있다.
---------------------- 즉 2진화 10진수(BCD)는
0 에서 9 까지의 10진수 각각를
10진수 | 2진수
4비트의 2진수로 표현하는 방식을 의미한다.
----------------------
0
0000
----------------------
1
0001
----------------------
2
0010
----------------------
3
0011
----------------------
4
0100
----------------------
5
0101
----------------------
6
0110
----------------------
7
0111
----------------------
8
1000
----------------------
9
1001
----------------------
[예제 1.13] 1987.510을 BCD 코드로 변환하라.