상세 컨텐츠

본문 제목

03. 컴퓨터 산술과 논리 연산 (1) [ALU의 구성 요소, 정수의 표현]

Computer Science/Computer Architecture

by RACC8N 2020. 4. 8. 17:45

본문

3.1 ALU의 구성 요소

1. 산술 연산장치 : 산술 연산들 (+, - , * /)를 수행

2. 논리 연산장치 : 논리 연산들(AND, OR, NOT, XOR 등)을 수행

3. 시프트 레지스터(shift register) : 비트들을 좌측 혹은 우측으로 이동시키는 기능을 가진 레지스터

4. 보수기 (complementer) : 2진 데이터를 2의 보수로 반환(음수화)

5. 상태 레지스터(status register) : 연산 결과의 상태를 나타내는 플래그(flag)들을 저장하는 레지스터

3.2 정수의 표현

2진수 체계 : 0, 1, 부호 및 소수점으로 수를 표현

부호 없는 정수 표현의 예

n-비트 2진수를 부호 없는 정수 A로 변환하는 방법 

소수의 소수점부분을 변환하는 방법

음수 표현 방법

- 부호화-크기 표현 (Signed-magnitude representation)

- 1의 보수 표현 (1's complement representation)

- 2의 보수 표현 (2's complement representation)

 

부호화-크기 표현 :

맨좌측 비트는 부호 비트, 나머지 (n-1)개의 비트들은 수의 크기(magnitude)를 나타내는 표현 방식

부호화-크기로 표현된 2진수를 10진수로 변환

단점 :

덧셈과 뺄셈을 수행하기 위해서는 부호 비트와 크기를 비교하여 처리하는 복잡한 과정 필요

0에 대한 표현이 두 개 존재 -> n-비트 단어로 표현할 수 있는 수들이 2^n개가 아닌 (2^n-1)개로 감소

1의 보수 (1's complement) 표현 : 모든 비트들을 반전 (0->1, 1->0)

2의 보수 (2's complement) 표현 : 모든 비트들을 반전하고, 결과값에 1을 더함

8-비트 2진수로 표현할 수 있는 10진수의 범위

2의 보수로 표현된 양수를 10진수로 변환하는 방법

2의 보수로 표현된 음수를 10진수로 변환하는 방법

비트 확장

데이터의 길이(비트 수)를 늘리는 방법

> 필요성 : 데이터를 더 많은 비트의 레지스터에 저장하거나, 더 긴 데이터와 연산을 수행하기 위해 필요

 

부호화-크기 확장

2의 보수 확장 (부호-비트 확장)

 

관련글 더보기

댓글 영역