44
데데데데 데데 데데데데 데데 (data (data Representation) Representation) Lecture #3 Lecture #3

데이터의 표현 (data Representation)

Embed Size (px)

DESCRIPTION

데이터의 표현 (data Representation). Lecture #3. 데이터의 종류 (1). Information that a Computer is dealing with Data Numeric Data - Numbers( Integer, real) Non-numeric Data - Letters, Symbols Relationship between data elements Data Structures - Linear Lists, Trees, Rings, etc Program(Instruction). - PowerPoint PPT Presentation

Citation preview

Page 1: 데이터의 표현 (data Representation)

데이터의 표현데이터의 표현(data(data Representation)Representation)

Lecture #3Lecture #3

Page 2: 데이터의 표현 (data Representation)

데이터의 종류 데이터의 종류 (1)(1)

▶ Information that a Computer is dealing with▷ Data

Numeric Data - Numbers( Integer, real) Non-numeric Data - Letters, Symbols

▷ Relationship between data elements Data Structures - Linear Lists, Trees, Rings, etc

▷ Program(Instruction)

컴퓨터시스템구조 2

Page 3: 데이터의 표현 (data Representation)

데이터의 종류 데이터의 종류 (2)(2)

▶ 데이터의 이진코드화 ▷ 모든 자료는 2 진수로 변환되어 컴퓨터에서 처리 또는 저장됨

▶ 데이터의 분류▷ 수치 데이터 (Numeric Data)

산술연산에 사용하는 숫자 ( 정수 /실수 ) ▷ 비수치 데이터 (Non-numeric data)

데이터 처리에 사용하는 문자 (character) 특수목적에 사용하는 기호 (symbol)

컴퓨터시스템구조 3

Page 4: 데이터의 표현 (data Representation)

수의 체계수의 체계

▶ 수의 체계 (Number System)▷ 비자리 수 체계 (Non-positional number system)

Roman number system

▷ 자리 수 체계 (Positional number system) Each digit position has a value called a weight associated

with it Decimal, Octal, Hexadecimal, Binary

▶ R- 진수 (Base (or radix) R number)▷ 각 자리 수에 R 개의 수 ( 기호 ) 를 사용하여 수를 표현

▷ 예 : AR = an-1 an-2 ... a1 a0 .a-1…a-m

▷ V(AR) =

컴퓨터시스템구조 4

R = 10 Decimal number system, R = 2 BinaryR = 8 Octal, R = 16 Hexadecimal

1n

mi

ii Ra Radix point(.) separates the integer

portion and the fractional portion

Page 5: 데이터의 표현 (data Representation)

수의 표현 수의 표현 (1)(1)

▶ 10 진법 (Decimal)▷ 0,1,…,9 의 10 진수로 수를 표시 ▷ (724.5)10 = 724.5 = 7×102+2×101+4×100+5×10-1

▶ 2 진법 (Binary)▷ 0, 1 의 2 진수로 수를 표시 ▷ (101101)2 = 1×25+0×24+1×23+1×22+0×21+1×20 = (45)10

▶ 8 진법 (Octal)▷ 0,1, …,7 의 8 진수로 수를 표시 ▷ (736.4)8 = 7×82+3×81+6×80+4×8-1 = (478.5)10

▶ 16 진법 (Hexadecimal)▷ 0,1,…, 9,A,B,C,D,E,F 의 16 진수로 수를 표시 ▷ (F3)16 = 15×161+3×160 = (243)10

컴퓨터시스템구조 5

Page 6: 데이터의 표현 (data Representation)

수의 표현 수의 표현 (2)(2)

컴퓨터시스템구조 6

Decimal Binary Octal Hexadecimal 00 0000 00 0 01 0001 01 1 02 0010 02 2 03 0011 03 3 04 0100 04 4 05 0101 05 5 06 0110 06 6 07 0111 07 7 08 1000 10 8 09 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

