C-log

💻그래서 컴퓨터는 무엇? : Bus(버스)와 Tri-state Buffer(컨트롤 버퍼) 본문

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

💻그래서 컴퓨터는 무엇? : Bus(버스)와 Tri-state Buffer(컨트롤 버퍼)

4:Bee 2023. 8. 14. 22:37
728x90
 YouTube Link  
쓸모없는 CPU 만들기 - 3강 버스를 이용한 데이터 전송과 충돌실험 해봤자 무쓸모
https://youtu.be/ib3x_l_psV0

버스 그리고 Buffer 그리고 Not Gate

버스란 데이터가 지나가는 공간을 버스라고 한다. 이번 레지스터를 이용해서 우리는 데이터가 전송하고 그것을 복사해서 버스가 움직이는 것을 확인 해 볼 것이다.

Buffer(버퍼)는 우리가 앞시간에서 다루었 듯이 값을 다이렉트로 넘길 수 있다. 입력 신호가 0이면 출력도 0이 되고, 입력 신호가 1이면 출력도 1이 되는 게이트이다. 신호를 증폭하지 않고 단순히 전달하는 역할을 수행하며 이는 신호의 지연을 조절하거나 출력을 다른 회로에 연결할 때 사용될 수 있다.

Not Gate는 입력 신호를 반전시켜 출력으로 전달하는 역할을 한다. 즉, 입력이 0이면 출력은 1이 되고, 입력이 1이면 출력은 0이 된다. Not 게이트는 논리적으로 부정(NOT) 연산을 수행하는데 사용된다.


Tri-state Buffer(컨트롤 버퍼)의 역할 그리고 레지스터의 컨트롤 동작 여부

기본적인 Tri-state Buffer(컨트롤 버퍼)의 형태와 값을 전달하는 모습을 간단하게 예시로 확인해 보자. Tri-state Buffer는 기본적으로 노드가 3개를 가지고 있으며 그 중 하나가 컨트롤(c)의 역할을 한다. 기본 Buffer와는 다르게 컨트롤(c)의 반환값에 따라서 결과 값이 전달되고의 여부가 달라진다.

왼쪽은 컨트롤(c)의 값이 0이기에 결과값이 전달되지 않고 있다. 오른쪽은 컨트롤(c)의 값이 1이기에 결과 값이 잘 전달 되는 것을 알 수 있다.

우리는 이 Tri-state Buffer(컨트롤 버퍼)를 가지고 우리가 만든 8Bit Register를 컨트롤 해볼 것이다. 그의 결과는 아래와 같다.

여기서 AND게이트는 Enabler(e)가 작동하는 동안 다른 값이 변동되어도 레지스터의 데이터 값이 변하지 않고 유지는 되는 역할을 하는 것이다. 레지스터가 활성 중일 때 밖의 input에서 부터 레지스터의 input(i)에 다른 값이전달이 되려 할 때 AND게이트가 이미 False인 0으로 Tri-state Buffer(in_Buff)으로 값을 반환하고 있기 때문에 밖의 input에서 부터 변화된 값이 전달되지 않고 대기 상태에 머무르게 된다. 

초기 값을0000 0000으로 먼저 값을 전달 하고 Enabler를 활성화 했을 때 이다.
Enabler를 활성화 했으므로 AND 게이트의 반환 값이 0으로 in_Buff가 동작하지 않는다.

위의 두 이미지를 보면 Buffer에 따라 값의 전달 유무가 다르다. 이는 어떻게 보면 값을 덮어 쓰기 직전의 모습으로 보이기도 한다.


728x90
Comments