1. 반가산기(Half-adder)
2입력 2출력의 구조로, 두 입력값을 더하여 합과 캐리를 산출하는 논리회로
1) 반가산기 입력 및 출력 결과
2) 반가산기 특징
2진수에서 입력된 두 값이 1, 1인 경우
- sum의 값은 0
- sum은 두 이진수를 더했을때 2 이상이 되는 경우 0으로 처리하고, carry로 1을 넘겨줌
- carry의 값은 1
- carry는 자리올림값
3) sum을 만족하는 논리회로 : XOR게이트
- 배타적 OR게이트의 약어(배타적인 입력상태에서만 출력이 1)
- 논리식 : A'B + AB' = A+B
- 두개의 입력 신호가 같으면 '0'을 출력, 다르면 1을 출력
4) carry를 만족하는 논리회로 : AND게이트
- 논리식 : AB
5) 결론 : XOR게이트와 AND로 이진수의 반가산기 회로 구성
2. 전가산기
반가산기 2개로 전가산기를 구성
3입력 2출력 구조로, carry를 포함하여 덧셈 연산을 수행(두입력값 외어 이전 연산에서 생긴 carry까지 더해줌)
1) 전가산기 입력 및 출력 결과
2) 전가산기 회로도
3. n비트 가산기
n비트 가산기 : 전가산기 n개를 조합하여 구성
1) 고속가산기(Ripple Carry Adder)
전가산기를 조합하여 만든 가산기
- 4비트 가산기
- 전가산기 4개를 조합하면 4비트 가산기를 만들 수 있고, 16(2⁴)개의 숫자 계산 가능
- 입력값 a, b가 4비트로 들어오고, Cout을 포함하면 5비트로 출력됨
carry가 입력값으로 들어오기 때문에 carry가 계산되어 전달될때까지 상위비트는 대기 상태
-> 딜레이 발생 -> 연산 속도의 저하
논리회로로 계산이 가능
Reference
https://homubee.tistory.com/43
https://ko.wikipedia.org/wiki/%EA%B0%80%EC%82%B0%EA%B8%B0
https://velog.io/@tonyhan18/%EB%94%94%EC%A7%80%ED%84%B8-%ED%9A%8C%EB%A1%9C-%EA%B0%9C%EB%A1%A0-12