TIL/2025

About the Arm architecture

고무 오리 2025. 4. 28. 23:00
728x90
📢 Arm archtecture란 무엇인가 한 번 살펴봐요

 

 

About the Arm architecture

Arm은 세계에서 가장 인기있는 Processor에요

A/R/M의 3가지 Profile이 있어요

 

A-Profile (Application)

High performance를 자랑해요

Linux, Window 등 복잡한 OS를 수행 할 수 있게 설계되었죠

 

R-Profile (Real-time)

실시간 요구사항을 만족하는게 목표에요

네트워크 장비나 자동차 등 임베디드 제어 시스템에 많이 사용되죠

 

M-Profile (Microcontroller)

저전력, 작은 크기의 제품이 목표에요

다양한 IoT 기기에 사용돼요

 

3가지 profile 모두 base가 되는 개념과 기능은 동일해요

 

 

What is architecture?

Architecture는 processor의 기능 요구사항이에요

HW와 SW 간의 계약서라고 볼수도 있죠

Processor가 어떤 명령어를 제공하는지, 어떤 동작을 하는지 등의 내용을 담고 있어요

 

Architecture는 아래 기능을 명시해요

Instruction set

  • 각 명령어의 기능
  • 명령어가 메모리 상에 어떻게 인코딩 되는지 설명

Register set

  • 몇 개의 레지스터가 존재하는지
  • 각 레지스터 크기 (32bit, 64bit ...)
  • 레지스터의 기능 (PC, SP, general purpose...)

Exception Model

  • 발생 가능한 예외 종류
  • 예외 발생, 복귀 시 일어나는 일 설명

Memory Model

  • Memory 접근 순서 (Load, Store 순서 규칙)
  • 캐시 동작 방식

Debug, Trace, and Profiling

  • Break point 설정 및 trigger 방법

 

R-Profile features

아래 순서대로 제품이 출시 되었죠

    +------------+        +----------------+         +----------------+
    | Armv7-R    | -----> | Armv8-R        | ----->  | Armv8-R        |
    |            |        | AArch32        |         | AArch64        |
    |------------|        |----------------|         |----------------|
    | 32-bit     |        | 32-bit         |         | 64-bit         |
    | A32, T32   |        | A32, T32       |         | A64            |
    | MPU        |        | MPU            |         | MPU & MMU      |
    | Caches,TCMs|        | Virtualization |         | Virtualization |
    | GICv1      |        | Caches, TCMs   |         | Caches, TCMs   |
    |            |        | GICv3          |         | GICv3          |
    +------------+        +----------------+         +----------------+

 

 

R-Profile Architectures

Processor의 Architecture는 주변 장치의 specification에도 영향을 미쳐요

  • GIC, Generic Timer, SMMU Specification...

 

Cortex-R processor와 주변 장치의 architecture 구조는 위 그림과 같아요

 

 

Reference

Arm developer 공식 문서를 참고했어요

https://developer.arm.com/documentation/DEN0130/0100/About-the-Arm-architecture?lang=en

 

Documentation – Arm Developer

 

developer.arm.com

 

728x90