스킬캠퍼스

오늘 끝나면

레지스터와 RAM

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

실습 미션

플립플롭, SRAM, DRAM — 비트를 잠깐 붙잡는 법과 많이 저장하는 법은 다르다 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.

성공 조건

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

13 · 1비트 메모리

1비트 메모리

게이트는 입력이 사라지면 바로 잊는다. 그런데 ‘기억’은 어떻게 생기는가.

P.01디지털 로직 · 1비트 메모리

게이트는 기억이 없다

여태 본 게이트는 모두 즉답형이다. 입력이 들어오면 출력이 나오고, 입력이 빠지면 출력도 같이 사라진다.

AND, OR, XOR 어느 것도 방금 값을 붙잡지 못한다. 매 순간 들어온 입력만 보고 답을 다시 계산한다.

그래서 전원이 끊기거나 입력이 끊기면 회로 안에 남는 것이 없다. 기억하려면 ‘붙잡는 장치’가 따로 필요하다.

입력이 빠지면 출력도 사라진다
게이트 = 즉답기
ABANDQ
입력 있을 때

A=1 B=1 → Q=1

입력 빠지면

A=? B=? → Q 사라짐

방금 값을 들고 있지 않다, 기억 없음

P.02디지털 로직 · 1비트 메모리

피드백으로 상태를 가둔다, 래치

기억을 만드는 트릭은 의외로 단순하다. 출력을 다시 입력으로 되먹이는 것, 곧 피드백이다.

게이트 두 개를 서로의 출력에 물려 고리를 만든다. 그러면 한쪽이 1일 때 그 1이 상대를 눌러 자기를 계속 1로 유지한다.

입력이 빠져도 고리가 값을 스스로 떠받친다. 이렇게 상태가 걸려 멈추는 회로가 래치다. 1비트가 회로 안에 갇힌다.

출력을 입력으로 되먹인다
피드백 고리 = 래치
NORNORQQ’SR

파란 선 = 출력을 다시 입력으로 되먹인다

입력이 빠져도 고리가 값을 떠받친다, 상태가 걸린다

P.03디지털 로직 · 1비트 메모리

클럭과 D 플립플롭

래치는 입력이 흔들리면 출력도 같이 흔들린다. 언제 받을지 박자를 정해줘야 한다.

그 박자가 클럭이다. 일정하게 째깍이는 신호로, 회로 전체가 같은 순간에 움직이게 맞춰준다.

래치에 클럭을 단 것이 D 플립플롭이다. 클럭을 치는 그 순간에만 입력 D를 받아 Q에 가둔다. D를 아무리 바꿔도 다음 클럭 전까지 Q는 그대로다. 0과 1을 한 박자 동안 붙잡아 둔다. 이것이 1비트 메모리다.

클럭을 칠 때만 D를 Q에 가둔다
클럭 칠 때만 D를 Q로
CLK

↑ 점선 = 클럭 상승 순간(받는 시점)

박자DQ(가둠)
111
201
300
410

칸 = 클럭을 친 박자에만 D가 Q로 넘어온다

P.04디지털 로직 · 1비트 메모리

직접 박자를 쳐서 가둬보기

말로 봤으니 손으로 확인한다. 오른쪽에서 D를 바꾸고 클럭을 직접 쳐본다.

클럭을 안 친 채 D만 바꾸면 Q는 꿈쩍하지 않는다. 클럭을 치는 순간에만 그때의 D가 Q로 넘어와 갇힌다.

이것이 ‘붙잡아 둔다’의 실체다. 입력이 다시 바뀌어도 다음 박자 전까지 값이 그대로 유지된다.

D 플립플롭
D 플립플롭 · 클럭이 칠 때만 기억한다
입력 D
FF
기억 Q

D를 바꿔도 Q는 그대로죠? 클럭을 한 번 쳐야 Q가 D를 받아 갱신됩니다. 이 ‘붙잡아 두는 것’이 바로 1비트 기억입니다.

P.05디지털 로직 · 1비트 메모리

레지스터 → SRAM → DRAM의 씨앗

플립플롭 하나는 1비트다. 이것을 나란히 깔면 메모리가 된다.

8개, 32개, 64개를 묶으면 레지스터가 되고, CPU가 계산 중인 값을 잠깐 쥐는 칸이다. 같은 플립플롭을 수백만 개 격자로 깔면 SRAM이 되고, 캐시로 쓴다.

DRAM은 플립플롭 대신 작은 커패시터 하나에 전하를 담아 1비트를 더 싸고 빽빽하게 만든다. 그래서 메인 메모리는 DRAM, 빠른 캐시는 SRAM이다.

Q. 클럭을 안 친 채 D만 0에서 1로 바꾸면 D 플립플롭의 Q는?정답은 변하지 않는다(이전 값 그대로)이다.
D 플립플롭은 클럭을 치는 순간에만 D를 받아 가둔다.
클럭이 안 오면 D가 아무리 바뀌어도 Q는 직전에 가둔 값을 유지한다.
이 ‘붙잡아 둠’이 1비트 메모리의 핵심이다.
1비트를 수억 개 깔면
1비트 → 메모리
플립플롭 8개 = 8비트 레지스터
1
0
0
1
0
0
1
0
레지스터수십 비트 · CPU가 쥔 값
SRAM수백만 개 격자 · 캐시
DRAM커패시터 1비트 · 메인 메모리

같은 1비트를 수억 개 깐 것이 메모리다

3줄 요약

  1. 1플립플롭, SRAM, DRAM — 비트를 잠깐 붙잡는 법과 많이 저장하는 법은 다르다
  2. 2레지스터와 RAM은 전기 → 불 대수 → 게이트 → 메모리 → CPU 흐름 안의 한 칸이다.
  3. 3개념을 외우는 것보다 입력을 바꾸면 무엇이 달라지는지 보는 것이 우선이다.

완료 전 점검

복습 카드

레지스터와

플립플롭, SRAM, DRAM — 비트를 잠깐 붙잡는 법과 많이 저장하는 법은 다르다

전압

전하를 밀어내는 힘

비트

0 또는 1 하나를 담는 가장 작은 정보 단위