000 | 01274camcc2200373 c 4500 | |
001 | 000045583441 | |
005 | 20130204170238 | |
007 | ta | |
008 | 100315s2010 ulka 001c kor | |
020 | ▼a 9788996276531 ▼g 93560 | |
035 | ▼a (KERIS)REQ000015175367 | |
040 | ▼a 241026 ▼c 241026 ▼d 244002 ▼d 211009 | |
041 | 1 | ▼a kor ▼h eng |
082 | 0 4 | ▼a 004.22 ▼a 004.6 ▼2 23 |
085 | ▼a 004.22 ▼2 DDCK | |
090 | ▼a 004.22 ▼b 2010 | |
100 | 1 | ▼a Patterson, David A. ▼0 AUTH(211009)12026 |
245 | 1 0 | ▼a 컴퓨터 구조 및 설계 : ▼b 하드웨어/소프트웨어 인터페이스 ARM버전 / ▼d 데이비드 패터슨, ▼e 존 헤네시 지음 ; ▼e 박명순 [외] 옮김 |
246 | 1 9 | ▼a Computer organization and design : ▼b the hardware/software interface ▼g (4th ed.) |
260 | ▼a 서울 : ▼b BJ퍼블릭, ▼c 2010 ▼g (2011) | |
300 | ▼a xix, 647 p. : ▼b 삽화 ; ▼c 25 cm + ▼e 전자 광디스크 (CD-ROM) 1매 | |
500 | ▼a 색인수록 | |
500 | ▼a 역자: 박명순, 김병기, 하순회, 장훈 | |
650 | 0 | ▼a Computer organization |
650 | 0 | ▼a Computer engineering |
650 | 0 | ▼a Computer interfaces |
700 | 1 | ▼a Hennessy, John L., ▼e 저 ▼0 AUTH(211009)83816 |
700 | 1 | ▼a 박명순, ▼e 역 |
700 | 1 | ▼a 김병기, ▼e 역 ▼0 AUTH(211009)13157 |
700 | 1 | ▼a 하순회, ▼e 역 |
700 | 1 | ▼a 장훈, ▼e 역 ▼0 AUTH(211009)95907 |
900 | 1 0 | ▼a 패터슨, 데이비드 A., ▼e 저 |
900 | 1 0 | ▼a 헤네시, 존 L., ▼e 저 |
Holdings Information
No. | Location | Call Number | Accession No. | Availability | Due Date | Make a Reservation | Service |
---|---|---|---|---|---|---|---|
No. 1 | Location Main Library/Monographs(3F)/ | Call Number 004.22 2010 | Accession No. 111687152 | Availability Available | Due Date | Make a Reservation | Service |
No. 2 | Location Main Library/Monographs(3F)/ | Call Number 004.22 2010 | Accession No. 111688695 | Availability Available | Due Date | Make a Reservation | Service |
No. 3 | Location Science & Engineering Library/Sci-Info(Stacks1)/ | Call Number 004.22 2010 | Accession No. 121208466 | Availability Available | Due Date | Make a Reservation | Service |
No. 4 | Location Science & Engineering Library/Sci-Info(Stacks1)/ | Call Number 004.22 2010 | Accession No. 121231609 | Availability Available | Due Date | Make a Reservation | Service |
No. 5 | Location Sejong Academic Information Center/Science & Technology/ | Call Number 004.22 2010 | Accession No. 151285615 | Availability Available | Due Date | Make a Reservation | Service |
No. 6 | Location Sejong Academic Information Center/Science & Technology/ | Call Number 004.22 2010 | Accession No. 151299465 | Availability Available | Due Date | Make a Reservation | Service |
No. | Location | Call Number | Accession No. | Availability | Due Date | Make a Reservation | Service |
---|---|---|---|---|---|---|---|
No. 1 | Location Main Library/Monographs(3F)/ | Call Number 004.22 2010 | Accession No. 111687152 | Availability Available | Due Date | Make a Reservation | Service |
No. 2 | Location Main Library/Monographs(3F)/ | Call Number 004.22 2010 | Accession No. 111688695 | Availability Available | Due Date | Make a Reservation | Service |
No. | Location | Call Number | Accession No. | Availability | Due Date | Make a Reservation | Service |
---|---|---|---|---|---|---|---|
No. 1 | Location Science & Engineering Library/Sci-Info(Stacks1)/ | Call Number 004.22 2010 | Accession No. 121208466 | Availability Available | Due Date | Make a Reservation | Service |
No. 2 | Location Science & Engineering Library/Sci-Info(Stacks1)/ | Call Number 004.22 2010 | Accession No. 121231609 | Availability Available | Due Date | Make a Reservation | Service |
No. | Location | Call Number | Accession No. | Availability | Due Date | Make a Reservation | Service |
---|---|---|---|---|---|---|---|
No. 1 | Location Sejong Academic Information Center/Science & Technology/ | Call Number 004.22 2010 | Accession No. 151285615 | Availability Available | Due Date | Make a Reservation | Service |
No. 2 | Location Sejong Academic Information Center/Science & Technology/ | Call Number 004.22 2010 | Accession No. 151299465 | Availability Available | Due Date | Make a Reservation | Service |
Contents information
Book Introduction
베스트 셀러인 이 컴퓨터 구조 책은 요즘 업계에서 일어나고 있는 혁신적인 변화에 초점을 맞춰 철저히 개정되었다. 추가로 이 ARM 버전은 아시아에서의 임베디드 컴퓨팅 업계의 중요성과 임베디드 디바이스에서의 가장 인기 있는 명령어 집합 구조 중 하나인 ARM 프로세서의 특징을 강조하여 실제 컴퓨터에서의 명령어 집합과 산술연산을 자세히 살펴본다.
지난 버전에서와 마찬가지로 MIPS 프로세서는 하드웨어 기술, 파이프라이닝, 메모리 계층 및 입출력의 기본원리를 설명하는데 사용되었으며, X86 구조에 대한 해당 절들 또한 포함되어있다. CD에서는 시뮬레이터와 컴파일러 툴킷을 제공할 뿐 아니라 이들을 사용하기 위한 튜토리얼 및 좀 더 깊은 공부를 위한 고급 내용들과 책에 포함되지 않은 연습문제들을 확인할 수 있다.
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판에서 독립된 장으로 있던 성능에 대한 내용은 첫 장 속으로 녹아 들게 되었다.
Information Provided By: :