Binary, octal, and hexadecimal conversion

1 0 1 0 1 1 1 1 0 1 1 0 0 0 1 11 2 7 5 4 3

A F 6 3

OctalBinaryHexa

Page 7: 데이터의 표현 (data Representation)

수의 표현 수의 표현 (3) – (3) – 진법 변환진법 변환

▶ R 진수에서 10 진수로의 변환

▶ 10 진수의 R 진수로의 변환▷ 10 진수를 정수 (integer) 와 분수 (fraction) 부분으로 나누고 각 부분을

별도로 변환▷ 정수 부분의 R- 진수 변환 : R 로 연속적으로 나누고 나머지를 누적하여

생성▷ 분수 부분의 R- 진수 변환 : 연속적으로 R 을 곱하여 정수 자리수를

누적하여 생성

컴퓨터시스템구조 7

V(A) = akRk

A = an-1 an-2 an-3 … a0 . a-1 … a-m

(736.4)8 = 7 x 82 + 3 x 81 + 6 x 80 + 4 x 8-1

= 7 x 64 + 3 x 8 + 6 x 1 + 4/8 = (478.5)10(110110)2 = ... = (54)10

(110.111)2 = ... = (6.785)10

(F3)16 = ... = (243)10

(0.325)6 = ... = (0.578703703 .................)10

Page 8: 데이터의 표현 (data Representation)

수의 표현 수의 표현 (4) – (4) – 진법 변환 예진법 변환 예

컴퓨터시스템구조 8

Integer = 414120 110 0 5 0 2 1 1 0 0 1

Fraction = 0.68750.6875x 21.3750x 20.7500x 21.5000 x 21.0000

(41)10 = (101001)2 (0.6875)10 = (0.1011)2

(41.6875)10 = (101001.1011)2

Convert (63)10 to base 5: (223)5

Convert (1863)10 to base 8: (3507)8

Convert (0.63671875)10 to hexadecimal: (0.A3)16

Exercise

Convert 41.687510 to base 2.

Page 9: 데이터의 표현 (data Representation)

수의 표현 수의 표현 (5) - BCD(5) - BCD

▶ 10 진수의 표시 ▷ 실세계에서는 10 진수를 사용

10 진수의 입력을 2 진수로 바꾸어 산술연산을 수행한 다음에 연산결과를 10 진수로 바꾸어 출력

▷ 경우에 따라서는 10 진수를 2 진화 10 진수 (BCD) 의 형태로 직접 계산하는 것도 가능

▶ 2 진화 10 진수(BCD: Binary-Coded Decimal) ▷ 4 비트로 10 진수 1 자리를 표시

컴퓨터시스템구조 9

Page 10: 데이터의 표현 (data Representation)

수의 표현 수의 표현 (6) – (6) – 영자숫자 표현영자숫자 표현

▶ 코드 (Code) ▷ 텍스트 데이터로 취급되는 문자 , 기호도 코드화 ▷ 10 개의 숫자 , 26 개의 영어대문자 , 특수기호 등의 32~64 개를

문자로 표시하여 6 비트가 필요 ▷ 영어의 소문자까지 합쳐 7 비트 필요

▶ 표준코드 ▷ ASCII(American National Standard Code for Information

Interchange) ▷ 숫자일 경우 상위 3 비트 011 을 제외하면 BCD 와 동일▷ ASCII 코드가 단말기로부터 컴퓨터로 들어오면 BCD 코드로

바뀐다

컴퓨터시스템구조 10

Page 11: 데이터의 표현 (data Representation)

수의 표현 수의 표현 (7) – (7) – 영자숫자 표현영자숫자 표현

컴퓨터시스템구조 11

Page 12: 데이터의 표현 (data Representation)

보수 보수 (1)(1)

▶ 보수 (Complementary Number) ▷ 디지털 컴퓨터에서 뺄셈연산과 논리계산에 사용된다

