1. ARM 프로세서 (Advanced RISC Machine)
ㅇ 임베디드 시스템에 많이 사용되는 32, 64 비트 RISC 프로세서 명칭
ㅇ 프로세서 설계 회사 : ARM 홀딩스 社
- 시스템 반도체 내에 집적할 수 있도록,
- IP(지적재산권) 형태의 프로세서 설계 및 라이센싱으로 사업화
- 즉, 물리적인 CPU, SoC, 마이크로컨트롤러 등을 생산하거나 판매하지 않음
ㅇ 제품군
- 기존 32 비트 RISC 구조의 ARM7, ARM9 계열 프로세서의 성공으로,
- String-ARM, ARM11, XScale, Cortex 등으로 제품군 확장
. Cortex-A (high performance) : 고성능 AP (주로, 모바일 기기,서버 등,전기자동차 등)
. Cortex-R (RTOS) : 실시간 처리 응용, 높은 안정성이 요구되는 프로세서
. Cortex-M (μC) : 낮은 전력 소모, 저렴한 가격이 요구되는 마이크로콘트롤러에 주로 활용됨
2. ARM 특징
ㅇ 저 전력 사용
ㅇ 명령어가 간단
ㅇ RISC 구조
ㅇ ARM 개발 도구 : Keil MDK, ARM Development Studio, GNU Toolchain 등
3. ARM 아키텍처
ㅇ ARM 프로세서를 소프트웨어 관점에서 분석한 주요 개념이나 기능
- 주요 요소 : 레지스터,동작 모드,메모리 주소,어셈블리 언어,함수 호출 규약 등
ㅇ ARM 주요 아키텍처
- v4T, v5TE, v6, v7 (v7-A,v7-B,v7-M)
- v8 (수천개 명령어들을 갖는 커다란 프로세서)
. 1.2 GHz 64 비트 쿼드코어 지원
- v9
. 기존 ARMv8 아키텍처를 기반으로, 성능,보안,인공지능,머신러닝 처리 능력을 대폭 개선
4. ARM 구성/구조 (32 비트 사례)
ㅇ 레지스터 : 32 비트 길이의 약 40개 레지스터
- 데이터 연산을 위한 범용 레지스터 : 32개
- 프로그램 카운터(PC) : 1개
- 프로세서 동작 상태를 나타내는 상태 레지스터 : 7개
* (각 동작모드(약 7~8개) 마다 사용 레지스터 수가 달라짐)
- 例) (user mode)
. R0 ~ R12 : 범용 레지스터
. R13 : 스택 포인터, R14 : link 레지스터
. R15 : 프로그램 카운터(PC)
. Current Program Status Register (CPSR)
ㅇ ARM용 시스템 버스 규격 : AMBA
ㅇ 32 비트 데이터 버스,주소 버스
ㅇ 32 비트 단위의 명령어 구조