오늘 끝나면
MUX와 디코더
- ✓MUX와 디코더의 핵심 문제를 한 문장으로 설명한다
- ✓오른쪽 실습에서 MUX와이 어떻게 움직이는지 관찰한다
- ✓다음 강의와 이어지는 한계를 말할 수 있다
실습 미션
신호를 고르고 주소를 푼다 — 활성 경로만 흐른다 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.
성공 조건
- □실습의 기본값을 먼저 관찰
- □입력값이나 모드를 한 번 이상 바꿔 결과 비교
- □왜 결과가 바뀌었는지 한 문장으로 설명
반도체 설계 · 05
MUX와
디코더
게이트는 비트를 계산한다. 이제 비트를 고르고 보내는 일이 필요하다.
MUX는 여러 입력 중 하나를 고르는 스위치다.
디코더는 주소를 받아 활성 선 하나로 푸는 장치다. 메모리와 제어의 기본이 된다.
MUX, 신호를 고른다
MUX(멀티플렉서)는 여러 입력선 중 하나를 골라 출력으로 내보내는 스위치다.
입력이 네 개면 4:1 MUX다. 데이터선이 4개, 출력선이 1개다.
어느 입력을 고를지는 따로 있는 선택선이 정한다.
선택선은 데이터가 아니라 몇 번 통로를 열지 가리키는 주소다.
입력이 4개면 0번부터 3번까지 가리켜야 하니 선택선은 2비트다.
선택선 비트 수가 n이면 입력은 2ⁿ개를 다룬다.
고른 통로만 전기가 흐르고 나머지는 막힌다. 데이터 라우터의 가장 작은 단위다.
이 4:1 MUX가 그대로 16비트 CPU 레지스터 파일의 읽기 포트로 들어간다.
8개 레지스터 중 하나를 골라 ALU로 보내는 일이 바로 MUX의 일이다.
DEMUX·디코더, 반대로 푼다
MUX가 여럿을 하나로 모았다면, DEMUX와 디코더는 반대로 하나를 여럿으로 풀어낸다.
DEMUX(디멀티플렉서)는 입력선 하나를 받아 선택선이 가리키는 출구 하나로만 내보낸다.
1:4 DEMUX면 출구가 넷이고, 그중 고른 하나만 값을 받고 나머지는 0이다.
MUX의 거울상이다. 입력과 출력이 뒤집힌 모양이다.
디코더는 더 순수하다. 데이터 없이 주소만 받는다.
2→4 디코더는 2비트 주소를 받아 4개 출력선 중 딱 하나만 1로 켠다.
주소가 10이면 Y2만 1이고 나머지 셋은 0이다.
이렇게 하나만 켜는 동작이 메모리 한 칸을 깨우는 방식이다.
주소 n비트를 디코더에 넣으면 2ⁿ칸 중 정확히 한 칸의 워드선이 켜진다.
MUX와 DEMUX와 디코더 셋이 데이터를 고르고 보내고 주소로 깨우는 삼총사다.
주소 선택, 디코더가 메모리를 연다
메모리에는 칸이 많다. 그중 한 칸만 골라 읽고 써야 한다.
이 일을 디코더가 한다. CPU가 주소를 비트로 던지면 디코더가 그 주소를 워드선 하나로 푼다.
주소가 2비트면 칸이 4개이고, 켜지는 워드선은 항상 한 개뿐이다.
켜진 칸만 데이터 버스에 연결되고 나머지는 끊겨 있다.
읽을 때는 그 칸의 값이 버스로 나오고, 쓸 때는 버스의 값이 그 칸에 저장된다.
한 칸만 켜졌으니 충돌이 없다. 주소만 바꾸면 다른 칸이 열린다.
주소 비트가 늘수록 칸이 2배씩 늘어, 16비트 주소면 65,536칸을 가리킨다.
이것이 MyChip의 RAM 읽기와 쓰기 경로의 핵심이다.
디코더가 주소를 풀고, MUX가 그 칸을 골라 CPU로 보낸다. 같은 원리의 앞뒤다.
| 주소 | 워드선 | 데이터 | 버스 |
|---|---|---|---|
| 00 | Y0=0 | 1011 | 끊김 |
| 01 | Y1=0 | 0100 | 끊김 |
| 10 | Y2=1 | 1110 | 1110 |
| 11 | Y3=0 | 0011 | 끊김 |
직접 골라본다, MUX·DEMUX·디코더
MUX, DEMUX, 디코더를 토글로 오가며 선택선을 직접 눌러본다.
S1·S0 두 비트가 0번부터 3번까지 통로를 고른다.
밝게 켜진 선만 전기가 흐르고, 선택 안 된 경로는 흐리게 죽어 있다.
MUX 모드에서는 출력을 가린 채 답을 먼저 고르고 결과와 비교한다.
여기서 고른 4:1 MUX와 2→4 디코더가 그대로 MyChip의 레지스터 읽기와 메모리 주소 해독에 들어간다.
밝은 선 = 선택된 채널 I0 · 나머지는 흐리게 죽어 있다
| S1 | S0 | 고른 채널 | OUT |
|---|---|---|---|
| 0 | 0 | I0 = 1 | 1 |
한 장 정리, 고르고·보내고·푼다
셋 다 경로를 선택하는 회로다. 방향과 목적만 다르다.
MUX는 여럿을 하나로 모아 입력 중 하나를 골라 출력한다.
DEMUX는 하나를 여럿으로 풀어 입력을 고른 출구로만 보낸다.
디코더는 주소를 받아 데이터 없이 활성 선 하나만 켠다.
공통 규칙 하나만 기억하면 된다.
선택선이 n비트면 통로는 2ⁿ개이고, 켜지는 건 항상 한 개다.
게이트가 비트를 계산했다면, 이 회로들은 비트를 어디로 흐르게 할지 정한다.
Q. 2:1 MUX의 선택선은 몇 비트인가?
정답은 1비트다.입력이 둘(0번과 1번)이라 가리킬 통로가 2개뿐이다.
선택선 비트 수가 n이면 입력은 2ⁿ개이고,2¹ = 2라 1비트면 충분하다.
입력이 4개인 4:1 MUX라면 2² = 4라 선택선이 2비트가 된다.
입력 중 하나를 골라 출력한다
선택선 n비트이면 통로 2ⁿ개
입력을 고른 출구로만 보낸다
선택선 n비트이면 통로 2ⁿ개
데이터 없이 한 선만 켠다
주소 n비트이면 통로 2ⁿ개