티스토리 뷰

Study/Circuit

[Circuit] 8-to-1 mux 외..

생각많은 소심남 2015. 4. 22. 18:50

아무래도 instruction을 fetch하고 decode하는 과정에서 필요한 요소중 하나가 mux다. 이 mux에서 나온 결과를 활용해서 alu에 어떤 결과를 전달하냐를 결정하기 때문이다. 또한 이걸 활용해서 어떤 register에 저장하겠냐를 결정할 수 있기 때문에 최종적으로는 register file을 구현하는데 이용한다. 아래가 1bit짜리 8-to-1 mux를 구현한 것이다.


사실 원리 자체는 심플하다. select 3bit의 값에 따라서 어떤 입력으로 들어왔는지 판단만 한후 내보내주면 되기 때문이다. 아마 눈치빠른 사람이면 알겠지만 기본적으로 select bit만큼 2의 지수를 적용한 값이 입력의 갯수가 되겠다. 따라서 이와 비슷한 mux로는 아주 간단한 2-to-1 이나 많게는 32-to-5 mux도 나올 수 있다. 아무튼 select bit에 대해서 not gate를 붙여준 후 각 입력에 대한 결과를 and와 or 게이트로 묶었다. 참고로 결과는 다음과 같다.



만약 이걸 16bit으로 확장하겠다 싶으면 단순하게 입력과 그에 해당하는 select bit line을 맞춰서 적용하면 된다. (지금 강의에서 구현하는 컴퓨터가 LC(Little Computer)-3라고 하는 매우 작은 교육용 아키텍쳐인데 기본 데이터 단위가 16bit으로 되어 있다.) 역시 결과는 다음과 같이 구현했다.


댓글