책 이미지
책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 개발/방법론 > 프로그래밍 기초/개발 방법론
· ISBN : 9788994506241
· 쪽수 : 428쪽
· 출판일 : 2011-11-18
목차
1장 프로세서와 컴퓨터 시스템 기초
1.1 컴퓨터의 구조
컴퓨터의 구성요소 ─ 프로세서, 메모리, 입출력장치
컴퓨터는 2진법으로 계산한다
프로세서 ─ 프로그램을 해석하는 컴퓨터의 두뇌
메모리 ─ 컴퓨터의 ‘명령’과 ‘데이터’를 기억한다
입출력장치 ─ 컴퓨터의 눈, 귀, 입
노스브리지와 사우스브리지 ─ 희미해져 가는 호칭
1.2 컴퓨터의 고속화를 지탱하는 반도체 기술
무어의 법칙 ─ 보다 많은 트랜지스터. 병렬도를 높이는 방향으로
방대한 개발투자가 뒷받침하는 반도체의 미세화 ─ 미세화 추세는 앞으로 당분간은 계속
Dennard Scaling ─ 트랜지스터의 성능 향상
성능 향상의 세 축 ─ 클럭 향상, 병렬 처리, 기능 확장
1.3 컴퓨터와 데이터의 표현
바이트, 하프워드, 워드… ─ 비트의 그룹과 용도
문자 코드
부호 없는 정수와 부호 있는 정수, 1의 보수표현과 2의 보수표현
부동소수점 수 ─ IEEE 754 규격
빅 엔디언과 리틀 엔디언
1.4 프로세서와 명령
명령 집합 아키텍처 입문
기계어 명령 ─ 프로세서로의 명령
어드레스 공간
1.5 기계어 명령 프로그램 작성법
어셈블러에 의한 프로그래밍
컴파일러를 사용하는 고급언어에 의한 프로그래밍
인터프리터에 의한 프로그래밍
1.6 정리
2장 프로세서의 변천
2.1 컴퓨터 이전의 계산장치
주판 ─ 계산을 하기 위한 최초의 도구
네이피어의 뼈 ─ 곱셈 보조도구
기계식 계산기 ─ 시카드의 계산기, Pascaline
배비지의 차분기관 ─ 톱니바퀴를 사용한 슈퍼컴퓨터
2.2 초기 전자식 컴퓨터
초기 전자식 컴퓨터 ─ ABC와 ENIAC
FUJIC ─ 일본 최초의 전자식 컴퓨터
2.3 프로세서를 구성하는 소자의 변천
주요 부품을 기반으로 한 컴퓨터의 세대 분류
제1세대: 진공관
제2세대: 트랜지스터
제3세대: 집적회로(IC, LSI)
제4세대: 대규모 집적회로(VLSI)
VLSI 프로세서의 소자 개수, 클럭 주파수의 트렌드
2.4 명령 집합 아키텍처의 변천
명령 집합 아키텍처 발전의 길
컴퓨터의 구성요소 ─ 프로세서, 메모리, 입출력장치
가상 메모리 ─ 보다 윤택하게. 메모리를 많이 사용하고 싶다
TSS와 메모리 관리 기구의 등장
메모리 관리기구, 특권상태 ─ 멀티유저에서는 보안문제를 해결할 필요가 있다
ISA 확장 ─ 명령 집합 아키텍처의 명령 상호성의 실현
2.5 마이크로아키텍처의 발전
마이크로아키텍처 발전의 길
파이프라인 처리 ─ 파이프라인 레지스터를 사용해서 하드웨어를 유효하게 이용한다
연산기의 고속화 ─ 정수 연산기, 부동소수점 연산기
캐시 ─ ‘메모리 액세스’ 문제에 대처하는 비밀의 상자
RISC의 출현 ─ RISC와 CISC
슈퍼스칼라 실행 ─ 복수 명령을 1사이클에 실행한다
비순차 실행 ─ 명령의 순서를 변경해서 성능을 높인다
분기예측과 투기실행 ─ ‘조건분기명령’ 대책
멀티코어 ─ 소비전력의 제약이 멀티코어화를 이끌다
2.6 용도가 확대되는 프로세서
다양한 무대에서 활약하는 프로세서
저전력, 높은 신뢰기술, 실시간성 ─ 다양한 요건
2.7 정리
3장 프로그래머를 위한 프로세서 아키텍처
3.1 마이크로아키텍처를 지탱하는 기술
파이프라인 실행의 원리 ─ ‘병렬’로 명령을 처리한다
캐시의 원리 ─ 메모리 액세스를 가속한다
RISC와 CISC ─ 고정길이 명령과 가변길이 명령
연산기의 고속화 ─ 프로세서 내에서 처리가 복잡해서 시간이 걸리는 부분 중 하나
슈퍼스칼라 실행의 원리 ─ 1사이클에 복수 명령을 병렬실행
비순차 실행의 원리 ─ 데이터 해저드의 영향을 줄인다
분기예측의 원리 ─ 제어 해저드에 의한 손실을 줄인다
현대의 프로세서는 각종 해저드를 해소, 경감해서 성능을 높이고 있다
메모리, I/O와 입출력 인터페이스
성능 카운터 ─ 프로파일러, 프로세서 내부의 실행상황에 대한 정보
3.2 프로세서의 이용범위를 넓히는 아키텍처 확장
멀티프로그래밍과 메모리 관리 구조
인터럽트 처리 구조
가상화 지원 ─ 메모리 액세스와 메모리 관리 구조
멀티미디어, 암호 등에 대한 지원 ─ 대량 데이터를 다루는 계산 처리
3.3 x86 네할렘 아키텍처 프로세서
x86의 명령체계, 인텔 64 아키텍처에 대해
Core i7 프로세서의 구성
메모리 관리는 4계층 테이블을 사용
새로운 프로세서 인터페이스 QPI
3.4 정리
4장 가상화 지원
4.1 가상화의 목적, 장/단점
가상화의 기초지식(복습)
유저 간 분리를 견고하게 실현 ─ 가상화의 장점 1
가상화의 목적
VMM의 실행 오버헤드 ─ 가상화의 단점, 주의점
여러 서버를 모아서 가동률을 개선 ─ 가상화의 장점 2
4.2 가상화를 실현하기 위해
OS에 독립된 (가상) 하드웨어를 제공하는 VMM
4.3 가상화를 지원하는 하드웨어 구조
하드웨어 조작명령 검출
하드웨어 상태의 회피, 복원 ─ 가상머신의 전환
이중 어드레스 변환, TLB
I/O 가상화
라이브 마이그레이션
4.4 정리
5장 멀티프로세서의 출현과 보급
5.1 멀티스레드 프로세서
스레드, 멀티스레드의 범람(!?) ─ 우선 용어 복습부터
멀티스레드의 두 가지 방식
VMT의 원리 ─ 단시간에 스레드를 전환한다
SMT의 원리 ─ 복수의 스레드의 명령을 섞는다
SMT에 필요한 메커니즘
멀티스레드의 효과는 얼마나? ─ 윈도 작업관리자에서 보는 예
5.2 멀티프로세서 시스템
멀티프로세서, 멀티코어란 무엇인가?
멀티코어 프로세서의 구조
캐시 정합성 제어 ─ 멀티프로세서의 캐시간 정합성
멀티소켓 시스템
멀티프로세서 시스템의 성능 향상 ─ 문제와 대책
공유메모리 시스템과 분산메모리 시스템
5.3 정리
6장 프로세서 주변기술
6.1 메인 메모리 기술
메인 메모리의 역사 복습
DRAM의 동작원리 ─ 전하로 정보를 기억한다
DRAM 칩과 메모리 DIMM
DRAM 칩의 내부구조 ─ 셀 어레이, 행/열 디코더, 센스 앰프, 뱅크
프로세서와 DIMM의 연결
메모리 시스템의 에러 대책
6.2 입출력장치 연결
프로세서의 I/O 연결
PCI 버스
인텔 Core i 시리즈 프로세서의 I/O 구조
인텔 PCH의 I/O 제어구조
6.3 정리
7장 GPGPU와 초병렬처리
7.1 GPGPU의 구조
3D 그래픽스와 GPU ─ 대량의 계산이 필요
GPU에서 GPGPU로
GPU 시스템
‘초병렬 SIMD 프로세서’로서의 GPGPU
‘초멀티스레드 프로세서’로서의 GPGPU
GPGPU의 메모리 계층
GPGPU의 멀티스레드는 범용 레지스터를 분할 사용한다
CPU와 GPGPU의 주요 차이점
7.2 GPGPU 프로그래밍
GPGPU 프로그래밍의 현재
CUDA의 실행 모델 ─ 스레드 블록, 그리드
CUDA에서의 함수 선언, 변수 선언
OpenCL 프로그래밍
GPGPU의 성능을 끌어내려면
7.3 정리
8장 프로세서는 앞으로 어떻게 변해갈 것인가?
8.1 소비전력이 모든 것을 지배한다
프로세서는 왜 전력을 소비하는가?
저전력기술의 발전
8.2 고성능, 다기능화
반도체의 미세화 기술
증가하는 트랜지스터를 잘 사용하려면?
일부 트랜지스터를 비용절감을 위해 사용한다
일부 블록이 불량인 칩을 유효하게 이용한다
8.3 더 신뢰할 수 있고 안전한 프로세서 설계
프로세서는 왜 오작동하는가? ─ 고장, 노이즈
오작동을 막아서 안전하게 작동하도록 한다
8.4 프로세서의 앞으로의 방향성은?
다양한 시스템에서 사용되는 프로세서
가전용 프로세서
자동차용 프로세서
PC용 프로세서
스마트폰용 프로세서
서버용 프로세서
8.5 정리
찾아보기



















