로그인회원가입장바구니고객센터마이페이지회사소개
kangcom
전체
Home >   >   > 

프로세서를 지탱하는 기술

 [끝없이 스피드를 추구하는 세계]
   
지은이 안도 히사 / 진명조   |   출판사 주식회사 제이펍  |   발행일 2011년 11월 18일
 
클릭하시면 큰 도서이미지를 보실 수 있습니다.
판매가 27,000원24,300원 10%
마일리지 5% 1,350원
발행일 2011-11-18
ISBN 8994506241 |  9788994506241
기타정보 번역서 | 4280쪽 | 일반
예상출고일
배송비 무료배송
   
컴퓨터공학
종합지수 1p 285 위
   
주의사항 더이상 출간되지 않습니다.
 

[출판사서평]

200만 배의 성능 향상은 어떻게 실현되었나?
프로세서 개발경력 40년 저자 직필!
시스템 성능을 최대로 이끌어내는 비법!
아마존 재팬 베스트셀러 ★★★★★


이 책은 프로그램을 직접 작성하고 컴퓨터 시스템을 보다 효율적으로 사용하고 싶어하는 독자를 대상으로 한 프로세서에 관한 해설서다. 프로세서에 탑재되어 있는 고성능화 기술 및 내부구조, 기능을 중심으로 설명하고, 프로그램은 어떻게 작성해야 프로세서의 성능을 끌어낼 수 있을지에 대해서도 설명하고 있다. 또한 프로세서의 설계라고 하면 AND, OR 등의 논리회로를 이용한 논리회로 레벨의 하드웨어 설계를 연상할지 모르지만, 이 책에서는 논리회로보다는 상위레벨인, 프로그래머와의 인터페이스가 되는 「마이크로아키텍처」와 「명령 아키텍처」에 초점을 맞추고 있다.

바야흐로 휴대기기부터 사회기반 시스템에 이르기까지 다양한 컴퓨터의 핵심부에 위치해서 중요한 역할을 다하고 있는 프로세서. 독자 여러분이 다이나믹한 진화를 계속하는 프로세서를 이해하고 한층 더 제대로 사용하는 데 일조할 수 있기를 바라며, 그런 생각을 담아서 집필한 것이 바로 이 책이다.

제1장 • 프로세서와 컴퓨터 시스템 기초
제2장 • 프로세서의 변천
제3장 • 프로그래머를 위한 프로세서 아키텍처
제4장 • 가상화 지원
제5장 • 멀티프로세서의 출현과 보급
제6장 • 프로세서 주변기술
제7장 • GPGPU와 초병렬처리
제8장 • 프로세서는 앞으로 어떻게 변해갈 것인가?

이 책의 대상 독자
이 책은 프로그램을 직접 작성하고 컴퓨터 시스템을 보다 효율적으로 사용하고 싶어하는 독자를 대상으로 한 프로세서에 관한 해설서다. 프로세서에 탑재되어 있는 고성능화 기술 및 내부구조, 기능을 중심으로 설명하고, 프로그램을 어떻게 작성해야 프로세서의 성능을 끌어낼 수 있을지에 대해서도 설명하고 있다. 또한 프로세서의 설계라고 하면 AND, OR 등의 논리회로를 이용한 논리회로 레벨의 하드웨어 설계를 연상할지 모르지만, 이 책에서는 논리회로보다는 상위레벨인, 프로그래머와의 인터페이스가 되는 ‘마이크로아키텍처’와 ‘명령 아키텍처’에 초점을 맞추고 있다.
바야흐로 휴대기기부터 사회기반 시스템에 이르기까지 다양한 컴퓨터의 핵심부에 위치해서 중요한 역할을 다하고 있는 프로세서. 독자 여러분이 다이나믹한 진화를 계속하는 프로세서를 이해하고 한층 더 제대로 사용하는 데 일조를 할 수 있기를 바라며, 그런 생각을 담아서 집필한 것이 바로 이 책이다.

