1. ARM
- 비교적 간단한 개발환경, 간단한 명령어 사용, 적은 전력소모
- 32비트 RISC 프로세서
2. ARM 아키텍처와 ARM 프로세서
- v4 : TARM7TDMI, ARM720T, ARM940T, ARM920T, ARM922T
- v5TE : ARM946E-S, ARM926E-S, XScale
- v5TEJ : ARM926EJ-S
- v6 : ARM1136JF-S
※ T(16bit Thumb 명령 지원), E(DSP 기능이 확장), J(JAVA 명령 지원), S(합성이 가능한 프로세서)
3. Programmer's 모델
- 프로그램머가 프로그램을 작성하느데 필요한 각종 정보
- ARM의 아키텍처를 구분하는 기준
1) 명령어 : 32bit ARM 명령, 16비트 Thumb 명령(, JAVA 바이트 명령)
2) 동작모드 : USER(사용자 애플리케이션), IRQ(인터럽트), FIQ(인터럽트), SVC(커널이나 디바이스 드라이브), ABORT(메모리 오류 처리), UNDEF(잘못된 명령어 처리), SYSTEM
3) 레지스터 : 32bit 길이의 레지스터 총 37개 가짐 - 범용 레지스터 30개(데이터 연산 등), PC 1개, 상태 레지스터 6개
- ARM 명령 : PC 1개를 포함한 모두 16개의 레지스터를 이용하여 처리(R0~R15(PC) 키워드 부여)
4) 메모리 구조
- 읽기/쓰기 : 바이트, 하프워드, 워드 크기로 이루어짐
- Big-endian, Little-endian을 모두 제어(외부핀 이용)
5) 예외처리
- 정상적으로 진행되는 프로그램의 동작을 잠시 멈추고 프로세서의 동작모드를 변환하고 미리 정해진 프로그램을 이용하여 외부의 요청이나 오류에 대한 처리
- 7가지 정의된 예외처리 : Reset, Undefined Instruction, Software Interrupt, Prefetch Abort, Data Abort, IRQ(Interrupt Request), FIQ(Fast Interrupt Request)