스킬캠퍼스

오늘 끝나면

MUX와 디코더

  • MUX와 디코더의 핵심 문제를 한 문장으로 설명한다
  • 오른쪽 실습에서 MUX와이 어떻게 움직이는지 관찰한다
  • 다음 강의와 이어지는 한계를 말할 수 있다

실습 미션

신호를 고르고 주소를 푼다 — 활성 경로만 흐른다 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.

성공 조건

  • 실습의 기본값을 먼저 관찰
  • 입력값이나 모드를 한 번 이상 바꿔 결과 비교
  • 왜 결과가 바뀌었는지 한 문장으로 설명

반도체 설계 · 05

MUX와
디코더

게이트는 비트를 계산한다. 이제 비트를 고르고 보내는 일이 필요하다.
MUX는 여러 입력 중 하나를 고르는 스위치다.
디코더는 주소를 받아 활성 선 하나로 푸는 장치다. 메모리와 제어의 기본이 된다.

P.01반도체 설계 · 05

MUX, 신호를 고른다

MUX(멀티플렉서)는 여러 입력선 중 하나를 골라 출력으로 내보내는 스위치다.

입력이 네 개면 4:1 MUX다. 데이터선이 4개, 출력선이 1개다.
어느 입력을 고를지는 따로 있는 선택선이 정한다.
선택선은 데이터가 아니라 몇 번 통로를 열지 가리키는 주소다.

입력이 4개면 0번부터 3번까지 가리켜야 하니 선택선은 2비트다.
선택선 비트 수가 n이면 입력은 2ⁿ개를 다룬다.
고른 통로만 전기가 흐르고 나머지는 막힌다. 데이터 라우터의 가장 작은 단위다.

이 4:1 MUX가 그대로 16비트 CPU 레지스터 파일의 읽기 포트로 들어간다.
8개 레지스터 중 하나를 골라 ALU로 보내는 일이 바로 MUX의 일이다.

여러 입력 중 하나만 통과
MUX 4:1, 하나만 통과
I0I1I2I3MUXI1S=01 → I1
선택선 2비트로 입력 4개 중 하나를 고른다. 2ⁿ 통로 중 한 개만 열린다.
P.02반도체 설계 · 05

DEMUX·디코더, 반대로 푼다

MUX가 여럿을 하나로 모았다면, DEMUX와 디코더는 반대로 하나를 여럿으로 풀어낸다.

DEMUX(디멀티플렉서)는 입력선 하나를 받아 선택선이 가리키는 출구 하나로만 내보낸다.
1:4 DEMUX면 출구가 넷이고, 그중 고른 하나만 값을 받고 나머지는 0이다.
MUX의 거울상이다. 입력과 출력이 뒤집힌 모양이다.

디코더는 더 순수하다. 데이터 없이 주소만 받는다.
2→4 디코더는 2비트 주소를 받아 4개 출력선 중 딱 하나만 1로 켠다.
주소가 10이면 Y2만 1이고 나머지 셋은 0이다.

이렇게 하나만 켜는 동작이 메모리 한 칸을 깨우는 방식이다.
주소 n비트를 디코더에 넣으면 2ⁿ칸 중 정확히 한 칸의 워드선이 켜진다.
MUX와 DEMUX와 디코더 셋이 데이터를 고르고 보내고 주소로 깨우는 삼총사다.

하나를 여럿으로 · 주소를 선으로
DEMUX · 디코더, 하나를 여럿으로
DEMUX 1:4고른 출구로만
D=1DMX0Y00Y11Y20Y3
DECODER 2→4주소 10 → Y2만 1
DEC주소 100Y00Y11Y20Y3
DEMUX는 데이터를 한 출구로 보내고, 디코더는 주소로 한 선만 켠다.
P.03반도체 설계 · 05

주소 선택, 디코더가 메모리를 연다

메모리에는 칸이 많다. 그중 한 칸만 골라 읽고 써야 한다.

이 일을 디코더가 한다. CPU가 주소를 비트로 던지면 디코더가 그 주소를 워드선 하나로 푼다.
주소가 2비트면 칸이 4개이고, 켜지는 워드선은 항상 한 개뿐이다.
켜진 칸만 데이터 버스에 연결되고 나머지는 끊겨 있다.

