HyeM

[컴퓨터구조]2주차(1)_컴퓨터정보표현 본문

Study/Computer Architecture

[컴퓨터구조]2주차(1)_컴퓨터정보표현

Hailey_HyeM207 2020. 4. 17. 22:01

컴퓨터 정보 표현 단위

  1. 비트 Bit ( 컴퓨터 정보 기초 단위, 2진법에서 데이터 표현하는 단위 0과 1)

  2. 바이트 Byte ( 1Byte = 8bit)

  3. 워드 word (1word = 2Byte or 4Byte _ 컴퓨터마다 다르다)

진법

  1. 10진법 (인간이 사용하는 수의 체계) : 0~9 이용

  2. 2진법 (컴퓨터가 사용하는 수의 체계) : 0과 1

  3. 16진법 : 0~9,A,B,C,D,E,F 이용

10진수 0 1 2 3 7 10 11 14 15
2진수 0000 0001 0010 0011 0111 1010 1011 1110 1111
16진수  0 1 2 3 7 A B E F

 

부호 있는 2진 정수 표현

10진수 ->2진수 변환 

10 진수를 2로 연속해서 나누어서,  나머지가 값을 이용하여 표현 가능하다. 

 

53을 2로 계속 나누고, 마지막 1이 나오면, 화살표 방향대로 나머지값을 연결한다.

 

 

10진수 : 53

2진수 : 110101

 

 

 

2진수 ->10진수 변환

2진수의 첫자리 수는 10진수에서 1을 ,

2진수의 두번째자리는 10진수에서 2를,

           세번째자리는 10진수에서 2^2=4를,

           n번째자리는  10진수에서 2^n-1을 나타낸다.

110101의 2진수를 10진수 53으로 바꾸는 과정

 

부호 없는 2진 정수 표현

 

방법1. 부호화 크기 표현

=> 최상위 비트 1개(부호비트) + 나머지 비트(수의 절대 크기)

최상위 비트는 부호비트 : 1은 음수, 0은 양수

 

n 비트로 구성된 2진수를 표현해보자

10진수 :  9  ==> 2진수 : 0 0001001

10진수 : -9 ==> 2진수 : 1 0001001

 

10진수 :  35  ==> 2진수 : 0 0100011

10진수 : -35 ==> 2진수 : 1 0100011

 

10진수 : +0  ==> 2진수 :  0 0000000 

10진수 :  -0  ==> 2진수 :  1 0000000 

음수 0과 양수 0 이 존재함!

 

 

방법2. 2의 보수 이용한 표현

양수는 '부호화 크기 표현', 위의 방법처럼 쓰고, 음수일 때는 보수를 이용한다. 

최상위비트 1개(부호비트)존재

1의 보수 : 부호없는 2진 정수의 모든 비트 반전 ( 0->1로 1->0으로 )

2의 보수 : 1의 보수의 결과값에 1을 더함

 

10진수 : +9  ==> 2진수 : 0 0001001

1의 보수 :  10진수 : -9 ==> 2진수 : 1 1110110

2의 보수 :  10진수 : -9 ==> 2진수 :  1 1110111

 

10진수 : +35  ==> 2진수 : 0 0100011

1의 보수 :  10진수 : -35 ==> 2진수 : 1 1011100

2의 보수 :  10진수 : -35 ==> 2진수 :  1 1011101

 

[ 0의 표현 ]

1의 보수 : 10진수 : +0  ==> 2진수 :  0 0000000 

                   10진수 :  -0  ==> 2진수 :  1 1111111

음수 0과 양수 0 이 존재함!

 

2의 보수 : 10진수 : +0  ==> 2진수 :  0 0000000 

                   10진수 :  -0  ==> 2진수 : (없음)

 양수 0 만 존재함!

 

 

n비트 데이터로 표현할 수 있는 수의 범위

부호화 크기 표현 : -(2^n-1 -1) ~ + ( 2^n-1 -1)

1의 보수 :  -(2^n-1 -1) ~ + ( 2^n-1 -1)

2의  보수 : -(2^n-1) ~ + ( 2^n-1 -1)

 

( 2의 보수는 음수 0이 없어, 표현가능한 음수 개수가 1의보수보다 +1 많다 )

 

부호화 크기, 1의보수, 2의 보수 비교

 

2진수의 논리 연산

