컴퓨터 과학 깨달음/논리 회로 깨달음
기본 회로 블럭 (1) - 디코더 Decoder에 대한 정리
깨달은도영
2025. 7. 14. 15:46
디지털 시스템에서 여러 기능들을 구현할 때 여러 기본 구성 블럭을 사용한다.
Combinational logic을 위해서는
디코더(Decoder), 인코더(Encoder), 멀티플렉서(Multiplexer), 디멀티플렉서(Demultiplexer) 등등이 필요하고
Sequential logic을 위해서는
레지스터(Register), 카운터(Counter) 등이 필요하며
Memory를 위해서는
RAM, ROM, cache 등이 필요하다.
그 중에서 이번 글에서는 Combinational logic을 위한 디코더(Decoder)를 정리해본다.
디코더는 기본적으로 n개의 입력(0 or 1)을 받았을 때 그 신호에 따라 2^n의 출력선 중 하나를 선택해 1(ON)을 보내주고 나머지 2^n-1개의 선에는 0(OFF)을 보내주는 친구이다.
n to 2^n decoder를 n이 2,3 일 때 예시를 들어 살펴보았다.
그런데 모든 n에 대해서 decoder를 따로 만드는 게 아니라 하나를 만들어 놓고 이를 조합하여 더 큰 n에 대한 decoder를 만들 수 있다면 좋을 거 같다. 이러한 과정을 모듈화(Modularization)라고 한다.
이제는 (n-1) to 2^(n-1) decoder를 조합해 n to 2^n decoder를 만드는 과정을 살펴보자.
이렇게 디코더에 대해 알아보았다.
어떤 신호에 대해 출력선을 고를 수 있는 기능이 논리 회로를 구성할 때 여기저기에 많이 쓰인다고 하니 잘 이해하자!
반론이나 질문은 환영입니다.