목차 일부
제1장 컴퓨터 시스템의 소개 ... 15
1.1 컴퓨터 시스템의 특성 ... 17
1.2 컴퓨터 시스템의 구성 ... 18
1.2.1 물리적 장치 ... 19
1.2.2 시스템 프로그램 ... 22
1.2.3 응용 프로그램 ... 25
1.2.4 사용 목적에 따른 컴퓨터의 분류 ... 25
1.3 ...
더보기
목차 전체
제1장 컴퓨터 시스템의 소개 ... 15
1.1 컴퓨터 시스템의 특성 ... 17
1.2 컴퓨터 시스템의 구성 ... 18
1.2.1 물리적 장치 ... 19
1.2.2 시스템 프로그램 ... 22
1.2.3 응용 프로그램 ... 25
1.2.4 사용 목적에 따른 컴퓨터의 분류 ... 25
1.3 컴퓨터 시스템의 성능 ... 26
1.3.1 성능의 측도 ... 27
1.3.2 시스템 성능 ... 30
1.4 성능의 평균 ... 32
1.4.1 단순 평균과 가중치 평균 ... 33
1.4.2 처리 시간데 대한 산술 평균(arithmetic mean) ... 33
1.4.3 처리율에 대한 조화 평균(harmonic mean) ... 34
1.4.4 상대적인 수행 시간에 대한 기하 평균(geometric mean) ... 36
1.4.5 벤치마크 프로그램 ... 38
1.5 컴퓨터의 발전 ... 38
1.5.1 폰노이만(Von Neumann) 구조 컴퓨터 ... 38
1.5.2 컴퓨터의 발전 과정 ... 39
1.6 컴퓨터 시스템의 설계 ... 40
1.7 요약 ... 42
연습문제 ... 43
제2장 논리 회로의 활용 ... 45
2.1 스위칭 회로 ... 47
2.2 부울 연산과 부울 대수 ... 48
2.3 논리 게이트 ... 52
2.4 논리 게이트의 구현 ... 57
2.5 논리 연산식의 간단화 ... 59
2.5.1 연산식 변형 ... 59
2.5.2 카노맵 이용 ... 59
2.6 조합 회로(Combinational Circuit) ... 67
2.6.1 가산기 ... 69
2.6.2 디코더 ... 71
2.6.3 멀티플렉서 ... 72
2.6.4 패리티 검사 회로 ... 74
2.7 저장 장치 ... 76
2.7.1 플립플롭 ... 76
2.7.2 레지스터 ... 81
2.7.3 쉬프트 레지스터 ... 82
2.8 순차 회로(Sequential Circuit) ... 83
2.8.1 비동기 카운터회로 ... 84
2.8.2 동기 카운터회로 ... 86
2.9 요약 ... 88
연습문제 ... 89
제3장 자료의 표현과 산술 연산 ... 93
3.1 문자의 표현 ... 96
3.2 2진수의 표현 ... 97
3.3 수의 표현 ... 103
3.3.1 보수 ... 103
3.3.2 정수의 표현 ... 104
3.3.3 부동 소수점에 의한 실수의 표현 ... 106
3.4 정수의 연산 ... 108
3.4.1 양수의 덧셈 ... 108
3.4.2 정수의 덧셈과 뺄셈 ... 109
3.4.3 정수의 곱셈 ... 113
3.4.4 정수의 나눗셈 ... 117
3.5 실수의 연산 ... 119
3.5.1 부동 소수점 수의 덧셈과 뺄셈 ... 119
3.5.2 부동 소수점 수의 곱셈 ... 120
3.6 이진 코드 ... 121
3.6.1 Gray코드 ... 121
3.6.2 BCD(Binary Coded Decimal) 코드 ... 122
3.7 요약 ... 122
연습문제 ... 124
제4장 CPU의 내부 구조와 명령어 집합 ... 127
4.1 CPU 내부의 저장 장치 ... 130
4.1.1 특수 레지스터 ... 130
4.1.2 범용 레지스터(General Purpose Register) ... 131
4.1.3 스택 저장 장치 ... 132
4.2 레지스터와 CPU 내부의 연결 ... 134
4.3 ALU(Arithmetic and Logic Unit)의 설계 ... 138
4.4 명령어 집합 ... 144
4.5 실행 내용에 따른 명령어 구분 ... 147
4.5.1 명령어의 실행 내용 ... 147
4.5.2 사용자 모드와 감독자 모드 ... 153
4.6 주소 지정 모드(Addressing mode) ... 154
4.7 명령어의 형식 ... 160
4.8 스택의 활용 ... 166
4.8.1 서브루틴 호출의 처리 ... 166
4.8.2 연산식의 표현과 계산 ... 169
4.9 CISC와 RISC ... 172
4.10 요약 ... 174
연습문제 ... 175
제5장 마이크로 연산과 제어장치 ... 181
5.1 마이크로 연산 ... 183
5.2 명령어 처리 과정 ... 184
5.2.1 명령어의 페치 과정 ... 184
5.2.2 디코딩 및 유효 주소 계산 ... 186
5.2.3 실행 단계 ... 187
5.2.4 버스의 구조와 명령어 실행 단계 ... 188
5.3 제어 장치의 유형 ... 190
5.4 하드와이어적 제어 장치 ... 192
5.5 마이크로프로그램된 제어 장치 ... 193
5.6 마이크로프로그램의 실행 제어 ... 199
5.7 요약 ... 203
연습문제 ... 204
제6장 파이프라인 구조 ... 207
6.1 파이프라인 구조의 성능 ... 212
6.2 파이프라인 CPU의 분석 ... 215
6.2.1 처리 과정이 동일하지 않은 명령어 실행 ... 216
6.2.2 일정하지 않은 단계별 처리 시간 ... 217
6.2.3 분기 명령어의 영향 ... 220
6.2.4 명령어 사이의 의존성 ... 226
6.2.5 자원의 부족에 의한 충돌 ... 228
6.3 파이프라인을 이용한 산술 연산 ... 229
6.4 RISC 프로세서 ... 231
6.5 수퍼스칼라 프로세서(Superscalar Processor) ... 235
6.6 병렬 처리의 한계성 ... 237
6.6.1 제어의 의존성(control dependency) ... 237
6.6.2 자료의 의존성(data dependency) ... 238
6.6.3 이름의 의존성(name dependency) ... 238
6.6.4 자원의 충돌(resource conflict) ... 239
6.7 예측적 실행 기법 ... 239
6.8 요약 ... 241
연습문제 ... 242
제7장 메모리 시스템 ... 245
7.1 메모리의 성능 ... 247
7.2 메모리 소자 ... 250
7.2.1 DRAM 메모리의 내부 구조 ... 254
7.3 메모리 주소 지정 ... 258
7.4 메모리 참조의 특성과 계층적 메모리 ... 259
7.5 캐쉬 메모리 ... 264
7.5.1 직접 매핑(direct mapping) ... 268
7.5.2 어소시어티브 매핑(associative mapping) ... 270
7.5.3 셋 어소시어티브 매핑(Set Associative mapping) ... 272
7.5.4 캐쉬 제거(Replacement) ... 275
7.5.5 캐쉬 쓰기 정책 ... 277
7.5.6 캐쉬 블록의 구성 ... 280
7.5.7 다양한 캐쉬 구조 ... 282
7.6 메모리 인터리빙 ... 283
7.7 가상 메모리 ... 287
7.7.1 메모리 관리의 주처 ... 287
7.7.2 페이징 기법 ... 289
7.7.3 가상 주소 변환 ... 290
7.7.4 TLB(Translation Lockaside Buffer) ... 296
7.7.5 페이지의 제거 ... 297
7.7.6 캐쉬를 고려한 가상 메모리 ... 297
7.8 프로그램 수행시의 메모리 구조 ... 300
7.9 디스크 ... 301
7.10 요약 ... 306
연습문제 ... 307
제8장 입출력 ... 313
8.1 입출력 연결과 주소 지정 ... 316
8.1.1 입출력 연결 ... 316
8.1.2 입출력 주소 지정 ... 318
8.1.3 입출력 버스 ... 320
8.2 입출력 수행의 분류 ... 324
8.2.1 프로그램적 입출력 ... 325
8.2.2 독립적 입출력 ... 329
8.3 인터럽트 ... 333
8.3.1 인터럽트의 발생 유형 ... 334
8.3.2 외부 인터럽트 ... 335
8.3.3 다중 인터럽트의 처리 ... 338
8.3.4 내부 인터럽트(예외) ... 340
8.3.5 동시 발생한 인터럽트와 예외의 처리 ... 341
8.4 요약 ... 342
연습문제 ... 343
제9장 병렬처리와 멀티프로세서 ... 347
9.1 컴퓨터 시스템 구조의 분류 ... 351
9.2 멀티프로세서 구조의 성능 및 신뢰성 ... 353
9.3 상호 연결 구조 ... 354
9.3.1 공통 버스 ... 356
9.3.2 크로스바 연결 구조 ... 357
9.3.3 다단계 연결 구조(multistage interconnection) ... 357
9.3.4 하이퍼큐브(Hypercube) 연결 구조 ... 359
9.4 공유 메모리 구조 ... 360
9.4.1 멀티프로세서의 캐쉬 일관성(cache coherency) ... 362
9.4.2 동기화 ... 365
9.5 메시지 전달 구조 ... 366
9.5.1 메시지 전송 ... 367
9.5.2 메시지 전송 성능 ... 367
9.6 요약 ... 369
연습문제 ... 370
제10장 컴퓨터 통신 ... 371
10.1 지역 비동기 통신 ... 373
10.1.1 비동기 통신의 필요성 ... 373
10.1.2 비트 전송 ... 374
10.1.3 통신을 위한 표준 ... 374
10.1.4 RS-232에서의 비동기 문자 전송 ... 375
10.1.5 보율, 프래밍 오류 ... 377
10.1.6 전이중 비동기 통신 ... 378
10.1.7 하드웨어 대역폭과 비트들의 전송 ... 379
10.2 원거리 통신(운반자와 모뎀) ... 380
10.2.1 원거리를 통한 신호 전송 ... 380
10.2.2 변조와 복조를 위한 모뎀 하드웨어 ... 384
10.2.3 운반자 주파수와 멀티플렉싱 ... 385
10.2.4 시분할 멀티플렉싱 ... 387
10.3 패킷, 프레임 그리고 오류 발견 ... 387
10.3.1 패킷의 개념 ... 387
10.3.2 패킷과 시분할 멀티플렉싱 ... 389
10.3.3 패킷과 하드웨어 프레임 ... 389
10.3.4 전송 오류 ... 391
10.3.5 패리트 비트(parity bit)와 패리티 검사 ... 392
10.3.6 첵섬(checksum)을 이용한 오류 발견 ... 393
10.4 LAN 기술과 네트워크 구조 ... 394
10.4.1 점-대-점 통신 ... 394
10.4.2 공유된 통신 채널 ... 395
10.4.3 LAN 구조(Topology) ... 396
10.4.4 버스 구조 네트워크의 예 : 이더넷 ... 399
10.4.5 링 네트워크의 예 : IBM 토큰 링 ... 400
10.4.6 별 네트워크의 예 : ATM ... 402
10.5 WAN 기술 ... 403
10.5.1 대규모 네트워크와 광역 ... 403
10.5.2 패킷 스위치 ... 404
10.5.3 WAN 구조 ... 405
10.6 저장과 발송 ... 406
10.7 프로토콜과 계층화 ... 406
10.7.1 프로토콜의 필요성 ... 407
10.7.2 프로토콜 군 ... 407
10.7.3 ISO 7 계층 ... 408
10.7.4 계층화된 소프트웨어가 동작하는 방법 ... 410
10.8 인터네트워킹 ... 411
10.8.1 인터네트워킹의 필요성 ... 412
10.8.2 인터네트워킹 ... 412
10.8.3 라우터로 네트워크 연결 ... 413
10.8.4 가상 네트워크 ... 414
10.8.5 인터네트워킹을 위한 프로토콜들 ... 415
10.8.6 IP:(인터넷 프로토콜) 주소 ... 417
10.8.7 IP 데이터그램과 데이터그램 전송 ... 420
10.8.8 TCP : 신뢰성 있는 트랜스포트 서비스 ... 422
10.9 클라이언트-서버 상호작용 ... 424
10.10 요약 ... 427
연습문제 ... 428
제11장 마이크로프로세서의 내부 구조 ... 431
11.1 IA 구조의 용어와 특성 ... 434
11.2 동작 모드 ... 436
11.3 8086의 구조 ... 439
11.3.1 8086의 내부 구조 ... 439
11.3.2 8086의 레지스터 ... 441
11.3.3 프로세서의 초기 동작 ... 442
11.4 80286의 구조 ... 442
11.4.1 80286의 내부 구조 ... 443
11.4.2 80286의 레지스터 ... 444
11.5 80386의 구조 ... 445
11.5.1 80386 내부 구조 ... 445
11.5.2 80386의 레지스터 ... 447
11.6 80486의 구조 ... 449
11.6.1 80486의 내부 구조 ... 449
11.6.2 80486의 레지스터 ... 450
11.7 펜티엄 프로세서의 구조 ... 451
11.7.1 펜티엄의 내부 구조 ... 451
11.7.2 펜티엄 레지스터 ... 453
11.8 P6군 프로세서(펜티엄프로, 펜티엄 Ⅱ, 펜티엄 Ⅲ) ... 454
11.8.1 개선된 수퍼스칼라 구조 ... 454
11.8.2 동적 실행 체계 ... 455
11.8.3 계층적 온칩 캐쉬 ... 455
11.8.4 작업-지향적(transaction-oriented) 외부 64비트 자료 버스 ... 455
11.8.5 주소 버스 확장 ... 456
11.8.6 메모리 부시스템 ... 457
11.8.7 페치 및 디코딩 장치 ... 458
11.8.8 명령어풀(재배치 버퍼) ... 460
11.8.9 발송 및 실행 장치(Dispatch/Execute Unit) ... 460
11.8.10 회수 장치(Retirement Unit) ... 461
11.9 요약 ... 464
찾아보기 ... 465
더보기 닫기