YZ ZONE

[ 컴퓨터구조 ] 3.5 정수의 산술 연산 본문

IT/컴퓨터구조

[ 컴퓨터구조 ] 3.5 정수의 산술 연산

러블리YZ 2023. 2. 6. 22:30

[ 덧셈 ]

 2의 보수로 표현된 수들의 덧셈 방법

 두 수를 더하고, 만약 올림수가 발생하면 버림

병렬 가산기(parallel adder)

▣ 덧셈을 수행하는 하드웨어 모듈

▣ 비트 수만큼의 전가산기(full-adder)들로 구성

▣ 덧셈 연산 결과에 따라 해당 조건 플래그들(condition flags) 을 세트

 C   플래그 : 올림수(carry)

 S    플래그 : 부호(sign)

 Z    플래그 : 0(zero)

 V    플래그 오버플로우(overflow)

4-비트 병렬 가산기와 상태 비트 제어회로

덧셈 오버플로우

▣ 덧셈 결과가 그 범위를 초과하여 결과값이 틀리게 되는 상태

▣ 검출 방법 : 두 올림수(carry)들 간의 exclusive-OR를 이용

[ 뺄셈 ]

▣ 덧셈을 이용하여 수행

(A : 피감수(minuend), B : 감수(subtrahend))

A - (+B) = A + (-B)

A - (-B) = A + (+B)

덧셈과 뺄셈 겸용 하드웨어의 블록 구성도

4-비트 병렬 가감산기

 4-비트 병렬 가감산기

 4-비트 데이터들 간의 덧셈(A+B) 및 뺄셈(A-B)을 모두 수행하는 조합 회로

 제어신호 M = 0 : 덧셈, M = 1 : 뺄셈(입력 B의 비트들을 반전하고, 최 하위 올림수로서 M 을 입력)

뺄셈 오버플로우

▣ 뺄셈 오버플로우
뺄셈 결과가 그 범위를 초과하여 결과값이 틀리게 되는 상태 

검출방법:덧셈과동일

 

부호 없는 정수의 곱셈

▣ 방법
 각 비트에 대하여 부분 적(partial product) 계산 

 부분 적들을 모두 더하여 최종 결과를 얻음

부호 없는 정수 곱셈기의 하드웨어 구성도

 M 레지스터
 피승수(multiplicand) 저장

 Q 레지스터
 승수(multiplier) 저장

 두 배 길이의
결과값은 
A 레지스터와 Q 레지스터에 저장

곱셈이 수행되는 과정에서의 레지스터 내용들