February 19, 2023
이 책은 컴퓨터의 모든 것이 어떻게 동작하는지에 대한 완전한 이해를 시키려는 야심찬 책입니다. 각각의 챕터는 HDL의 기본 로직 게이트를 쓰는것부터 CPU와 어셈블러를 거쳐, 테트리스 게임 정도의 어플리케이션까지 전체시스템의 작은 부분을 빌딩하는것을 포함하고 있습니다. - TeachYourselfCS 中
밑바닥부터 만드는 컴퓨팅 시스템은 컴퓨터 구조 최고의 입문 책입니다.
이 책은 각 챕터에서 독자를 위한 개념 설명과 간단하고 명확한 명세, 그리고 직접 만들어 볼 수 있는 환경을 제공합니다.
각 챕터를 따라가다보면 어느순간 밑바닥(NAND gate)부터 끝(OS)까지 완성되어 있는것을 볼 수 있습니다.
읽는것을(따라해보는것을) 강추합니다. 1~5장은 더더욱 강추합니다.
특히, 아래와 같은 의문이 드는 (저와 같은) 분들에게 추천드립니다.
만약 바로 시작하는게 어렵다고 느껴진다면, CODE를 먼저 읽는것을 추천드립니다.
XOR 게이트(좌측)로 시작해서 16-bit 6-opcode CPU(우측)을 완성한 모습 - 회로도 中
1~2장에서 여러 게이트(NAND, XOR, MUX)와 가산기, 레지스터를 명세에 따라 만듭니다.
3장에서 앞 내용을 바탕으로 ALU와 PC를 만듭니다.
이때 4장에서 갑자기 (간단한)어셈블리 언어를 배우고 몇가지 프로그램을 만든 후
5장에서는 (앞에서 배운) 어셈블리를 실행 가능한 CPU를 만들게 됩니다.
이때, (1~4장 동안 명세에 따라 구현만 신경쓰다) 배웠던 내용이 합쳐지며 추상화된 각 계층을 종합적으로 이해해보는 재밌는 경험을 했습니다.
기계어는 하드웨어와 소프트웨어가 만나는 심오한 인터페이스다. 프로그래머의 ‘추상적 생각’이 기호로 표현되어 하드웨어에서 실행되는 지점이기 때문이다 - ccss17 中
7~8장 가상머신은 제공된 가상머신 시뮬레이터로 이해가 가능했지만…
10~11장 컴파일러는 지금까지 모든 챕터와 다르게 명세가 명확하지도 않았고, 바로 설계하거나, 만들 수가 없었습니다.
옮긴이와 글쓴이의 소개글을 첨부하고 마치겠습니다.
컴퓨터의 작동원리를 종합적으로 이해하지 못하는 상황에서… 혼자 하드웨어부터 소프트웨어까지 만들던 시절로 돌아간다.
따로따로 내용을 배우기보단, 처음부터 끝까지 만들어보는 경험이 훨씬 직관적으로 이해가 된다.
여행 중 점점 모양을 갖추는 컴퓨터를 감상하는 일은 정말 신나는 일