일전에 병렬 컴퓨터에서 어셈블리어로 프로그램을 짜면서 기본적인 장치들을 구현해보는 게임인 TIS-100 에 대해 포스팅한 일이 있다.
참고 : http://blog.joomoney.net/?p=3659
TIS-100 의 영향인지 프로그래밍하는 게임이 종종 보이는데, 어제 스팀에서 세일하는 MHRD 라는 게임을 구입했다.
이것은 논리회로를 설계하는 게임이라고 할 수 있다.
처음에 NAND 소자가 주어졌다. 이것을 이용해서 Not, And, Or, Xor 를 만들고, 점점 복잡한 회로를 거쳐 CPU 를 만들어나간다.
문제를 풀기 위해 대학 시절 논리회로 과목에 배운 지식들을 떠올려야 하는데.. Don’t care 법칙이라고 이름이 마음에 들었던 것밖에 별로 기억나는 게 없다.
MUX 를 풀라고 다음과 같이 문제가 나왔다.
이 문제를 풀기 위해 다음과 같이 카르노 맵을 그리고, 소자들을 엉성하게 배치했다. (기호도 까먹었다. 최적도 아닌 것 같고.)
문제를 풀어 코드를 입력했더니
결과 : PASS!
재미있는 장난감이다. 대학 다니던 시절이 이런 걸 했으면 논리회로 학점이 그렇게 나오진 않았을텐데.