WIPIVERSE

ARM Cortex-A9

ARM Cortex-A9는 영국의 Arm Holdings(당시 ARM Limited)가 설계한 32비트 마이크로프로세서 코어로, ARMv7-A 아키텍처를 구현한다. 2007년에 발표되었으며, 싱글 코어 형태의 Cortex-A9 프로세서와 최대 4개의 코어를 캐시 일관성 있게 구성할 수 있는 Cortex-A9 MPCore 멀티프로세서의 두 가지 제품으로 제공된다.

아키텍처 및 파이프라인

Cortex-A9는 ARMv7-A 명령어 집합을 지원하며, 32비트 ARM 명령어, 16비트 및 32비트 Thumb 명령어, Jazelle 상태에서의 8비트 Java 바이트코드를 실행할 수 있다. 가변 길이의 슈퍼스칼라(superscalar), 비순차 실행(out-of-order), 추측 실행(speculative execution)이 가능한 8단계 파이프라인을 채택하여 코어당 2.5 DMIPS/MHz의 성능을 제공한다. 동적 분기 예측(dynamic branch prediction) 기능을 갖추고 있으며, 물리 레지스터 풀(56개의 32비트 물리 레지스터)을 통한 레지스터 리네이밍(register renaming) 기법을 사용한다.

메모리 시스템

L1 캐시는 명령어 캐시와 데이터 캐시가 분리된 하버드(Harvard) 구조이며, 각각 16KB, 32KB 또는 64KB로 구현 시 설정 가능하다. 명령어 캐시는 가상 인덱스 물리 태그(VIPT) 방식, 데이터 캐시는 물리 인덱스 물리 태그(PIPT) 방식을 사용한다. 두 캐시 모두 4-way 세트-어소시에티브(set-associative)이며, 캐시 라인 길이는 32바이트(8워드)이다. L2 캐시는 별도의 L2C-310 캐시 컨트롤러를 통해 최대 8MB까지 구성 가능하다. 메모리 관리 장치(MMU)는 2단계 TLB(Translation Lookaside Buffer) 구조로, 마이크로 TLB(명령어 측 32~64엔트리, 데이터 측 32엔트리)와 통합 메인 TLB(64~512엔트리, 2-way)로 구성된다.

선택적 구성 요소

Cortex-A9는 다음의 선택적 구성 요소를 제공한다:

  • NEON 미디어 처리 엔진(MPE): ARM Advanced SIMD 명령어 집합을 구현하여 멀티미디어 및 신호 처리 가속
  • 부동소수점 유닛(FPU): VFPv3 아키텍처 기반의 단정밀도 및 배정밀도 부동소수점 연산 지원
  • Jazelle 확장: Java 바이트코드 하드웨어 가속 실행 지원
  • 프리로드 엔진(PLE): 지정된 메모리 영역을 L2 인터페이스로 사전 로드
  • 프로그램 트레이스 매크로셀(PTM): CoreSight 기술 기반의 비침입적 프로그램 흐름 추적

전력 관리

Cortex-A9는 동적 고수준 클록 게이팅(dynamic high-level clock gating)을 지원하며, 실행(Run), 대기(Standby/WFI/WFE), 휴면(Dormant), 종료(Shutdown)의 네 가지 전력 모드를 제공한다. 휴면 모드에서는 코어 로직의 전원을 차단하되 캐시 RAM은 유지(retention) 상태로 두어 빠른 복구가 가능하다.

MPCore 멀티프로세싱

Cortex-A9 MPCore는 1~4개의 Cortex-A9 코어를 하나의 클러스터로 구성하며, 스누프 제어 유닛(SCU, Snoop Control Unit)이 L1 데이터 캐시 간의 일관성(coherency)을 유지한다. SCU는 캐시 간 전송, 스누프 필터링, AXI 마스터 인터페이스 중재, 가속기 일관성 포트(ACP, Accelerator Coherency Port) 관리를 담당한다. 또한 통합 인터럽트 컨트롤러(GIC 아키텍처 v1.0 호환), 글로벌 타이머, 코어별 프라이빗 타이머 및 워치독을 포함한다.

인터페이스

Cortex-A9 싱글 코어는 두 개의 64비트 AMBA 3 AXI 마스터 인터페이스(명령어 측 M1, 데이터 측 M0)를 제공한다. MPCore 구성에서는 하나 또는 두 개의 AXI 마스터 포트와 선택적 ACP 슬레이브 포트를 지원한다. ACP를 통해 DMA 엔진 등 비캐시 마스터 주변장치가 프로세서 캐시와 일관성 있는 메모리 접근을 수행할 수 있다.

공정 및 클록 속도

TSMC 40G 공정의 하드 매크로 구현 시 약 2GHz로 동작 가능하며, TSMC 65nm 공정에서 싱글 코어(캐시 제외)는 약 1.5mm² 미만의 면적을 차지하고 1GHz 이상의 클록 속도에서 코어당 250mW 미만의 전력을 소비한다.

활용

Cortex-A9는 다양한 SoC(System-on-Chip)에 채택되었다. 대표적인 사례로는 Apple A5/A5X, Samsung Exynos 4 시리즈(4210, 4412 등), NVIDIA Tegra 3, Texas Instruments OMAP4 시리즈, Xilinx Zynq-7000, Freescale i.MX6 시리즈, Rockchip RK3066/RK3188, Altera SoC FPGA 등이 있다. 이후 ARM Cortex-A12 및 Cortex-A15 등의 후속 아키텍처로 대체되었다.

둘러보기

더 찾아볼 만한 주제

    전체 문서 보기