이책의 구성
이 책에서는 프로그램을 작성하는 독자들을 주요 대상으로 해서 프로세서의 구조와 능숙한 사용법을 알기 쉽게 설명하고 있다. 각 장은 아래와 같은 내용이다.

제1장 프로세서와 컴퓨터 시스템 기초
제1장은 소개에 해당하는 장으로, 프로세서나 이를 사용하는 컴퓨터의 개요 및 용어를 소개하여 프로세서나 컴퓨터 하드웨어 초심자에게도 이후의 내용을 이해할 수 있도록 알기 쉽게 설명하고 있다.

제2장 프로세서의 변천
제2장에서는 계산기가 어떻게 발전해왔는지 그리고 프로세서의 고성능화나 사용 편의성 개선을 위해 어떤 기술이 개발되어 왔는지에 대해 설명한다. 현재 프로세서가 출현하기까지의 과정과 사용되고 있는 기술에 대한 개요를 이해할 수 있도록 하는 것이 목적이다.

제3장 프로그래머를 위한 프로세서 아키텍처
제4장 가상화 지원
제5장 멀티프로세서의 출현과 보급

제3장에서 제5장은 이 책의 중심이 되는 장들이다. 제3장에서는 파이프라인 처리나 캐시, 비순차(Out-of-Order) 처리와 같은 프로세서 고속화 기술이나 메모리 관리, 가상화, 멀티미디어 처리 등의 프로세서의 적용범위를 넓히는 기술에 대해 구체적으로 설명한다. 아울러 프로그램 등의 예를 들어 프로그래머로서 어떻게 사용해야 효율이 높아질 수 있는지에 대해서도 알기 쉽게 설명한다. 또한 제3장에서는 PC나 서버에 널리 사용되고 있는 인텔 프로세서의 구조도 설명하고 있다.
제4장에서는 최근에 클라우드 시스템 등에서 필수 요소인 가상화에 대해 이를 실현하는 메커니즘이나 가상화 시스템을 효율적으로 운용하기 위해 주의할 점에 대해 설명한다.
제5장에서는 역시 최신 트렌드인 멀티스레드와 멀티코어 프로세서에 대해 그 출현배경부터 사용되고 있는 기술을 설명하고 멀티코어 프로세서를 잘 활용하기 위한 주의점을 설명한다.

제6장 프로세서 주변기술
제6장은 프로세서와 함께 컴퓨터 시스템의 중요한 구성요소인 주변기술을 다루고 기억을 담당하는 메모리와 프로세서에서 입출력장치로 연결되는 구조와 동작에 대해 설명한다.

제7장 GPGPU와 초병렬처리
제7장에서는 최근 뛰어난 계산처리 능력으로 주목 받고 있는 GPU(Graphic Processing Unit), GPGPU(General Purpose GPU)에 주목해서 그 구조나 연산 엔진으로서의 사용상 주의점을 설명한다.

제8장 프로세서는 앞으로 어떻게 변해갈 것인가?
마지막 제8장에서는 프로세서가 앞으로 어떻게 발전해나갈 것인지에 초점을 맞춰 기술적인 발전 방향성과 프로세서의 용도별 발전 방향성에 대해 생각해본다.
1장 프로세서와 컴퓨터 시스템 기초
1.1 컴퓨터의 구조 3
컴퓨터의 구성요소 ─ 프로세서, 메모리, 입출력장치 3
컴퓨터는 2진법으로 계산한다 5
프로세서 ─ 프로그램을 해석하는 컴퓨터의 두뇌 6
메모리 ─ 컴퓨터의 ‘명령’과 ‘데이터’를 기억한다 14
입출력장치 ─ 컴퓨터의 눈, 귀, 입 20
노스브리지와 사우스브리지 ─ 희미해져 가는 호칭 23
1.2 컴퓨터의 고속화를 지탱하는 반도체 기술 26
무어의 법칙 ─ 보다 많은 트랜지스터. 병렬도를 높이는 방향으로 26
방대한 개발투자가 뒷받침하는 반도체의 미세화 ─ 미세화 추세는 앞으로 당분간은 계속 28
Dennard Scaling ─ 트랜지스터의 성능 향상 28
성능 향상의 세 축 ─ 클럭 향상, 병렬 처리, 기능 확장 29
1.3 컴퓨터와 데이터의 표현 30
바이트, 하프워드, 워드… ─ 비트의 그룹과 용도 30
문자 코드 31
부호 없는 정수와 부호 있는 정수, 1의 보수표현과 2의 보수표현 33
부동소수점 수 ─ IEEE 754 규격 35
빅 엔디언과 리틀 엔디언 37
1.4 프로세서와 명령 39
명령 집합 아키텍처 입문 39
기계어 명령 ─ 프로세서로의 명령 41
어드레스 공간 42
1.5 기계어 명령 프로그램 작성법 45
어셈블러에 의한 프로그래밍 45
컴파일러를 사용하는 고급언어에 의한 프로그래밍 47
인터프리터에 의한 프로그래밍 48
1.6 정리 51

