5-2 병렬 2진 가산기 4비트 병렬 2진 가산기 FA FA : full adder(전가산기)
예제 5-2 4비트 2진수2개를 더하라. 1101 + 0111 1 1 1 0 캐리 : LSB로 들어오는 캐리는 0 이다 (접지) 1 1 0 1 수 A (10진수 13) 0 1 1 1 수 B (10진수 7) --------------------------- 1 0 1 0 0 합(10진수 20) FA
5-3 1의 보수와 2의 보수 2진수의 1의 보수 2진수의 2의 보수 2진수의 1의 보수에 1을 더함 5-3 1의 보수와 2의 보수 2진수의 1의 보수 그 수의 각 비트를 단순히 반전시킴 2진수의 2의 보수 2진수의 1의 보수에 1을 더함 2의보수 = 1의 보수 + 1 1 0 1 0 1 0 1 0 2진수 0 1 0 1 0 1 0 1 1의 보수 + 0 0 0 0 0 0 0 1 1의 보수에 1을 더함 2진수의 2의 보수생성: 수는 인버터에 ----------------- 의해 1의 보수로 된 다음에 병렬 2진 0 1 0 1 0 1 1 0 2진수의 2의 보수 가산기를 사용하여 1이 더해진다.
2진수에서의 1의 보수와 2의보수 2진수의 1의 보수 11001010 00110101 (1’s complement) 2진수의 1의 보수는 각 비트를 변화하면 된다. (모든 1을 0으로, 모든 0을 1로 바꾸면 됨) 11001010 00110101 (1’s complement) 1 1 0 0 1 0 1 0 0 0 1 1 0 1 0 1 반전기를 이용하여 2진수의 1의 보수 4 4
2진수에서의 1의 보수와 2의보수 2진수의 2의 보수 1의 보수에 1을 더함 11001010 2의 보수 다른 방법 우측부터 시작하여 첫번째 1까지는 불변 나머지 비트들에 대하여 1의 보수를 취함 00110101 (1’s complement) +1 00110110 (2’s complement) 11001010 보수는 음수 표현을 위해 사용(뺄셈), 컴퓨터(PC)에서는 2의 보수 사용. 5 5
2진수에서의 2의 보수에 의한 뺄셈 Ex.) X=1010100, Y=1000011, (a) X-Y, (b) Y-X +0111101 합 = 10010001 끝자리 올림 27 을 버림 = -10000000 답: X-Y = 0010001 (b) Y-X Y = 1000011 X에 대한 2의 보수 = +0101100 합 = 1101111 끝자리 올림 없음. 답은 Y-X = -(1101111에 대한 2의 보수)=-0010001 이다.
2진수에서의 1의 보수에 의한 뺄셈 Ex.) 1의 보수를 사용하여 다음을 연산하라. (a) X-Y = 1010100-10000011 X = 1010100 Y에 대한 1의 보수 = +0111100 합 = 10010000 순환자리 올림 = + 1 답: X-Y = 0010001 (b) Y-X = 10000011-1010100 Y = 1000011 X에 대한 1의 보수 = +0101011 합 = 1101110 끝자리 올림 없음. 답은 Y-X = -(1101110에 대한 1의 보수)=-0010001이다.
1의 보수를 이용한 2진 감산기
1의 보수에 의한 연산 예) 1100 - 0111=0101
1의 보수를 이용한 4비트 2진 감산기 구성(예)
2진 가산기/감산기(2의보수) 병렬 2진 가산기/감산기 2진수의 뺄셈 : 2의 보수를 이용하여 연산 S : 0 이면 4비트 병렬 가산기 S : 1 이면 4비트 병렬 감산기 4-비트 병렬 가산/감산 논리 회로
2의 보수를 만드는 방법
2의 보수에 의한 연산 예) 1100 - 0111=0101
INVERT 신호가 0 → buffer로 작용 1 → 인버터로 작용 5-2 병렬 2진 가산기/감산기 8비트 병렬 2진 가산기/감산기 INVERT 신호가 0 → buffer로 작용 1 → 인버터로 작용
5-2 병렬 2진 가산기/감산기(2의보수) INVERT 신호가 0 → 가산기, 1 → 감산기 8비트 병렬 2진 가산기 INVERT 신호가 0 → 가산기, 1 → 감산기
4비트 병렬 2진 가산기/감산기(2의보수)
8비트 병렬 2진 가산기/감산기(2의보수)
Enable 입력을 갖는 디코더는 더 큰 디코더로 확장 가능 확장된 디코더 동작 2X4 디코더 2개로 구성된 3X8디코더 Enable단자 : active →High
확장된 디코더 동작 예)2개의 3x8디코더를 이용한 4x16디코더 Enable(E)단자 : active →High
▣ 2개의 3-to-8 디코더를 상호연결하여 4-to-16 디코더로 구성 : 2개의 74xx138 디코더를 연결한 단일의 4-to-16 디코더 구성
(예제 6-9) 74HC154를 사용한 5비트 디코더 설계(디코더 확장)
디코더 응용 예) 조합 논리의 구현 어떠한 조합 논리 회로라도 라인 디코더와 OR게이트로써 구현 가능 예)덧셈기
3×8 디코더를 이용하는 경우의 예
MUX를 이용한 조합논리 구현 MUX 와 고정된 2진 data 값으로 어떤 진리표(논리)를 구현 할 수 있다 입력 EN : enable (disable) : MUX의 동작을 제어 EN = ‘1’ enable MUX 동작가능 EN = ‘0’ disable MUX 동작안함(출력은 ‘0’)
3개의 선택선을 입력 A, B, C 로 사용 A B C F 1 1(D0) 1(D1 ) 0(D2 ) 0(D3 ) 0(D4 ) 멀티플렉서를 이용한 조합논리회로 구현를 81 멀티플렉서로 구현하는 경우 3개의 선택선을 입력 A, B, C 로 사용 A B C F 1 1(D0) 1(D1 ) 0(D2 ) 0(D3 ) 0(D4 ) 1(D5 ) 0(D6 ) 1(D7 ) 진리표 회로도
멀티플렉서를 이용한 부울함수 생성기의 구현 부울함수 Z = f(C, B, A)= ∑m(1, 2, 4, 5, 7) EN : enable (disable) : MUX의 동작을 제어 EN = ‘0’ enable MUX 동작가능 EN = ‘1’ disable MUX 동작안함
E : enable (disable) : MUX의 동작을 제어 E = ‘0’ enable MUX 동작가능 진리표(X = A' B 'C'D + A' B 'CD '+ A' B 'CD +A' BCD'+ A' BCD+ A B 'C'D + A BC'D' )를 16line multiplexer로 구현 외부에서 연결한 소자 E : enable (disable) : MUX의 동작을 제어 E = ‘0’ enable MUX 동작가능 E = ‘1’ disable MUX 동작안함
6-5 집적회로 멀티플렉서 확장 8출력 디멀티플렉서(74LS138) 두 개의 74ls151 8입력 멀티플렉서를 연결 16입력 멀티플렉서 4 개의 선택라인 필요(S0, S1, S2, E) E = O : MUX1 enable, MUX2 disable E = 1 : MUX1 disable, MUX2 enable 출력은 OR 8출력 디멀티플렉서(74LS138) 3개의 데이터 선택 입력(S0,S1,S2) E1’, E2’ : LOW활성인에이블 입력 E1’=E2’=LOW and E3=HIGH 일때 8 중 1 디코더(8 to 1 decoder)로 동작 위조건이 아니면 모든 출력은 High