이 상품은 구매 후 지원 기기에서 예스24 eBook앱 설치 후 바로 이용 가능한 상품입니다.
|
지은이·감수자·옮긴이 소개 xiv옮긴이 머리말 xvi베타리더 후기 xviii시작하며 xx감사의 말 xxxviiiPART I 기본 개념CHAPTER 1 역사적 아키텍처들 31.1 컴퓨터란 무엇인가? 41.2 산업혁명 이전 71.2.1 석기 시대 7 / 1.2.2 청동기 시대 9 / 1.2.3 철기 시대 111.2.4 이슬람 황금기 13 / 1.2.5 르네상스와 계몽주의 시대 151.3 증기 시대 171.3.1 자카르 방직기 17 / 1.3.2 빅토리아 시대의 배럴 오르간과 오르골 181.3.3 배비지의 차분기관 18 / 1.3.4 배비지의 해석기관 201.3.5 기계식 미분 해석기 241.4 디젤 시대 251.4.1 홀러리스 표 계산기와 IBM 26 / 1.4.2 전기기계식 미분 해석기 281.4.3 제2차 세계 대전의 전기기계식 기계 28 / 1.4.4 추제 Z3 311.5 전기 시대 311.5.1 2차대전의 순수 전자적 암호학 32 / 1.5.2 에니악 331.5.3 VM 에니악 35 / 1.5.4 맨체스터 베이비 351.5.5 1950년대와 상업용 컴퓨팅 371.6 트랜지스터 시대 381.6.1 1960년대와 대형 트랜지스터 38 / 1.6.2 1970년대와 집적회로 401.6.3 1980년대 황금기 41 / 1.6.4 따분한 1990년대 421.6.5 2000년대와 커뮤니티 재구성 441.6.6 2010년대와 무어의 법칙의 종말 451.6.7 클라우드와 사물 인터넷(IoT)의 2020년대 481.7 그래서 최초의 컴퓨터는 무엇인가? 50이번 장 요약 51실습과제 51더 읽을거리 52CHAPTER 2 데이터 표현 532.1 데이터 표현의 간략한 역사 542.1.1 탤리 스틱과 거래용 토큰 54 / 2.1.2 로마 숫자 562.1.3 쪼갠 탤리 56 / 2.1.4 아라비아 숫자와 기타 숫자 572.2 현대적 수체계 592.2.1 기수와 지수 59 / 2.2.2 기수 10: 십진수 602.2.3 기수 2: 이진수 61 / 2.2.4 기수 10,000 622.2.5 기수 60: 60진수 63 / 2.2.6 기수 16: 16진수 632.2.7 기수 256: 바이트 66 / 2.2.8 진수 변환 방법 662.3 데이터 표현 672.3.1 자연수 67 / 2.3.2 정수 70 / 2.3.3 유리수 712.3.4 고정소수점 72 / 2.3.5 부동소수점 72 / 2.3.6 배열 732.3.7 텍스트 75 / 2.3.8 멀티미디어 데이터 표현 80 / 2.3.9 자료구조 832.4 데이터 측정 84이번 장 요약 86실습과제 86더 읽을거리 87CHAPTER 3 기초적인 CPU 기반 아키텍처 883.1 음악 처리 장치 883.1.1 음악에서 수치 연산으로 91 / 3.1.2 수치 연산에서 계산으로 923.2 배비지의 CPU 933.2.1 고수준 아키텍처 94 / 3.2.2 프로그래머 인터페이스 953.2.3 내부 하위부품들 100 / 3.2.4 내부 작동 103이번 장 요약 106실습과제 107더 읽을거리 107PART II 전자회로의 계층구조 109CHAPTER 4 스위치 1114.1 유향 시스템 1124.1.1 체크 밸브 113 / 4.1.2 열 다이오드 114 / 4.1.3 PN 접합 다이오드 1154.2 스위치 1214.2.1 수압 스위치 121 / 4.2.2 전기 진공관 스위치 1224.2.3 PNP 트랜지스터 123 / 4.2.4 수압 효과 스위치 1254.2.5 전계효과 트랜지스터 126 / 4.2.6 클록 1274.3 트랜지스터 제조 1284.4 무어의 법칙 130이번 장 요약 131실습과제 132더 읽을거리 132CHAPTER 5 디지털 논리 1335.1 클로드 섀넌과 논리 게이트 1345.2 논리 게이트 1355.2.1 범용 게이트 식별 138 / 5.2.2 트랜지스터로 논리 게이트 만들기 1385.2.3 논리 게이트를 칩에 얹기 1405.3 부울 논리 1435.3.1 산술로서의 논리 144 / 5.3.2 모델 검사 대 증명 1455.4 부울 논리를 이용한 논리 회로 간소화 1485.5 디지털 논리의 구현 1505.5.1 7400 시리즈 칩 활용 150 / 5.5.2 포토 공정 1515.5.3 PLA 151 / 5.5.4 FPGA 152이번 장 요약 154실습과제 154더 읽을거리 155CHAPTER 6 단순 기계 1566.1 조합 논리 1576.1.1 비트별 논리 연산 157 / 6.1.2 다중 입력 논리 연산 1586.1.3 자리이동 장치 158 / 6.1.4 디코더와 인코더 1596.1.5 멀티플렉서와 디멀티플렉서 160 / 6.1.6 가산기 1616.1.7 부정 소자와 감산기 1656.2 조합 논리에서 순차 논리로 1666.3 클록 논리 1696.3.1 클록 플립플롭 170 / 6.3.2 카운터 1716.3.3 시퀀서 172 / 6.3.4 RAM(임의 접근 메모리) 173이번 장 요약 176실습과제 176더 읽을거리 178CHAPTER 7 디지털 CPU 설계 1797.1 베이비의 프로그래머 인터페이스 1807.1.1 정지 181 / 7.1.2 상수 181 / 7.1.3 적재와 저장 1827.1.4 산술 183 / 7.1.5 점프 183 / 7.1.6 분기 1847.2 어셈블러 1847.3 맨체스터 베이비의 내부 구조 1897.3.1 레지스터 190 / 7.3.2 산술 논리 장치(ALU) 192 / 7.3.3 제어 장치(CU) 1937.4 전체 조립 1967.4.1 인출 197 / 7.4.2 해독 198 / 7.4.3 실행 199 / 7.4.4 완전한 베이비 구현 204이번 장 요약 206실습과제 207더 읽을거리 209CHAPTER 8 고급 CPU 설계 2108.1 사용자 레지스터 개수 2108.2 명령어 개수 2128.3 명령어 지속 시간 2138.4 여러 가지 주소 지정 모드 2148.5 서브루틴 2178.5.1 스택 없는 아키텍처 218 / 8.5.2 택 아키텍처 2188.6 부동소수점 처리장치(FPU) 2208.7 파이프라이닝 2218.7.1 해저드(위험 요소) 223 / 8.7.2 해저드 해결 2258.8 비순차 실행 2298.9 하이퍼스레딩 231이번 장 요약 232실습과제 232더 읽을거리 233CHAPTER 9 입출력(I/O) 2349.1 기본 I/O 개념 2349.2 버스 2369.2.1 버스선들 237 / 9.2.2 CPU-버스 인터페이스 2389.3 I/O 모듈 2409.3.1 제어와 타이밍 241 / 9.3.2 오류 검출 2439.4 I/O 모듈 기법 2439.4.1 폴링 244 / 9.4.2 인터럽트 244 / 9.4.3 직접 메모리 접근(DMA) 2469.5 모듈 없는 I/O 2479.5.1 CPU의 I/O 전용 핀 247 / 9.5.2 메모리 매핑 247 / 9.5.3 버스 계층구조 247이번 장 요약 248실습과제 249더 읽을거리 249CHAPTER 10 메모리 25010.1 메모리 계층구조 25010.2 주 메모리 25210.2.1 바이트와 엔디언 253 / 10.2.2 메모리 모듈 25510.2.3 RAM(임의 접근 메모리) 256 / 10.2.4 ROM(읽기 전용 메모리) 26110.3 캐시 26310.3.1 캐시의 주요 개념 265 / 10.3.2 여러 가지 캐시 읽기 정책 26710.3.3 여러 가지 캐시 쓰기 정책 269 / 10.3.4 고급 캐시 아키텍처 27010.4 보조 메모리와 오프라인 메모리 27210.4.1 테이프 273 / 10.4.2 디스크 276 / 10.4.3 SSD(고체상 드라이브) 28010.5 3차 메모리 28110.6 데이터 센터 281이번 장 요약 282실습과제 282더 읽을거리 283PART III 예제 아키텍처 285CHAPTER 11 레트로 아키텍처 28711.1 1980년대 황금기의 프로그래밍 28811.1.1 8비트 시대 290 / 11.1.2 16비트 시대 29111.2 8비트 CPU MOS 6502 다루기 29211.2.1 내부 구성요소 292 / 11.2.2 프로그래머 인터페이스 29811.3 코모도어 64로 살펴보는 8비트 컴퓨터 설계 30311.3.1 아키텍처의 이해 303 / 11.3.2 C64 프로그래밍 30611.4 모토롤라 68000으로 살펴보는 16비트 컴퓨터 설계 30911.4.1 내부 구성요소 309 / 11.4.2 프로그래머 인터페이스 31011.5 코모도어 아미가로 살펴보는 16비트 컴퓨터 설계 31311.5.1 아키텍처의 이해 314 / 11.5.2 아미가 프로그래밍 31611.6 레트로 주변기기 32011.6.1 CRT(음극선관) 디스플레이 320 / 11.6.2 사용자 입력 32111.6.3 직렬 포트 322 / 11.6.4 MIDI 인터페이스 322이번 장 요약 324실습과제 324더 읽을거리 326CHAPTER 12 임베디드 아키텍처 32812.1 설계 원칙 32912.1.1 단일 용도 329 / 2.1.2 신뢰성 329 / 12.1.3 이동성과 전력 공급 32912.1.4 캡슐화 330 / 12.1.5 신중한 디버깅 33012.2 마이크로컨트롤러 33012.2.1 CPU 331 / 12.2.2 메모리 331 / 12.2.3 타이머와 카운터 33112.3 임베디드 I/O 33212.3.1 아날로그-디지털 변환 332 / 12.3.2 임베디드 직렬 포트 33312.3.3 IC 간 버스 334 / 12.3.4 CAN 버스 33512.4 아두이노 33612.4.1 ATmega328 마이크로컨트롤러 337 / 12.4.2 아두이노 보드의 나머지 부분 33912.4.3 아두이노 프로그래밍 34012.5 그 밖의 CPU 기반 임베디드 시스템 34212.5.1 아두이노 없는 Atmel AVR 342 / 12.5.2 PIC 마이크로컨트롤러 34212.5.3 디지털 신호 처리 장치(DSP) 34312.6 CPU 없는 임베디드 시스템 34412.6.1 PLC(프로그래머블 로직 컨트롤러) 345 / 12.6.2 임베디드 FPGA 347이번 장 요약 348실습과제 349더 읽을거리 349CHAPTER 13 데스크톱 아키텍처 35113.1 CISC 설계 철학 35213.2 마이크로프로그래밍 35313.3 x86의 역사 35513.3.1 선사시대 355 / 13.3.2 16비트 고전 시대 35613.3.3 32비트 클론 전쟁 시대 357 / 13.3.4 64비트 브랜드 시대 35813.4 x86 프로그래밍 36013.4.1 레지스터 360 / 13.4.2 NASM 문법 36313.4.3 세그멘테이션 372 / 13.4.4 하위 호환 모드 37213.5 PC 컴퓨터 설계 37313.5.1 버스 계층구조 374 / 13.5.2 공통 버스 377 / 13.5.3 표준 장치 380이번 장 요약 388실습과제 388더 읽을거리 394CHAPTER 14 스마트 아키텍처 39614.1 스마트 기기 39714.2 RISC 철학 39814.3 RISC-V 40014.3.1 아키텍처의 이해 401 / 14.3.2 핵심 RISC-V 프로그래밍 40314.3.3 RISC-V 확장 40514.4 다양한 RISC-V 구현 40714.5 RISC-V 도구 사슬과 커뮤니티 40814.6 스마트 컴퓨터 설계 40914.6.1 저전력 DRAM(LP-DRAM) 410 / 14.6.2 카메라 410 / 14.6.3 터치스크린 411이번 장 요약 412실습과제 413더 읽을거리 415CHAPTER 15 병렬 아키텍처 41615.1 직렬적 사고방식 대 병렬적 사고방식 41715.2 CPU의 SIMD 42015.2.1 SIMD 소개 420 / 15.2.2 x86의 SIMD 42115.3 GPU에서의 SIMD 42815.3.1 GPU 아키텍처 429 / 15.3.2 Nvidia GPU 어셈블리 프로그래밍 43015.3.3 SASS 방언들 438 / 15.3.4 고수준 GPU 프로그래밍 44215.4 MIMD(다중 명령 다중 데이터) 44515.4.1 단일 프로세서 MIMD 445 / 15.4.2 공유 메모리 MIMD 44515.4.3 MIMD 분산 컴퓨팅 45115.5 명령 없는 병렬성 45615.5.1 데이터 흐름 아키텍처 456 / 15.5.2 데이터 흐름 컴파일러 45815.5.3 하드웨어 신경망 459이번 장 요약 460실습과제 462더 읽을거리 465CHAPTER 16 미래의 아키텍처 46716.1 새로운 황금기 46716.1.1 오픈소스 아키텍처 468 / 16.1.2 원자 규모의 트랜지스터 47016.1.3 3D 실리콘 아키텍처 471 / 16.1.4 1만 년 메모리 47216.2 광학 아키텍처 47316.2.1 광 트랜지스터 473 / 16.2.2 광학 상관기 474 / 16.2.3 광신경망 47616.3 DNA 아키텍처 47716.3.1 합성 생물학 478 / 16.3.2 DNA 컴퓨팅 47916.4 신경 아키텍처 48016.4.1 트랜지스터 대 이온 통로 481 / 16.4.2 논리 게이트 대 뉴런 48116.4.3 구리선 대 화학 신호 483 / 16.4.4 단순 기계 대 피질 기둥 48416.4.5 칩 대 대뇌 피질 485 / 16.4.6 병렬 계산 대 직렬 계산 48616.5 양자 아키텍처 48716.5.1 양자역학의 만화 버전 488 / 16.5.2 양자역학의 수학 버전 48916.5.3 큐비트로 이루어진 양자 레지스터 490 / 16.5.4 여러 세계에 걸친 계산 49316.5.5 실용적인 양자 컴퓨터 아키텍처 49416.6 미래의 물리 아키텍처 494이번 장 요약 497실습과제 498더 읽을거리 499APPENDIX 부록 501APPENDIX A 운영체제 지원 503동시성 504커널 모드와 사용자 모드 505가상 메모리 505장치 드라이버 506로더 507링커 508추가적인 부팅 단계 510하이퍼바이저 모드, 가상화, 그리고 컨테이너 512실시간 운영체제 512추측 실행 취약점 513실습과제 517더 읽을거리 518그림 출처 519찾아보기 527
|
류광의 다른 상품
|
■ 다양한 인코딩 방식으로 데이터를 표현하는 방법과 디지털 논리 게이트를 구축하는 방법■ 기계어와 어셈블리 프로그래밍의 기초■ 파이프라이닝, 비순차 실행, 병렬처리의 작동 원리와 실제 사례■ 신경망, DNA, 광학, 양자 컴퓨팅의 파급력과 전망
|