728x90
4개 flag 중 carry와 overflow의 차이
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 : overflow는 31번째 co과 30번째 co을 exclusive한 것이다. overflow가 생기면 믿을 수 없는 연산결과가 생기기 때문에 flag C, N, Z가 모두 무의미하다. overflow가 생기지 않을 때 만 크다 작다 판단이 가능하다. Overflow는 n bit 정수 더하거나 뺐을 때 음수나 큰 양수가 나올 때 같은 사인을 갖는 큰 수를 더하거나 다른 사인을 갖는 큰 수를 positive와 negative를 더했을 때 절대 overflow가 생기지 않는다. 하나의 양수와 음수를 더할 때 같은 사인을 갖는 두수를 뺄 때는 오버된다. 양수와 양수를 더했는데 너무 큰 수가 나와 n bit에 담지 못할 때 overflow가 생긴다.
728x90
'디지털 논리회로' 카테고리의 다른 글
디지털 논리회로 / Moore FSM과 Mealy FSM의 장단점 (2) | 2021.05.03 |
---|---|
디지털 논리회로 / Blocking과 non-blocking의 차이 (0) | 2021.05.03 |
디지털 논리회로 / carry look-ahead adder(CLA), 32-bits CLA와 32-bits RCA의 크기 속도 비교 (0) | 2021.05.03 |
디지털 논리회로 / halfadder, fulladder (0) | 2021.05.03 |
디지털 논리회로 / 부호가 없는 수, 2의 보수, 병렬 이진 가감산기 (0) | 2021.05.03 |
댓글