라즈베리파이반

라즈베리파이 등 컴퓨터계열 게시판입니다.

제목조합 논리회로 : 디코더 / 인코더 / 멀티플렉서2023-04-30 17:10
작성자user icon Level 4

88x31.png


1. 디코더(Decoder)


디코더는 입력 변수들의 최소항(minterm)을 생성하는 논리회로입니다. n개의 입력을 통해 2n개의 최소항을 출력합니다.


최소항은 진리표에서 하나의 행만 1이 되고 나머지는 0이 되는 곱을 말합니다. 예를 들어 2개의 입력을 통해 다음과 같이 4개의 최소항을 생성할 수 있습니다.


 A

 B

 D0

 D1

 D2

 D3

 0

 0

 1

 0

 0

 0

 0

 1

 0

 1

 0

 0

 1

 0

 0

 0

 1

 0

 1

 1

 0

 0

 0

 1


해당 진리표를 통해 다음과 같이 회로를 그릴 수 있습니다.


 


해당 회로를 활성화 또는 비활성화 시키기위해 다음과 같이 Enable 입력을 연결하면 2X4 디코더가 됩니다.


 


2X4 디코더를 2개 연결한다면 3X8 디코더를 만들 수 있습니다.


 



2. 인코더(Encoder)


인코더는 디코더의 반대입니다. 2n개의 입력으로 부터 n개의 이진코드를 출력합니다.


 D0

 D1

 D2

 D3

 A

 B

 1

 0

 0

 0

 0

 0

 0

 1

 0

 0

 0

 1

 0

 0

 1

 0

 1

 0

 0

 0

 0

 1

 1

 1


인코더는 OR gate를 통해 간단하게 회로를 구성할 수 있습니다. 


 


인코더를 통해 암호화된 출력이 디코더의 입력이 된다면 원래의 입력으로 해독할 수 있습니다.


 



3. 멀티플렉서(Multiplexer, MUX)


멀티플렉서는 n개의 선택선 입력을 통해 2n개의 데이터 입력 중 하나를 선택하여 출력선으로 연결하는 논리회로입니다. 데이터 선택기(Data Selector)라고도 불립니다.


CPU에서 연산을 하기 위해서는 RAM으로부터 데이터를 가져와야합니다. 이때 데이터를 가져오는 가장 간단한 방법은 램과 레지스터를 1:1로 연결하는 것입니다.


 



4비트만 연결해도 16개의 출력선이 필요하여 너무 복잡해집니다. 이를 해결하기 위해 멀티플렉서를 사용합니다. 멀티플렉서는 여러 입력 가운데서 하나의 입력을 선택하여 출력합니다.


n개의 제어 입력을 통해 2n개의 데이터 입력을 제어할 수 있습니다. 아래는 4비트의 입력선을 제어하기 위한 4X1 멀티플렉서 회로입니다.


 


제어 입력선은 디코더와 동일하며, 디코더의 출력선은 데이터 입력선과 AND 연산을 통해 입력선을 선택할 수 있습니다.



4. 디멀티플렉서(Demultiplexer, DMUX) 


멀티플렉서를 통해 메모리에서 출력된 데이터는 버스(bus)를 통해 CPU의 레지스터로 전달됩니다. 이때 2n개의 출력선 중 하나를 선택하여 전송하는데, 이것은 디멀티플렉서(Demultiplexer, DMUX)에 의해 수행됩니다.


디멀티플렉서의 회로 또한 n개의 제어 입력이 필요하며, 하나의 데이터 입력선과 AND 연산을 통해 출력선을 선택할 수 있습니다.


 

#디코더# 인코더# 멀티플렉서# 디멀티플렉서
댓글
자동등록방지
(자동등록방지 숫자를 입력해 주세요)