반응형
ARM 아키텍처 버전의 발전과 주요 변화를 정리함
1. ARMv7 (2005)
- 32비트 아키텍처 : 모든 범용 레지스터가 32비트이며, 32비트 데이터 처리와 주소 공간(최대 4GB)을 지원
- Thumb-2 명령어 지원 : 16비트 Thumb 명령어와 32비트 ARM 명령어를 혼합해 사용함으로써 코드 밀도를 높이고, 메모리 자원이 제한적인 초기 임베디드 기기에서의 효율성 크게 향상 시킴
- NEON (Advanced SIMD) 기술 도입: 64비트 또는 128비트 레지스터를 사용해 정수 및 단정밀도 부동 소수점(float) 연산을 병렬로 처리하는 기술로, MP3 인코딩, 비디오 가속, 2D/3D 그래픽 등 멀티미디어 처리 성능을 크게 개선함
- TrustZone : 하드웨어 차원에서 ‘일반 영역’과 ‘보안 영역’을 분리하여, 보안 관련 코드를 격리된 환경에서 실행할 수 있도록 하는 기술
- VFPv3/v4 (Floating Point) : 부동 소수점 연산 성능 강화
- 대표 모델 : Cortex-A8, A9, A15 (아이폰 4, 갤럭시 S 초기 모델), Cortex-M3, Cortex-M4 (STM32 등장으로 기존 8비트/16비트 MCU 시장 흡수)
- 실제 구현체인 코어 IP에 Cortex라는 브랜드 명을 쓰기 시작
- 아키텍처를 사용 용도에 따라 세 가지 프로파일 세분화함
- ARMv7-A (Application) : 가상 메모리 관리를 위한 MMU(Memory Management Unit)를 탑재하여 Android, iOS, Linux와 같은 범용 운영체제 구동이 가능
- ARMv7-R (Real-time) : MMU 대신 MPU(Memory Protection Unit)를 사용하고, 높은 신뢰성과 빠른 응답 속도가 요구되는 실시간 시스템에 적합
- ARMv7-M (Microcontroller) : 저전력, 저비용 특성을 갖는 마이크로컨트롤러(MCU) 전용 아키텍처 프로파일
2. ARMv8 (2011)
- 64비트 지원 (AArch64) : 64비트 명령어 집합(AArch64)을 도입해 4GB를 초과하는 메모리 주소 공간을 지원하고, 64비트 레지스터 구조를 기반으로 고성능 컴퓨팅을 가능하게 함
- 하위 호환성 (ARMv8-A 프로파일 한정) : 32비트 명령어 집합(AArch32)을 함께 지원하여, 기존 32비트 애플리케이션을 그대로 실행할 수 있는 구조 유지
- 하드웨어 가상화 지원 : 가상화 기능을 하드웨어 차원에서 제공하여, 서버 시장에서 경쟁력 확보
- 암호화 가속 명령어 : AES, SHA-1/256 등 주요 암호 알고리즘을 전용 명령어로 처리할 수 있도록 하여, 소프트웨어 기반 연산 대비 높은 성능과 전력 효율을 제공
- 대표 모델 : Cortex-A53, A57, A72 (플래그십 스마트폰, 라즈베리파이 등에 사용), ARMv8 아키텍처를 기반으로 Apple이 독자 설계 M1 (M2부터는 ARMv9 기반)
3. ARMv9 (2021)
- SVE2 (Scalable Vector Extension 2) : CPU의 벡터 처리 길이를 고정하지 않고 하드웨어에 맞춰 가변적으로 활용하는 벡터 연산 확장으로, AI 추론, 머신러닝, 디지털 신호 처리(DSP), 5G 통신 등 대규모 병렬 연산이 필요한 분야에서 성능을 크게 향상시킴
SME (Scalable Matrix Extension) : 행렬 곱셈에 특화된 확장으로, AI 연산 성능을 끌어올림 - CCA (Confidential Compute Architecture) : ‘Realm’이라는 새로운 실행 영역을 도입하여, 운영체제나 하이퍼바이저조차 접근할 수 없는 하드웨어 기반 보안 영역을 제공
- MTE (Memory Tagging Extension) : 메모리 접근 시 태그를 활용해 잘못된 메모리 참조(해킹의 주요 경로)를 하드웨어 수준에서 차단하는 기술
- 성능 향상 : 이전 세대 대비 IPC(클럭당 명령어 처리 수)를 지속적으로 향상시켜, 노트북 및 서버 시장에서의 경쟁력 확보
- 대표 모델 : Cortex-X2, Cortex-A710 (스냅드래곤 8 Gen 1, 엑시노스 2200 등)


반응형
'지식창고 > IT 지식' 카테고리의 다른 글
| MAC 주소 (UAA, LAA) (0) | 2026.03.12 |
|---|---|
| Wireshark에서 캡쳐시 UDP/TCP 데이터 뒤에 00 패딩이 붙는 이유 (0) | 2024.01.24 |
| TCP/IP stack (0) | 2024.01.10 |
| loop unroll (0) | 2023.12.19 |
| CPU 구조 (0) | 2023.12.18 |