ARM Cortex-R

ARM Cortex-R은 Arm 홀딩스가 라이선스하는 32비트 및 64비트 RISC ARM 아키텍처 프로세서 코어 계열이다. 이 코어들은 하드 실시간 및 안전 필수 애플리케이션에 최적화되어 있다. 이 계열의 코어들은 ARM 실시간(R) 프로파일을 구현하는데, 이는 세 가지 아키텍처 프로파일 중 하나이며, 다른 두 가지는 Cortex-A 계열에서 구현되는 애플리케이션(A) 프로파일과 Cortex-M 계열에서 구현되는 마이크로컨트롤러(M) 프로파일이다. ARM Cortex-R 마이크로프로세서 계열은 현재 ARM Cortex-R4(F), ARM Cortex-R5(F), ARM Cortex-R7(F), ARM Cortex-R8(F), ARM Cortex-R52(F), ARM Cortex-R52+(F), 및 ARM Cortex-R82(F)로 구성되어 있다.

개요
 32비트 연도  코어 2011  Cortex-R4(F) 2011  Cortex-R5(F) 2011  Cortex-R7(F) 2016  Cortex-R8(F) 2016  Cortex-R52(F) 2022  Cortex-R52+(F)
 64비트 연도  코어 2020  Cortex-R82(F)

ARM Cortex-R은 ARM 아키텍처의 R 프로파일을 구현하는 ARM 코어 계열이다. 이 프로파일은 고성능 하드 실시간 및 안전 필수 애플리케이션을 위해 설계되었다. 이는 애플리케이션 처리를 위한 A 프로파일과 유사하지만, 오류 허용성을 높이고 하드 실시간 및 안전 필수 애플리케이션에 더 적합하도록 기능을 추가한다.

추가된 실시간 및 안전 필수 기능은 다음과 같다:

 밀접하게 결합된 메모리(빠른 접근 시간이 보장되는 캐시되지 않은 메모리)
 하드웨어에서 예외 처리 강화
 하드웨어 분할 명령어
 메모리 보호 장치(MPU)
 예측 가능한 인터럽트 처리 및 빠른 마스크 불가능 인터럽트
 L1 캐시 및 버스의 ECC
 CPU 오류 허용을 위한 듀얼 코어 록스텝

Armv8-R 아키텍처는 Armv7-A 아키텍처에서 도입된 것과 유사한 가상화 기능을 포함한다. 하이퍼바이저의 제어 하에 여러 운영 체제를 서로 격리할 수 있도록 두 단계의 MPU 기반 변환이 제공된다.

2020년 9월 4일에 도입된 R82 이전에는 Cortex-R 계열에는 메모리 관리 장치(MMU)가 없었다. R82 이전 모델은 가상 메모리를 사용할 수 없었으므로, 리눅스와 같은 모든 기능을 갖춘 많은 애플리케이션에는 적합하지 않았다. 그러나 전체 제어에 중점을 둔 많은 실시간 운영체제 (RTOS)는 전통적으로 MMU의 부족을 버그가 아니라 기능으로 간주했다. R82에서는 리눅스와 같은 페이지 기반 OS와 병렬로 전통적인 RTOS를 실행할 수 있다. 여기서 리눅스는 유연성을 위해 MMU를 활용하고, RTOS는 실시간 기능에 대한 완전한 예측 가능성을 유지하기 위해 RTOS에 할당된 페이지에서 MMU를 직접 변환 모드로 고정시킨다.

ARM 라이선스
Arm 홀딩스는 자체 설계에 기반한 CPU 장치를 제조하거나 판매하지 않고, 관심 있는 당사자에게 코어 설계를 라이선스한다. ARM은 비용 및 제공물에 따라 다양한 라이선스 조건을 제공한다. 모든 라이선스 사용자에게 ARM은 ARM 코어의 통합 가능한 하드웨어 설명은 물론 완전한 소프트웨어 개발 도구 세트와 ARM CPU를 포함하는 제조된 규소를 판매할 권리를 제공한다.

실리콘 맞춤화
통합 장치 제조업체(IDM)는 합성 가능한 RTL(베릴로그로 작성됨) 형태로 ARM 프로세서 IP를 받는다. 이 형태로, 그들은 아키텍처 수준의 최적화 및 확장을 수행할 수 있다. 이를 통해 제조업체는 더 높은 클럭 속도, 매우 낮은 전력 소비, 명령어 세트 확장, 크기 최적화, 디버그 지원 등과 같은 맞춤형 설계 목표를 달성할 수 있다. 특정 ARM CPU 칩에 어떤 구성 요소가 포함되었는지 확인하려면 제조업체 데이터시트 및 관련 문서를 참조해야 한다.

응용 분야
Cortex-R은 매우 낮은 지연 시간 및 높은 수준의 안전성이 요구되는 컴퓨터 제어 시스템에 사용하기에 적합하다. 하드 실시간, 안전 필수 애플리케이션의 예로는 자동차의 현대적인 전자 제동 시스템이 있다. 이 시스템은 수많은 센서 데이터 입력에 빠르고 반응해야 할 뿐만 아니라, 인명 안전에도 책임이 있다. 이러한 시스템의 고장은 심각한 부상이나 인명 손실로 이어질 수 있다.

하드 실시간 및 안전 필수 애플리케이션의 다른 예시는 다음과 같다:

 의료 기기
 프로그래머블 로직 컨트롤러 (PLC)
 다양한 애플리케이션을 위한 전자 제어 장치 (ECU)
 로봇공학
 항공전자
 모션 제어
 플래시 메모리 컨트롤러 및 네트워크 인터페이스 컨트롤러와 같은 고급 주변 장치

 같이 보기 

 ARM 아키텍처
 인터럽트, 인터럽트 핸들러
 JTAG, SWD
 ARM 마이크로아키텍처 목록
 List of ARM Cortex-M development tools
 실시간 운영체제, Comparison of real-time operating systems

 각주 

 외부 링크 
ARM Cortex-R 공식 문서

{| class="wikitable" style="text-align:center;"
|-
! ARM코어 !! 비트폭 !! ARM웹사이트 !! ARM 기술참조 설명서 !! ARM 아키텍처참조 설명서
|-
| style="background: LightCyan" | Cortex-R4(F) || 32 || Link || Link || ARMv7-R
|-
| style="background: LightCyan" | Cortex-R5(F) || 32 || Link || Link || ARMv7-R
|-
| style="background: LightCyan" | Cortex-R7(F) || 32 || Link || Link || ARMv7-R
|-
| style="background: LightCyan" | Cortex-R8(F) || 32 || Link || Link || ARMv7-R
|-
| style="background: LightCyan" | Cortex-R52(F) || 32 || Link || Link || ARMv8
ARMv8-R
|-
| style="background: LightCyan" | Cortex-R52+(F) || 32 || Link || Link || ARMv8-R
|-
| style="background: LightCyan" | Cortex-R82(F) || 64 || Link || Link || ARMv8-R (AArch64)
|}

마이그레이션
 MIPS에서 ARM으로 마이그레이션 – arm.com
 PPC에서 ARM으로 마이그레이션 – arm.com
 IA-32(x86-32)에서 ARM으로 마이그레이션 – arm.com

기타
 CORTEX-R 대 CORTEX-M

분류:32비트 마이크로프로세서
분류:ARM 마이크로프로세서