Edit Post

Edit Post

글 저장은 관리자 비밀번호가 필요합니다.

body

Preview

사설

책을 읽으며 하는 공부는 책의 내용을 따라 쓰기밖에 안될 때가 많다. 이를 경계하고자 내가 이전에 개발했던 내용을 살로 붙여서 백지 복기를 하는 식으로 공부하려고 한다. 그리고 생각을 많이 하려고 했다.

책을 읽는다는건 문제를 마주하면서 공부하는게 아니라 그냥 이끄는대로 따라가는 방식이기 때문에 아마 기억에 오래 남지는 못할 것이다. 그럼에도 불구하고 책을 읽으려 한건 자주 단어나 개념을 마주하는 것도 기억을 남기는 방법 중 하나이기 때문이다..

이후의 나에게 도움이 되길!

컴퓨터 구조 왜 배워야하지?

처음 배워야겠다 생각이 든건 개발자 면접에 나오기 때문이다. 물론 지금도 이유는 같다.

그래도 약간 다른 이유를 들어보자면 이 블로그를 개발하면서 의외로 내가 모르는 것들이 많음을 알게되어서 그렇다. os 강의를 들을 때 나왔던 내용들이 자주 보였다. (오라클을 만져보면서 너무나 어려웠다. 물론 네트워크 관련 내용이 더 많긴 했지만.. )

이 책에서 말한 내용은 다음과 같다.

  • 문제를 기존보다 다양한 시각으로 볼 수 있다.
  • 컴퓨터를 두려워하지 않게 된다.
  • 용량, 비용, 성능을 고려할 수 있는 개발자가 된다.

문제를 더 다양한 시각으로 볼 수 있다는건 맞는 것 같다. 맥북에서 윈도우 게임이 왜 안돌아가는지를 알 수 있지않을까.. 그리고 브라우저 성능 탭? 이랑 또 하나 더 있는데 그거 분석할 때 도움이 된다고 생각한다.

그렇지만 컴퓨터는 이 책을 다 읽더라도 무서운 존재이지 않을까.....

컴퓨터 구조 큰 그림

문제.png문제.png

이해를 위해선 암기가 어느정도 필요하다.

이 큰 그림은 외워도 좋을 것 같다.

컴퓨터가 이해하는 정보

데이터는 컴퓨터가 다루는 정적인 정보를 말한다.

명령어는 말그대로 명령하는거... 컴퓨터 어떻게 만질지..

컴퓨터는 명령어를 수행하는 기계이다. 그래서 명령어가 더 중요하다.

핵심 부품

주기억 장치는 기억을 못해서 보조 기억 장치가 있으면 좋다.

그런데 입출력은 왜 핵심 부품인지 잘 모르겠다. 명령어를 사람이 입력할 수 있는 부품이라서 그런가?

CPU는 명령어를 처리하는 부품이기 때문에 핵심 부품이 맞다.

CPU 내부는 또 여러 가지 핵심 부품으로 나뉘기 때문에 책에서는 좀 더 자세히 다뤄줬다.

CPU

명령어를 처리하는 부품~

안에는 다음과 같은 서브 부품이 있다.

  • ALU: 계산하는 애
  • control unit: 명령어 쏘는 애
  • 레지스터: 데이터 임시 저장하는 애 (이전에 심화 공부했던 자료가 있음)

이 세가지 중에서는 컨트롤 유닛이 제일 중요하다고 생각한다. 컨트롤 유닛을 보조하는 애 둘이 있는 것.

컨트롤 유닛은 명령어를 저장하고, 꺼내고, 데이터를 저장하고, 꺼내고 등의 일을 한다.

책에서는 실제로 a + b가 어떤 과정으로 수행되는 지 과정을 보여줬다.

▁▁▁

문자 집합

컴퓨터가 이해할 수 있는 글자들의 모음을 문자 집합이라고 하는 듯 하다. 근데 이렇게 이해하려고 하면 잘 받아들여지지가 않는다.

UTF-8은 이모티콘까지를 해석할 수 있는 문자 집합이라고 이해하면 쉽다. 여기에는 이모티콘까지 있기 때문에 대중적으로 사용된다고 생각하면 된다.

▁▁▁

8bit..

이 책에서는 컴퓨터에서 사용되는 데이터는 이진수라는 사실까지 다뤄줬다. 그리고 8bit는 1byte라고 했다. 지금까진 그냥 당연하게 여겼던 건데, 갑자기 왜 하필 4도 아니고 16도 아닌 8bit를 1byte라고 하게된지 궁금했다.

애초에 왜 byte라는 단위를 사용해야만 했을까? 그냥 bit쓰면 되지 왜 굳이 묶음 단위를 만들어야 했을까..

=> "컴퓨터가 한 번에 의미있게 다루는 덩어리"를 바이트라고 하기로 했다.

이걸 4비트로 했다면 16까지밖에 다루지 못하기 때문에 작아서 충분하지 않았다. 6비트도 영어 대소문자, 숫자, 기호까지 다 넣기엔 부족했다.

16비트가 아닌 이유는 그때는 용량이 비쌌기 때문이라고 한다.

홀수가 아닌 이유는 잘 모르겠다. 그냥 본능적으로 어색하기 때문이 아닐까???!?!?