▶ R 진법에서의 보수 ▷ 두 종류의 보수가 존재

R 의 보수 (R-1) 의 보수

▷ 2 진수에서는 1 의 보수와 2 의 보수 ▷ 10 진수에서는 9 의 보수와 10 의 보수

컴퓨터시스템구조 12

Page 13: 데이터의 표현 (data Representation)

보수 보수 (2)(2)

▶ (R-1) 의 보수 ▷ n- 자리의 수 N 에 대한 (R-1) 의 보수 : (Rn-1)-N

▶ 10 진수의 9 의 보수▷ 10 진수에서 10n 은 하나의 1 과 뒤이은 n 개의 0 으로 구성되고

10n-1 은 n 개의 9 로 구성 ▷ 9 의 보수는 각 자리의 숫자를 9 에서 뺀 것과 동일 ▷ 예 : 546700 에 대한 9 의 보수 = 999999-546700 = 453299

▶ 2 진수의 1 의 보수 ▷ n- 자리 2 진수 N 에 대한 1 의 보수 : (2n-1)-N ▷ 2 진수에서 2n 은 1 과 뒤이은 n 개의 0 으로 구성되어 있으며 2n-

1 은 n 개의 1 로 구성 ▷ 2 진수에 대한 1 의 보수는 각 자리의 숫자를 1 에서 뺀 것과 같다 ▷ 예 : 1011001 에 대한 1 의 보수 = 1111111 – 1011001 =

0100110컴퓨터시스템구조 13

Page 14: 데이터의 표현 (data Representation)

보수 보수 (3)(3)

▶ R 의 보수 ▷ n- 자리의 수 N 에 대한 R 의 보수 : Rn-N (if N≠0)▷ If N=0, N 의 R 의 보수 = 0▷ R 의 보수 = (R-1) 의 보수 + 1

Rn-N=[(Rn-1)-N]+1 이 성립 ▷ 예 :

2389 에 대한 10 의 보수 = 7610+1= 7611 101100 에 대한 2 의 보수 = 010011+1= 010100

컴퓨터시스템구조 14

Page 15: 데이터의 표현 (data Representation)

보수 보수 (4)(4)

▶ 소수점을 가진 숫자 N 의 보수 ▷ 소수점을 생략한 채로 각각 R 또는 (R-1) 의 보수를 구한다 ▷ 이 보수의 적합한 위치에 소수점을 다시 붙이면 된다

컴퓨터시스템구조 15

Page 16: 데이터의 표현 (data Representation)

보수 보수 (5)(5)

▶ 부호없는 숫자의 뺄셈 ▷ 디지털 하드웨어로 뺄셈을 할 때는 보수를 이용하는 것이 효율적

▶ R 진수의 부호없는 두 개의 n- 자리 수의 뺄셈 M-N(N≠0)의 계산 ▷ 피감수 M 에 감수 N 에 대한 R 의 보수를 더한다 ▷ M – N = M + (Rn - N) = M – N + Rn ▷ M≥N 보수의 합은 end 캐리 Rn 을 만들어 내고 이것을

무시하면 결과는 M-N 이 된다 ▷ M < N 보수의 합은 end 캐리를 만들지 않고 그 값은 Rn-(N-

M) 이다 이것은 (N-M) 에 대한 R 의 보수이므로 R 의 보수를 취하고 그 앞에

뺄셈부호를 붙이면 결과를 얻을 수 있다

컴퓨터시스템구조 16

Page 17: 데이터의 표현 (data Representation)

보수 보수 (6)(6)

▶ 예 : 72532-13250=59282 M 은 72532 N 에 대한 10 의 보수 + 86750 합은 159282 End 캐리 105 을 무시 -100000 답은 = 59282

▶ 예 : M < N 인 경우 13250-72532 = -59282 M 은 13250 N 에 대한 10 의 보수 + 86750 합은 = 40718 end 캐리가 없으므로 (-10 의 보수 ) = -59282

