컴퓨터 구조 및 설계 4

하드웨어/소프트웨어 인터페이스 ARM 버전


출간일
:
2010310

정가: 33,000

페이지: 668

판형: 190 x 250

ISBN: 978-89-962765-3-1(93560)

원서정보: Computer Organization and Design 4/e: Hardware/Software Interface ARM version


*책 소개

 

컴퓨터 구조/설계 분야의 세계적인 베스트셀러!

 

"이번 4판의 특이한 점은 컴퓨터 설계의 기본원리를 제시하려 사용된 코어 프로세서가 MIPS에서 ARM으로 전환된 것이다. 이 같은 전환은 이 책에 다른 차원의 특징을 제공하고 있다. ARM은 임베디드 영역에서는 절대적인 프로세서이기에 임베디드 컴퓨팅 커뮤니티에는 아주 커다란 중요성을 가지고 있다. 이 책은 임베디드 설계를 하는 학생들에게 컴퓨터 구조의 기본 원리를 가르치는데 있어서 존재하던 빈틈을 메워준다. 지난 버전들과 마찬가지로 이번 4판도 하드웨어-소프트웨어 인터페이스에 초점을 맞추고 있는데, 이러한 하드웨어-소프트웨어 인터페이스는 임베디드 시스템 설계의 핵심사항들과 깔끔하게 잘 어울린다."

-Ranjani Parthasarathi / Anna University, Chennai

 

베스트 셀러인 이 컴퓨터 구조 책은 요즘 업계에서 일어나고 있는 혁신적인 변화에 초점을 맞춰 철저히 개정되었다. 즉 단일프로세서에서 다중코어 프로세서로의 변환이 그것이다. 추가로 이 ARM 버전은 아시아에서의 임베디드 컴퓨팅 업계의 중요성과 임베디드 디바이스에서의 가장 인기 있는 명령어 집합 구조 중 하나인 ARM 프로세서의 특징을 강조하여 실제 컴퓨터에서의 명령어 집합과 산술연산을 자세히 살펴본다. 지난 버전에서와 마찬가지로 MIPS 프로세서는 하드웨어 기술, 파이프라이닝, 메모리 계층 및 입출력의 기본원리를 설명하는데 사용되었다. X86 구조에 대한 해당 절들 또한 포함되어있다.

 

CD에서는 시뮬레이터와 컴파일러 툴킷을 제공할 뿐 아니라 이들을 사용하기 위한 튜토리얼 및 좀 더 깊은 공부를 위한 고급 내용들과 책에 포함되지 않은 연습문제들을 확인할 수 있다.

 

 

특징

- 핵심 구조로서 ARMv6(ARM11 계열)를 사용하여 명령어 집합과 컴퓨터 산술연산의 기본 원리를 설명하였다.

- 순차적 컴퓨팅에서 병렬 컴퓨팅으로의 혁신적 변화를 다루어서 병렬처리에 대한 새로운 장을 집어넣었으며, 매 장마다 병렬 하드웨어와 소프트웨어 주제를 다루는 절을 추가하였다.

- NVIDIA Chief ScientistDirector of Architecture가 쓴 부록을 CD에 추가하여 최신 GPU의 부상 및 중요성을 다루고, 비주얼 컴퓨팅으로 최적화된 고성능 병렬, 고성능 멀티스레드 다중프로세서를 심도 있게 다루었다.

- 다중코어의 성능을 측정하기 위한 새로운 방법인 "루프라인 모델"을 설명하고AMD Opteron X4, Intel Xeon 5000, Sun UltraSPARC T2 IBM Cell을 벤치마킹하고 분석하였다.

- 플래시 메모리와 가상머신에 대한 새로운 내용을 추가하였다.

- 거의 200쪽에 달하는 새로운 연습문제에 대한 커다란 시뮬레이팅 셋을 제공한다.

- AMD Opteron X4 Intel Nehalem을 실세계의 예제로 철저히 다룬다.

- SPEC CPU2006 스위트를 사용하여 모든 프로세서의 성능을 최근 자료로 바꾸었다.



ARM 판에 대하여

ARM 판을 내는데 있어서의 목표는 아시아에 있는 컴퓨터 업계에 임베디드 시스템의 중요성을 강조하는 것이다. 우리는 ARM 구조를 특집으로 하기로 하였는데, ARM은 임베디드 디바이스에는 아주 인기가 많은 명령어 집합 구조로서 매년 거의 40억 개의 디바이스가 팔리고 있다. 특히 실제 컴퓨터의 명령어 집합과 산술연산을 알아보기 위하여 ARM 코어를 사용한다. 3판에서와 같이 하드웨어 기술, 파이프라이닝, 메모리 계층 과 입출력을 설명하기 위해서는 MIPS 프로세서가 사용된다.



강의자료(PPT) 다운로드

http://www.bjpublic.co.kr에서 메뉴의 [도서자료] -> [강의자료(교수회원용)]

(강의자료는 강의자에게만 제공됨을 알려드립니다.)



