a와 b를 서로 묶은 후 그 사이에 새로운 입력 전선을 연결한 것.
a와 b로 들어가는 입력은 언제나 같다.
a,b,x는 처음 게이트의 입력과 출력. x와 c는 두 번째 게이트의 입력과 출력
두 개의 게이트는 'c'로 나오는 출력 비트의 상태가 서로 반대.
이전에 배운 게이트는 'NAND 게이트'.
AND 랑 비교하면 AND는 입력이 on일 때 어떤 동작을 수행하지만, NAND는 반대로 동작을 멈춘다.
컴퓨터 안에는 비트 밖에 없다. 이는 NAND 게이트가 어떻게 작동하는지만 이해하면 컴퓨터는 이해할 수 있다는 말과 같다.
게이트 바깥으로 출력되는 비트는 연결된 전선에 모두 같은 상태로 퍼져 있는 셈.
게이트로 들어가는 입력은 전선에 있는 전류를 소모하지 않는다. 그래서 출력을 하나만 내보내도 많은 게이트에 입력으로 연결할 수 있다.
비트 메모리는 NAND 게이트 4개만 있으면 만들 수 있다.
s | i | a | b | c | o | recalculated o | result |
---|---|---|---|---|---|---|---|
on | off | on | off | on | off | off | i==o |
on | on | off | on | off | on | on | i==o |
off | on or off | on | on | off | on | on | o=i |
off | on or off | on | on | on | off | off | o=i |
s가 on 일 때는 i와 o의 상태가 같다.
s가 off 일 때는 a와 b가 항상 on 이므로 c가 off이면 o가 on, c가 on이면 o가 off인 결국 s가 on 이었을 때의 예전 상태를 그대로 유지하는 것을 볼 수 있다.
결론으로 s가 on이면 o는 i를 따라 가고, off이면 o는 그대로 값을 유지하는, 즉 i를 보존한다.
비트를 설정하고 (s가 on) 비트를 보존 (s가 off) 원리는 비트 메모리와 같다.