Step-by-Step
ARM에 관한 정리 (수정필요) 본문
ARM
- Acorn RISC Machine
- ARM Holdings plc에서 설계하는 명령어의 집합
- 영국의 컴퓨터 회사 Acorn Computer에서 개발한 RISC 기반 CPU 아키텍처
ARM 특징
1. 명령어 집합
2. 전력 소모
3. 성능
4. big.LITTLE
Cortex의 도입
ARM은 CPU 세대마다 성능과 기능을 향상시킨 후 동일 CPU 구조에 MMU/MPU 등 메모리 유닛을 차등조합하여 제품군을 나주었으나, Cortex 이후부터 용도에 따라 동시에 여러 CPU 구조를 개발하였다.
Cortex-A/R/M
1. Cortext-A (Application Processors)
- 주요 용도 : 스마트폰, 태블릿, 컴퓨터 등 고성능 애플리케이션에서 사용
- ARMv7-A 및 ARMv8-A 아키텍처 기반으로 설계
- 고성능 파이프라이닝과 메모리 관리 유닛 (MMU)
- 고급 캐시 시스템
- 다양한 멀티코어 구성 가능
2. Cortex-R (Real-time Processors)
- 주요 용도 : 자동차 제어, 산업 자동화, 의료 기기, 하드 디스크 드라이버 컨트롤러 등 실시간 시스템에서 사용
- ARMv7-R 아키텍처를 기반으로 하며, 하드웨어 오류 복구 기능과 고속 인터럽트 처리
- 실시간 처리와 신뢰성을 최우선으로 하는 프로세서
- 저지연 인터럽트 처리
- 예측 가능한 실행 시간
- 실시간 운영체제(RTOS) 지원
3. Cortex-M (Microcontroller Processors)
- 주요 용도 : 마이크로컨트롤러, 임베디드 시스템에 사용
- ARMv7-M 및 ARMv8-M 아키텍처를 기반
- 저전력 소비
- 간단한 설계로 비용 절감 가능
- 실시간 응답을 위한 저지연 인터럽트 시스템
- 다양한 파워 관리 기능
Cortex-M Processor
- 한 개의 칩에 CPU, 메모리, I/O, 타이머 및 카운터, ADC, 통신 모듈 등 포함한 소형 컴퓨터
- v7과 v6을 Slim화 하여 MCU 시장을 겨냥한 프로세서 제품군
- 크게 Cortex-M / System peripheral / 제조사 주변장치 로 나누게 된다.
- 1단계 Cortex M : vX-M Core ex) v7-M, v6-M 등
- 2단계 시스템 주변장치 : MPU, Cache, FPU, SysTick, NVIC, SCB 등
- 3단계 제조사 주변장치 : Timer, RTC, GPIO, DMA, UART 등
Cortex-M3 특징

1. Thumb/Thumb-2 명령어 사용
- ARM 명령어 폐지 및 Thumb/Thumb-2 명령어 사용
- 명령어 디코딩 회로 간략화 및 회로 Cost와 전력 소모가 동시에 감소
- Thumb 명령어 : https://recipes.tistory.com/335
2. NVIC 인터럽트 구조
- NVIC : Nested Vectored Interrupt Controller (중첩벡터형인터럽트제어기)
- NVIC 인터럽트 구조를 채택하고, Thumb-2 예외처리 성능 개선을 통해 인터럽트 레이턴시를 Cortex-M3 기준으로 24~42사이클에서 12사이클로 크게 줄임
- 인터럽트 중복 발생시 context switching 시간 절감 기법들 제공
- 초 전력 WIC(Wakeup INterrupt Controller) → 옵션
- 제조사 무관하게 통일된 인터럽트 제어 환경 제공 가능
3. MPU
- 고급 프로세서 MPU 기능을 옵션으로 제공
- 시스템 신뢰성 증대, APP로부터 OS의 보호 가능
- 8개의 메모리 영역을 독립적으로 관리
4. System Timer
- OS tick Time, 범용 Timer로 사용하기 위한 타이머
Cortex-M3 Memory Map

- 노란색 - ARM 사의 표준 주변장치 영역 (Systik Timer, NVIC, MPU, SCB 등)
- 파란색 - SoC 제조사에서 만든 주변장치 영역
- 초록색 - 내장 SRAM (휘발성)
- 빨강색 - 내장된 ROM(Flash) 영역 (비휘발성)
참조 : https://namu.wiki/w/ARM(CPU)
https://documentation-service.arm.com/static/5e8e107f88295d1e18d34714?token=
Comments