컴퓨터시스템구조 17

Page 18: 데이터의 표현 (data Representation)

보수 보수 (7)(7)

▶ 예 : 2 진수에 대한 뺄셈 X = 1010100 Y = 1000011

a) X-Y 의 계산 b) Y-X 의 계산X = 1010100 Y = 1000011 Y 에 대한 2 의 보수 + 0111101 X 에 대한 2 의 보수 +

0101100 합은 10010001 합은 1101111 End 캐리 27 은 무시 -10000000 X-Y = 0010001

컴퓨터시스템구조 18

Page 19: 데이터의 표현 (data Representation)

컴퓨터 내부에서의 수의 표현컴퓨터 내부에서의 수의 표현

▶ 컴퓨터에서는 하드웨어적인 제약으로 부호를 포함한 모든 것을 0 과 1 로 표현

▶ 부호의 표현▷ 숫자의 맨 왼쪽 비트를 부호비트로 정한다 ▷ 0 이면 부호를 양수 , 1 이면 부호를 음수로 표현

▶ 소수점의 표현▷ 고정 위치의 소수점

2 진 소수점이 항상 동일한 위치에 존재 분수 ( 가수 ) 를 표현하기 위해서 레지스터의 맨 왼쪽에 소수점을

두거나 정수를 표현하기 위해서 레지스터의 맨 오른쪽에 소수점을 둠 저장된 숫자를 분수 또는 정수로 취급

▷ 부동 위치의 소수점 첫번째 레지스터에 저장된 10 진 소수점의 위치로 두번째 레지스터에

저장된 숫자를 표현

컴퓨터시스템구조 19

Page 20: 데이터의 표현 (data Representation)

고정 소숫점 표현 고정 소숫점 표현 (1)(1)

▶ 정수의 표현▷ 소수점이 레지스터 ( 기억장소 ) 의 오른쪽 끝에 있는 것으로 가정▷ 양의 정수 : 부호 0 이고 양의 이진수로 표현 ▷ 음의 정수 : 부호 1 이고 크기를 다음과 같은 방법으로 표현

부호절대값 (signed-magnitude) 표현 부호화된 1 의 보수 (signed-1’s complement) 표현 부호화된 2 의 보수 (signed-2’s complement) 표현

▶ 음수의 부호 절대값 표현 ▷ 음수는 음수의 부호와 그 크기를 나타내는 절대값으로 구성 ▷ (-14) 를 8 비트로 표현하면 (10001110)

컴퓨터시스템구조 20

Page 21: 데이터의 표현 (data Representation)

고정 소숫점 표현 고정 소숫점 표현 (2)(2)

▶ 음수의 부호화된 1 의 보수 표현 ▷ 음수의 표현은 음수에 대한 2 진수 값을 1 의 보수로 표현 ▷ (-14) 를 8 비트로 표현하면 (11110001)

▶ 음수의 부호화된 2 의 보수 표현 ▷ 음수의 표현은 그 수에 대한 2 진수의 값을 2 의 보수로 표현 ▷ (-14) 를 8 비트로 표현하면 (11110010)

▶ 컴퓨터에서는 주로 음수를 보수로 표현▷ 1 의 보수 : 0 에 대해 두가지 값 (+0, -0) 을 가짐으로

산술연산보다는 논리 연산에 적용▷ 산술연산에는 2 의 보수를 주로 사용

컴퓨터시스템구조 21

Page 22: 데이터의 표현 (data Representation)

고정 소숫점 표현 고정 소숫점 표현 (3)(3)

▶ 산술가산 ▷ 부호 절대값 표현에서 두수의 덧셈은 보통의 산술연산과 동일

두수의 부호가 동일하면 절대값을 더한 후 공통의 부호를 주고 두수의 부호가 다르면 절대값이 큰 수에서 작은 수를 빼고 큰 수의

