본문 바로가기
독후감

프로그래머가 몰랐던 멀티코어 CPU 이야기

 
멀티코어 CPU 이야기(프로그래머가 몰랐던)(BLOG2BOOK 09)
블로그에서 바로 읽는 듯한 생생한 개발 노하우「Bolg2Book」시리즈 제 9권 『프로그래머가 몰랐던 멀티코어 CPU 이야기』. 이 책은 기본적인 CPU 구조에 대한 내용부터 최신 멀티코어 CPU에 적용된 여러 알고리즘을 다루었다. CPU에 적용된 비순차 실행, 명령어 레벨 병렬성(ILP) 등의 동작 원리, 멀티코어 프로세서의 동작 원리와 그 속에 숨겨진 소프트웨어 알고리즘을 설명한다. 또한 명령어 집합 구조, 프로그램의 의미를 결정짓는 의존성, 프로세서
저자
김민장
출판
한빛미디어
출판일
2010.05.28

 

 

몇 년 전에 홍정모 T의 C, C++ 강의를 들은 적이 있다. 솔직히 C++는 BOJ 풀 때 빼고는 거의 사용하지 않아서 기능을 대부분 모른다. 심지어 요즘은 예전보다 BOJ 문제를 거의 풀지 않기 때문에 C++는 잘 모른다... C는 조금 할 수 있기는 한데, 뭐 의미 있는 프로그램을 작성하는 건 어려운 수준이다.

 

책의 저자 김민장씨는 홍정모 T의 유튜브에도 나오신 분이다. 이 영상을 작년쯤 봤는데 말도 굉장히 잘하시고 똑똑한 사람이다. 서울대에서 조선해양공학과 컴퓨터공학을 전공했고, Georgia Tech에서 C.S Phd도 있는 분이다. 병렬 프로그래밍 전문가이고  Qualcomm, Intel을 거쳐 현재는 Meta에서 근무하고 있다. 

 

https://www.youtube.com/watch?v=ayXljSp0BFM

 

 

멀티코어 CPU 이야기는 프로그래머를 위해서 컴퓨터 구조와 CPU를 이해하기 쉽게(?) 적은 책이다. 김민장 씨의 Georgia Tech 대학원 시절의 수업 내용을 책에 녹여냈다고 한다.

책은 총 20개의 Story로 이루어져 있다.  Story 01 프로그래머가 프로세서도 알아야 해요?, Story 02 프로세서의 언어:  명령어 집합 구조, Story 03 프로세서의 기본 부품과 개념들, Story 04 암달의 법칙과 프로세서의 성능 지표, Story 05 프로그램의 의미를 결정짓는 의존성, Story 06 프로세서 기본 동작, Story 07 고성능 프로세서의 시작: 명령어 파이프라인, Story 08 또 하나의 혁명 : 비순차 실행, Story 09 하이퍼스레딩 : 병렬성의 극대화, Story 10 멀티코어 혁명 : 칩 멀티프로세서, Story 11 데이터 병렬성 : SIMD와 GPU, Story 12 고성능 프로세서의 필수 조건: 똑똑한 캐시, Story 13 if 문은 그냥 실행되는 것이 아니다, Story 14 가상 함수에 담긴 복잡함, Story 15 효율적인 메모리 명령 실행 알고리즘, Story 16 메모리 레이턴시 감추기 : 프리펫처, Story 17 VLIW로 살펴보는 두 변수 교환 방법, Story 18 프로그래머의 새로운 과제 : 병렬프로그래밍, Story 19 골치 아픈 멀티스레드 버그 : 하이젠버그, Story 20 어려운 병렬 프로그래밍, 그리고 그 미래는?으로 이루어져 있다.

나는 현재 Story 11까지 읽었는데 첫 번째 시도에는 더 이상 읽기는 어렵다고 판단을 내렸다. 내용이 너무 어렵다. 저자의 블로그 내용을 토대로 책을 작성한 것이지만 그래도 내용이 좀 딱딱하다. 참고로 Linux, System Programming, OS 등의 지식은 어느 정도 알고 있어야지만 이 책을 큰 어려움 없이 읽을 수 있다. RISC, CISC의 차이, Amdahl's Law 등부터 RAW, WAW, WAR dependency 등의 내용을 소개한다. 아직 실력이 부족해서 Story12부터 Story 20 까지는 다 못 읽었지만 low-level 지식이 늘어나면 다시 읽어야겠다. 

 

 

 

 

 

'독후감' 카테고리의 다른 글

AI 2041  (0) 2025.04.05
주문하신 대만 간식 나왔습니다  (1) 2025.03.15
힐빌리의 노래  (1) 2025.03.14
한자나무  (2) 2025.03.06
이미지로 읽는 한자  (0) 2025.02.24