본문 바로가기

Computer Science/컴퓨터구조

[컴퓨터구조] 데이터의 표현

이 글의 내용은 www.youtube.com/watch?v=zhqTXXhHAQg&t=1849s 강의 공부 내용입니다.

데이터의 종류(Data Types)

컴퓨터 레지스터에서 쓰이는 데이터의 종류

산술 연산용 숫자 컴퓨터는 계산하기 위해서 만들어 진것이다!!
데이터 처리용 영문자
특수 목적용 기호

 

 

 

진수와 진법

radix: 진법의 기수에 해당(10진법, 2진법, 8진법, 16진법)

2진수로 볼 때 3개씩 끊어서 보면 8진수로 보고 , 4개씩 끊어서 보면 16진수 이다.

 

 

 

2진화 8진수

 

 

2진화 16진수

 

 

2진화 10진수(BCD: Binary Code Decimal)

bcd에서는0~9까지 밖에 없다. 10부터는 자리수가 올라 가니깐 올림수를 4비트로 표현한다.

 

 

 

 

●영숫자의 표시(영문 + 숫자)

아스키 코드를 많이 쓴다.

아스키 코드(ASCii Code)7비트를 쓴다. 1비트는 패러티 비트(parity bit)로 쓴다.

A를 보면 -> 100 0001로 표현한다.

Unicode : 16bit/32bit ( 7비트 아스키 코드를 확장시킨 것이다)
UTF-8
방식으로A를 표현한다 : 01000001 이다. 맨 앞에를 제외하면 똑같다.

 

 

보수(Complements)

진법의 기수r에 대응하는 역(reverse)
뺄셈과 논리 계산에 사용

 

(r-1)의 보수 체계 

10진수의 뺄셈을 할 때는9의 보수를 뺀다.

1의 보수1111111 – 0001111 = 1110000

 

(r)의 보수 체계  보통 많이 씀

2의 보수 10000000 – 0001111 = 1110001

 

 

●부호 없는 숫자의 뺄셈

컴퓨터는 빼기 연산을 하지 않는다. 엄격히 말하면 덧셈으로 바꿔서 한다.

부호없는 2진수의 뺄셈

빼는 값을2의 보수 취한다. 그리고 더한다. 자리수가 넘어가는건 무시하고 나머지가 결과가 되는 것이다.

, 보수를 취하고 덧셈을 하면 된다.

 

 

 

●고정 소수점 표현 레지스터에 데이터를 표현하는 법

숫자는 2가지 있다

-고정소수점(정수)
-부동소수점(실수)

고정소수점을 레지스터에 표현하는 것

화살표가 . 으로 소수점을 표현하는 자리다.

고정소수점은 화살표가 맨 오른쪽에 있는 것이다.

 

ex)14를 표현해보자.

최좌측비트 = MSB
양수는0, 음수는1

 

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

 

대부분 cpu2의보수를 쓴다.

부호 비트, 2의 보수를 쓴다.

 

고정 소수점 표현(Fixed Point Representation)

오버플로우의 발생 매우 주의해야 한다.

N자리의 두 수를 더하여N+1자리의 합이 발생하였을 때. (1자리가 더 나왔을 때)

-연산 결과값이 레지스터의 비트수를 초과할 경우 발생
-두수의 부호가 같을 경우에만 발생
-레지스터에 저장된 연산 결과값은 잘못된 값으로 저장

 

 

오버플로우 처리 방법

오버플로우 발생을 미리확인
MSB(최좌측비트)
의 두 캐리 비트의 값이 서로 다르면 오버플로우
c8 xor c7
1인경우 즉 둘다 캐리 값이 다를경우 오버플로우 발생
이 때 연산을 처리하지 않고 인터럽트 또는 에러 처리

 

 

부동 소수점 표현(Floating Point Representation)

가수와 지수로 표현
가수: 분수, 정수값표시
지수: 십진/이진 소수점 위치를 표시

 

진수는 모두 다써주고, 소수점의 위치를 바꾸는 값을 곱한다.

정수부분은 1280으로 한다.  127-1 126-2로 친다.

23bit를 구할 때 앞에1이 붙어있다고 생각하면 된다.

 

 

 

기타 이진 코드(Other Binary Codes)

 

Greay Code

한 숫자에서 다음 숫자로 변할 때 한 비트만 변동

 

 

BCD Code = 8421 Code

 

excess-3 Code

bcd+3을 한 것과 같다.
BCD Code + 0011

 

 

에러 검출 코드(Error Detection Codes)

페러티 비트(Parity bit)

에러 발생의 검출
짝수 패리티 / 홀수 패리티 사용
2
개의 비트 동시 에러의 경우 검출 불가능

 

송신측: 패리티 발생기
수신측: 패리티 검사기
수신측 패리티 검사 결과(미리 알려준다)
일치하면 (0출력)
불일치하면 (1출력)

패리티 검사기

728x90