부호를 붙인다

▷ 부호화된 2 의 보수 표현에서는 비교와 뺄셈이 필요없고 덧셈과 보수화만으로 덧셈계산

먼저 부호를 포함하여 두수를 더한다 부호비트의 캐리는 무시 음수의 결과는 자동적으로 2 의 보수형태로 만들어진다

컴퓨터시스템구조 22

Page 23: 데이터의 표현 (data Representation)

고정 소숫점 표현 고정 소숫점 표현 (4)(4)

▶ 산술가산 예 :

+6 00000110 -6 11111010 +13 00001101 +13 00001101 +19 00010011 +7 00000111

+6 00000110 -6 11111010 -13 11110011 -13 11110011 -7 11111001 -19 11101101

컴퓨터시스템구조 23

Page 24: 데이터의 표현 (data Representation)

고정 소숫점 표현 고정 소숫점 표현 (5)(5)

▶ 산술감산 ▷ 음수가 2 의 보수로 표현되어 있을 때

부호 비트를 포함한 감수의 2 의 보수를 취한 다음 가산 부호비트까지 포함하여 가산 수식의 표현 (±A)-(-B) = (±A)+(+B) (±A)-(+B) = (±A)+(-B) 예 : (-6)-(-13) = +7 를 2 진수 계산하면 11111010 - 11110011 = 100000111 00000111 (+7)

컴퓨터시스템구조 24

Page 25: 데이터의 표현 (data Representation)

고정 소숫점 표현 고정 소숫점 표현 (6)(6)

▶ 오버플로 (Overflow) ▷ n 자리의 두 수를 가산해서 n+1 자리의 합을 얻었을 때

오버플로가 발생하였다고 함 ▷ 디지털 컴퓨터에서 레지스터를 포함한 모든 레지스터의 길이가

한정된 길이이기 때문에 오버플로가 발생할 수 있다 ▷ 오버플로가 발생했을 경우 컴퓨터는 이를 검사하고 그에 대한

플래그 ( 플립플롭 ) 을 설정한다

컴퓨터시스템구조 25

Page 26: 데이터의 표현 (data Representation)

고정 소숫점 표현 고정 소숫점 표현 (7)(7)

▶ 두 수의 덧셈 후의 오버플로 (overflow) 검사 ▷ 두 수의 부호화 여부에 따라 달라진다 ▷ 부호가 없는 수의 덧셈의 경우에 최상위 비트에서 End 캐리가

발생하면 오버플로 판정 가능▷ 부호가 있는 수의 덧셈의 경우에 부호비트도 숫자의 일부로

간주되어 end 캐리만으로는 오버플로 판정 불가능 한 수가 양이고 다른 한 수가 음일 때는 가산 후 오버플로 발생않음 두수가 모두 양이거나 음일 때는 오버플로 발생 가능

컴퓨터시스템구조 26

Page 27: 데이터의 표현 (data Representation)

고정 소숫점 표현 고정 소숫점 표현 (8)(8)

▶ 예 : 8 비트 레지스터의 70 과 80 을 가산 ▷ 레지스터의 최대용량은 (27-1)=127 ▷ 레지스터의 최소용량은 (-27-1)=-128 ▷ 두 수의 합은 150 이므로 레지스터 용량 초과 ▷ 마지막 두 개의 캐리를 찾아서 (XOR) 하여 오버플로 검사

Carries 0 1 Carries 1 0 +70 01000110 -70 10111010 +80 01010000 -80 10110000 +150 10010110 -150 01101010

▷ 마지막 2 개의 캐리를 (XOR) 하여 0 이면 오버플로 발생하지 않은 경우이고 그 결과가 1 이면 오버플로 발생한 경우로 판정

컴퓨터시스템구조 27

Page 28: 데이터의 표현 (data Representation)

고정 소숫점 표현 고정 소숫점 표현 (9)(9)

