공부하는 스누피

컴퓨터 구조 및 설계 본문

IT 도서

컴퓨터 구조 및 설계

커피맛스누피 2020. 11. 18. 15:14

정가 35,000원. David A. Patterson, John L. Hennessy 저/ 박명순 외 3인 역

수학을 포기한 사람이 수포자라면 나는 컴구포자(?)였다고 할 수 있다. 대학교 2학년때 컴퓨터 구조 수업을 들을 때 내 이해력의 한계를 처음으로 느꼈고, 처음 보는 회로도와 계산문제에 백기를 들었다. 그래서 그때는 이해를 포기하고 무조건 암기만 했었던 걸로 기억한다. 2년 후 컴퓨터 구조 책을 다시 펼쳐 보게 된 계기는 취업 준비 때문이 아니었다. 내가 엔지니어 파트로 갈 게 아니면 회로나 어셈블리는 취업 준비 과정에서 거의 쓸 일이 없겠지만, 전공 과정에서 유일하게 항복(???)했던 분야였기도 했고 이대로 넘어가면 나중에 어떻게든 발목을 잡을 것 같았다. 운영체제, 클라우드 컴퓨팅 등에서 기반 과목이기 때문이었다. 그래서 예전에 수업에서 교재로 쓰였던 '컴퓨터 구조 및 설계'를 선택해 읽기 시작했다. 역자의 말에 따르면 ARM 에디션이 모든 명령어와 예시를 ARM으로 통일해 혼동이 없게 했다고 해서 기본 5판이 아닌 ARM 판을 선택했다.

 

600페이지가 넘는 꽤 두꺼운 책이지만 책 구성은 간단하다. 6챕터로 이루어져 있고, 컴퓨터 구조의 개념부터 기계어, 어셈블리어, 이를 이용한 연산, 프로세서, 메모리 그리고 병렬 프로세서까지 점차적으로 어려운 주제를 다룬다. 전공자라면 3챕터까지는 무난히 읽고 넘어갈 수 있다. 예전에는 2의 보수법 계산과 부동소수점에서 어려움을 느꼈는데 2년 동안 컴퓨터를 계속 공부해서인지 다행히 이해하고 넘어갔다. 문제는 4챕터, 프로세서 부분이었다. 챕터 서론부터 논리 회로에 대해 모른다면 공부하고 오라는 것이었다. 논리 회로에 대한 개관은 부록에 있으니 찾아보라는데, 번역판에는 아쉽게도 부록이 수록되지 않았다. 출판사 홈페이지에 들어가면 부록 pdf를 찾을 수 있다. 물론 영어로 되어 있다.

 

논리회로 기초를 다룬 부록 A는 생각보다 많은 양을 다뤘다. 진리표, AND/OR 게이트 같이 친숙한 개념부터 시작해서 논리 회로 설계에 쓰이는 각종 개념들을 설명해준다. 나같은 경우는 논리회로 수업을 듣지 않아 기본적인 논리회로 지식을 쌓는데 큰 도움이 되었다. 저자가 말하길, 이 부록은 논리 회로 대학 교육과정을 대체하지는 못하지만 컴퓨터 구조를 이해하는데 필수적인 요소를 담았다고 한다. 비전공자나 논리회로를 잘 모르는 사람은 부록을 반드시 보고 넘어가자. 부록을 보기 전 챕터 4를 훑어 봤을 때는 읽을 수 없는 암호 뿐이었는데, 이틀에 걸쳐 부록을 읽고 나니 암호가 읽을 수 있는 기호로 보였다. 

 

챕터 4는 컴퓨터 구조 과목에서 핵심 챕터라고 할 수 있다. 단순한 회로부터 시작해 간단한 연산을 수행하는 컴포넌트들을 만들고, 그 컴포넌트들을 합쳐서 어떻게 CPU 연산이 이루어지는지 보여준다. 그전까지 하드웨어, CPU의 영역이란 Black Box에 가까운 존재였는데, 이 챕터를 읽고 나니 하드웨어에 대한 윤곽이 어느 정도 잡히게 된 것 같다. 챕터 5는 캐시와 가상 메모리를 중점적으로 다루는데, 운영체제에서도 같은 내용을 다루지만 중점을 두는 부분이 다르다. 컴퓨터 구조는 좀 더 구체적으로 설명하고, 지금은 안쓰는 오래된 기술까지 다룬다. 오래된 기술이나 방법은 대체로 간단하기 때문에 이해하기 좋았고, 그 바탕으로 심화된 최근 기술을 이해할 수 있었다. 챕터 6은 병렬 프로세서를 다루는데 기본 개념과 함께 GPU와 클라우드 컴퓨팅에 대해 소개한다. 소개하는 챕터인 만큼 내용이 그렇게 친절하진 않다. 병렬 프로그래밍에 관련해 공부를 좀 더 해야지 확실히 이해하고 넘어갈 수 있을 것 같다.

 

이 책은 컴퓨터 구조의 기본 개념을 자세하게 다루고 있는데, 항상 챕터의 뒷부분에는 실례를 수록해 ARM 프로세서가 어떻게 동작하는지 설명한다. 책 전반적으로 이해를 돕기 위해 그림과 도표가 많이 실려 있는 편이다. 책 첫부분에 컴퓨터 구조의 핵심 아이디어 8가지를 소개하는데, 각 아이디어의 아이콘을 관련된 내용 옆에 붙여서 개념을 연결짓는다. 

컴퓨터 구조 분야의 8가지 위대한 아이디어

- Moore의 법칙을 고려한 설계
- 설계를 단순화하는 추상화
- 자주 생기는 일을 빠르게
- 병렬성을 통한 성능 개선
- 파이프라이닝을 통한 성능 개선
- 예측을 통한 성능 개선
- 메모리 계층 구조
- 여유분을 이용한 신용도 개선

 

컴퓨터 구조는 어려울 수 있다. 컴구포자라도 이 과목을 포기하지 말고 한번 전공책을 정독해보자. 이전에 20%밖에 이해하지 못했다면, 이번에는 70%까지 이해할 수 있을 것이고, 이를 거듭하다 보면 100%까지 도달할 수 있지 않을까 생각한다. 나 같은 경우도 실례 부분과 뒤의 병렬 프로세서 부분에서 이해력의 한계를 느꼈지만, 계속 공부하다 보면 언젠가 이해하는 날이 올거라 믿는다...

 

컴퓨터 구조를 어려워하는 사람이라면 운영체제도 확실히 모르는 사람일 확률이 높다. 하드웨어 상에서 어떻게 작동되는지 모르고 기초없이 모래성을 쌓은 격이다. 그래서 운영체제와 함께 공부하는 것을 추천한다. 컴퓨터 구조 진도를 살짝 먼저 나가면서 공부하면 컴퓨터 구조에서 이해한 부분을 운영체제에서 어떻게 응용하는지 연결짓는 재미를 느낄 수도 있다. 기초를 다지고 벽돌을 하나씩 쌓는 기분이다. 운영체제와 함께 공부하니 독파하는 데 2주 가까이 걸렸다. 운영체제까지 다 마무리하면 정확히 2주가 될 것 같다.

 

 

www.yes24.com/Product/Goods/64199202?OzSrank=1

 

컴퓨터 구조 및 설계 ARM

현대의 컴퓨터 기술은 컴퓨팅 전 분야의 전문가로 하여금 하드웨어와 소프트웨어 둘 다 이해할 것을 요구한다. 여러 수준에서의 하드웨어와 소프트웨어 사이의 상호작용은 컴퓨팅의 기본 원리

www.yes24.com

 

Comments