ARM System Developer's Guide 학습 범위

woos 2013.05.19 00:49 조회 수 : 6384

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

 

 

번호 제목 글쓴이 날짜 조회 수
공지 [공지] IAMROOT 19차 커널 스터디 오리엔테이션 (zoom 접속 안내) [5] 문c(문영일) 2022.05.07 877
공지 [공지] IAMROOT 18차 커널 스터디 오리엔테이션 안내 [마감] [2] 문c(문영일) 2021.05.17 1249
공지 커널 스터디를 위한 문c 가이드입니다. [10] 문c(문영일) 2021.04.27 6452
1036 세미나 진행사항 및 논의 사항 [42] 백창우 2009.02.23 6689
1035 5월 8일 어버이 날입니다. [1] 강진성 2010.05.04 6679
1034 Arndale Octa Board(5420) 판매 [12] 조성진 2013.11.08 6666
1033 오늘 처음 가입을 하였는데 GCC 세미나에 참석 하고 싶습니다. [1] 강진구 2009.03.16 6661
1032 코딩 가이드 라인 [5] 백창우 2008.01.29 6634
1031 멀티코어 세미나 자료를 다운받고 싶습니다. [1] 김종화 2007.06.06 6578
1030 세미나 참가 신청 받습니다. [51] 백창우 2008.03.31 6570
1029 MULTIPLE-PROCESSOR (MP) INITIALIZATION [4] file 박한범 2010.11.04 6547
1028 kernel & cell study 장소 및 시간 공지 [7] 백창우 2007.02.22 6522
1027 비밀 게시판에 제가 하고 싶은 이야기를 적어 놓았습니다. [5] 백창우 2011.07.30 6510
1026 스터디 오리엔테이션 "와우" [5] file 김성현2 2012.04.09 6509
1025 IBM Cell SDK 3.0이 나왔습니다. 백창우 2008.02.14 6504
1024 [GCC 세미나] 온라인 입금해주세요. [30] 백창우 2009.03.12 6483
1023 [KVM study] native() 함수의 비밀을 알아냈습니다. 좀 허무하군요. 김정수 2008.06.16 6478
1022 세미나 참여 하고 싶습니다. [8] 전남재 2008.02.04 6473
1021 축 리눅스 탄생 20주년!! [1] 유강희 2011.08.26 6456
1020 커널 배리어에 관하여(barrier) [5] 지승화 2012.05.04 6429
1019 Intel Nehalem Architecture 세미나 자료 file 백창우 2009.03.09 6423
1018 서버 ID 신청 [36] 백창우 2007.03.16 6393
XE Login