이 글의 내용은 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
대부분 cpu는 2의보수를 쓴다.
부호 비트, 2의 보수를 쓴다.
고정 소수점 표현(Fixed Point Representation)
⚫오버플로우의 발생 – 매우 주의해야 한다.
N자리의 두 수를 더하여N+1자리의 합이 발생하였을 때. (1자리가 더 나왔을 때)
-연산 결과값이 레지스터의 비트수를 초과할 경우 발생
-두수의 부호가 같을 경우에만 발생
-레지스터에 저장된 연산 결과값은 잘못된 값으로 저장
⚫오버플로우 처리 방법
오버플로우 발생을 미리확인
MSB(최좌측비트)의 두 캐리 비트의 값이 서로 다르면 오버플로우
c8 xor c7이 1인경우 즉 둘다 캐리 값이 다를경우 오버플로우 발생
이 때 연산을 처리하지 않고 인터럽트 또는 에러 처리
부동 소수점 표현(Floating Point Representation)
가수와 지수로 표현
가수: 분수, 정수값표시
지수: 십진/이진 소수점 위치를 표시
진수는 모두 다써주고, 소수점의 위치를 바꾸는 값을 곱한다.
정수부분은 128이 0으로 한다. 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출력)
'Computer Science > 컴퓨터구조' 카테고리의 다른 글
[컴퓨터 구조] 컴퓨터가 동작하는 경위 (0) | 2021.01.18 |
---|---|
[컴퓨터구조] 기본 컴퓨터 레지스터 (0) | 2021.01.17 |
[컴퓨터 구조] 컴퓨터 동작 (0) | 2021.01.15 |
[컴퓨터구조] 레지스터 전송과 마이크로 연산 (0) | 2021.01.14 |
[컴퓨터구조] 디지털 부품 (0) | 2021.01.12 |