티스토리 뷰



논리 회로는 출력을 결정하는데 있어 현재 입력만을 대상으로 하는지, 아니면 현재 입력과 함께 과거 자료(메모리)를 사용하는지에 따라 현재 입력만을 가지고 출력을 결정하는 조합 논리 회로(Composite Logic Gate)와 메모리도 출력 결정에 사용하는 순서 논리 회로(Sequential Logic Gate)로 나눌 수 있으며 조합 논리 회로에는 반가산기, 전가산기, 병렬가산기, 반감산기, 디코더, 인코더, 멀티플렉스, 디멀티플렉스, 버스, ALU 등을 들 수 있습니다. 앞서 "정보처리기능사 필기 해설 1 - 논리게이트"에서 다룬 기본 논리 회로들을 기반으로 다음과 같은 조합 논리 회로들을 구성할 수 있습니다.


■ 반가산기

반가산기(HA, Half Adder)는 정보처리기능사에서 출제되는 조합 논리 회로에서 거의 유일하다시피 할 정도로 중요합니다. 산업기사나 기사 문제에서는 다른 조합 논리 회로도 출제되는지 모르겠으나 기능사에서는 반가산기는 반드시 숙지해야할 내용입니다. 두 비트를 입력으로 해서 합산 결과(S, Sum)과 자리올림(C, Carry)을 출력하는 회로입니다. 회로의 논리식과 진리표는 아래와 같습니다.

S=X'Y+XY', C=XY

Input Output
X Y S C
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1


■ 전가산기

전가산기(FA, Full Adder)는 반가산기 2개와 OR 회로 1개로 구성되는 회로로 입력에 이전 단계의 자리올림이 감안되고 출력은 반가산기와 동일하게 합계(S)와 자리올림(C) 입니다. 


■ 병렬가산기

병렬가산기(PA, Parallel Adder)는 N개의 비트로 구성된 2개의 이진값을 더하는 회로입니다. 위의 예제는 맨 하위 비트(LSB)를 더하는 부분에는 반가산기를 배치하고 나머지는 이전 비트의 자리올림을 감안한 전가산기를 배치하여 N비트의 합산 결과와 자리올림(C)을 출력합니다.


■ 반감산기

반감산기(HS, Half Subtractor)는 두 비트 입력을 받아 감산(X - Y) 결과와(D, Difference) 자리내림(B, Borrow)을 출력하는 회로입니다. 반가산기와 유사하지만 자리내림을 출력하는 AND 게이트의 입력에서 감산대상(X)의 인버터를 적용하는 차이점이 있습니다.


■ 전감산기

전감산기(FS, Full Subtractor)는 두개의 반감산기와 한개의 OR 게이트로 구성하는 조합회로로 반감산기와의 차이점은 입력에 이전 단계의 자리내림(B, Borrow)을 감안한다는 것이고 출력은 동일합니다.


■ 병렬감산기

N비트값에 대한 뺄셈을 처리하는 병렬감산기(PS, Parallel Subtractor)는 두가지 방법으로 구현될 수 있습니다. 첫번째 방법은 병렬가산기처럼 맨아래 비트에는 자리내림(B)을 감안하지 않은 반감산기를 배치하고 나머지 비트에는 전감산기를 배치하는 방법입니다. 다른 한가지 방법은 뺄셈을 2의 보수를 더하는 방식으로 전환해서 회로를 구성하는 것입니다. X-Y는 X+(Y의 2의 보수)로 전환할 수 있는데 예를 들어 4비트 이진값 5-3을 예로 들면 0101 - 0011은 0101 + 1101로 바꿀수 있습니다. 2의 보수는 2진값을 1은 0으로 0은 1로 바꾼다음 +1을 하면 구할 수 있습니다. 결과적으로 0101 + 1101 = 0010(자리올림 1)입니다. 5-3=2의 결과가 나옵니다. 2의 보수를 더하는 방식으로 뺄셈을 구현하면 각 비트에 전가산기를 배치하고 맨 아래 비트(LSB)의 전가산기에 자리올림을 설정(+1 효과)하면 X-Y를 구현할 수 있습니다. 실제로 정수의 음수 표현을 2의 보수를 사용해서 하고 있습니다. 비트열의 맨 앞자리(MSB)를 부호 비트를 사용해서 X - Y는 X + (-Y)의 효과를 거둘 수 있습니다. -N은 양의 정수 N의 2의 보수로 표현합니다.


■ 병렬감가산기

병렬감가산기(Parallel Subtractor Adder)는 하나의 회로로 병렬가산기와 병렬감산기를 모두 수행할 수 있는 것으로 모드(M, Mode) 입력에 따라 가산기로 동작할 지 감산기로 동작할지가 결정됩니다. M이 1이면 Y 각 비트 값이 XOR 게이트를 거치면서 인버터로 동작하고 C0에 +1의 효과를 발휘하여 병렬감산기로 동작합니다. M이 0이면 Y 각 비트 값이 XOR 게이트가 버퍼로 동작하여 병렬가산기로 동작합니다.


■ 디코더

