본문 바로가기
디지털 논리회로

디지털 논리회로 / carry와 overflow의 차이

by clean_h 2021. 5. 3.
728x90

4flag carryoverflow의 차이

C: MSB로부터 나오는 carry out 마지막 adder carry out이다. 64bit addition을 만들 때 하위 32bit addition과 상위 32bit addition 더하는데 C를 사용한다. Carry bit은 그 주어진 carry flag를 사용하여 다시 carry in 값으로 넣어주면서 상위 32bit을 더하는 데에 사용한다. C는 주어진 alu bit 수보다 큰 수를 연산할 때 더하거나 뺄 때 사용하게 된다.

 

V : overflow31번째 co30번째 coexclusive한 것이다. overflow가 생기면 믿을 수 없는 연산결과가 생기기 때문에 flag C, N, Z가 모두 무의미하다. overflow가 생기지 않을 때 만 크다 작다 판단이 가능하다. Overflow n bit 정수 더하거나 뺐을 때 음수나 큰 양수가 나올 때 같은 사인을 갖는 큰 수를 더하거나 다른 사인을 갖는 큰 수를 positive negative를 더했을 때 절대 overflow가 생기지 않는다. 하나의 양수와 음수를 더할 때 같은 사인을 갖는 두수를 뺄 때는 오버된다. 양수와 양수를 더했는데 너무 큰 수가 나와 n bit에 담지 못할 때 overflow가 생긴다.

728x90

댓글