convergence
컴퓨팅 시스템 만들어가기 -01 본문
이 과정은 컴퓨터시스템의 밑단부터 소프트웨어까지의 영역을 다루는 강의입니다.
Build a Modern Computer from First Principles: From Nand to Tetris
의 코세라 강의를 듣고 정리 및 재구성한 강의입니다.
교재는 아래에 있는 책과 같습니다.
위 책을 선택하게 된 이유는 아래와 같습니다.
- 일반적인 컴퓨터 교재들은 코딩 및 소프트웨어에 치중되어 있음
- 컴퓨터과학 전공자들의 컴퓨터작동원리를 종합적으로 이해할 수 있도록 도움을 줄 수 있는 책은 너무 길고 복잡하다
- 소프트웨어가 제공되어 정말 기계 pcb판부터 뜯어 공부하지 않아도 되는 부분이 있음 ( 소프트웨어로 하드웨어 설계과정을 볼수 있음)
- 다루는 내용하나하나가 전공과목의 하나에 해당하나 전체적인 프로세스를 확인할 수 있다는 점이 이 책의 장점임.
- 가장 이 책이 마음에 든건 겉으로만 공부하지 않고 기본이 되는 개념에 대해서 충실히 학습하고 느낄 수 있도록 설계되었다는 점이다. 응용 컴퓨터과학의 기본적인 개념들이 잘표현되어 있다.
학부과목으로 따지면 하드웨어 없는상태에서 컴퓨터 시스템 구축 세미나에 해당될 것이며 컴퓨터공학이론처럼 이론만 하지 않는다는점에서 이책이 의미가 있어보였다.
우리가 앞으로 다룰 내용이다.
이 강의를 시작하기에 앞서
준비해야 할 것들이 있다.
아래 소프트웨어를 깔도록한다.
https://www.nand2tetris.org/software
Nand2tetris 소프트웨어는 두 디렉토리로 구성되어있다.
- projects
- tools
projects 디렉토리 는 00, 01, ..., 13이라는 이름의 14 개 프로젝트 디렉토리로 나뉩니다 (이 중 프로젝트 00은 Coursera에서 과정을 수강하는 학습자에게만 해당되며 프로젝트 13은 제한이 없음). 이러한 디렉토리에는 다양한 nand2tetris 프로젝트에서 작업 할 때 수정하고 완료해야하는 파일이 포함되어 있습니다.
tools 디렉토리 에는 nand2tetris 소프트웨어 도구가 포함되어 있습니다. 다양한 프로젝트를 수행하면서 설명 할 프로그램 및 파일 모음입니다.
이 섹션의 나머지 부분은 참조로 사용해야합니다. 특정 소프트웨어 도구를 사용하라는 메시지가 표시 될 때까지 다음 내용을 읽을 필요가 없습니다.
.bat 및 .sh 파일 은 nand2tetris 소프트웨어 도구를 호출하는 데 사용되는 배치 및 스크립트 파일입니다. 이러한 파일은 아래에 자세히 설명되어 있습니다.
bin 디렉토리 에는 nand2tetris 소프트웨어 도구의 코드가 포함되어 있습니다. Java 클래스 파일과 지원 파일을 포함하는 여러 하위 디렉토리로 구성됩니다.
builtInChips 및 builtInVMCode 디렉토리 에는 각각 제공된 하드웨어 시뮬레이터 및 VM 에뮬레이터에서 사용하는 파일이 포함되어 있습니다.
OS 디렉토리 에는 Jack 운영 체제의 컴파일 된 버전이 포함되어 있습니다
자 이제 시작합니다.