▶ 십진 고정소수점의 표현 ▷ 레지스터에 저장된 10 진수를 표현하는 것은 십진 숫자를

나타내는 데 사용된 2 진 코드방식에 따라 다르다 ▷ BCD 로 표현된 4385

각 숫자마다 4 개의 플립플롭이 사용되기 때문에 모두 16 개의 플립플롭이 필요

2 진 코드로 표현하면 0100 0011 1000 0101

▷ BCD 의 부호화된 10 진수의 표현 2 진수에서의 부호표현과 비슷 부호화 절대값 표현 부호화된 보수 표현 부호에 있어서 양수는 0, 음수는 9 로 표현

컴퓨터시스템구조 28

Page 29: 데이터의 표현 (data Representation)

고정 소숫점 표현 고정 소숫점 표현 (10)(10)

▶ 십진 고정소수점의 표현 ▷ 덧셈

부호 , 숫자를 포함한 모든 숫자를 더하고 End 캐리를 무시 예 : (+375)+(-240) = +135 0 375 (0000 0011 0111 0101) +9 760 (1001 0111 0110 0000) 0 135 (0000 0001 0011 0101) 두 번째 맨 왼쪽의 9 는 음수표현이고 9760 은 0240 에 대한 10 의

보수 덧셈은 BCD 가산기에서 수행된다

▷ 뺄셈 2 진수에서와 같은 방법으로 감수에 대해 10 의 보수를 취하고

이것을 피감수에 더하여 결과를 얻음

컴퓨터시스템구조 29

Page 30: 데이터의 표현 (data Representation)

부동 소숫점 표현 부동 소숫점 표현 (1)(1)

▶ 숫자의 부동 소수점 표현 ▷ 두 부분으로 구성 : 가수 (mantissa) & 지수 (exponent) ▷ 가수 : 부호화된 고정소수점 숫자 , 분수나 정수 모두 가능 ▷ 지수 : 10 진 또는 2 진 소수점의 위치를 알려주는 부분▷ 예 ) +6132.789 를 부동소수점으로 표현 Fraction Exponent +0.6132789 +04

▶ 부동소수점의 표현 형식 ▷ m×re ▷ m: 가수 e: 지수 r: 밑수 ▷ 레지스터에는 가수와 지수만이 그 부호를 포함해서 저장 ▷ 밑수와 가수의 소수점은 이미 가정되어 있는 것으로 간주

컴퓨터시스템구조 30

Page 31: 데이터의 표현 (data Representation)

부동 소숫점 표현 부동 소숫점 표현 (2)(2)

▶ 2 진수의 부동소수점 표현 형식 ▷ 밑수가 2 ▷ 예 : +1001.11 을 8 비트의 분수와 6 비트의 지수로 표현 Fraction Exponent 01001110 000100 ▷ 분수의 맨 왼쪽 0 은 양수임을 표시 ▷ 분수의 소수점은 부호비트 바로 다음에 표시 ▷ 지수부는 +4 ▷ 2 진수의 부동소수점 표현 형식 m×2e = +(.1001110)2 ×2+4

컴퓨터시스템구조 31

Page 32: 데이터의 표현 (data Representation)

부동 소숫점 표현 부동 소숫점 표현 (3)(3)

▶ 정규화 (Normalization) ▷ 가수의 최상위 비트가 0 이 아닌 경우 ▷ 정규화의 여부는 가수에서의 소수점의 위치와는 관계없이 최상위

비트값에 의해서만 결정 ▷ 예 : 8 비트의 00011010 은 정규화되지 않았다 .

이것을 정규화하기 위해서 왼쪽으로 3 번 시프트한다 11010000×2-3

▶ 부동 소수점 숫자의 산술연산 ▷ 연산이 복잡하고 시간이 많이 걸린다 ▷ 하드웨어적으로 복잡하다 ▷ 매우 큰 수와 매우 작은 수를 표현하기에 편리