디코더(해독기, Decoder) : N 비트로 코드화된 정보를 개의 출력으로 전환하는 회로로 명령어나 주소를 번역하는데 사용합니다. AND 게이트 중심으로 인버터와 함께 구성합니다.


■ 인코더

인코더(부호기, Encoder) : 개의 입력을 N개의 정보로 코드화하는 회로로 OR 게이트 위주로 구성합니다. 디코더의 반대 역할수행합니다.


■ 멀티플렉서

멀티플렉서(MUX, Multiplexer) : 개의 입력을(D) N개의 선택선(S)으로 선택하여 1개의 출력선으로 출력시키는 회로. 


■ 디멀티플렉서

디멀티플렉서(DEMUX, DeMultiplexer) : 1개의 입력선으로 들어오는 정보를 N개의 선택선(S)을 통해서 개의 출력선으로 보내는 회로입니다.


기능사 문제들은 보통 반가산기에 집중되지만 다른 조합 논리 회로의 종류와 기능도 숙지할 필요가 있습니다. 기출문제를 직접 풀어보세요. "정답보기"를 클릭하시면 답을 확인할 수 있습니다.

1. 논리 게이트의 조합으로 구성되어 출력이 입력값에 의해 결정되는 조합논리 회로가 아닌 것은?(정답보기☜)

    가. 멀티플렉서(Multiplexer)

    나. 전가산기(Full-Adder)

    다. 디코더(Decoder)

    라. 플립플롭(Flip-Flop)


2. 다음과 같은 논리식으로 구성되는 회로는?(정답보기☜)

S=A'B+AB', C=AB  (단, S는 합(Sum), C는 자리올림(Carry)을 나타낸다.)

가. 전감산기(Full subtracter) 나. 반가산기(Half adder)

다. 전가산기(Full adder) 라. 부호기(Encoder)


3. 보기의 내용과 가장 관계있는 장치는?(정답보기☜)

[보기] 논리회로, 가산기(Adder), 누산기(Accumulator), 감산기(Subtractor)

가. 제어장치 나. 기억장치

다. 연산장치 라. 입․출력장치


4. 다음에 표시된 진리표가 나타내는 회로는?(단, 입력은 A, B이고 출력은 S(Sum)와 C(Carry) 이다.)(정답보기☜)

가. AND 회로 나. OR 회로

다. 전가산기 회로 라. 반가산기 회로


5. 전가산기(Full Adder)는 어떤 회로로 구성되는가?(정답보기☜)

    가. 반가산기 1개와 AND 게이트로 구성된다.

    나. 반가산기 2개와 AND 게이트로 구성된다.

    다. 반가산기 1개와 OR 게이트로 구성된다.

    라. 반가산기 2개와 OR 게이트로 구성된다.


6. 다음 회로는 0과 1을 입력으로 하는 논리회로이다. 이 회로의 종류는?(정답보기☜)

    가. 전감산기 나. 반가산기

    다. 플립플롭 라. 전가산기


7. 반가산기(Half-Adder)에서 두 개의 입력 비트가 모두 1일 때 합(Sum)은?(정답보기☜)

   가. 0 나. 1

   다. 10 라. 11


8. 레지스터, 가산기, 보수기 등으로 구성되는 장치는?(정답보기☜)

    가. 제어장치 나. 입/출력 장치

    다. 기억장치 라. 연산장치


9. 반가산기(Half-Adder)의 논리회로도에서 자리올림이 발생하는 회로는?(정답보기☜)

   가. OR         나. NOT

   다. Exclusive OR 라. AND


10. 여러 개의 입력정보 (2n)중에서 하나를 선택하여 한 곳으로 출력시키는 조합 논리 회로는?(정답보기☜)

    가. 반가산기 나. 멀티플렉서

    다. 디멀티플렉서 라. 인코더


11. 전 가산기(Full adder)회로는 몇 개의 입력과 출력을 갖고 있는가 ?(정답보기☜)

    가. 입력 2개, 출력 2개 나. 입력 2개, 출력 3개

    다. 입력 3개, 출력 1개 라. 입력 3개, 출력 2개


12. 1개의 입력선으로 들어오는 정보를 2ⁿ개의 출력선 중 1개를 선택하여 출력하는 회로는?(정답보기☜)

    가. 멀티플렉서 나. 인코더

    다. 디코더 라. 디멀티플렉서


13. 특정 값을 여러 자리인 2진수로 변환하거나 특정장치로부터 보내오는 신호를 여러 개의 2진 신호로 바꾸어 변환시키는 장치는?(정답보기☜)

    가. 인코더(Encoder)      나. 디코더(Decoder)

    다. 멀티플렉서     라. 플립플롭


14. n 비트의 2진 코드 입력에 의해 최대 2n개의 출력이 나오는 회로로 2진 코드를 다른 부호로 바꾸고자할 때 사용하는 회로는?(정답보기☜)

   가. 디코드(decoder)

   나. 카운터(counter)

   다. 레지스터(register)

   라. RS플립플롭(RS flip-flop)




댓글
댓글쓰기 폼