마이크로 컨트롤러는 어떻게> 1 MIPS / MHz 성능을 달성합니까?


19

마찬가지로 이 하나 1.49 DMIPS / MHz의 않습니다. 파이프 라이닝을 사용하더라도 사이클 당 여전히 1 개의 실행 단계가 있습니까?


이 마이크로 컨트롤러 세그먼트에서 유일하게 전형적인 슈퍼 스칼라 항목은 MADD입니다. 그러나 Drystone에서는 그다지 도움이되지 않습니다.
BarsMonster

DSP는 마이크로 컨트롤러이며 푸리에 변환, 어레이 곱셈 등의 하드웨어 구현을 가질 수 있습니다. 이 측정이 여기에 적용됩니까? 아주 오래된 DPS조차도 하나의 명령으로 16 개의 서로 다른 레지스터에서 8 개의 곱셈을 수행 할 수 있습니다.
vsz

5
거짓말, 저주받은 거짓말, 벤치 마크가 있습니다.

답변:


18

DMIPS와 MIPS는 동일하지 않습니다. DMIPS는 "Dhrystone MIPS"의 약자이며 여러 명령어 세트에서 서로 다른 마이크로 컨트롤러 / 마이크로 프로세서의 성능을 비교하기위한 표준입니다. 표준은 더 이상 새로운 것이 아니므로 (*) 참조 프로세서가 1 초에 1 DMIPS / MHz에서 수행 할 수있는 작업은 동일한 명령 속도에서 동일한 명령 속도로 670ms 더 고급 컨트롤러를 사용할 수 있습니다. 반면에 다른 컨트롤러에는 2 개의 명령어 또는 더 많은 기계 사이클이 필요한 명령어가 필요할 수 있습니다.

예를 들어 16 비트 아키텍처는 일반적으로 8 비트 아키텍처보다 더 나은 Dhrystone 성능과 더 많은 참조하는 32 비트와 같은 32 비트를 갖습니다.


(*) m.Alin는 최근에 의미 코어 마크 벤치 마크. 이것은 C로 작성되었으므로 실제로 Dhrystone, BTW와 같은 결과에 컴파일러의 성능도 포함시킵니다.


그러나 Dhrystone 결과는 컴파일러 (C로 작성 됨)에 달려 있습니다. Wikipedia에서 : Dhrystone의 주요 부분은 작업을 최적화하는 컴파일러의 능력에 취약합니다. 따라서 더 컴파일러 벤치 마크는 하드웨어 벤치 마크
m.Alin

1
@ m.Alin-물론, 나는 다른 제안을하고 싶지 않았습니다. 나는 대답을 명확히 할 것이다. 피드백을 주셔서 감사합니다.
stevenvh

10

DMIPS 는 절대 값이 아니라 상대적인 측정 값입니다. MIPS와 달리 실제로 uC가 명령을 얼마나 빨리 실행하는 대신 uC가 유용한 기능을 얼마나 빨리 수행 할 수 있는지 측정합니다.

다른 벤치 마크와 마찬가지로 한계가 있지만이를 보는 간단한 방법은 VAX 11/780 (1 MIPS 시스템)에 비해 벤치 마크 코드를 얼마나 빨리 완료 할 수
있는지입니다. 예를 들어 uC가 벤치 마크를 100 배 빠르게 완료하는 경우 VAX 11/780보다 100DMIPS 머신이 있습니다. 100MHz에서 실행되는 경우 1 DMIPS / MHz로 평가됩니다.

광고 된 DMIPS는 일반적으로 플래시 속도, 프리 페치, 대기 시간 / 미스 등이 큰 대형 uC에서 일반적으로 사용할 수 없습니다. 다음 은 PIC32 DMIPS 성능에 대한 좋은 설명입니다. 이 링크 에는 마이크로 컨트롤러 용 Dhrystone 코드가 있습니다.


Wikipedia 링크에 따르면 Drystone 표준은 이미 28 세입니다. 최신 성능 측정 도구가 더 있는지 알고 있습니까? 감사.
Federico Russo

3
@FedericoRusso 코어 마크
m.Alin

@FedericoRusso : 성능 측정에 관한 것은 비교입니다. 비교 방법을 변경하면 기존의 모든 결과가 쓸모 없게됩니다. 따라서 Dhrystone의 수명이 길다.
Clifford
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.