convergence

컴퓨팅 시스템 만들어가기 -01 본문

컴퓨터 공학 - 로드맵/컴퓨팅 시스템 만들어가기(hardware to software)

컴퓨팅 시스템 만들어가기 -01

JUNHA PARK 2020. 8. 20. 06:21

이 과정은 컴퓨터시스템의 밑단부터 소프트웨어까지의 영역을 다루는 강의입니다. 

 

Build a Modern Computer from First Principles: From Nand to Tetris 

의 코세라 강의를  듣고 정리 및 재구성한 강의입니다. 

 

교재는  아래에 있는 책과 같습니다. 

소프트웨어에서 하드웨어까지

위 책을 선택하게 된 이유는 아래와 같습니다. 

  • 일반적인 컴퓨터 교재들은 코딩 및 소프트웨어에 치중되어 있음
  • 컴퓨터과학 전공자들의 컴퓨터작동원리를 종합적으로 이해할 수 있도록 도움을 줄 수 있는 책은 너무 길고 복잡하다
  • 소프트웨어가 제공되어 정말 기계 pcb판부터 뜯어 공부하지 않아도 되는 부분이 있음 ( 소프트웨어로 하드웨어 설계과정을 볼수 있음)
  • 다루는 내용하나하나가 전공과목의 하나에 해당하나 전체적인 프로세스를 확인할 수 있다는 점이 이 책의 장점임.
  • 가장 이 책이 마음에 든건 겉으로만 공부하지 않고 기본이 되는 개념에 대해서 충실히 학습하고 느낄 수 있도록 설계되었다는 점이다. 응용 컴퓨터과학의 기본적인 개념들이 잘표현되어 있다. 

학부과목으로 따지면 하드웨어 없는상태에서 컴퓨터 시스템 구축 세미나에 해당될 것이며 컴퓨터공학이론처럼 이론만 하지 않는다는점에서 이책이 의미가 있어보였다. 

 

우리가 앞으로 다룰 내용이다. 


이 강의를 시작하기에 앞서 

준비해야 할 것들이 있다. 

 

아래 소프트웨어를 깔도록한다. 

 

https://www.nand2tetris.org/software

 

Software | nand2tetris

Two OS implementations are supplied: (i) a collection of eight .vm class files, written originally in Jack (just like Unix is written in C), and (ii) a faster implementation of all the OS services, embedded in the supplied VM Emulator.

www.nand2tetris.org

 

 

Nand2tetris 소프트웨어는 두 디렉토리로 구성되어있다. 

 

  1. projects
  2. tools

 

 

projects 디렉토리 는 00, 01, ..., 13이라는 이름의 14 개 프로젝트 디렉토리로 나뉩니다 (이 중 프로젝트 00은 Coursera에서 과정을 수강하는 학습자에게만 해당되며 프로젝트 13은 제한이 없음). 이러한 디렉토리에는 다양한 nand2tetris 프로젝트에서 작업 할 때 수정하고 완료해야하는 파일이 포함되어 있습니다.
 

tools 디렉토리 에는 nand2tetris 소프트웨어 도구가 포함되어 있습니다. 다양한 프로젝트를 수행하면서 설명 할 프로그램 및 파일 모음입니다.


 

이 섹션의 나머지 부분은 참조로 사용해야합니다. 특정 소프트웨어 도구를 사용하라는 메시지가 표시 될 때까지 다음 내용을 읽을 필요가 없습니다.
 

.bat 및 .sh 파일  은 nand2tetris 소프트웨어 도구를 호출하는 데 사용되는 배치 및 스크립트 파일입니다. 이러한 파일은 아래에 자세히 설명되어 있습니다.
 

bin 디렉토리  에는 nand2tetris 소프트웨어 도구의 코드가 포함되어 있습니다. Java 클래스 파일과 지원 파일을 포함하는 여러 하위 디렉토리로 구성됩니다.
 

builtInChips 및 builtInVMCode 디렉토리  에는 각각 제공된 하드웨어 시뮬레이터 및 VM 에뮬레이터에서 사용하는 파일이 포함되어 있습니다.
 

OS 디렉토리  에는 Jack 운영 체제의 컴파일 된 버전이 포함되어 있습니다


자 이제 시작합니다. 

Comments