C-log

💻그래서 컴퓨터는 무엇? : 레지스터 1(1bit Memory) 본문

CS/그래서 컴퓨터는 무엇?💻

💻그래서 컴퓨터는 무엇? : 레지스터 1(1bit Memory)

4:Bee 2023. 8. 13. 19:35
728x90
 YouTube Link  
쓸모없는 CPU만들기 - 2강 -레지스터 만들어봤자 무쓸모
https://youtu.be/t-CtCfYfZ1k

1bit Memory 생성하기

여기서 우리는 UNIVERSAL Gate인 NAND 4개를 사용해서 1bit 메모리를 생성했다. 하나하나 따져 보면서 작동 원리를 파악해보자.

NAND
input A input B output Q
0 0 1
0 1 1
1 0 1
1 1 0

기본적으로 NAND는 앞에 강의에서도 언급했 듯 이러한 형태이다. i(input)와 s(set)라고 a와b를 지칭하면 s에 따라서 i가 작동하고 않고의 여부가 갈린다. 다시 생각해보면 s가 아무 것도 없는 0을 반환하고 있으면 i는 그 어떠한 것도 작동하지 않는 것이다. (set은 표의 input A라고 생각하면 될 듯하다.) 다시 말해서 NAND 1번이 활성화가 되지 않으면 output의 값은 변화가 없다는 것이다. 

그렇다면 2와 3 그리고 4는 어떠한 역할인가. 우선 set의 input형태가 NAND 1번 외에의 2번과도 연결이 되어 있다. 즉, s가 반환을 하는 순간 2번 NAND는 다시 i의 상태 값에 따라 1번 NAND의 상태가 변하면서 2번 NAND의 상태가 결정난다는 것이다. 아래 그림을 비교하면서 쉽게 예시를 들어보자. 

i와 s가 1이다 NAND Gate의 조건에 따라 1번 NAND는 a,b가 1이기에 0을 반환한다. 그러면 그에 따른 2번 NAND는 1번 NAND의 0과 s의 1의 조건을 가지게 된다. 그렇게 2번 NAND는 1이라는 결과를 반환한다 그와 동시에 2번 NAND가 4번으로 값을 넘어갈 때 3번 NAND는 이미 0과 0의 상태 조건에 있기에 반환값은 당연히 1이라는 값을 반환한다. 그렇게 NAND 4번의 상태는 1과 1을 가지므로 3번 NAND의 진로를 방해하지 않고 1을 반환하는 상태를 만드는 것이다. 아래 표를 반환한 결과 값에만 중점으로 구성해보겠다.(input A와 B의 기준은 NAND의 위에서 아래 포트 순이다.)

  NAND 1 NAND 2 NAND 3 NAND 4
input A(def : 1) 1 (from i) 0 (from NAND 1) 0 (from NAND 1) 1 (from NAND 3)
input B(def : 1) 1 (from s) 1 (form s) 0  (from NAND 4) 1 (from NAND 2)
output Q(N) 0 1 1 0

표를 정리하면서도 굉장히 의존적이라는 것을 느낄 수 있었다. 뿐만아니라 NAND3와  NAND4의 의존관계는 굉장히 미묘한 관계라 느꼈다. NAND의 숫자의 의미는 순차적 변화나 순차를 기준으로 정해졌을 것이라 생각했는데 1,2까지는 과정성 납득이 되었으나 NAND 3,4는 거의 동시에 벌어졌다 해도 무관할 정도로 미묘했다. 즉, 각 3과 4의 상태를 정하는 상호 의존관계가 확실히 서로 엑스자의 형태로 이루어져 있기 때문인 것같다. (NAND1,2를 중심으로 보면 일관되게 상태를 결정 짓는 대상이 s라 나와 있으나 NAND3,4는 각기 서로를 가리키고 있기 때문에 엑스자의 형태를 이룬다 한 것이다.)

728x90
Comments