실험 2 : 인코더 (Encoder, 부호기)

【 이론 】



인코더는 디코더의 역연산을 수행하는 디지탈 함수이다. 인코더는

2^n

 
개 이하의 입력선과 n개의 출력선을 가진다. 인코더의 예가 그림 15-3에 있다. 8진-2진 인코더는 8개의 디지트들 각각에 대해 입력이 필요하므로 8개의 입력이 있어야 하며 그 대응되는 2진수를 산출하기 위해 3개의 출력들이 있어야 한다. 즉, 인코더는 코드화기이다. 그림에서 인코더는 OR 게이트들로 구성되는데 OR 게이트들의 입력은 그림 15-4의 진리표로부터 결정된다. 출력 z는 입력 8진 디지트가 홀수이면 "1"이 된다. 출력 y는 입력 8진 디지트가 2, 3, 6, 7이면 "1"이 된다. 또, 출력 x는 입력 8진 디지트가 4, 5, 6, 7일 때 "1"이 된다.

D_0

 
는 어떤 OR 게이트에도 연결되지 않았는데 이 경우 2진 출력은 모두 "0"이 되어야 하기 때문이다. 그러나 모든 입력들이 "0"일 때도 출력들은 전부 "0"이 된다. 이 모순성은 모든 입력이 "0"이 아니라는 사실을 지시하기 위해 추가의 출력을 하나 제공함으로써 해결한다.

그림 15-3의 인코더는 임의의 때 하나의 입력만 "1"이 될 수 있다고 가정한다. 그렇지 않으면 회로는 의미가 없다. 회로는 8개의 입력을 가지고 있다. 따라서

2^8 = 256

 
개의 입력 조합이 가능한데, 단지 이들 중 8개만이 의미를 가진다.

인코더들은 입력 우선 순위를 정하여 가장 높은 우선 순위를 가지는 입력선만 해독한다. 그림 15-4에서 높은 첨자를 가지는 입력이 낮은 첨자를 가지는 입력보다 우선 순위가 높다고 하자. 만일

D_2

 

D_5

 
가 동시에 "1"이 된다면

D_5

 

D_2

 
보다 우선 순위가 높기 때문에 출력은 [101]이 될 것이다.