2장 프로세서의 변천
2.1 컴퓨터 이전의 계산장치 57
주판 ─ 계산을 하기 위한 최초의 도구 57
네이피어의 뼈 ─ 곱셈 보조도구 58
기계식 계산기 ─ 시카드의 계산기, Pascaline 60
배비지의 차분기관 ─ 톱니바퀴를 사용한 슈퍼컴퓨터 61
2.2 초기 전자식 컴퓨터 63
초기 전자식 컴퓨터 ─ ABC와 ENIAC 63
FUJIC ─ 일본 최초의 전자식 컴퓨터 64
2.3 프로세서를 구성하는 소자의 변천 65
주요 부품을 기반으로 한 컴퓨터의 세대 분류 65
제1세대: 진공관 65
제2세대: 트랜지스터 67
제3세대: 집적회로(IC, LSI) 68
제4세대: 대규모 집적회로(VLSI) 69
VLSI 프로세서의 소자 개수, 클럭 주파수의 트렌드 72
2.4 명령 집합 아키텍처의 변천 74
명령 집합 아키텍처 발전의 길 74
컴퓨터의 구성요소 ─ 프로세서, 메모리, 입출력장치 75
가상 메모리 ─ 보다 윤택하게. 메모리를 많이 사용하고 싶다 76
TSS와 메모리 관리 기구의 등장 79
메모리 관리기구, 특권상태 ─ 멀티유저에서는 보안문제를 해결할 필요가 있다 80
ISA 확장 ─ 명령 집합 아키텍처의 확립과 명령 상호성의 실현 82
2.5 마이크로아키텍처의 발전 84
마이크로아키텍처 발전의 길 84
파이프라인 처리 ─ 파이프라인 레지스터를 사용해서 하드웨어를 유효하게 이용한다 86
연산기의 고속화 ─ 정수 연산기, 부동소수점 연산기 87
캐시 ─ ‘메모리 액세스’ 문제에 대처하는 비밀의 상자 88
RISC의 출현 ─ RISC와 CISC 90
슈퍼스칼라 실행 ─ 복수 명령을 1사이클에 실행한다 92
비순차 실행 ─ 명령의 순서를 변경해서 성능을 높인다 94
분기예측과 투기실행 ─ ‘조건분기명령’ 대책 95
멀티코어 ─ 소비전력의 제약이 멀티코어화를 이끌다 96
2.6 용도가 확대되는 프로세서 99
다양한 무대에서 활약하는 프로세서 99
저전력, 높은 신뢰기술, 실시간성 ─ 다양한 요건 100
2.7 정리 101

