Cortex-M 시리즈와 Cortex-R 시리즈의 차이점은 무엇입니까?


25

흥미 롭군! 명확한 기사를 찾았지만 이에 대한 명확한 기사를 찾을 수 없습니다. 또한이 링크를 찾았습니다 : ARM Cortex-R 및이 링크 : Cortex-R Series. 그러나 그들은 명확하지 않습니다. 위키 페이지에서 쓴 :

코어는 강력한 실시간 사용을 위해 고안되었습니다

그리고 Cortex-R의 페이지에서 다음과 같이 썼습니다.

ARM Cortex®-R 실시간 프로세서는 안정성, 고 가용성, 내결함성, 유지 관리 성 및 실시간 응답이 필요한 임베디드 시스템을위한 고성능 컴퓨팅 솔루션을 제공합니다.

그리고 이것들 :

  1. 고성능 : 높은 클럭 주파수와 결합 된 빠른 처리
  2. 실시간 : 처리는 모든 상황에서 어려운 실시간 제약 조건을 충족합니다.
  3. 안전 : 높은 오류 저항을 가진 신뢰할 수 있고 신뢰할 수있는 시스템
  4. 비용 효율적 : 성능, 전력 및 면적에 최적화 된 기능

번호 하나의 경우 : 코어 텍스 M에 대한 예를 들어, 최근 NXP는 200MHz로 클럭 속도를 가지고 있으며, 코어 텍스-R를 들어, 당신이 볼 수있는 NXP_LPC4XXX 시리즈 제작 : TMS570LS ARM 코어 텍스 ™ -R4 마이크로 컨트롤러 는 180MHz로이 있기 때문에, 그것은 재미 클럭 속도.

두 번째 : 분명합니다.

세 번째 : 명확하지 않습니다! 이 문장의 의미는 무엇입니까? Cortex-M이 안전 / 의존적이지 않습니까?

5 번 : 글쎄, 나는 그것이 단지 주장이라고 생각한다!

이 시리즈 (Cortex-R)의 경험이있는 사람은 누구입니까? 그것에 대한 당신의 의견은 무엇입니까? Cortex-M 시리즈와 Cortex-R 시리즈의 차이점은 무엇입니까?


데이터 시트 상단의 글 머리 기호와 같은 이러한 글 머리 기호는 항상 마케팅 자료 이상으로 간주되어야합니다.
Scott Seidman

3
re : point 1 : Cortex-R이 (일부) 작동에 더 적은 클럭 사이클을 취할 가능성이 전적으로 가능하므로 성능은 클럭 속도에 의해 단순히 지시되지 않을 수 있습니다. 당신은 자세한 데이터를 연구 할 필요가 - 나 벤치 마크 시스템을 모두 ...
브라이언 Drummond는

@BrianDrummond 동의하지 않습니다
Roh

5
@Roh Cortex-R은 비교적 복잡한 명령어 (예 : shift 및 op)를 포함하고 개별 명령어를 나타내는 "클래식"ARM 명령어 세트를 사용할 수 있습니다. Cortex-M은 If-Then 명령어를 사용하여 명령어를 선언하는 Thumb2 기반 IS 만 제공합니다. 또한 비교적 간단한 마이크로 아키텍처로 제한되는 경우에도 클럭 속도에 비례하지 않습니다.
Paul A. Clayton 1

답변:


17

웃긴, 나는 직장에서 둘 다 사용한다 :)

Cortex-M3 (STM32 사용)은 대부분의 복잡한 임베디드 응용 프로그램에 충분히 빠르고 큰 (플래시 스토리지) 범용 MCU입니다.

그러나 R4는 전적으로 다른 짐승입니다-적어도 내가 사용하는 Texas Instruments 버전 : RM42는 TMS570과 비슷합니다. RM42는 이중화를 위해 "잠금 단계"로 실행되는 두 개의 코어가있는 Cortex-R4입니다. 즉, 한 코어가 다른 코어보다 2 개의 명령보다 앞서서 일부 오류 검사 및 수정에 사용됩니다. 또한 코어 중 하나는 (물리적으로) 미러링 / 플립 핑되고 90도 회전하여 방사선 / 노이즈 복원력을 향상시킵니다. :)

RM42는 STM32 (100MHz vs 72MHz)보다 높은 클럭 속도로 실행되며 약간 다른 명령어 세트를 가지며 M3보다 일부 명령어를 더 빠르게 수행합니다 (예 : 분할 명령어는 R4에서 한 주기로 실행되므로 확실하지 않습니다. M3).

HW 타이머는 Cortex-M3에 비해 매우 정밀합니다. 일반적으로 M3에서 드리프트를 수정하려면 정적 오프셋이 필요합니다. R4에서는 그렇지 않습니다. :)

Cortex-M3을 범용 MCU라고 부르는 곳에서는 Cortex-R4를 복잡한 실시간 / 안전 MCU라고합니다. 내가 실수하지 않으면 RM42는 SIL3을 준수합니다 ...

실시간 / 안전 기능을 실제로 사용하지 않더라도 IMO the R4는 복잡성이 크게 향상되었습니다.

복잡성 차이의 좋은 예 : SPI 주변 장치에는 STM32에 9 개의 제어 및 상태 레지스터가 있지만 RM42에는 42가 있습니다. 모든 주변 장치에서 이와 같습니다. :)