읽을 때는 그 칸의 값이 버스로 나오고, 쓸 때는 버스의 값이 그 칸에 저장된다.
한 칸만 켜졌으니 충돌이 없다. 주소만 바꾸면 다른 칸이 열린다.
주소 비트가 늘수록 칸이 2배씩 늘어, 16비트 주소면 65,536칸을 가리킨다.

이것이 MyChip의 RAM 읽기와 쓰기 경로의 핵심이다.
디코더가 주소를 풀고, MUX가 그 칸을 골라 CPU로 보낸다. 같은 원리의 앞뒤다.

2비트 주소 → 워드선 1개
주소 10 → 한 칸만 열린다
주소워드선데이터버스
00Y0=01011끊김
01Y1=00100끊김
10Y2=111101110
11Y3=00011끊김
켜진 워드선의 칸만 버스에 연결되고, 나머지는 끊겨 충돌이 없다.
P.04반도체 설계 · 05

직접 골라본다, MUX·DEMUX·디코더

MUX, DEMUX, 디코더를 토글로 오가며 선택선을 직접 눌러본다.

S1·S0 두 비트가 0번부터 3번까지 통로를 고른다.
밝게 켜진 선만 전기가 흐르고, 선택 안 된 경로는 흐리게 죽어 있다.
MUX 모드에서는 출력을 가린 채 답을 먼저 고르고 결과와 비교한다.

여기서 고른 4:1 MUX와 2→4 디코더가 그대로 MyChip의 레지스터 읽기와 메모리 주소 해독에 들어간다.

선택선을 눌러 활성 경로를 바꾼다
선택 회로 · 직접 눌러본다S1S0 = 00
선택선, 눌러서 경로를 바꾼다
= 0
MUX 4:1선택된 입력만 통과
I0I1I2I3MUX1OUTS=0

밝은 선 = 선택된 채널 I0 · 나머지는 흐리게 죽어 있다

근거, 선택선 → 활성 출력
S1S0고른 채널OUT
00I0 = 11
P.05반도체 설계 · 05

한 장 정리, 고르고·보내고·푼다

셋 다 경로를 선택하는 회로다. 방향과 목적만 다르다.

MUX는 여럿을 하나로 모아 입력 중 하나를 골라 출력한다.
DEMUX는 하나를 여럿으로 풀어 입력을 고른 출구로만 보낸다.
디코더는 주소를 받아 데이터 없이 활성 선 하나만 켠다.

공통 규칙 하나만 기억하면 된다.
선택선이 n비트면 통로는 2ⁿ개이고, 켜지는 건 항상 한 개다.
게이트가 비트를 계산했다면, 이 회로들은 비트를 어디로 흐르게 할지 정한다.

Q. 2:1 MUX의 선택선은 몇 비트인가?정답은 1비트다.
입력이 둘(0번과 1번)이라 가리킬 통로가 2개뿐이다.
선택선 비트 수가 n이면 입력은 2ⁿ개이고,2¹ = 2라 1비트면 충분하다.
입력이 4개인 4:1 MUX라면 2² = 4라 선택선이 2비트가 된다.
셋의 역할 한눈에
셋의 역할 한눈에
MUX여럿 → 하나

입력 중 하나를 골라 출력한다

선택선 n비트이면 통로 2ⁿ개

DEMUX하나 → 여럿

입력을 고른 출구로만 보낸다

선택선 n비트이면 통로 2ⁿ개

디코더주소 → 선

데이터 없이 한 선만 켠다

주소 n비트이면 통로 2ⁿ개

공통 규칙은 이렇다. n비트면 2ⁿ 통로이고, 켜지는 건 항상 한 개다.

3줄 요약

  1. 1신호를 고르고 주소를 푼다 — 활성 경로만 흐른다
  2. 2MUX와 디코더은 비트·게이트 → ALU → 시간·메모리 → 나만의 CPU → 메모리·GPU·SoC 흐름 안의 한 칸이다.
  3. 3개념을 외우는 것보다 입력을 바꾸면 무엇이 달라지는지 보는 것이 우선이다.

완료 전 점검

복습 카드

MUX와

신호를 고르고 주소를 푼다 — 활성 경로만 흐른다

ALU

산술·논리 연산을 하는 회로

ISA

CPU가 이해하는 명령어 집합과 인코딩