3장 프로그래머를 위한 프로세서 아키텍처
3.1 마이크로아키텍처를 지탱하는 기술 105
파이프라인 실행의 원리 ─ ‘병렬’로 명령을 처리한다 105
캐시의 원리 ─ 메모리 액세스를 가속한다 118
RISC와 CISC ─ 고정길이 명령과 가변길이 명령 135
연산기의 고속화 ─ 프로세서 내에서 처리가 복잡해서 시간이 걸리는 부분 중 하나 139
슈퍼스칼라 실행의 원리 ─ 1사이클에 복수 명령을 병렬실행 151
비순차 실행의 원리 ─ 데이터 해저드의 영향을 줄인다 153
분기예측의 원리 ─ 제어 해저드에 의한 손실을 줄인다 160
현대의 프로세서는 각종 해저드를 해소, 경감해서 성능을 높이고 있다 167
메모리, I/O와 입출력 인터페이스 168
성능 카운터 ─ 프로파일러, 프로세서 내부의 실행상황에 대한 정보 175
3.2 프로세서의 이용범위를 넓히는 아키텍처 확장 178
멀티프로그래밍과 메모리 관리 구조 178
인터럽트 처리 구조 185
가상화 지원 ─ 메모리 액세스와 메모리 관리 구조 191
멀티미디어, 암호 등에 대한 지원 ─ 대량 데이터를 다루는 계산 처리 194
3.3 x86 네할렘 아키텍처 프로세서 201
x86의 명령체계, 인텔 64 아키텍처에 대해 201
Core i7 프로세서의 구성 210
메모리 관리는 4계층 테이블을 사용 210
새로운 프로세서 인터페이스 QPI 221
3.4 정리 224

4장 가상화 지원
4.1 가상화의 목적, 장/단점 229
가상화의 기초지식(복습) 229
유저 간 분리를 견고하게 실현 ─ 가상화의 장점 1 230
가상화의 목적 230
VMM의 실행 오버헤드 ─ 가상화의 단점, 주의점 233
여러 서버를 모아서 가동률을 개선 ─ 가상화의 장점 2 232
4.2 가상화를 실현하기 위해 236
OS에 독립된 (가상) 하드웨어를 제공하는 VMM 236
4.3 가상화를 지원하는 하드웨어 구조 239
하드웨어 조작명령 검출 239
하드웨어 상태의 회피, 복원 ─ 가상머신의 전환 240
이중 어드레스 변환, TLB 242
I/O 가상화 247
라이브 마이그레이션 252
4.4 정리 254

5장 멀티프로세서의 출현과 보급
5.1 멀티스레드 프로세서 259
스레드, 멀티스레드의 범람(!?) ─ 우선 용어 복습부터 259
멀티스레드의 두 가지 방식 260
VMT의 원리 ─ 단시간에 스레드를 전환한다 262
SMT의 원리 ─ 복수의 스레드의 명령을 섞는다 264
SMT에 필요한 메커니즘 265
멀티스레드의 효과는 얼마나? ─ 윈도 작업관리자에서 보는 예 267
5.2 멀티프로세서 시스템 271
멀티프로세서, 멀티코어란 무엇인가? 271
멀티코어 프로세서의 구조 272
캐시 정합성 제어 ─ 멀티프로세서의 캐시간 정합성 275
멀티소켓 시스템 282
멀티프로세서 시스템의 성능 향상 ─ 문제와 대책 289
공유메모리 시스템과 분산메모리 시스템 296
5.3 정리 300

6장 프로세서 주변기술
6.1 메인 메모리 기술 305
메인 메모리의 역사 복습 305
DRAM의 동작원리 ─ 전하로 정보를 기억한다 306
DRAM 칩과 메모리 DIMM 309
DRAM 칩의 내부구조 ─ 셀 어레이, 행/열 디코더, 센스 앰프, 뱅크 312
프로세서와 DIMM의 연결 314
메모리 시스템의 에러 대책 316
6.2 입출력장치 연결 322
프로세서의 I/O 연결 322
PCI 버스 324
인텔 Core i 시리즈 프로세서의 I/O 구조 330
인텔 PCH의 I/O 제어구조 331
6.3 정리 333

7장 GPGPU와 초병렬처리
7.1 GPGPU의 구조 337
3D 그래픽스와 GPU ─ 대량의 계산이 필요 337
GPU에서 GPGPU로 341
GPU 시스템 340
‘초병렬 SIMD 프로세서’로서의 GPGPU 342
‘초멀티스레드 프로세서’로서의 GPGPU 345
GPGPU의 메모리 계층 346
GPGPU의 멀티스레드는 범용 레지스터를 분할 사용한다 348
CPU와 GPGPU의 주요 차이점 350
7.2 GPGPU 프로그래밍 352
GPGPU 프로그래밍의 현재 352
CUDA의 실행 모델 ─ 스레드 블록, 그리드 352
CUDA에서의 함수 선언, 변수 선언 355
OpenCL 프로그래밍 356
GPGPU의 성능을 끌어내려면 358
7.3 정리 369

