GN⁺: NandGame – 컴퓨터를 처음부터 만드는 방법
(nandgame.com)Nand 게임 소개
- Nand 게임은 기본 컴포넌트에서 시작하여 컴퓨터를 구축하는 게임임.
- 각 레벨에서는 특정 사양에 따라 작동하는 컴포넌트를 구축하는 과제가 주어짐.
- 이 컴포넌트는 다음 레벨에서 빌딩 블록으로 사용될 수 있음.
- 컴퓨터 아키텍처나 소프트웨어에 대한 사전 지식이 필요하지 않으며, 덧셈과 뺄셈 이상의 수학적 기술도 필요하지 않음.
- 인내심이 필요할 수 있으며, 일부 과제는 해결하는 데 시간이 걸릴 수 있음.
첫 번째 과제: Nand 컴포넌트 구축
- 과제: 입력을 출력으로 연결하여 a와 b 입력이 모두 1일 때 출력이 0이 되도록 해야 함.
- 1은 전기 흐름을, 0은 전기 흐름이 없음을 나타냄.
- V 입력은 항상 1인 일정한 전류를 운반함.
정확한 사양
- 입력과 출력의 관계:
- a = 0, b = 0일 때 출력 = 1
- a = 0, b = 1일 때 출력 = 1
- a = 1, b = 0일 때 출력 = 1
- a = 1, b = 1일 때 출력 = 0
GN⁺의 정리
- Nand 게임은 컴퓨터 아키텍처의 기본 개념을 이해하는 데 유용한 도구임.
- 게임을 통해 논리 게이트의 작동 방식을 직관적으로 배울 수 있음.
- 비슷한 기능을 가진 교육용 도구로는 TinkerCAD Circuits와 Logisim이 있음.
- 게임은 인내심을 요구하며, 문제 해결 능력을 기르는 데 도움을 줄 수 있음.
Hacker News 의견
- 게임을 사랑하며, 작은 FPGA 개발 보드를 구입하여 나만의 명령어 세트와 소프트 CPU를 만들게 된 경험이 재미있었음
- iCE40 보드를 선택한 이유는 오픈 소스 지원이 괜찮고 가격이 저렴했기 때문임
- Turing Complete라는 유사한 게임을 즐겼으며, Nand2Tetris 책과 매우 유사함
- NandGame 관련 정보:
- NandGame – 컴퓨터를 처음부터 만드는 게임으로 여러 번 언급되었음
- Nand2Tetris와 같은 컴퓨터를 구현하는 과정이며, Nand2Tetris는 텍스트 기반의 HDL을 사용하고 NandGame은 그래픽 인터페이스를 사용함
- 두 과정 모두 재미있고 교육적이지만, NandGame이 더 재미있다고 생각함
- Nand2Tetris를 완료하면 더 높은 수준의 컴퓨터 소프트웨어 작업을 할 수 있는 추가 연습이 가능함
- 전자공학을 전공했으나, 현재는 소프트웨어 분야에 종사하고 있으며, 과거의 지식을 잊어버린 상태임
- 실험과 오류를 통해 하프 애더를 구현하는 데 성공함
- NAND 게이트를 구현한 후에는 신경망과 유사한 구조를 가지게 됨
- 입력/출력 의미론을 고려할 때, 백프로퍼게이션이 아닌 다른 방법으로 신경망을 훈련시킬 수 있는지 궁금함
- 관련 지식이 전혀 없으며, 구성 요소의 기능에 대한 설명이 필요함
- 릴레이의 역할, "c"와 "in"의 의미, 별도의 전원 공급이 필요한 이유 등에 대한 궁금증이 있음
- 이 페이지에서 Doom을 플레이할 수 있는 날이 언제 올지 궁금함
- MHRD라는 게임을 추천하며, 모두가 한 번쯤 해보기를 권장함
- 이 프로젝트가 매우 멋져 보이며, 책을 끝까지 읽지 못한 것을 후회하고 있음
- 더 많은 것을 시도해보고 싶음