Machineboy空
[From Nand to Tetris] 모듈 0. The Nand To Tetris journey 본문
0.0 강의 목표
complete, general purpose working computer from the ground up. hardware and software.
- 1. build the hardware of the computer, which we call Hack
- 2. complete the picture and build the software hierarchy that sits on top of the computer

컴퓨터가 어떻게 구성되는지를 살펴볼 것이다. 하드웨어부터 그 위에 쌓일 소프트웨어의 계층까지
0.1 앞으로 나아갈 길
보편적인 강의에서 하는 just prints Hello World on the screen.
그리곤 어떤 줄이 어떤 명령을 내리고 하는 것을 배울텐데, There are a lot of things that are under the hood here.
- letter 'p' = 112
- letters are supposed to do something, how does, does that happen?
아마 어떤 이들은 compiler that translated to a different language and computer hardware can execute라고 하겠지만 how does that work?
그리고 스크린에 글자를 light하는 것은 또 어떻게 하는데?
lots of pixels and you have to actually the pixels that are lighter in a very special order to somehow represent the letter H and then the letter E. 이것은 extremely complicated 한 일인데 우린 그냥 쓰잖아.
그리고 standard libraries and operating systems that do all that for you한다고 하지만 너는 고려한 적이 없잖아.
지금까지 without worrying about all these very basic questions.
Don't worry about the "how" only about the "what"
you don't need to worry about what happens behind it
just worry about what it's supposed to do and trust that someone else worried about the how.


파란 박스를 쌓고 나면, 파란박스에 대한 implementation을 잊고 abstraction으로 생각하며, 초록 박스를 쌓을 수 있고 ....
이처럼 hardware도 겹겹이 쌓고 software를 쌓아나가는 식으로 배워나갈것
when we can seperate, we can forget a lot of details about implementation.
You can repeat that many times in many different multiple layers of abstraction, one above the other.
for example, suppose we have already built the blue stage box. We can forget its implementation worry only about its interface. when we try to implement a green box above it.
We only remember what it does, we forget how we did it.
We implement the higher level of abstractions and the next level of abstraction.


the myth of how a computer works is no longer mystical

0.2 낸드에서 해킹까지

main elements that have ROM, CPU, RAM and many other chips. and once we build this computer, we're going to connect it to a standard keyboard, and to a display unit.

write the program → compile it → translate it further into machine language → load the code into our computer → computer is going to use all sorts of all sorts of chips that we built which are based on elementary logic gates and the whole thins ends up with the hardware itself. → basically what we did is we built a software hierarchy that sits on top of some hardware platform
elementary logic gate that we can think of, which is called Nand

- most elemntary logic gate that we can think of, which is called nand.(basic, logic gate)
- using certain art called combinational logic, Elementary Logic gate like AND or XOR and so on
- combinational logic or sequential logic which is a different out of design
- and then we'll take this chip set that we built, and design from it a gull blown computer architecture called Hack
- in order to write programs that can execute on this, on this machine and do it in a convenient way, we're going to also introduce an assembler into the picture and we're going to develop alse an assembler for the Hack machine language




0.3 해킹에서 테트리스까지
Most programmers, they really want to work with a high level language, something like this, the example, that is very typlical of what you see in an introduction to programming course.

'Computer > CS' 카테고리의 다른 글
[From Nand to Tetris] Project 1 (1) Elementary logic gates(Not,And, Or, Xor, Mux, DMux) (0) | 2025.01.17 |
---|---|
[From Nand to Tetris] 모듈 1. Boolean Functions and Gate Logic (0) | 2025.01.16 |
프로그래밍을 배운다는 것?과 UML(Unified Modeling Language) (0) | 2024.07.07 |
대표적 파일 시스템 - FAT 파일 시스템 , 유닉스 파일 시스템 (0) | 2024.01.24 |
파일시스템 - 파일과 디렉터리 (0) | 2024.01.21 |