기본 논리 연산

  • AND연산 : 모두 1인 경우, 결과값 1 +  그 외의 결과는 0

  • OR 연산 : 하나만 1여도, 결과값 1  ( 모두 0인 경우, 결과는 0)

  • XOR 연산 : 모두 동일한 경우, 결과값 0 (다르면  결과 1)

  • NOT 연산 : 결과값은 입력값의 반대값

  x =1  y=1 x=1 y=0
AND 1 0
OR 1 1
XOR 0 1
NOT x=0 y=0 x=0 y=1

 

 

응용 논리 연산

selective -set(선택적 세트)연산

선택된 특정선택된 특정 비트를 1로 세트시키는 연산 

 

 

연산하위 4비트 모두를 1로 만듬(OR연산)

 

 

selective -complement (선택적보수)연산

선택된 특정 비트를 1의 보수로 변경하는 (비트 반전하는) 연산 

 

 

하위 4비트 모두를 비트 반전함(XOR연산)

 

 

mask 연산

선택된 특정 비트들을 0으로 만드는 연산

 

 

 상위 4비트 모두를 0으로 만듬(AND연산)

 

 

 

insert 연산

입력값내의 특정 위치에 새로운 비트값들을 삽입하는 연산

 

 

 

하위 4비트에 1100을 삽입함

 

 

 

compare연산

두 입력값을 비교하는 연산

 

 

A,B 비교하여 XOR 연산함. (같으면 0, 다르면1)

 

 

circular shift

최상위 혹은 최하위에 있는 비트가 반대편 끝에 있는 비트 위치로 이동해서 비트가 회전하는 이동

 

 

순환 좌측 이동

 

 

순환 우측 이동

 

 

Arithmetic shift

부호비트는 유지하고, 의 크기를 나타내는 비트들만 이동

산술적 좌측 이동 D4 (불변), D3 ← D2, D2 ← D1, D1 ← 0
산술적 우측 이동 D4 (불변), D4 → D3 , D3 → D2, D2 →D1 

 

 

 

 

 

출처 :

디지털논리와 컴퓨터 설계, Harris et al. (조영완 외 번역), 사이텍미디어, 2007, 

컴퓨터 구조와 원리 (비주얼 컴퓨터 아키텍처), 신종홍 저, 한빛미디어, 2011

 

 


문제 출제 

1. -37을 부호화 크기표현으로  2진수로 표기하시오. (8bit)

2. 다음 표를 2진수로 채우시오.(8bit)

  부호화크기표현 1의 보수 2의보수
+0      
-0       

3. -10을 2의 보수로 표현하시오. (8bit)

4. 4비트로 부호있는 이진수를 표현하고 싶다. 각 표현으로 가능한 수의 범위를 적으시오.

1) 부호화 크기 표현 : ___ ~ ___

2) 1의 보수 : ___ ~ ___

3)2의 보수 : ___~ ___

5.  a = 1011 0101,  b=0110 0011이다. a와 b를 XOR 연산하시오. 

 

답은 밑의 더보기 클릭 

더보기

문제 답

1. -37을 부호화 크기표현으로  2진수로 표기하시오. (8bit)

답 : 1 0100101   //부호화크기표현은 맨 앞 1개 비트는 부호 비트이다. 음수이니 첫 비트는 1이고, 뒤에는 37을 2진수화 하여 0100101이다.

2. 다음 표를 2진수로 채우시오.(8bit)

  부호화크기표현 1의 보수 2의보수
+0 00000000 00000000 00000000
-0  10000000 11111111 (없음)

3. -10을 2의 보수로 표현하시오. (8bit)

답 : 1 1110110

(10진수) => (2진수)

10 => 0 0001010

1의보수 : -10 => 1 1110101

2의보수 : -10 => 1 1110110

1의보수는 양수 10에서 반전, 2의보수는 2의보수에서 1을 더함

 

4. 4비트로 부호있는 이진수를 표현하고 싶다. 각 표현으로 가능한 수의 범위를 적으시오.

1) 부호화 크기 표현 : -7 ~ 7

2) 1의 보수 : -7 ~ 7

3)2의 보수 : -8 ~ 7  // 2의 보수는 음수 0이 없음

5.  a = 1011 0101,  b=0110 0011이다. a와 b를 XOR 연산하시오. 

xor 연산은 같으면 0, 다르면 1이다.

a = 1011 0101

b = 0110 0011

결과 : 1101 0110

Comments