Author Introduction
데이비드 패터슨(지은이)
그의 가족 중에서는 대학을 졸업(1969 A. B. UCLA)한 첫 번째 사람이며 공부를 즐겼기에 PhD(1976 UCLA)까지 멈추지 않았다. 이후 1977년도에 U.C.Berkeley에 부임하였으며 Berkeley CS 학부장, CRA 사장, ACM 회장을 역임하였고 200편의 논문과 5권의 책을 집필하고 서른 개 가량의 상을 받았다. 현재 그는 RAD Lab과 ParLab의 Director이다.
존 헤네시(지은이)
2019년 현재 구글 모회사 알파벳의 이사회 의장이자 나이트-헤네시재단의 대표다. 1977년 스탠퍼드대학교 조교수로 부임한 뒤 같은 대학교 컴퓨터시스템연구소 소장, 학과장, 공대 학장, 부총장 등을 거쳤다. 2000년에는 10대 총장으로 임명되어 2016년까지 역임했으며, 총장으로 재임하는 동안 탁월한 리더십으로 스탠퍼드를 세계 최고의 대학으로 성장시켰고, 일반적인 대학 총장의 범주를 넘어 학계와 업계 그리고 사회 전반에 걸쳐 영향력을 발휘했다. 전기공학과 컴퓨터과학 분야의 세계적 석학으로서 교수로 재직하는 동안 벤처 기업 ‘밉스 컴퓨터 시스템스’를 설립해 현재 컴퓨터 칩의 99퍼센트에 쓰이는 RISC(축소 명령 집합 컴퓨터) 아키텍처를 개발하고 상용화했으며, 그 공로로 컴퓨터 업계의 노벨상으로 불리는 튜링상을 공동 수상했다. 구글 창립자들인 세르게이 브린과 래리 페이지를 비롯한 여러 제자를 길러 내는 등 인재 양성에도 힘을 쏟았다. 또 구글과 시스코 시스템스 등의 이사진으로 오랫동안 활동하며 디지털 혁명에 공헌했다. 2016년 총장 퇴임 이후에는 나이키 회장 필 나이트와 함께 나이트-헤네시 장학 사업을 설립하고 7억 5000만 달러 규모의 장학 기금을 조성해 스탠퍼드 대학원생들의 학업을 지원하고 있다. 나이트-헤네시 장학금 첫 수여를 기념해 출간한 책 《어른은 어떻게 성장하는가》에서 존 헤네시는 자신의 오랜 경험을 통해 얻은 ‘성장의 조건’을 10가지로 집약해 새로운 시대를 열어 갈 이들에게 전한다.
박명순(옮긴이)
1975.2 서울대학교 전자공학과 학사 1975.3~1980.9 국방과학연구소 연구원 1980.9~1982.6 Univ. of Utah 전자공학과 석사 1982.8~1985.8 Univ. of Iowa 컴퓨터공학과 박사 1985.8~1987.1 Marquette Univ. 전기공학 및 컴퓨터공학과 조교수 1987.2~1988.2 포항공대 전자전기공학과 조교수 1988.3~현재 고려대학교 정보대학 컴퓨터학과 교수
장훈(옮긴이)
1987.2 서울대학교 전자공학과 학사 1989.2 서울대학교 전자공학과 석사 1993.8 Univ. of Texas at Austin 컴퓨터공학 박사 1993.6~1993.12 AMCU Design Center, Motorola, Inc. 1994.3~현재 숭실대학교 IT대학 컴퓨터학부 교수
하순회(옮긴이)
1985.2 서울대학교 전자공학과 학사 1987.2 서울대학교 전자공학과 석사 1992.2 U.C. Berkeley EECS 전기공학과 박사 1992.6~1993.5 U.C.Berkeley EECS post-doc 1993.7~1994.2 현대전자산업주식회사 산업전자연구소 선임연구원 1994.3~현재 서울대학교 컴퓨터공학과 교수

