CORTEX
현재 스마트폰을 포함한 거의 모든 임베디드 시스템에서 ARM사의 프로세서를 사용한다. ARM 프로세서는 RISC 아키텍처이고, (대부분의 프로세서에서) 명령어와 내부 레지스터가 32bit로 구성된다. RISC는 CISC에 비해 명령어 구조가 간단하고 명령어 수가 적어 보다 빠르고 효율적인 처리가 가능하다.
CORTEX는 ARM의 프로세서 라인업으로, A시리즈, R시리즈, M시리즈, X시리즈로 나뉜다.
A시리즈는 애플리케이션, R시리즈는 RTOS, M시리즈는 MCU을 위한 라인업이며 X시리즈는 2020년에 신설된 라인업으로 스마트폰의 높아지는 성능 요구에 따라 A시리즈보다 높은 성능을 보여주는 아키텍처이다.
이 중, M 시리즈는 임베디드 계열에서 사용하고, 저전력 - 소형화가 특징이다. 이 글의 제목인 CORTEX-M3는 칩이 아닌 아키텍처를 뜻한다. 여러 제조사에서 이 아키텍처 구조를 사용해 칩을 생산한다. 하버드 아키텍처이고, Thumb-2 명령어 셋을 지원한다. 또 분기 예측을 지원하고, 많은 인터럽트 소스를 가진다.
하버드 아키텍처
여기서 하버드 아키텍처는 폰 노이만 아키텍처와 대조되는 아키텍처로, 데이터 버스와 명령어 버스가 서로 분리되어 있는지의 여부에 따라 나뉜다.
폰 노이만 아키텍처는 데이터 메모리와 명령어 메모리가 분리되지 않고 하나의 버스를 공유한다. 구조가 간단하지만 명령어를 읽을 때 데이터를 읽거나 쓸 수 없다.
반면, 하버드 아키텍처는 데이터 메모리와 명령어 메모리가 분리되어 명령어와 데이터를 동시에 읽을 수 있다.
Thumb-2 ISA
COrtex-M3가 지원하는 Thumb-2 ISA는 16bits의 Thumb 명령어와 32 bits의 명령어를 모드 전환 없이 사용 가능하다. Thumb 명령어는 명령어의 종류가 제한적인 대신, 코드 사이즈를 줄일 수 있다.
이로써 모드 전환에 필요한 시간 소모를 줄이고 코드 사이즈도 줄일 수 있다.
'현생 > 임베디드' 카테고리의 다른 글
ARM Cortex-M3 Processor Datasheet - 디자인 (0) | 2024.08.12 |
---|---|
ARM Cortex-M3 Processor Datasheet - 특징 정리 (0) | 2024.08.11 |
FreeRTOS - Message Queue (0) | 2024.08.09 |
FreeRTOS - Event Flag Group (0) | 2024.08.08 |
FreeRTOS - Interrupt (0) | 2024.08.07 |