Photo by Markus Spiske on Unsplash



컴퓨터와 같은 디지털 장치는 1과 0밖에 구분하지 못한다. 더 정확하게 말하면 실제 숫자를 구분하는 것이 아니라 신호가 왔는지(1), 오지 않았는지(0)의 정보를 구분하는 것이다. 신호 여부는 두 개의 전압 레벨, 예를 들어 5V와 0V를 사용하여 구분한다. 즉 전압 레벨이 변화하는 것을 2진수로 처리하여 디지털 회로를 설계하는 것이다. 디지털 회로의 기본 요소는 논리 게이트인데, 논리 게이트는 하나 이상의 입력 값에 대한 논리 연산을 수행하여 출력 값을 얻는다.


디지털 회로는 출력을 결정하는 방법에 따라 조합 논리 회로와 순차 논리 회로로 나눌 수 있다. 조합 논리 회로는 현재의 입력 값들만 이용하여 출력 값을 결정한다. 즉 회로를 구성하는 논리 게이트들이 입력 신호들을 받는 즉시 그것들을 조합하여 출력 신호를 발생시킨다. 반면 순차 논리 회로는 과거의 출력 값이 현재의 출력에 영향을 미친다. 출력 값이 그 시점의 입력 값뿐만 아니라 이전 상태의 출력 값에 의해서도 결정되는 것이다. 가령 디지털 장치에서 수를 셀 때, 이전 상태의 출력 값과 현재의 값을 논리 연산하여 출력하므로 다음 상태로 변화할 때까지 현 상태를 기억하는 기능이 필요하다. 이러한 특성 때문에 순차 논리 회로는 조합 논리 회로와 달리 기억 기능을 가지고 있다. 이전 상태의 출력 값은 다음 단계의 순차 논리 회로 동작을 위해 피드백 경로를 통해 다시 순차 논리 회로의 입력으로 들어가게 된다.


조합 논리 회로이든 순차 논리 회로이든 디지털 회로의 설계는 다양한 논리 게이트들을 얼마나 효율적으로 연결하느냐가 중요하다. 가장 기본적인 논리 게이트로는 NOT 게이트, AND 게이트, OR 게이트가 있다. NOT 게이트는 보통 인버터라 부르며 출력 값이 입력 값과 반대가 되도록 변환한다. 예를 들어 입력 값이 0이면 출력 값은 1이고 입력 값이 1이면 출력 값은 0이 된다. 따라서 입력 가능한 조합은 1과 0, 두 개뿐이 다. AND 게이트는 입력 단자를 통해 들어오는 입력 값이 모두 1일 때만 출력 값이 1이고, 만일 한 개라도 0이면 출력 값은 0이 된다. OR 게이트는 입력 값이 어느 하나라도 1이면 출력 값이 1이 되고, 입력 값이 모두 0일 때만 출력 값이 0이 된다. 논리 게이트들의 입력 가능한 조합의 수는 2의 거듭제곱을 따른다. 즉 입력 단자가 2개면 입력 가능 조합은 4개, 입력 단자가 3개면 입력 가능 조합은 8개가 된다.


논리 게이트의 입력과 출력은 전기적 신호가 바뀌는 모습으로 나타낼 수 있다. 아래 그림은 AND 게이트에 입력 신호가 들어왔을 때, 어떤 출력 신호가 나오는지 나타낸 것이다. A와 B의 파형이 각 각의 입력 단자에 들어올 때, AND 게이트는 F와 같은 파형을 출력하게 된다. 여기서 파형이란 0과 1에 해당하는 전기적 신호(0V와 5V)가 시간에 따라 연속적으로 바뀌는 모습을 표현한 것을 말한다. 다른 게이트들도 이와 마찬가지로 전기적 신호가 바뀌는 모습을 표현하여 입력 신호와 출력 신호로 나타낼 수 있다.




― 변용규, 『디지털 시스템 공학』





이해를 돕는 문항


18. 윗글을 참고할 때, <보기>에서 출력될 F의 파형으로 적절한 것은?[각주:1]



  1. AND 게이트의 출력 신호의 특징은 넷째 단락에 명확히 제시되어 있다. AND 게이트의 출력 값이 다시 NOT 게이트로 입력되어 최종 출력 파형은 바로 ① 이된다. 왜냐하면 NOT 게이트는 출력값이 입력값과 반대가 되도록 변화시키기 때문이다. 정답 ①. [본문으로]