서브메뉴
검색
본문
Powered by NAVER OpenAPI
-
컴퓨터 구조 및 설계 (하드웨어/소프트웨어 인터페이스)
저자 : DAVID A.PATTERSON|John L. Hennessy
출판사 : 한티미디어
출판년 : 2018
정가 : 35000, ISBN : 9788964213452
책소개
현대의 컴퓨터 기술은 컴퓨팅 전 분야의 전문가로 하여금 하드웨어와 소프트웨어 둘 다 이해할 것을 요구한다. 여러 수준에서의 하드웨어와 소프트웨어 사이의 상호작용은 컴퓨팅의 기본 원리를 이해하는 근간을 제공한다. 여러분의 일차 관심 분야가 하드웨어이든 소프트웨어이든 간에, 컴퓨터 과학이든 전기 공학이든 간에 컴퓨터 구성 과 설계에서의 중심 아이디어는 같다. 따라서 이 책에서는 하드웨어와 소프트웨어 사 이의 관련성을 보여 주고 현대 컴퓨터의 기본이 되는 개념들에 대해 관심을 집중시키려 한다.
최근의 단일프로세서에서 멀티코어 마이크로프로세서로의 변천은 우리가 초판 이래 견지해 온 이러한 관점이 옳았다는 것을 확인시켜 주었다. 프로그래머들이 이러한 충고를 귀담아 듣지 않아도 컴퓨터 설계자, 컴파일러 작성자, 반도체 기술자들 덕택에 프로그램을 고칠 필요도 없이 더 빠르고 더 에너지 효율적으로 실행시킬 수 있는 시절 도 있었지만 이제 그런 시대는 끝났다. 더 빠르게 실행되기 위해서는 프로그램이 병렬 적이어야 한다. 프로그래머들이 자기가 프로그래밍하고 있는 하드웨어의 기저에 있는 병렬 특성을 몰라도 되게 하는 것이 많은 연구자들의 목표이지만 이것이 실현되려면 긴 기간이 걸릴 것이다. 우리의 생각으로는 최소 다음 10년 동안은 병렬 컴퓨터에서 프로그램을 효율적으로 실행하기 위해서는 프로그래머들이 하드웨어/소프트웨어 인터페이스를 이해해야 할 것으로 보인다.
이번에 Patterson과 Hennessy 교수의 책 Computer Organization and Design: The Hardware/Software Interface, ARM Edition의 번역서를 출간하게 되었다. 이 책은 RISC 구조 연구의 양대 산맥을 이루고 있는 두 사람이 힘을 합쳐 저술했다는 사실만으로도 큰 의미가 있는 책이다. 그뿐만 아니라 오랫동안의 연구와 교육 경험에서 우러나온 해박한 지식으로 컴퓨터 구조를 이해하기 쉽게 설명하고 있다. 특히, 컴퓨터 설계와 관련된 새로운 기술을 충실하게 소개하고 있으며, 이러한 기술들이 실제로 어떻게 사용되는가를 최신 제품을 예로 들어 설명하고 있다. 이것은 독자들의 이해를 도울 뿐만 아니라 흥미 유발에도 큰 기여를 할 것이다. 역자들은 원서의 이러한 장점을 최대한 살리고자 노력하였다.
목차
CHAPTER 1 컴퓨터 추상화 및 관련 기술
1.1 서론
1.2 컴퓨터 구조 분야의 8가지 위대한 아이디어
1.3 프로그램 밑의 세계
1.4 케이스를 열고
1.5 프로세서와 메모리 생산 기술 2
1.6 성능
1.7 전력 장벽
1.8 현저한 변화: 단일프로세서에서 멀티프로세서로의 변화
1.9 실례: Intel Core i7 벤치마킹
1.10 오류 및 함정
1.11 결론
1.12 역사적 고찰 및 참고문헌 56
1.13 연습문제
CHAPTER 2 명령어: 컴퓨터 언어
2.1 서론
2.2 하드웨어 연산
2.3 피연산자
2.4 부호있는 수와 부호없는 수
2.5 명령어의 컴퓨터 내부 표현
2.6 논리연산 명령어
2.7 판단을 위한 명령어
2.8 하드웨어의 프로시저 지원
2.9 문자와 문자열
2.10 긴 수치와 주소를 위한 LEGv8의 주소지정 방식
2.11 병렬성과 명령어: 동기화
2.12 프로그램 번역과 실행
2.13 종합: C 정렬 프로그램
2.14 배열과 포인터
2.15 고급 자료: C 컴파일과 자바 인터프리팅
2.16 실례: MIPS 명령어
2.17 실례: ARMv7(32비트) 명령어
2.18 실례: x86 명령어
2.19 실례: ARMv8(64비트) 명령어 집합의 나머지 부분
2.20 오류 및 함정
2.21 결론
2.22 역사적 고찰 및 참고문헌
2.23 연습문제
CHAPTER 3 컴퓨터 연산
3.1 서론
3.2 덧셈과 뺄셈
3.3 곱셈
3.4 나눗셈
3.5 부동소수점
3.6 병렬성과 산술연산: 서브워드 병렬성
3.7 실례: x86의 SSE와 AVX
3.8 실례: 나머지 ARMv8 산술 명령어
3.9 더 빠르게: 서브워드 병렬성과 행렬 곱셈
3.10 오류 및 함정
3.11 결론
3.12 역사적 고찰 및 참고문헌
3.13 연습문제
CHAPTER 4 프로세서
4.1 서론
4.2 논리 설계 관례
4.3 데이터패스 만들기
4.4 단순한 구현
4.5 파이프라이닝에 대한 개관
4.6 파이프라인 데이터패스 및 제어
4.7 데이터 해저드: 전방전달 대 지연
4.8 제어 해저드
4.9 예외
4.10 명령어를 통한 병렬성
4.11 실례: ARM Cortex-A53과 Intel Core i7 파이프라인
4.12 더 빠르게: 명령어수준 병렬성과 행렬 곱셈
4.13 고급 주제: 파이프라인을 서술하고 모델링하기 위해 하드웨어 설계 언 어를 사용하여 논리회로 설계하기에 대한 소개 및 좀 더 다양한 파이 프라인 그림들
4.14 오류 및 함정
4.15 결론
4.16 역사적 고찰 및 참고문헌
4.17 연습문제
CHAPTER 5 메모리 계층구조
5.1 서론
5.2 메모리 기술
5.3 캐시의 기본
5.4 캐시 성능의 측정 및 향상
5.5 신용도 있는 메모리 계층구조
5.6 가상 머신
5.7 가상 메모리
5.8 메모리 계층을 위한 공통 구조
5.9 간단한 캐시를 제어하기 위한 유한상태기
5.10 병렬성과 메모리 계층구조: 캐시 일관성
5.11 병렬성과 메모리 계층: RAID
5.12 고급 자료: 캐시 제어기 구현
5.13 실례: ARM Cortex-A53과 Intel Core i7 메모리 계층구조
5.14 실례: ARMv8의 시스템 및 특수 명령어
5.15 더 빠르게: 캐시 블로킹과 행렬 곱셈
5.16 오류 및 함정
5.17 결론
5.18 역사적 고찰 및 참고문헌
5.19 연습문제
CHAPTER 6 병렬 프로세서: 클라이언트에서 클라우드까지
6.1 서론
6.2 병렬처리 프로그램 개발의 어려움
6.3 SISD, MIMD, SIMD, SPMD와 벡터
6.4 하드웨어 멀티스레딩
6.5 멀티코어와 기타 공유 메모리 멀티프로세서
6.6 그래픽 처리 유닛의 기초
6.7 클러스터, 창고규모 컴퓨터와 기타 메시지 전달 멀티프로세서
6.8 멀티프로세서 네트워크 위상의 기초
6.9 외부세계와의 통신: 클러스터 네트워킹
6.10 멀티프로세서 벤치마크와 성능 모델
6.11 실례: Intel Core i7 960과 NVIDIA Tesla GPU의 벤치마킹과 루프 라인
6.12 더 빠르게: 복수의 프로세서와 행렬 곱셈
6.13 오류 및 함정
6.14 결론
6.15 역사적 고찰 및 참고문헌
6.16 연습문제
APPENDIX