목차
Chapter 1 개요와 CPU 아키텍처
1.1 CPU의 개요 = 13
1.1.1 CPU 코어의 명칭 = 17
1.1.2 SH-1/SH-2/SH-3/SH-4계의 확장 = 18
1.1.3 SH-1/SH-2계와 SH-3/SH-4계의 큰 차이 = 21
1.2 CPU 프로그래밍 모델(내부 레지스터) = 22
1.3 레지스터의 설명 = 25
1.4 CPU 프로그래밍 모델(명령어 세트) = 30
1.4.1 데이터 전송 = 31
1.4.2 로드/스토어 아키텍처 = 31
1.4.3 지연분기 = 32
1.4.4 T 비트 = 32
1.4.5 상수값 = 33
1.5 파이프라인 = 33
1.6 CPU의 동작 모드 = 37
1.7 CPU의 어드레스 공간 = 37
1.7.1 29비트 물리 어드레스 모드 = 39
1.7.2 32비트 물리 어드레스 모드 = 41
1.8 정리 = 43
Chapter 2 캐시 메모리
2.1 캐시 메모리란 무엇인가? = 46
2.1.1 CPU 처리 능력 향상과 메모리 속도 = 46
2.1.2 캐시의 배치 = 48
2.1.3 캐시의 교체 관리 = 50
2.1.4 캐시로의 Write 제어 = 53
2.2 프로세서계 SuperH의 캐시 메모리 = 54
2.2.1 프로세서계 캐시 메모리의 개요 = 54
2.2.2 초기화 = 55
2.2.3 캐시 메모리의 대상 영역 = 57
2.2.4 캐시 메모리로의 Write = 60
2.2.5 캐시 메모리와 외부 메모리의 정합성 = 61
2.2.6 캐시 메모리로의 기타 조작 = 66
2.3 정리 = 73
Chapter 3 MMU
3.1 MMU의 개요 = 76
3.1.1 가상기억 = 77
3.1.2 가비지 콜렉션(garbage collection) = 77
3.1.3 다중 가상기억 = 78
3.1.4 메모리 보호 = 78
3.1.5 어드레스 변환 = 79
3.2 TLB의 기능 = 79
3.2.1 다이렉트 맵 = 80
3.2.2 Set 어소시에이티브 = 80
3.2.3 Full 어소시에이티브 = 81
3.3 SuperH의 MMU = 81
3.3.1 물리 메모리 맵 = 82
3.3.2 가상 어드레스 공간 = 82
3.3.3 P0, P3, U0 영역 = 83
3.3.4 P1, P2, P4 영역 = 84
3.3.5 어드레스 변환 동작 = 84
3.4 레지스터 구성 = 85
3.4.1 MMU 제어 레지스터(MMUCR) = 85
3.4.2 페이지 테이블 엔트리 상위 레지스터(PTEH) = 86
3.4.3 페이지 테이블 엔트리 하위 레지스터(PTEL) = 86
3.4.4 페이지 테이블 엔트리 어시스턴트 레지스터(PTEA) = 87
3.4.5 변환 테이블 베이스 레지스터(TTB) = 88
3.4.6 TLB 예외 어드레스 레지스터(TEA) = 88
3.5 SH-4의 TLB = 88
3.6 MMU 예외 = 89
3.6.1 초기 페이지 Write 예외(데이터) = 90
3.7 MMU의 사용 예 = 91
3.8 정리 = 94
Chapter 4 지오메트리 엔진
4.1 그래픽스 처리 = 96
4.2 SH-4의 그래픽스 처리 명령 = 97
4.2.1 FTRV 명령(FTRV XMTRX, FVn) = 97
4.2.2 FIPR 명령(FIPR FVm, FVn) = 98
4.3 프로그램 예 = 98
4.4 DSP 처리 예 = 101
Chapter 5 예외 처리 기능
5.1 예외 처리란 무엇인가? = 102
5.2 프로세서계 SuperH의 예외 처리 개요 = 104
5.2.1 요인과 시작 어드레스 = 104
5.2.2 처리의 흐름과 예외 이벤트 코드 = 106
5.3 리셋 예외 처리 = 108
5.4 일반 예외 = 110
5.5 인터럽트 요구 = 117
5.6 정리 = 125
Chapter 6 DSP 아키텍처
6.1 DSP 기능의 개요 = 128
6.1.1 MAC 명령 = 129
6.1.2 SH-DSP의 명령과 동작 = 129
6.2 SH3-DSP 내부 레지스터 = 131
6.3 DSP의 데이터 형식 = 132
6.4 DSP의 명령과 어드레싱 모드 = 132
6.4.1 CPU 명령의 확장 = 132
6.4.2 DSP 명령 = 133
6.5 DSP 명령의 특징 = 134
6.5.1 동시에 데이터 전송과 MAC 연산을 실행 = 134
6.5.2 반복 기능 = 135
6.5.3 레지스터의 공유화 = 136
6.5.4 모듈로 어드레싱 = 136
6.5.5 곱의 입력은 16비트 = 137
6.5.6 가감산의 입력은 40비트 = 137
6.5.7 조건부 실행 명령 = 137
6.6 삼각함수 프로그램(다항식 근사) = 138
6.7 DSP 라이브러리 = 141
6.8 DSP-C = 145
6.9 정리 = 149
Chapter 7 개발환경
7.1 르네사스 통합개발환경 = 152
7.1.1 C 언어 사양과 확장 기능 = 155
7.1.2 내비게이션 기능을 사용한 프로그램 작성 = 167
7.1.3 최적화의 포인트 = 170
7.1.4 스택 해석 툴 = 184
7.1.5 시뮬레이터 = 185
7.1.6 에뮬레이터 = 189
7.2 GCC(GNU Compiler Collection) = 190
7.2.1 개요 = 190
7.2.2 GCC의 입수와 유지 관리 = 192
7.2.3 GCC의 사용 방법 = 193
Chapter 8 메모리 인터페이스
8.1 개요 = 202
8.1.1 프로세서계 SuperH의 메모리 접속 방식 = 203
8.2 프로세서계 SuperH의 동작 클록 = 206
8.2.1 CPG = 206
8.2.2 감시 타이머(WDT) = 210
8.3 단자 기능 = 213
8.4 버스 인터페이스 = 216
8.4.1 기본 버스 사이클(일반 메모리) = 216
8.4.2 버스 스테이트 컨트롤러의 레지스터 = 221
8.4.3 SDRAM = 227
8.4.4 리프레시 제어 = 238
8.5 메모리의 접속 = 241
8.5.1 메모리 인터페이스 사양 = 241
8.5.2 M5M29KB/T641 = 242
8.5.3 EDS6416AJTA(SDRAM) = 245
8.5.4 BSC 초기화 프로그램 = 248
Chapter 9 내장 주변 기능
9.1 32비트 타이머 유닛(TMU) = 250
9.1.1 TMU의 개요 = 250
9.1.2 TMU의 레지스터 = 251
9.1.3 인터벌 타이머 동작 예 = 252
9.1.4 TMU의 제어 레지스터 = 252
9.1.5 TMU의 응용 예(1) = 254
9.1.6 TMU의 응용 예(2) = 255
9.2 FIFO 포함 시리얼 커뮤니케이션 인터페이스(SCIF) = 257
9.2.1 SCIF의 기능 개요 = 257
9.2.2 SCIF의 레지스터 = 259
9.2.3 SCIF의 사용 예(1) = 269
9.2.4 SCIF의 사용 예(2) = 272
9.3 DMAC(다이렉트 메모리 액세스 컨트롤러) = 275
9.3.1 DMAC의 개요 = 275
9.3.2 DMAC의 동작 모드 = 277
9.3.3 레지스터 구성 = 282
9.3.4 메모리→메모리 간의 DMA 전송 프로그램 예 = 287
9.3.5 SCIF의 DMAC 사용 예 = 289
9.4 LCD 컨트롤러(LCDC) = 293
9.4.1 LCDC의 개요 = 293
9.4.2 LCDC의 레지스터 = 294
9.4.3 LCDC의 초기화 = 295
9.4.4 기본 도형의 그리기 = 299
9.5 정리 = 308
Chapter 10 오퍼레이팅 시스템(OS)
10.1 개요 = 310
10.2 SuperH로 동작하는 OS = 311
10.2.1 ITRON 사양 OS = 311
10.2.2 T-Engine/T-Kernel(T-Engine 포럼) = 314
10.2.3 리눅스 = 316
10.2.4 그 밖의 OS = 318
10.3 미들웨어 = 320
10.4 OS의 선정 = 320
10.5 OS의 기동 = 321
10.6 컨텍스트 스위치 = 323
10.7 인터럽트 발생 시의 행위 = 324
10.8 메모리 단편화 = 325
부록 : 명령 리스트 = 328
찾아보기 = 338