컴퓨터시스템구조 32

Page 33: 데이터의 표현 (data Representation)

데이터의 내부 표현 데이터의 내부 표현 & & 외부 표현외부 표현

컴퓨터시스템구조 33

CPUMemory

InternalRepresentation Human

Device

AnotherComputer

ExternalRepresentation

ExternalRepresentation

ExternalRepresentation

Page 34: 데이터의 표현 (data Representation)

데이터의 외부 표현 데이터의 외부 표현 (1)(1)

컴퓨터시스템구조 34

Decimal BCD Code 0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001

Numbers

Most of numbers stored in the computer are eventually changed by some kinds of calculations

→ Internal Representation for calculation efficiency → Final results need to be converted to as External Representation

for presentability

Alphabets, Symbols, and some Numbers

Elements of these information do not change in the course of processing → No needs for Internal Representation since they are not used

for calculations

→ External Representation for processing and presentability

Example Decimal Number: 4-bit Binary Code BCD(Binary Coded Decimal)

Page 35: 데이터의 표현 (data Representation)

데이터의 외부 표현 데이터의 외부 표현 (2)(2)

▶ 기타 10 진 코드 ▷ 10 진수 한 단위를 위해 최소 4 비트가 필요하다

컴퓨터시스템구조 35

Page 36: 데이터의 표현 (data Representation)

데이터의 외부 표현 데이터의 외부 표현 (3)(3)

▶ Gray Code ▷ 한 숫자에서 다음 숫자로 올라갈 때 한 비트만이 변하는 특성을

갖는다 ▷ 주로 제어계통에 사용

컴퓨터시스템구조 36

Decimalnumber

Gray Binary g3 g2 g1 g0 b3 b2 b1 b0

0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 2 0 0 1 1 0 0 1 0 3 0 0 1 0 0 0 1 1 4 0 1 1 0 0 1 0 0 5 0 1 1 1 0 1 0 1 6 0 1 0 1 0 1 1 0 7 0 1 0 0 0 1 1 1 8 1 1 0 0 1 0 0 0 9 1 1 0 1 1 0 0 110 1 1 1 1 1 0 1 011 1 1 1 0 1 0 1 112 1 0 1 0 1 1 0 013 1 0 1 1 1 1 0 114 1 0 0 1 1 1 1 015 1 0 0 0 1 1 1 1

4-bit Gray codes

Page 37: 데이터의 표현 (data Representation)

Letting gngn-1 ... g1 g0 be the (n+1)-bit Gray code

for the binary number bnbn-1 ... b1b0

gi = bi bi+1 , 0 i n-1 gn = bn

and

bn-i = gn gn-1 . . . gn-i

bn = gn

0 0 0 0 00 0 0001 0 1 0 01 0 001 1 1 0 11 0 011 1 0 0 10 0 010 1 10 0 110 1 11 0 111 1 01 0 101 1 00 0 100 1 100 1 101 1 111 1 110 1 010 1 011 1 001 1 000

The Gray code has a reflection property

- easy to construct a table without calculation, - for any n: reflect case n-1 about a mirror at its bottom and prefix 0 and 1 to top and bottom halves, respectively

Reflection of Gray codes

Note:

데이터의 외부 표현 데이터의 외부 표현 (4) (4) – – 그레이 코드 분석그레이 코드 분석

Page 38: 데이터의 표현 (data Representation)

데이터의 외부 표현 데이터의 외부 표현 (5)(5)

▶ 기타 영자숫자 코드 ▷ 아스키 (ASCII) 코드

2 진 정보를 전송하기 위해 공통적으로 사용되는 표준 코드 각 문자는 7 비트로 표시 8 번째 비트로는 패리티 (Parity) 비트 128 개의 문자를 포함

▷ EBCDIC(Extended BCD Interchange Code) 코드 IBM 장비에 사용 각 문자는 8 비트로 표시 9 번째 비트는 패리티 비트

