컴퓨터 사이언스의 시작점으로 어디가 좋을지 생각해봤다. "컴퓨터는 어떻게 1비트를 기억할 수 있는가?"란 물음에 답해보는 것이 좋을 것 같았다. 8개의 비트가 모여 1바이트를 이루고 1바이트가 수없이 모여 지금의 가정집 테라(Tera) 시대가 도래했다.
사실 역사적인 순서를 따져보자면 릴레이(relay)에서 시작된다. 릴레이는 단순한 스위치 그 이상으로서 논리게이트를 구현할 수 있다. 그리고 AND 게이트와 OR 게이트 그리고 NOT 인버터만 있으면 1비트 기억소자를 만들 수 있다. 상상해보라. reset이 액티브로우이고 인버터를 거쳐서 나온 reset bar는 하이가 된다. 이 reset bar는 AND 게이트에 입력된다. set이 하이로 바뀌었을 때 문턱값을 넘어 순식간에 OR 게이트를 넘어 out은 하이가 된다! 이 값은 그대로 AND 게이트에 되먹임되서 AND에서 1이 출력되도록 하고 set이 0이 되더라도 여전히 1을 유지하도록 한다.
이번엔 반대로 reset에 전원을 인가시켜보자! 그러면 인버터를 거쳐서 나온 reset bar는 0이 될테고 AND 게이트의 결과물은 0이 될 것이다. set과 AND 게이트의 out 모두 0이므로 OR 게이트의 out도 0이 될테고, 이것은 그대로 AND 게이트의 입력이 되어 reset bar 1과 함께 0을 출력할 것이다. 다시 set 0, and gate out 0이 되어서 OR 게이트의 최종 out도 로우로 끝난다.
그렇다 우리는 지금 1비트 메모리 하나를 만들어냈다! 이제 플립플롭(ff)을 이해할 수 있는 배경지식이 완성되었다!
'컴퓨터 사이언스' 카테고리의 다른 글
가구 배치의 기본 법칙 (2) | 2024.11.27 |
---|