편집하다:

가치가있는 것은 제 사용 사례에서 Cortex-R4 @ 100MHz는 정확히 동일한 작업을 수행 할 때 Cortex-M3 @ 72MHz보다 일반적으로 50-100 % 빠릅니다. R4에 데이터 및 명령 캐시가 있기 때문일 수 있습니다.

또 다른 비교는, main()현재 사용하는 안전 기능의 하위 집합으로 전화하기 전에 C 및 ASM 코드의 몇 1000 줄이 재설정시 실행됩니다 : 주변 장치 초기화 또는 기타가 아닌 시작 및 자체 테스트 (CPU, RAM, 플래시 ECC 등).

이 페이지에 자세한 내용이 있습니다


M3의가없는 안전 또는 중요한 임무로 뭔가를 제어하는 것입니다 반면 예 그는 R4는 ABS 제동 시스템이나 산업 기계를 제어하는 것
모르 텐 젠슨

대단한 답변이지만 한 가지만 언급해야합니다. Texas의 모든 R4 장치에는 캐시가 없습니다. 단단히 결합 된 RAM을 사용합니다. 기본적으로 RAM이 빠르기 때문에 실제로는 코어에 가깝습니다. 캐시가 이런 유형의 시스템에는 적합하지 않기 때문에 그렇게했다고 생각합니다 (실시간 기능을 설명하기 위해 매우 결정적인 시스템이 필요합니다. 또는 이와 유사한 것)
morcillo

귀하의 의견에 감사드립니다. ARM 의이 다이어그램으로 모든 R4에 데이터 + 명령 캐시가 있다고 생각하게되었습니다. arm.com/assets/images/Cortex-R4-chip-diagram-LG.png- 무엇을 만들어야하는지 알고 있습니까? 나는 데이터 및 명령 캐시를 가정 D cache하고 I cache약어였습니다.
Morten Jensen

내가 모르는 진실을 말해 주려고 내가 아는 유일한 것은 TEXAS INSTRUMENTS로 만든 피질 R4 장치에 내가 말한 것과 비슷한 이유로 캐시가 없다는 것입니다. 오래 전에 읽었습니다. 어쩌면 그들은 그것을 바 꾸었거나 어쩌면 나는 두 개의 다른 괴물을 섞고 있지만 R4 장치에 캐시가 없다는 것을 기억하는 한 (HALcogen은 캐시 초기화를 생성하지 않습니다). 나는 완전히 틀렸을 수도있다. 만일 내가 알려줘야한다면 .. 항상 새로운 것을 배우는 것이 좋다 :)
morcillo

3

ARM Cortex-R 제품군 (v7-R)

  • 실시간 애플리케이션을위한 탁월한 성능.
  • 프로세서는 저전력 및 우수한 인터럽트 동작의 필요성이 탁월한 성능 및 기존 플랫폼과의 강력한 호환성과 균형을 이루는 깊숙이 내장 된 실시간 애플리케이션을 위해 개발되었습니다.
  • ARM Cortex®-R 실시간 프로세서는 안정성, 고 가용성, 내결함성, 유지 관리 성 및 실시간 응답이 필요한 임베디드 시스템을위한 고성능 컴퓨팅 솔루션을 제공합니다.

ARM Cortex-M 제품군 (v7-M)

  • 결정 성있는 마이크로 컨트롤러 애플리케이션을위한 비용에 민감한 솔루션.
  • 빠르고 결정 성이 높은 인터럽트 관리의 필요성이 게이트 수가 적고 전력 소비가 가장 적은 마이크로 컨트롤러 영역을 위해 주로 개발되었습니다.
  • ARM Cortex ™ -M 프로세서 제품군은 개발자가 미래의 임베디드 응용 프로그램의 요구를 충족 할 수 있도록 설계된 상위 버전과 호환되는 에너지 효율적이고 사용하기 쉬운 프로세서입니다. 이러한 요구에는 더 낮은 비용으로 더 많은 기능을 제공하고, 연결성을 높이고, 코드를 재사용하고, 에너지 효율성을 향상시키는 것이 포함됩니다.

또 다른 차이점은 Cortex-M은 Thumb2 기반 명령어 세트 만 지원하는 반면 Cortex-R은 기본 / 클래식 고정 길이 (32 비트) 명령어 세트도 사용할 수 있다는 것입니다. -R과 -A는 아키텍처 참조 매뉴얼 (v7 용)을 공유하지만 M에는 별도의 ARManual이 있지만 약간의 의미가있을 수 있습니다.
Paul A. Clayton

2

여기에 좋은 기사가 있습니다 .

Cortex-R 및 cortex-M 시리즈는 다양한 요구 사항과 다양한 응용 분야를 대상으로합니다. 두 매개 변수를 모두 적용 할 수있는 응용 프로그램이있을 수 있으므로 매개 변수와 기능을 구분하는 것이 중요합니다.이 백서는 이러한 시나리오를 대상으로하며 설계자가 선택하도록 도와줍니다. 최종 목표는 디자이너 또는 개발자가 ARM 아키텍처를 이해하도록 돕는 것입니다.


흥미로운 기사로 연결되는 것이 좋지만 적어도 답변에서 기사를 요약하려고 노력해야합니다.
AndrejaKo
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.