*저자소개
데이비드 패터슨(David A. Patterson)

그의 가족 중에서는 대학을 졸업(1969 A. B. UCLA)한 첫 번째 사람이며 공부를 즐겼기에 PhD(1976 UCLA)까지 멈추지 않았다. 이후 1977년도에 U.C.Berkeley에 부임하였으며 Berkeley CS 학부장, CRA 사장, ACM 회장을 역임하였고 200편의 논문과 5권의 책을 집필하고 서른 개 가량의 상을 받았다. 현재 그는 RAD Lab ParLab Director이다.

 

존 헤네시(John L. Hennessy)

1977년부터 Stanford 대학의 전기 및 컴퓨터과학과의 교수로 재직하고 있으며 현재 총장으로 재임 중에 있다. Stanford에서의 그의 최근 연구는 다중프로세서를 설계하고 연구하는 분야이며, 총장이 된 후에는 이 책과 한 단계 위의 책인 Computer Architecture: A Quantitative Approach를 새롭게 고치고 최신자료로 대체하는 것이 그의 첫 번째 형태의 오락이며 안식이 되었다.

 

 

*역자소개

박명순

고려대학교 정보통신대학 컴퓨터통신공학부 교수

김병기

숭실대학교 IT대학 컴퓨터학부 교수

하순회

서울대학교 컴퓨터공학과 교수

장훈

숭실대학교 IT대학 컴퓨터학부 교수


*상세 정보

4차 개정판에서의 변화

이 책의 4차 개정판을 내는데 있어서 다섯 가지 목표를 정했다. 즉 마이크로프로세서에서 다중코어 혁명이 일어나므로 이 책 전반을 통하여 병렬 하드웨어 및 소프트웨어 토픽을 강조하자. 병렬성 관련 주제에 대한 공간을 마련하기 위하여 기존 자료를 합리화하자. 2004년도의 3판 발간 이후의 산업계 변화를 반영하기 위하여 기술 자료를 갱신하자. 인터넷 시대에 맞도록 연습문제의 유용성을 복원하자 라는 여섯 가지 목표였다.

 

이 목표들에 대해 좀 더 구체적으로 논의하기 전에 다음 페이지에 있는 표를 보자. 여기에는 이 책을 통한 하드웨어 및 소프트웨어 측면에서 읽어야 될 방향을 보여주고 있다.
1
, 4, 5, 7장은 경험이나 강조관점하고 상관없이 양쪽에서 다 찾을 수 있다. 1장은 새로운 소개로서 전력의 중요성에 대한 논의를 포함하고 있으며 단일 코어에서 다중코어 프로세서로 전환하도록 동기유발을 하고 있다. 또한 3판에서 다른 장에 있던 성능과 벤치마킹에 관한 것도 1장에 포함되어있다.
2
장은 하드웨어 관련자들을 위하여 자료를 훑고 있는 것처럼 보이지만 소프트웨어 관련자들 특히 컴파일러나 객체지향 언어에 대해 좀 더 배우고 싶어하는 독자에게는 반드시 읽어야 되는 장이다. 여기에는 3판에서 3장에 있던 자료를 포함하고 있으며 단일 장에서 부동소수점 명령어를 제외하고는 ARM 구조에 대해 완벽하게 커버하고 있다.
3
장은 데이터패스 구성하는 것에 관심있거나 부동소수점 연산에 관심있는 독자를 위한 장이다. 여기에선 예제로 ARM 명령어를 사용한다. 어떤 이들은 3장을 건너뛸텐데 3장내용이 필요없거나 단지 복습이기 때문일 것이다.
4
장에서는 3판에서 두 장에 걸쳐 다루었던 내용을 합하여 파이프라인 프로세서를 설명하고 있다. 4.1, 4.5, 4.10절은 소프트웨어 관심자들에게는 개략적인 내용을 알게 해줄 것이다. 하드웨어 관심자들에게는 4장은 핵심 내용을 제공하고 있다. 또한 독자들 지식배경에 따라 논리 회로 설계에 관한 부록 C를 맨 먼저 읽기를 원할 수도 있다.
저장장치에 관한 6장은 소프트웨어 관심자들에게는 필수적인 내용을 포함하고 있으며 다른 사람들도 시간이 허용하는 한 읽어야 한다. 다중 코어, 다중 프로세서, 클러스터를 다루고 있는 마지막 장은 거의 모두 새로운 내용이며 모든 이가 읽어야 된다.

 

첫 번째 목표가 병렬성을 이 책에서 가장 우선시하는 것이었다. 이 내용은 지난 3판에서는 CD 에 포함되어있던 장이었다. 가장 확실한 예는 7장인데 특히 이 장은 천장라인(Roofline) 성능 모델을 소개하고 있으며 최근에 나온 네 개의 다중코어 구조를 두 개의 커널에서 성능평가함으로써 그 가치를 보여주고 있다.
이 모델은 마치 3C 모델이 캐쉬에 대한 관점을 잘 나타내듯이 다중 코어 마이크로프로세서에 대해 쉽게 이해하도록 해준다. 병렬성의 중요성 때문에 이를 다루기 위해 마지막 장까지 기다리는 것은 어리석기 때문에 앞선 6개의 장에서도 병렬성에 관한 절이 따로 있다.

