Transcript Document

Chapter 05
데이터의 표현
수의 표현
Computer Architecture
진법_1 – P128
–10진법, 2진법, 8진법, 16진법을 대표적으로 사용
–밑수(base)는 진법에서 자리수를 만드는 기본 값
10진법의 밑수는 10이고, 2진법의 밑수는 2
–10진법(decimal number system)
0에서 9까지의 10개의 기호를 사용한 수치 표현 방법으로 10이 밑수가 됨
각 자리마다 10개 숫자를 모두 사용하면 자릿수를 올려서 다음 값을 표현
–10진수 (864)10 = 8ⅹ102+6ⅹ101+4ⅹ100으로 표현할 수 있음
–진법의 일반형
(AB.C)밑수 = A x 밑수1 + B x 밑수0 + C x 밑수-1
소숫점
지수=0
(12.3)10 = 1 x 101 + 2 x 100 + 3 x 10-1
(10.1)2 = 1 x 21 + 0 x 20 + 1 x 2-1
2/60
수의 표현
Computer Architecture
진법_2
–2진법
2진법의 수는 밑수가 2가 됨
0과 1의 2개 기호로 구성
펄스가 있는 상태인 ‘1’과 펄스가 없는 상태인 ‘0’으로 표현되는 수의 체계
예로서 2진수(1101)2는 4비트 즉 4자리로 이루어진 2진수로서 각 비트(Bit)는
0 값이나 또는 1 값으로 나타남
2진수를 10진수로 변환하는 과정
3/60
수의 표현
Computer Architecture
진법_3
–8진법
8진법의 수는 밑수가 8이 됨
0에서 7까지의 8개 기호로 구성
예) (124)8의 값은 (124)8 = 1ⅹ82+2ⅹ81+4ⅹ80 = (84)10으로 표현
–16진법
16진법의 수는 밑수가 16이 됨
0에서 9까지의 10개의 숫자와 A, B, C, D, E, F를 합하여 16개의 기호로 구성
(A=10, B=11, C=12, D=13, E=14, F=15)
예) (7B)16 = 7ⅹ161+Bⅹ160 = 7ⅹ161+11ⅹ160 = (123)10
4/60
수의 변환
Computer Architecture
2진수,8진수,16진수에서 10진수로 변환 - P131
1011
1
0
1
123
1
2
3
AF
10
10010 11011
1
15
1
1
1
-1
1
-2
5/60
1
-4
1
-5
수의 변환
Computer Architecture
10진수를 2진수, 8진수, 16진수로 변환 – P132
2
75
2
37 … 1
2
18 … 1
2
9 …0
2
4 …1
2
2 …0
0.375
X
2
0.750
X
2
1.500
X
2
1.000
1 …0
= (0.011)2
= (1001011)2
※ 진법 변환 시에 정수 부는 나눗셈으로 , 소수 부는 곱셈으로 처리
6/60
수의 변환
Computer Architecture
※ 진법의 일반형
10진수 (1204.5)10 = 1X1000 + 2x100 + 0x10 + 4x1 + 5x0.1
104
10000
103
102
101
1000
100
10
1
2
0
1000 + 200 + 0 +
100
1
4
4 +
10-1
0.1
5
0.5
10-2 10-3
0.01 0.001
= 1204.5
※ 10진수를 2진수로 변환 (2 진 자릿수의 10진값을 이용하는 방법 - 뺄셈 처리)
2진 자릿수 28
10진 값
27
x2
26
x2
256 128 64
25
x2
24
x2
32
23
x2
16
22
x2
8
21
x2
4
20
x2
2
2-1
/2
1
/2
0.5
2-2
2-3
/2
2-4
/2
0.25 0.125 0.0625
(5)10 = 4 + 1 = (101)2
(9)10 = 8 + 1 = (1001)2
(7.5)10 = 4 + 2 + 1 + 0.5 = (111.1)2
(6.625)10 = 4 + 2 + 0.5 + 0.125 = (110.101)2
(14.75)10 = 8 + 4 + 2 + 0.5 + 0.25 = (1110.11)2
7/60
14
- 8
6
- 4
2
2
0
0.75
- 0.5
0.25
- 0.25
0
수의 변환
Computer Architecture
10진수를 2진수, 8진수, 16진수로 변환 – P132
※ 10진수를 2진수로 변환 (2 진 자릿수의 10진값을 이용하는 방법)
28
27
x2
26
25
x2
x2
256 128 64
24
x2
32
23
x2
16
22
x2
8
21
x2
4
(75)10 = 64 + 8 + 2 + 1 = (1001011)2
75
- 64
11
- 8
3
- 2
1
1
0
20
x2
2
2-1
/2
1
/2
0.5
2-2
2-3
/2
/2
0.25 0.125 0.0625
(0.375)10 = 0.25 + 0.125 = (0.011)2
0.375
-0.25
0.125
-0.125
0
8/60
2-4
수의 변환
Computer Architecture
8421 코드
- 10진수 한자리를 4비트의 2진수로 표현한 코드
10진수
0
1
2
3
4
5
6
7
8
9
=>
=>
=>
=>
=>
=>
=>
=>
=>
=>
8421코드
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
=>
=>
=>
=>
=>
=>
=>
=>
=>
=>
9/60
0
1
2
2
4
4
4
4
8
8
+1=3
+1=5
+2=6
+2+1=7
+1=9
수의 변환
Computer Architecture
2진수, 8진수, 16진수의 상호 변환_1 – P132
–8진 숫자와 2진수와의 대응관계는 아래 그림과 같음
2진수를 8진수로 변환하려면 3비트씩 차례로 묶은 다음에 각 묶음에 대응되는
8진수를 표시하면 됨
–아래 그림은 2진수 111010011을 8진수로 변환한 것
10/60
수의 변환
Computer Architecture
2진수, 8진수, 16진수의 상호 변환_2
–16진법은 표기가 간단하고 대부분 컴퓨터의 데이터 표현에서 사용
–16진수 1자리는 2진수 4자리로 표현할 수 있음
11/60
수의 변환
Computer Architecture
2진수, 8진수, 16진수의 상호 변환_3
–2진수에서 16진수로의 변환
각 2진수를 4비트씩 차례로 묶어서 16진법 숫자로 변경
–2진수를 8진수, 16진수로 변환
8 = 23 , 3개씩
16 = 24 , 4개씩
12/60
수의 변환
Computer Architecture
2진수, 8진수, 16진수의 상호 변환_4
–8진수를 2진수로, 16진수를 2진수로 변환
–8진수를 16진수로, 16진수를 8진수로 변환
8진수
2진수
13/60
16진수
2진수의 연산
Computer Architecture
덧셈 – P134
–다음과 같이 보통의 덧셈처럼 계산
–10진수와 2진수 덧셈의 예
14/60
2진수의 연산
Computer Architecture
뺄셈_1 – P135
–직접 뺄셈을 하는 컴퓨터도 있지만, 대부분의 컴퓨터는 감수를 1의 보수나
2의 보수를 취하여 피감수에다 덧셈을 하여 처리함
–2진수에서 1의 보수는 0을 1로, 1을 0으로 변환하여 구함
–2진수에서 2의 보수는 1의 보수에 1을 더하여 구할 수 있음
–1의 보수에서 오버플로에 의한 연산 처리가 복잡한 것은 올림 수가 있을
때 최하위 비트에 1을 더해서 처리해야 되기 때문이며, 2의 보수에서는 끝
자리 올림 수가 있으면 그것을 무시하므로 간단해 짐
15/60
2진수의 연산
Computer Architecture
뺄셈_2
–1의 보수로 뺄셈을 처리하는 과정
피감수 M에 감수 N의 1의 보수를 취하여 덧셈
위에서 얻은 결과에서 끝자리 올림 수(end carry)를 조사
–끝자리 올림 수가 있으면 최하위 비트에 1을 더함
–끝자리 올림 수가 없으면 덧셈하는 과정에서 얻은 결과를 다시 1의 보수를 취하고, 그
수 앞에 –부호를 붙임
1의 보수를 이용한 덧셈으로 13(00001101)에서 6(00000110)을 빼는 뺄셈
과 6에서 13을 빼는 뺄셈 수행 예제
16/60
2진수의 연산
Computer Architecture
뺄셈_3
–2의 보수로 뺄셈을 처리하는 과정
피감수 M에 감수 N의 2의 보수를 취하여 덧셈
위에서 얻은 결과에서 끝자리 올림 수를 조사
–끝자리 올림 수가 있으면 그것을 무시
–끝자리 올림 수가 없으면 덧셈하는 과정에서 얻은 결과를 다시 2의 보수를 취하고, 그
수 앞에 –부호를 붙임
2의 보수를 이용한 덧셈으로 뺄셈을 수행하는 예제
17/60
2진수의 연산
Computer Architecture
뺄셈_4
* 보수 : 어떤 값의 N의 보수란 어떤 값이 N 값이 되기 위해 필요한 수
N의
(10의
보수, 2의
보수)
=>보수
보수를
사용하여
뺄셈을
덧셈으로 처리 N-1의 보수 (9의 보수, 1의 보수)
10진법
2진법
6
6
3
3
- 3 => + 7
- 6 => + 4
+10
+10
9 07
3 9 -10 1310의 보수
-3
-10
3
+
7
(자리올림 삭제)
(- 부호 & 보수처리)
6
16
3
-3
자리올림 삭제
110
* 1에 대한110
10의 보수 =011
10 -1 = 011
9
-011
=>
+101
-110
=>
+010
* 1에 대한 9의 보수 = 9 – 1 = 8
011
1011
-011
0101
* 1에 대한
1의 보수 (-= 부호
1 – 1& =
0 =>
(자리올림
삭제)
보수처리)
* 0에 대한 1의 보수 = 1 – 0 = 1 =>
011
-011
18/60
6
6
- 3 => +6
+9
9
9
3
-9 12
- 덧셈)
3
+ 7 ((자리올림
6
16
3
3
3
- 6 => + 3
+9
-3
06
-9
+10
부호 & 보수처리)
-10
-3
110
110
011
011
-011 => +100
-110 => +001
011
1010
-011
0100
반전(자리올림
(논리 부정덧셈)
NOT)으로
(- 처리
부호 & 보수처리)
반전 (논리 부정 NOT)으로 처리
011
-011
2진수의 연산
Computer Architecture
곱셈 – P136
–2진수의 곱셈에는 여러 가지 방법이 있으나 일반적인 곱셈의 원리는 반
복적인 덧셈으로, 곱하는 수의 최하위 수를 조사하여 자리 옮김과 덧셈으
로써 곱셈이 이루어짐
–2진수 곱셈의 예
19/60
2진수의 연산
Computer Architecture
나눗셈 – P136
–2진수의 나눗셈은 나누어지는 수의 맨 윗자리와 나누는 수의 맨 윗자리
를 맞춘 후 뺄셈과 자리 옮김으로써 나눗셈이 가능함
–나눗셈의 예
컴퓨터에서의 2진 연산은 뺄셈, 곱셈, 나눗셈 모두가 덧셈으로 변환
이 가능하기 때문에 컴퓨터 내부에서는 가산기(adder)를 이용하여
4칙 연산을 수행
20/60
컴퓨터 내부에서의 데이터의 표현
Computer Architecture
컴퓨터 내에서 표현할 수 있는 문자 – P137
–숫자와 영문자, 특수 기호, 한글 등의 여러 가지가 있고 이들 문자는 2진
수로 기호화(code)되어 기억장치에 비트단위 조합으로 표현
비트(bit)
–1과 0의 두 가지 상태의 컴퓨터에서 데이터를 표현하는 최소 단위
바이트(byte)
–8개의 비트를 모은 것으로 하나의 문자를 표현하는 기본 단위
–아래 그림과 같이 4비트 단위로 존 영역과 디지트 영역으로 나뉨
21/60
컴퓨터 내부에서의 데이터의 표현
Computer Architecture
MSB(Most Significant Bit) 와 LSB(Least Significant Bit)
–0번째 비트 부분을 MSB라고 함
–7번째 비트를 LSB라고 함
–예를 들어 2바이트로 표현되면 0번째 비트 부분은 MSB이며 15번째 비
트 부분이 LSB가 됨
1 바이트는 256개의 (28)의 데이터를 표현할 수 있음
–컴퓨터 내부에 데이터를 기억시키거나 데이터를 읽을 때에는 여러 개의
비트를 모아서 처리하는데 이를 워드(word)라 함
22/60
수치 데이터
Computer Architecture
수치 데이터 – P138
–사칙 연산의 대상이 되는 데이터를 말하는 것으로써 정수(고정 소수점)
데이터 형식과 실수(부동 소수점) 데이터 형식, 10진 데이터 형식이 있음
컴퓨터에서의 데이터 표현 방법
23/60
수치 데이터
Computer Architecture
2진 정수의 표현_1 – P138
–정수를 나타내는 데이터 형식으로 2 바이트/4 바이트 정수형을 많이 사용
–정수형 데이터 형식은 첫 번째 비트의 부호 비트와, 그 외 나머지 비트인
2진수 형태의 정수 값을 표시하는 정수부로 구성
–부호 비트는 데이터의 값이 양수(+)이면 0으로, 음수(-)이면 1로 표시
–정수부는 양수일 경우 ’부호와 절대값’으로 표현하고, 음수일 경우 ‘부호와
절대값’ , ‘1의 보수’ , ‘2의 보수’로 표현하며 2의 보수 표현을 많이 사용
–n비트의 부호화된 2의 보수로 표현할 수 있는 수의 범위는 -2n-1~2n-1-1
16비트
2바이트 (16비트)
부호
32비트
4바이트 (32비트)
부호
24/60
수치 데이터
Computer Architecture
2진 정수의 표현_2
-18에 대한 부호와 절대값 표현
–고정 소수점 방법의 10진수 +18에
–10진수 +(18)
-(18)10 => 2진수 +(10010)
-(10010)2
* N의 보수
어떤 값의 N의 보수란
어떤 값이 N 값이 되기
위해 필요한 수
1
부호
절대값
가상 소수점 위치
–고정 소수점 방법의 10진수 -18에 대한
1의 보수 표현
1의 보수는 절대 값의 0과 1을 반전시켜 구함
부호
1의 보수
–고정 소수점 방법의 10진수 -18에 대한
2의 보수 표현
2의 보수는 1의 보수를 구한 후 +1 해서 구함
부호
2의 보수
25/60
수치 데이터
Computer Architecture
2진 정수의 표현_3
–고정 소수점 연산의 장단점
26/60
수치 데이터
Computer Architecture
2진 정수의 표현_4
–1바이트를 기준으로 한 수의 표시 범위
영(0) 값의 표시에서 있어서 부호와 절대값과 1의 보수는 +0과 -0이 존재하며
2의 보수는 -0이 존재하지 않음
+3
0
11
0
11
0
11
+2
0
10
0
10
0
10
+1
0
01
0
01
0
01
+0
0
00
0
00
0
00
-0
1
00
1
11
-1
1
01
1
10
1
11
-2
1
10
1
01
1
10
-3
1
11
1
00
1
01
1
00
-4
27/60
수치 데이터
Computer Architecture
2진 실수의 표현_1 – P140
–실수를 나타내는 데이터 형식으로 4바이트/8바이트 실수형을 사용
–부호(sign), 지수부(exponent), 가수부(mantissa)로 구성됨
–부호 비트는 정수형과 마찬가지로 양수이면 0, 음수이면 1로 표시
–처리과정은 실수로 표현할 수치를 진수변환 및 정규화 처리 후, 저장
공간에 알맞게 부호와 지수부, 가수부를 배치
28/60
수치 데이터
Computer Architecture
2진 실수의 표현_2
–정규화(normalization) 표현
=> 소수점을 기준으로 오른쪽 부분에 0이 아닌 수치가, 왼쪽 부분은 0이
나타나도록 지수부를 조정하는 방법
–정규화 예
(0.1234)10 X 100
=>
0.1234 X 100
(12.34)10 X 100
=>
0.1234 X 102
(0.001234)10 X 100
=>
0.1234 X 10-2
29/60
수치 데이터
Computer Architecture
2진 실수의 표현_3
–부호는 양수는 0, 음수는 1로 표현
–지수는 64 바이어스 방법을 사용
160을 1664로 표현하고, 16-1은 1663로, 161은 1665로 표현하는 방법
지수의 음수 표현을 양수 표현으로 바꾸고자 사용
양수
양수/음수
64바이어스 방법
127
63
127
126
62
126
64 개
128 개
= 27
7비트
65
1
65
64
0
64
63
-1
63
1
-63
1
0
-64
0
30/60
64개
수치 데이터
Computer Architecture
2진 실수의 표현_4
–실수 +(0.0390625)10를 4바이트 실수형 표현으로 나타내시오.
여기서 지수는 64바이어스를 사용한다고 가정한다.(16진수 지수 베이스)
16진수의 정규화 표현으로 변환
(1) 16진수 값으로 변환 : +(0.0390625)10 => +(0.0A)16
(2) 16진수 값의 정규화 표현 (부호, 가수부, 지수부로 표현 & 64바이어스 사용)
+(0.0A)16 => +0.A X 16-1 => 64바이어스 => +0.A X 1663
부호, 지수, 가수를 4바이트 저장 공간에 맞게 표현
부호
지수
가수
0
0111111
1010 0000 0000 0000 0000 0000
3
F
1비트 + 7비트
A
+
0
0
24비트
31/60
0
0
0
= 32비트 (4바이트)
수치 데이터
Computer Architecture
2진 실수의 표현_5
–실수 +(0.375)10를 4바이트 실수형 표현으로 나타내시오.
여기서 지수는 64바이어스를 사용한다고 가정한다.(16진수 지수 베이스)
16진수의 정규화 표현으로 변환
(1) 16진수 값으로 변환 : +(0.375)10 => +(0.6)16
(2) 16진수 값의 정규화 표현 (부호, 가수부, 지수부로 표현 & 64바이어스 사용)
+(0.6)16 => +0.6 X 160 => 64바이어스 => +0.6 X 1664
부호, 지수, 가수를 4바이트 저장 공간에 맞게 표현
4
0
1비트 + 7비트
6
+
0
0
24비트
32/60
0
0
0
= 32비트 (4바이트)
수치 데이터
Computer Architecture
10진 데이터의 표현_1 – P141
–10진수 1자리를 4비트로 표현하는 2진화 10진 형식
–2진화 10진 형식
팩 형식(pack format)과 존 형식(zone format)으로 구분할 수 있으며
존 형식은 언팩(unpack) 형식이라고도 함
존(Zone) 형식 에서 1바이트의 왼쪽 4비트는 존을 1111(F16)으로 나타내고
오른쪽 4비트는 숫자를 나타내는 형식으로 숫자당 8비트를 사용
존 형식에서는 가장 오른쪽 바이트의 존(zone) 부분에 부호를 표현
팩(Pack) 형식 은 1바이트에 2개 숫자를 4비트씩 나타내는 형식으로 숫자당
4비트를 사용
팩 형식에서는 가장 오른쪽 4비트 영역에 부호를 표현
표준 부호는 양수이면 1100(C16)로, 음수이면 1101(D16)로 나타냄
33/60
수치 데이터
Computer Architecture
10진 데이터의 표현_2
–존 형식은 아래 그림과 같이 표현됨
바이트
1111
숫자
1111
숫자
부호
숫자
zone
digit
zone
digit
sign
digit
–존 형식으로 +123과 -123을 표현하면 아래 그림과 같음
2진수
16진수
2진수
16진수
34/60
수치 데이터
Computer Architecture
10진 데이터의 표현_3
–팩 형식은 아래와 같이 표현됨
바이트
숫자
숫자
숫자
숫자
숫자
부호
digit
digit
digit
digit
digit
sign
–부호는 양수와 음수에 있어 여러 가지를 사용할 수 있으나 일반적으로
양수는 C, 음수는 D를 사용
–팩 형식으로 +1234와 -1234를 표현하면 아래 그림과 같음
2진수
16진수
2진수
16진수
35/60
수치 데이터
Computer Architecture
10진 데이터의 표현_4
–존 형식에서 팩 형식으로의 변환
36/60
문자 데이터
Computer Architecture
2진화 10진 코드(BCD, Binary Coded Decimal)_1 – P143
–BCD 코드는 원래 10진수 숫자를 나타내기 위한 4비트의 조합이었으나
그 후, 2비트를 추가하여 6비트로 구성해 영문자, 특수 문자 등을 표현
–10진법의 모든 수는 2진법의 8, 4, 2, 1의 4자리에 맞추어 표현
–6비트 BCD코드의 경우 표현 가능한 문자의 수는 26=64가지가 됨
–존 비트(zone bit)
BCD 코드 왼쪽의 2비트로서 전화 번호의 국 번호와 같은 역할을 함
A~I는 11, J~R은 10, S~Z는 01, 숫자 0~9는 00 값으로 할당
–디지트 비트(digit bit)
BCD 코드의 나머지 4비트로서 일련 번호와 같은 역할을 함
–패리티 비트(parity bit)
기계적인 에러를 검사하는 용도로 사용하며 왼쪽 끝에 더 붙일 수 있음
37/60
문자 데이터
Computer Architecture
2진화 10진 코드(BCD, Binary Coded Decimal)_2
–BCD와 10진수와의 관계는 아래 그림과 같음
38/60
문자 데이터
Computer Architecture
ASCII 코드 – P144
–7개의 비트로 구성된 코드이며 3개의 존과 4개의 숫자로 구성
–3비트의 존은 영문자, 숫자, 특수 문자 등을 구분할 수 있도록 함
–최근 패리티 비트를 추가하여 8자리의 2진 코드로 많이 사용함
–PC 기종에서 널리 이용되며 데이터 통신용으로 많이 사용됨
39/60
문자 데이터
Computer Architecture
EBCDIC 코드 – P145
–8비트로 4개의 존(zone) 비트와 4개의 숫자(digit) 비트로 구성됨
–8비트 코드이므로 28(=256)개의 서로 다른 문자를 표현
–IBM 대형 컴퓨터에서 기본으로 사용되었으며 아래와 같이 표현
40/60
문자 데이터
Computer Architecture
각 코드의 비교-1
41/60
문자 데이터
Computer Architecture
각 코드의 비교-2
42/60
문자 데이터
Computer Architecture
각 코드의 비교-3
43/60
패리티 비트
Computer Architecture
패리티 비트(Parity bit) – P147
–원래의 코드에 1비트의 검사용 비트를 추가해서 에러를 검사하기 위한 것
으로 자기 테이프나 자기 디스크 등에서 데이터와 함께 기록
–코드의 전체 비트 중 1의 비트의 개수가 홀수 및 짝수를 유지하게 함
–홀수 패리티는 코드에서 1의 수가 홀수이면 0, 짝수이면 1을 붙임
44/60
해밍 코드
Computer Architecture
해밍 코드(Hamming code)_1 – P148
–해밍이 고안했으며 잘못된 정보를 발견하고 수정할 수 있게 한 코드
–4비트의 2진화 10진수는 검사 비트 3비트가 필요
45/60
해밍 코드
Computer Architecture
해밍 코드_2
–검사 비트의 기능
C1은 1, 3, 5, 7에 짝수/홀수 패리티 검사
C2는 2, 3, 6, 7에 짝수/홀수 패리티 검사
C4는 4, 5, 6, 7에 짝수/홀수 패리티 검사
C4
C2
C1
1
0
0
1
2
0
1
0
3
0
1
1
4
1
0
0
5
1
0
1
6
1
1
0
7
1
1
1
–10진수 (3)10의 짝수 패리티를 사용하는 해밍 코드 계산
정상적으로 표현된 해밍 코드
46/60
해밍 코드
Computer Architecture
해밍 코드_3
–단일 에러를 교정하는 예로서 10진수 3에 대한 교정 과정의 예
에러가 발생하여 10진수의 3이 아래와 같은 내용으로 바뀌었다고 가정
47/60
해밍 코드
Computer Architecture
해밍 코드_4
–단일 에러를 교정하는 예로서 10진수 3에 대한 교정 과정의 예
C1, C2, C4가 짝수 패리티 검사의 규칙에 맞는가를 살펴서 에러를 찾음
48/60
그레이 코드
Computer Architecture
그레이 코드(Gray code)_1 – P150
–비가중치 코드이므로 연산에는 부적합하지만 장점으로 어떤 코드로부터
다음 코드로 증가시 한 비트만 변경하면 됨
–데이터의 전송 장치, 입출력 장치, 아날로그-디지털 변환기와 같은 주변
장치에 많이 사용됨
–그레이 코드->BCD , BCD->그레이 코드 변환
49/60
그레이 코드
Computer Architecture
그레이 코드(Gray code)_2
10진수
BCD
Gray Code
1
0001
0001
2
0010
0011
3
0011
0010
4
0100
0110
5
0101
0111
6
0110
0101
7
0111
0100
8
1000
1100
9
1001
1101
10
1010
1111
50/60
그레이 코드
Computer Architecture
그레이 코드(Gray code)_3
–2진수 (1010)2을 그레이 코드 변환하는 과정
–그레이 코드 1111을 2진수로 변환하는 과정
51/60
액세스-3 코드
Computer Architecture
 3 초과 코드(Excess-3 code)_1 – P151
–8421코드에 3을 더한 코드로 3초과 코드 또는 3중 코드라고 함
–액세스-3 코드의 0과 9, 1과 8, 2와 7 등이 보수 관계에 있기 때문에
자보수 코드(self-complement code)임
–자릿수가 특별한 의미를 지니지 않는 비가중치 코드임
–액세스-3 코드와 8421 코드
52/60
액세스-3 코드
Computer Architecture
액세스-3 코드(Excess-3 code)_2
–BCD 코드를 액세스-3 코드로 변환하는 회로 설계 과정
입력 BCD 코드는 아래 표와 같이 액세스-3 코드로 변환됨
53/60
액세스-3 코드
Computer Architecture
액세스-3 코드(Excess-3 code)_3
–BCD 코드를 액세스-3 코드로 변환하는 회로 설계 과정
진리표로부터 얻은 결과를 카르노 도표를 이용하여 간소화
54/60
액세스-3 코드
Computer Architecture
액세스-3 코드(Excess-3 code)_4
–BCD 코드를 액세스-3 코드로 변환하는 회로 설계 과정
간소화된 식을 이용하여 회로도 작성
55/60
2-5진 코드
Computer Architecture
2-5진(biquinary) 코드 – P154
–bi는 2를 의미하고 quinary는 5를 의미함
–7개 비트로 되어 있으며 그 비트 중에서 1의 개수는 두 개임
–가중치 코드이며 각 비트 순서대로 5043210의 가중치를 가짐
56/60
링 카운터 코드
Computer Architecture
링 카운터 코드(Ring counter code) – P154
–개념이 간단하고 전자 회로 구성이 매우 용이함
–각 자릿수의 가중치가 0, 1, 2, …, 9인 가중치 코드임
–각 코드 내에 1 값이 한 개만 있으며 코드 값에 따라 순차적으로 이동
57/60
2421코드
Computer Architecture
2421코드 – P155
–각 자릿수의 가중치가 2, 4, 2, 1인 가중치 코드임
–1111은 십진수 2 + 4 + 2 + 1을 더한 9가 됨
58/60
수의 표현
Computer Architecture
특징
코드
그레이 코드
비가중치 코드 , 다음 코드로의 이동이 1 비트 변화로 처리 ,
데이터 전송과 입출력장치 및 아날로그 디지털 변환기에 사용
3초과 코드
8421 코드에 3을 더한 코드로 , 비가중치 코드이며
자보수 코드
2-5진 코드
Biquinary의 bi는 2를 의미하고 quinary는 5를 의미함
가중치 코드이며 7비트이고 5043210의 가중치를 사용
링카운트 코드 각 자릿수의 가중치가 0, 1, 2, …, 9인 가중치 코드
각 코드 내에 1 값이 한 개만 존재하며 순차적으로 이동
2421 코드
각 자릿수의 가중치가 2, 4, 2, 1인 가중치 코드
59/60
주요 학습 내용
Computer Architecture





수의 표현(진법) 및 변환
2진 연산 및 보수
수치 데이터(정수, 실수, 10진 데이터)의 표현
문자 데이터(ASCII, EBCDIC 코드)의 표현
기타 데이터(3초과, 그레이, 해밍 코드)의 표현
60/60