컴퓨터시스템구조 38

Page 39: 데이터의 표현 (data Representation)

ASCII (American Standard Code for Information Interchange) Code

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

NUL

SOH

STX

ETX

EOT

ENQ

ACK

BEL

BS

HT

LF

VT

FF

CR

SO

SI

SP

!

#

$

%

&

(

)

*

+

,

-

.

/

0

1

2

3

4

5

6

7

8

9

:

;

<

=

>

?

@

A

B

C

D

E

F

G

H

I

J

K

L

M

N

O

P

Q

R

S

T

U

V

W

X

Y

Z

[

\

]

m

n

a

b

c

d

e

f

g

h

I

j

k

l

m

n

o

P

q

r

s

t

u

v

w

x

y

z

{

|

}

~

DEL

0 1 2 3 4 5 6 7

DLE

DC1

DC2

DC3

DC4

NAK

SYN

ETB

CAN

EM

SUB

ESC

FS

GS

RS

US

LSB

(4 bits)

MSB (3 bits)

데이터의 외부 표현 데이터의 외부 표현 (6)(6)

Page 40: 데이터의 표현 (data Representation)

NUL NullSOH Start of Heading (CC)STX Start of Text (CC)ETX End of Text (CC)EOT End of Transmission (CC)ENQ Enquiry (CC)ACK Acknowledge (CC)BEL BellBS Backspace (FE)HT Horizontal Tab. (FE)LF Line Feed (FE)VT Vertical Tab. (FE)FF Form Feed (FE)CR Carriage Return (FE)SO Shift OutSI Shift InDLE Data Link Escape (CC)

(CC) Communication Control(FE) Format Effector(IS) Information Separator

DC1 Device Control 1DC2 Device Control 2DC3 Device Control 3DC4 Device Control 4NAK Negative Acknowledge (CC)SYN Synchronous Idle (CC)ETB End of Transmission Block (CC)CAN CancelEM End of MediumSUB SubstituteESC EscapeFS File Separator (IS)GS Group Separator (IS)RS Record Separator (IS)US Unit Separator (IS)DEL Delete

데이터의 외부 표현 데이터의 외부 표현 (7)(7)

Page 41: 데이터의 표현 (data Representation)

에러 검출 코드 에러 검출 코드 (1)(1)

▶ 2 진 정보를 전송할 때 외부잡음이 들어가면 1 이 0 으로 , 0 이 1 로 변하여 에러가 생길 가능성이 있다

▶ 일반적으로 에러 검출방법은 패리티 비트를 사용▷ Even Parity and Odd Parity▷ Even Parity

One bit is attached to the information so that the total number of 1 bits is an even number

1011001 0 1010010 1

▷ Odd Parity One bit is attached to the information so that the total

number of 1 bits is an odd number 1011001 1 1010010 0

컴퓨터시스템구조 41

Page 42: 데이터의 표현 (data Representation)

에러 검출 코드 에러 검출 코드 (2)(2)

▶ 패리티 생성

컴퓨터시스템구조 42

Parity Bit Generation For b6b5... b0(7-bit information); even parity bit beven

beven = b6 b5 ... b0

For odd parity bit

bodd = beven 1 = beven

Page 43: 데이터의 표현 (data Representation)

에러 검출 코드 에러 검출 코드 (3)(3)

▶ 패리티 생성기 및 검사기

컴퓨터시스템구조 43

Parity Generator Circuit (even parity)

b6

b5

b4

b3

b2

b1

b0

beven

Parity Checker

b6

b5

b4

b3

b2

b1

b0

beven

Even Parity error indicator

Page 44: 데이터의 표현 (data Representation)

에러 검출 코드 에러 검출 코드 (4)(4)

▶ 패리티 비트의 생성과 검사기를 위한 진리표

컴퓨터시스템구조 44