마이크로 컨트롤러는 어떻게> 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.