원리부터 설계까지 쉽고 명확한 컴퓨터구조 - RISC-V 중심으로 리뷰

2023. 2. 14. 06:43Review

 

이 책의 저자인 서태원 교수님께서 작년에 우리 학교에 특강을 하셨다.

 

Spectre와 Meltdown 등의 부채널 공격들에 대해서 특강하셨는데,

1학년 때 Layer7 동아리에서 배운 하드웨어 수업이 희미하게 떠올랐다.

 

그때도 정말 관심 있게 하드웨어를 공부했었는데,

너무 무턱대고 맨땅에 해딩으로 공부해서 그런지

막연하고 누가 좀 커리큘럼을 짜주면 좋겠다는 생각에

하드웨어를 때려쳤다

 

 

 

하지만 하드웨어를 열심히 하는 친구들을 보면서

와 멋있다 생각도 나고

결국에 하드웨어의 유혹에서 빠질 수 없었다

 

 

교수님께서 하신 강의가 너무 잘 짜여져 있었고

뭔가 하나의 큰 스토리처럼 느껴져서 설명도 맘에 들었다

 

그래서 추천해주실 수 있는 책이 있는지 한 번 여쭈어 보았더니

교수님께서 쓰신 책을 추천받았다

 

 

일단...

 

 

약 2달 반째 이 책으로 공부한 소감을 얘기하자면

 

설명이 너무 쉽게 잘 되어 있다

컴퓨터를 살면서 처음 접해본 사람만 아니면

추가적인 정보 검색 없이 정말 잘 이해할 수 있다

 

보통 이런 분야의 글의 경우 설명해야 할 양이 너무 많아

설명이 부실한 경우도 있는데

이 책 같은 경우에는 전혀 그런 느낌을 받을 수 없고

오히려 설명이 너무 이해하기 쉽게 되어 있어서

부담 없이 읽을 수 있었다

 

 

하드웨어에 대해서 정말 아무것도 몰라도 문제 없이 읽을 수 있지만,

기본적인 로직 게이트 정도는 미리 알고 가면 이해하기가 더 수월하다.

 

 

 

 

특히 나 같은 경우에는 프로그래밍과 해킹을 배웠고

리버싱을 배워서

해킹과 연관되는 내용은 그대로 써먹을 수 있었다

(return address 같은 사소한 것들)

 

 

 

일단 이 책을 읽어보는데 팁을 하나 주자면,

정말 끈기가 필요한 책인 것 같다.

 

 

특히 처음에는 별로 어렵지도 않는데

뒤로 갈수록 내용이 무겁고 생각해야 하는 것도 많아서

하드웨어를 제대로 입문하고자 하는 열정이 많이 필요한 책이다.

 

 

 

두껍고 무거운 만큼 내용도 풍부하고 좋으니

정말 끈기만 있으면 누구나 어려움 없이 잘 공부할 수 있을 것 같다.

 

나 같은 경우 겨울 방학 동안 읽어보는 중인데,

시간이 많이 나서 하루 종일 책 읽는 날도 있었다.

 

 

 

 

또 이 책이 좋은 이유는 바로...

실습이다!

교수님께서도 책에서 실습이 중요하다고 여러 번 강조하시는데,

실습을 해보는 것과 안 해보는 것의 차이가 정말 큰 것 같다.

 

 

 

 

해보기 전까지는 막연한 개념이고 이론이고

어디에 써먹는 건지도 솔직히 잘 모르겠는 개념이 많은데

책에서 동작 원리를 설명하지 않는 개념이 없는 게 놀라웠고

 

 

 

하드웨어라는 분야가 전기랑 회로를 가지고

논다는 선입견이 있었는데...

 

어느 정도는 맞는 말이다 ㅋㅋㅋㅋㅋ

 

그것과는 달리 어렵지 않은 Verilog HDL 언어로

하드웨어를 설계하여 배운 파트마다 복습도 되고

또 실제 하드웨어에서는 어떻게 돌아가는지도 볼 수 있었다.

 

 

 

책에서 수많은 설계 코드들이 있어서

따라 치면서 배울 수 있고,

 

또 책에서는 실무에서 사용하는

합성과 시뮬레이션을 하는 방법도 알려주어

 

설계하는 모듈마다 합성도 해보고,

 

CPU를 설계한 뒤에 시뮬레이션도 해봐서

 

어떤 레지스터는 어떻게 변하는지,

데이터는 어디로 어떻게 흐르는지를

실제로 볼 수 있었다.

 

 

또한 저자가 RISC-V cross-compiler를 실습에 제공하는데,

RISC-V 명령어를 배우고 난 뒤 프로그래밍하고 컴파일하여

프로그램 동작을 시뮬레이션 해볼 수도 있었다.

 

 

그리고 DE0 보드로 CPU가 돌아가는 걸

실제로 눈으로도 확인할 수 있는데

재미 있고 신기한 경험이었다.

 

 

 

다만 살짝 아쉬웠던 것은,

뒤로 갈수록 실습하는 내용이 별로 없던 것이었다.

 

하지만 CPU를 설계하는 것이 책의 중심 내용이라는 점,

그리고 메모리나 I/O 장치 등의 내용은

실습하기가 애매하다는 점을 생각하면

어쩔 수 없는 것인 것 같다.

 

 

 

하드웨어를 입문하기에는 최적의 책이다.

물론, 내용이 정말 정말 정말 많다.

 

그래서 나는 책을 그냥 읽지 않고

한 쪽에는 책을 펼치고 다른 한 쪽에는

노트북으로 노션을 켜놔서 읽으면서 계속 정리를 했다.

 

 

정리한 내용을 나중에 다시 읽기도 편리하고

본인이 정리한 내용을 읽는거라서

학습에도 더 효과적이다.

 

그래서 이 책을 사는 분이라면 꼭 어딘가에 정리하는 것을 추천한다.

 

 

 

마지막으로,

실무 관련 이야기들도 적지 않게 나와있다.

상용 프로세서에서는 어떻고, 실무에서는 어떻고 등등

실무 관련 이야기들도 정말 유익하고

이론에만 머물지 않고 실무까지 확장하여 설명한다.

 

사실은 실무에는 어떻게 하는지를 알 방법이 없었는데

이 책으로 실제로 어떤가에 대해서도 배울 수 있었다.

 

 

 

정리하자면,

초보자든, 컴퓨터 잘 못 다루는 사람이든,

컴퓨터가 능숙하지만 하드웨어를 공부하고 싶은 사람이든 간에

모두에게 하드웨어 입문하기에 아마 최고의 책이 아닐까 생각해본다.

 

내용이 풍부할 뿐 아니라 독자에게 다양한 실무 경험을

해볼 수 있도록 도와주는 실습 위주의 책이다.

 

 그래서 독자가 이 내용을 어떻게 활용하는지도 중요한 것 같다.

책을 한 번만 읽고 끝내는 사람도 있는 반면,

이론을 익혀서 설계도, 합성도, 시뮬레이션도 해보고,

그리고 눈으로 확인까지 하고 새로운 것을 창조하는 사람도 있으니까...

 

 

 

 

 

 

* 고려대 서태원 교수님의 <원리부터 설계까지 쉽고 명확한 컴퓨터구조 - RISC-V 중심으로> 저서를 소개했습니다 *