Chapter 01 ARM 임베디드 시스템
1.1 RISC의 특징 2
1.2 ARM 프로세서의 특징 4
1.3 ARM 하드웨어 임베디드 시스템 아키텍처 6
1.4 소프트웨어 계층 구조 12
1.5 요약 정리 16
Chapter 02 ARM 프로세서 개요
2.1 범용 레지스터 22
2.2 CPSR 레지스터 23
2.3 파이프라인 32
2.4 ARM 프로세서에서의 익셉션 35
2.5 캐시 메모리와 코프로세서 36
2.6 아키텍처 버전 40
2.7 ARM 프로세서의 버전별 특징 42
2.8 요약 정리 48
Chapter 03 32비트 ARM 명령어 (대충 훓어볼것)
3.1 데이터 처리 명령어 55
3.2 분기 명령어 66
3.3 로드-스토어 명령어 67
3.4 SWI 명령어 82
3.5 PSR 명령어 84
3.6 상수값 로드 87
3.7 ARMv5E 89
3.8 조건부 실행 93
3.9 요약 정리 94
Chapter 04 16비트 Thumb 명령어 (보지말것)
4.1 Thumb 모드에서의 레지스터 101
4.2 ARM-Thumb 인터워킹 101
4.3 무조건 분기 명령어 104
4.4 데이터 처리 명령어 105
4.5 단일-레지스터 전송 명령어 107
4.6 다중-레지스터 전송 명령어 109
4.7 스택 명령어 110
4.8 소프트웨어 인터럽트 명령어 111
4.9 요약 정리 112
Chapter 05 최적화된 C 프로그래밍 (5.4, 5.5 절의 arm calling convention만 볼것)
5.1 C 컴파일러에 대한 다양한 오해 114
5.2 적절한 데이터형의 선택 117
5.3 속도 향상을 고려한 C 루프문 126
5.4 ATPCS에서의 레지스터 매핑 134
5.5 서브루틴 호출시 매개변수 처리 137
5.6 포인터 앨리어싱 142
5.7 구조체 145
5.8 비트필드 149
5.9 비정렬 데이터와 엔디안 152
5.10 나눗셈 157
5.11 부동소수점 167
5.12 인라인 함수 및 인라인 어셈블리 167
5.13 이식성 문제 171
5.14 요약 정리 173
Chapter 06 ARM 어셈블리 코드 작성 및 최적화 방안 (보지말것, ADS 표현법이고 실제 소스 보는것 보다 영양가 없음)
6.1 어셈블리 코드 작성 177
6.2 최적화 도구 183
6.3 명령어의 스케줄링 184
6.4 적절한 레지스터의 선택 192
6.5 조건 분기 명령어의 활용 203
6.6 최적의 루프문 구현 206
6.7 비트 조작 215
6.8 효율적인 조건 분기 223
6.9 비정렬 데이터의 처리 227
6.10 요약 정리 230
Chapter 07 어셈블리 코드를 이용한 원형함수의 최적화 (보지말것)
7.1 배정밀도 정수 곱셈 235
7.2 정수 정규화와 CLZ 239
7.3 나눗셈 245
7.4 제곱근 269
7.5 초월함수 : LOG, EXP, SIN, COS 272
7.6 엔디안 반전과 비트 연산 279
7.7 포화와 라운딩 연산 285
7.8 난수 생성 287
7.9 요약 정리 288
Chapter 08 디지털 신호 처리 (보지말것)
8.1 디지털 신호의 표현 293
8.2 ARM에서의 DSP 소개 303
8.3 FIR 필터 317
8.4 IIR 필터 332
8.5 이산 푸리에 변환 341
8.6 요약 정리 353
Chapter 09 익셉션과 인터럽트 처리
9.1 익셉션 핸들링 356
9.2 인터럽트 364
9.3 인터럽트 처리 방법 374
9.4 요약 정리 410
Chapter 10 펌웨어
10.1 펌웨어와 부트로더 414
10.2 예 : Sandstone 420
10.3 요약 정리 427
Chapter 11 임베디드 운영체제 (보지말것)
11.1 기본 컴포넌트 430
11.2 예 : SLOS 432
11.3 요약 정리 450
Chapter 12 캐 시
12.1 메모리 계층 구조와 캐시 메모리 455
12.2 캐시 아키텍처 459
12.3 캐시 정책 470
12.4 코프로세서 15와 캐시 476
12.5 캐시 메모리의 플러시와 클린 477
12.6 캐시 락다운 499
12.7 캐시와 소프트웨어 성능 514
12.8 요약 정리 515
Chapter 13 메모리 보호 장치(MPU)
13.1 보호 영역 522
13.2 MPU, 캐시, 쓰기 버퍼의 초기화 525
13.3 MPU 시스템의 예 540
13.4 요약 정리 550
Chapter 14 메모리 관리 장치(MMU)
14.1 MPU에서 MMU로 이동 553
14.2 가상 메모리의 동작 방법 554
14.3 ARM MMU 563
14.4 페이지 테이블 564
14.5 변환 참조 버퍼 570
14.6 도메인과 메모리 접근권한 574
14.7 캐시와 쓰기 버퍼 577
14.8 코프로세서 15와 MMU 설정 578
14.9 고속 문맥전환 확장(FCSE) 581
14.10 예 : 간단한 가상 메모리 시스템 586 (보지말것)
14.11 mmuSLOS 614 (보지말것)
14.12 요약 정리 614
Chapter 15 ARM 아키텍처의 미래 (다 건너뛰고 SIMD와 TrustZone 개념만 볼것)
15.1 ARMv6에서의 DSP 및 SIMD 명령어 618
15.2 ARMv6에서 지원하는 시스템 엔진과 멀티프로세서 629
15.3 ARMv6의 특징 633
15.4 향후 새로운 기술 635
15.5 요약 정리 637
Appendix A ARM과 Thumb 어셈블리 명령어 (보지말것)
A.1 부록 사용법 640
A.2 표기법 641
A.3 Arm 명령어와 Thumb 명령어 목록(알파벳 순) 645
A.4 ARM 어셈블러 퀵 레퍼런스 696
A.5 GNU 어셈블러 퀵 레퍼런스 708
Appendix B ARM과 Thumb 명령어 인코딩 (B.3만 볼것)
B.1 ARM 명령어 세트 인코딩 714
B.2 Thumb 명령어 세트 인코딩 715
B.3 프로그램 상태 레지스터 722
Appendix C 프로세서와 아키텍처
C.1 ARM 명명법 724
C.2 코어와 아키텍처 724
Appendix D 명령어 실행 사이클 (보지말것)
D.1 명령어 실행 사이클 표 사용하기 728
D.2 ARM7TDMI 명령어 실행 사이클 730
D.3 ARM9TDMI 명령어 실행 사이클 731
D.4 StrongARM1 명령어 실행 사이클 733
D.5 ARM9E 명령어 실행 사이클 734
D.6 ARM10E 명령어 실행 사이클 736
D.7 인텔 XScale 명령어 실행 사이클 738
D.8 ARM11 명령어 실행 사이클 740
Appendix E 참고서적 (보지말것)
E.1 ARM 관련 서적 748
E.2 알고리즘 관련 서적 748
E.3 메모리와 캐시 아키텍처 관련 서적 748
E.4 운영체제 관련 서적 749
댓글 7
-
아폴로
2013.05.19 01:12
오~ 이렇게까지 신경써 주시다니!!! 정말 감사합니다.^^ -
조성진
2013.05.19 01:35
아.... 지금 관련자료 작성하고 있었는데, 감사합니다^^
-
SteelHead
2013.05.19 13:00
감사드립니다. ^^
-
K
2013.05.19 20:30
오오오~~ OB 추천 커리큘럼이군요!!! 감사합니다. ^^
참고로 10차 ARM-A팀은 이미 게시글을 보셨겠지만 'ARM System Developer's Guide' 교재 스터디를 하냐 마냐에 대한 논의가 진행중인 상태이구요, 'ARM 아키텍쳐 세미나'를 2회 듣고 자체적으로 Q/A 시간을 한 주 가진 후에 그 필요여부를 최종 결정하기로 하였습니다만..
혹시 세미나만으로는 부족할까요?
-
woos
2013.05.19 23:26
세미나 범위에 따라 다르겠지만 부족하겠지만 불가능하지는 않을거라 생각됩니다.
각각 장단점이 확실하니 세미나 들어보시고 결정하시는게 좋을듯 합니다.
만약 책 읽지 않고 바로 시작한다면 개인적으로는 책을 읽어볼걸 추천합니다.
다른데서 보기 힘든 내용이 제법 있습니다. -
리누즈박
2013.05.19 23:33
정말 감사합니다.
-
신C
2013.05.22 11:32
감사합니다. 우리 팀의 고민거리가 바로 사라졌네요. ^^
.