컴퓨터 공학과에 입학하기 전부터(사실 중학생 때부터) 컴퓨터의 동작원리에 상당한 호기심이 있었다.
컴퓨터는 0과 1의 반복으로 어떤 작동을 하는 것이기에 그 마법 같은 일들을 해내는지 그 원리가 궁금했다.
이 궁금증은 컴퓨터 공학을 전공한 사람이라면 한 번쯤은 가져봤을 것이라 생각한다.
물론 이것에 대한 해답은 2학년 과목인 '컴퓨터 구조'라는 과목에서 얻을 수 있지만, 그 내용이 무척 많고 복잡하여 처음부터 이해하기 힘들 것 같아 일종의 컴퓨터 교양서적? 을 읽기 시작했는데, 역시.. 그래도 쉽지 않았다.
책의 이름은 '그래서 컴퓨터는 어떻게 동작하나요?' 라는 책이다.
이 책에서는 아주 아주 기초적인 내용인 0과 1의 흐름, 그리고 논리게이트 등을 이용해서 저장소를 만들고, 여러가지 논리게이트들을 결합해서 다양한 컴퓨터 CPU의 구성 요소(누산기, 레지스터, 램, ALU 등등)들을 직접 만든다.
책을 읽다 보면, 결국 컴퓨터는 0과 1의 전기적 흐름, 그리고 몇가지 논리게이트(NAND회로로 모든것을 만들 수 있음)로 만 구성되었으며 생각보다 매우 단순한 장치라는 것을 알게 된다.
내용 자체는 쉽지만, 교양서적답지 않게 그 설명이 자세하고 회로도가 많이 나와서 전공자가 아니라면 이해하기가 쉽지 않을 것 같다는 생각이 들었으며, 회로도를 해석하기 위해서 책에 길게 서술되어 있는 내용을 회로도와 비교하고 읽으며 따라가야 하는데 꽤 난이도가 있다. (상당히 버겁다)
아예 책을 처음 접한다면 이해하기가 상당히 어려울 것이고, 역설적이게도 학교에서 컴퓨터 구조 수업을 들었다면 이해가 그나마 쉬워질 것이라고 생각한다.
처음 읽을 때는 이해가 어려웠는데, 학교 컴퓨터 구조 수업을 듣고 다시 읽으니 이해가 그나마 쉬웠다.
이제는 대강 컴퓨터가 어떤 방식으로 동작하는지 알 듯하다.
'컴퓨터 공학(Computer Science)' 카테고리의 다른 글
정적 링킹(Static Link), 동적 링킹(Dynamic Link), 그리고 컴파일 (2) | 2024.06.24 |
---|---|
버퍼(Buffer)란? (0) | 2023.04.17 |
32비트 컴퓨터, 64비트 컴퓨터란? (6) | 2023.04.09 |