Table of Contents
목차 01 컴퓨터 추상화 및 관련 기술 1.1 서론 = 2 1.2 프로그램 밑의 세계 = 8 1.3 케이스를 열고 = 12 1.4 성능 = 25 1.5 전력 장벽 = 37 1.6 현저한 변화: 단일 프로세서에서 멀티프로세서로의 변화 = 39 1.7 실례: AMD Opteron X4 의 제작과 벤치마킹 = 43 1.8 오류 및 함정 = 50 1.9 결론 = 53 1.10 역사적 고찰 및 참고 문헌 = 55 1.11 연습문제 = 56 02 명령어 2.1 서론 = 66 2.2 하드웨어 연산 = 69 2.3 피연산자 = 71 2.4 부호있는 수와 부호없는 수 = 77 2.5 명령어의 컴퓨터 내부 표현 = 84 2.6 논리연산 명령어 = 92 2.7 판단을 위한 명령어 = 95 2.8 하드웨어의 프로시져 지원 = 104 2.9 문자와 문자열 = 114 2.10 ARM의 32 비트 수치를 위한 주소지정 및 복잡한 주소지정방식 = 120 2.11 병렬성과 명령어: 동기화 = 127 2.12 프로그램 번역과 실행 = 129 2.13 종합: C 정렬 프로그램 = 138 2.14 배열과 포인터 = 147 2.15 고급자료: C 컴파일 및 JAVA 인터프리트 = 152 2.16 실례: MIPS 명령어 = 152 2.17 실례: x86 명령어 = 157 2.18 오류 및 함정 = 166 2.19 결론 = 168 2.20 역사적 고찰 및 참고 문헌 = 170 2.21 연습문제 = 171 03 컴퓨터 연산 3.1 개요 = 194 3.2 덧셈과 뺄셈 = 195 3.3 곱셈 = 199 3.4 나눗셈 = 206 3.5 부동소수점 = 212 3.6 병렬처리와 산술연산 : 결합법칙 = 241 3.7 실례: x86 에서의 부동소수점 연산 = 242 3.8 오류 및 함정 = 246 3.9 결론 = 249 3.10 역사적 고찰 및 참고 문헌 = 253 3.11 연습문제 = 253 04 프로세서 4.1 서론 = 264 4.2 논리 설계 관례 = 269 4.3 데이터패스 만들기 = 272 4.4 단순한 구현 = 280 4.5 파이프라이닝에 대한 개관 = 294 4.6 파이프라인 데이터패스 및 제어 = 309 4.7 데이터 해저드: 전방전달 대 지연 = 328 4.8 제어 해저드 = 341 4.9 예외 = 351 4.10 병렬성 및 고급 명령어 수준 병렬성 = 358 4.11 실례: AMD Opteron X4(Barcelona) 파이프라인 = 372 4.12 고급 주제: 파이프라인을 서술하고 모델링하기 위해 하드웨어 설계 언어를 사용하여 논리회로 설계하기에 대한 소개 및 좀 더 다양한 파이프라인 그림들 = 375 4.13 오류 및 함정 = 376 4.14 결론 = 377 4.15 역사적 고찰 및 참고 문헌 = 378 4.16 연습문제 = 378 05 메모리 계층구조 5.1 서론 = 402 5.2 캐쉬의 기본 = 407 5.3 캐쉬 성능의 측정 및 향상 = 425 5.4 가상 메모리 = 441 5.5 메모리 계층을 위한 공통 구조 = 468 5.6 가상 머신 = 475 5.7 간단한 캐쉬를 제어하기 위한 유한상태기 = 479 5.8 병렬성과 메모리 계층구조: 캐쉬 일관성 = 484 5.9 고급 자료: 캐쉬 제어기 구현 = 488 5.10 실례: AMD Opteron X4(Barcelona)와 Intel Nehalem의 메모리 계층 구조 = 488 5.11 오류 및 함정 = 493 5.12 결론 = 497 5.13 역사적 고찰 및 참고문헌 = 498 5.14 연습문제 = 498 06 저장장치와 다른 주변장치 6.1 서론 = 510 6.2 신용성, 신뢰성과 가용성 = 513 6.3 디스크 저장장치 = 516 6.4 플래시 저장장치 = 521 6.5 프로세서, 메모리와 입출력 장치 연결 = 523 6.6 입출력 장치와 메모리, 프로세서, 운영체제와의 인터페이스 = 528 6.7 입출력 성능 측도: 디스크와 파일 시스템의 예 = 537 6.8 입출력 시스템의 설계 = 540 6.9 병렬 처리와 입출력: RAID = 541 6.10 실례: Sun Fire x4150 서버 = 548 6.11 고급주제: 네트워크 = 555 6.12 오류 및 함정 = 555 6.13 결론 = 560 6.14 역사적 고찰 및 참고 문헌 = 561 6.15 연습문제 = 562 07 멀티코어, 멀티프로세서 및 클러스터 7.1 서론 = 572 7.2 병렬처리 프로그램 개발의 어려움 = 575 7.3 공유 메모리 멀티프로세서 = 580 7.4 클러스터와 메시지 전달 멀티프로세서 = 583 7.5 하드웨어 멀티스레딩 = 587 7.6 SISD, MIMD, SIMD, SPMD와 벡터 = 590 7.7 그래픽 처리 유닛의 기초 = 596 7.8 멀티프로세서 네트워크 위상의 기초 = 603 7.9 멀티프로세서 벤치마크 = 606 7.10 루프라인: 간단한 성능 모델 = 609 7.11 실례: 루프라인 모델을 이용한 네 종류 멀티코어 벤치마킹 = 617 7.12 오류 및 함정 = 625 7.13 결론 = 627 7.14 역사적 고찰 및 참고 문헌 = 629 7.15 연습문제 = 629 CD-ROM CONTENT A Graphics and Computing GPUs A-2 B1 ARM and Thumb Assembler Instructions B1-2 B2 ARM and Thumb Instruction Encodings B2-2 B3 Instruction Cycle Timings B3-2 C The Basics of Logic Design C-2 D Mapping Control to Hardware D-2 ADVANCED CONTENT HISTORICAL PERSPECTIVES & FURTHER READING TUTORIALS SOFTWARE 전체 연습문제