8장 프로세서는 앞으로 어떻게 변해갈 것인가?
8.1 소비전력이 모든 것을 지배한다 373
프로세서는 왜 전력을 소비하는가? 373
저전력기술의 발전 377
8.2 고성능, 다기능화 381
반도체의 미세화 기술 381
증가하는 트랜지스터를 잘 사용하려면? 382
일부 트랜지스터를 비용절감을 위해 사용한다 384
일부 블록이 불량인 칩을 유효하게 이용한다 386
8.3 더 신뢰할 수 있고 안전한 프로세서 설계 389
프로세서는 왜 오작동하는가? ─ 고장, 노이즈 389
오작동을 막아서 안전하게 작동하도록 한다 392
8.4 프로세서의 앞으로의 방향성은? 394
다양한 시스템에서 사용되는 프로세서 394
가전용 프로세서 394
자동차용 프로세서 395
PC용 프로세서 395
스마트폰용 프로세서 396
서버용 프로세서 398
8.5 정리 401

찾아보기 403
안도 히사(Hisa Ando)
첨단 프로세서 개발에 40여 년간 종사하고 있다. SPARC 아키텍처 위원회의 위원으로 SPARC V9 아키텍처 개발에 참가하였고, HAL사 부사장 겸 프로세서 개발부문 총괄 매니저로서 SPARC64 프로세서를 개발하였다. 그 후 ㈜후지쯔 컴퓨터 사업부문 지사장 등을 역임하였다. 현재는 테크니컬 라이터로서 프로세서와 슈퍼컴퓨터 관련 보도나 해설을 다양한 매체에 기고하고 있으며, 몇몇 대학에서 컴퓨터 아키텍처 강의를 담당하고 있다. 공학박사 학위를 갖고 있다.


[역자소개]
진명조

㈜오늘과내일 연구소의 책임연구원을 거쳐 현재는 씨디네트웍스에서 근무하고 있다. 옮긴 책으로는 『대규모 서비스를 지탱하는 기술』(제이펍), 『클라우드의 충격』(제이펍), 『서버/인프라를 지탱하는 기술』(제이펍), 『DEBUG HACKS』(와우북스), 『입문자를 위한 루비』(아이티씨), 『Binary Hacks』(아이티씨), 『C언어로 배우는 알고리즘 입문』(한빛미디어) 등이 있다. IT 산업의 미시적인 영역과 거시적인 영역을 아우르는 통찰력을 갖게 되기를 꿈꾸고 있고, 최근 모바일 생태계를 향해 작은 보폭으로 한걸음씩 내딛고 있다.
등록된 서평이 없습니다.
수치해석...
지영준, 김화준, 허정권
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
처음 만나는 전자기학...
곽동주
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
크리스티나...
프레더릭 브...
스기하라 타...
 
전체평균(0)
회원평점   회원서평수 0
진명조 의 최근 저서
 
DEBUG HACKS : 디버그를 극대화하는 테크닉 & 툴
24,300원
(10%↓+5%)
 
Binary Hacks
22,800원
(5%↓+0%)
 
주식회사 제이펍 출판사의 신간
파이썬으로 배우는 게임 개발: 실전편
히로세 츠요시/김연수 저
27,000원
(10%↓+5%)
 
실무에 바로 쓰는 일잘러의 보고서 작성법
김마라 저
16,200원
(10%↓+5%)
 
심층 강화학습 인 액션
류광/류광 저
27,000원
(10%↓+5%)
 
프로그래머를 위한 파이썬
황반석/황반석 저
22,500원
(10%↓+5%)
 
통계의 아름다움
리찌엔/김슬기 저
17,820원
(10%↓+5%)
 
이메일주소수집거부