1: 병렬성과 전력. 전력제한이 어떻게 업계로 하여금 병렬성으로 눈을 돌리게 만들었으며 병렬성은 왜 도움이 되는지 보여준다.

2: 병렬성과 명령어: 동기화. 이 절에서는 공유 변수에 대한 잠금을 다룬다. 특히 ARM명령어 SWP를 다룬다.

3: 병렬성과 컴퓨터 연산: 부동소수점 결합법칙. 이 절에서는 수치 정밀도 및 부동소수점 계산시의 도전을 다룬다.

4: 병렬성과 고급 명령어수준 병렬성. 이 절에서는 파이프라인 깊이와 전력 소모 사이의 관계뿐 아니라 고급 ILP 즉 슈퍼스칼라, 추정, VLIW, 루프 펼치기 및 OOO 등을 다룬다.

5: 병렬성 및 메모리 계층: 캐쉬 일관성. 이 절에서는 일관성 및 캐쉬 프로토콜 스누핑을 소개한다.

6: 병렬성 및 입출력: RAID. RAID을 가용성 높은 ICO 시스템뿐 아니라 병렬 입출력 시스템으로 서술한다.

7장에서는 병렬성으로 나가는 것이 과거 때보다 왜 성공적인지에 대한 이유를 이야기하면서 결론 맺고 있다.

 

특히 부록에 그래픽처리 유닛을 추가하게 되어 매우 들떠있는데 이 그래픽처리 유닛은 NVIDIA의 주임과학자 David Kirk와 주임 설계자 John Nickolls가 쓴 것이다. 부록A GPU 에 대해 처음으로 깊게 다루고 있는데 이러한 GPU는 컴퓨터 구조에서 새롭고 흥미 있는 동력이다.
이 부록편은 이번 개정판의 병렬성에 관한 주제를 쌓아나가 컴퓨팅의 유형을 제시하도록 주력하는데 이러한 컴퓨팅의 유형은 비록 하드웨어는 가능한 한 SIMD 스타일로 실행하려 하겠지만 프로그래머로 하여금 MIMD 스타일로 생각하게끔 만든다.
GPU
가 값싸지고 광범위하게 가용함에 따라 이제는 많은 랩탑에서도 발견할 수 있게 되었고 이들의 프로그래밍 환경은 제한 없이 가용하게 되어 많은 사람들이 경험할 수 있는 병렬 하드웨어 플랫폼을 제공하고 있다.

 

두 번째 목표는 책을 합리화하여 병렬성을 위한 내용을 실을 수 있도록 공간을 마련하는 것이다. 첫 번째 단계는 지난 세 개의 버전에 있는 모든 구절을 자세히 훓어서 그들이 아직도 필요한지 살피는 것이다. 좀 더 큼직한 변화는 장들을 합치고 주제를 떨어내는 것이다. Mark Hill 은 다중사이클 프로세서 구현을 버리고 대신에 다중사이클 캐쉬 제어기를 메모리계층 장에 추가할 것을 제안하였는데 이렇게 함으로써 프로세서에 대한 장이 두 개에서 하나로 합쳐졌고 좀 더 중요한 것만 남게 되었다. 3판에서 독립된 장으로 있던 성능에 대한 내용은 첫 장 속으로 녹아 들게 되었다.

 

세 번째 목표는 이 책의 교수법을 향상시키는 것이었다.
1
장은 이제 좀 더 내용이 풍부해져서 성능, 집적회로, 전력 부분을 포함하고 있으며 이 책의 나머지 부분을 위한 준비단계로 설정되었다.
2
장과 3장은 처음에는 혁신적인 스타일로 작성되어서 “단일 셀” 구조로 시작하여 3장의 끝에서는 전체 MIPS 구조로 끝맺음을 하였다. 이같이 여유 있게 편집하는 것은 현대 독자들에게는 잘 맞지 않는다. 4판에서는 정수형의 모든 명령어 집합 자료를 2장으로 합침으로써 3장은 독자가 필요에 따라 읽지 않아도 되게 만들었다. 또한 각 절은 그 절에만 기초하도록 하여 다른 절을 읽지 않고도 읽을 수 있게 만들었다. 따라서 2장은 이제 그 전 판본에서보다 좀 더 참고할 장이 되었다.
4
장은 프로세서에 대한 서술이 하나의 장으로 묶였기에 좀 더 이해하기 쉽게 되었고 다중사이클 구현은 요즘은 시대에 뒤떨어진 것이 되었다.
5
장에서는 캐쉬 제어기 만들기에 한 절을 할당하였고 그 캐쉬를 위한 Verilog 코드를 갖고 있는 CD판에 새로운 절을 할애하였다.


*목차

더보기

 

 

Trackback 0 | Comments 2

퍼블릭's Blog is powered by Daum & tistory