ENGLISH 简体中文 日本語 한국어  

    로그인 | 회원가입 


   
 
키워드나 부품번호를 입력해주세요    



MAXQ의 경쟁력 뛰어난 성능

경쟁사 벤치마크를 이용하여 수행한 분석결과

MAXQ의 성능을 MSP430, ATMega8, PIC18F242, 8051, H8/300L, MC68HC11, 심지어 32비트 ARM7과 비교해 보았습니다. 그 결과 MAXQ가 8비트/16비트 소자 중에서 가장 성능이 우수하고, 32비트 ARM7과도 경쟁력이 있는 것으로 나타났습니다.

벤치마크

Texas Instruments(TI)가 자사 애플리케이션 노트 focus.ti.com/lit/an/slaa205a/slaa205a.pdf를 통해 이 성능 분석을 위한 벤치마크 코드를 제공했습니다. TI는 MSP430을 위한 매우 성숙한 컴파일러인 IAR Embedded Workbench 만을 이용했습니다. Maxim은 MAXQ 마이크로컨트롤러의 아키텍처 특징들을 아주 효율적으로 이용하는 Rowley CrossWorks 컴파일러도 고려하기로 했습니다.

TI 애플리케이션 연구는 코드 최적화를 위한 컴파일러 옵션을 이용하지 않았습니다. 그 이유는 컴파일러 지능을 분석에서 배제하기 위해서였습니다. 하지만 Maxim은 컴파일러 최적화를 이용하지 않으면 컴파일러가 마이크로컨트롤러의 아키텍처 특징을 효과적으로 이용할 수 없다고 생각했습니다. 또한 실제 애플리케이션을 위한 최종 애플리케이션 코드는 최적화를 가능하게 하고, 성능을 벤치마킹하는 것은 실제 애플리케이션을 모델링하여야 한다고 생각했습니다. 따라서 우리는 특정한 최적화 목표(최소 코드 크기 또는 고속 실행)를 실행시키고 AVR ATmega8, TI MSP430F149, MAXQ2000에 대해 재 벤치마킹을 했습니다.

컴파일러와 최적화 선택이 성능 데이터에 어떻게 다른 영향을 미치는지를 보여주기 위해, 아래 그래프는 원래 TI 벤치마크의 데이터와 함께 Rowley CrossWorks 컴파일러에서의 MAXQ2000의 성능을 보여줍니다. 이 데이터는 초당 벤치마크 반복횟수를 나타내며, 모든 소자는 1MHz 클록을 이용하는 것으로 가정합니다.

MAXQ 성능
vs. TI 벤치마크 데이터

MAXQ Performance vs. TI Published Benchmark Data

분석의 공정성을 높이기 위해 Dallas Semiconductor 벤치마크에는 MAXQ2000 같은 하드웨어 곱셈기를 내장하지는 않았지만 원래 TI 애플리케이션에 이용된 소자인 MSP430F149를 포함시켰습니다. 또한 분석의 공정성을 위해 MSP430F449를 이용했습니다(이 소자는 하드웨어 곱셈 가속화기가 내장되어 있지 않습니다).

이에 관해서는 데이터 요약을 참조하십시오. 더 자세한 내용은 Maxim의 방법론에 대해 자세히 설명하고 있는 애플리케이션 노트 MAXQ Competitive Analysis Study을 참조하십시오. 이 벤치마크의 프로젝트 파일은 이 페이지 하단의 컴파일러 설명 링크를 통해 이용할 수 있습니다.


요약: 실행 속도

아래 표는 TI 벤치마크에 이용된 각 마이크로컨트롤러의 실행 성능을 요약한 것입니다. 상단의 몇몇은 TI 애플리케이션 노트에서 발췌한 것입니다. 나머지 항목들은 Dallas Semiconductor 벤치마크 연구에서 취한 것으로 컴파일러 최적화 목표에 따라 최고속 실행을 하였습니다. (컴파일러 설명 참조.)

실행 속도는 클록 사이클로 측정하는데 이는 main( ) 경로의 시작에서 종료 사이의 사이클 수입니다. 그러므로 시동(startup) 시간을 포함하지 않습니다.

마이크로컨트롤러 컴파일러 사이클 수 MAXQ로 정규화
TI 벤치마크
MSP430F135 IAR 170,249 2.43
ATMega8 IAR 213,680 3.06
PIC18F242 IAR 336,543 4.81
8051 IAR 269,638 3.86
H8/300L IAR 303,198 4.34
MC68HC11 IAR 640,038 9.16
MAXQ20 IAR 627,319 8.97
ARM7TDMI (Thumb) IAR 52,293 0.75
Dallas Semiconductor 벤치마크
MSP430F149 IAR 89,253 1.27
ATMega8 IAR 89,698 1.28
MSP430F149 Rowley 95,713 1.37
ATMega8 Rowley 87,000 1.24
MAXQ2000 Rowley 69,914 1.00

이 데이터는 아래 그래프에 나와있습니다. 왼쪽은 TI 벤치마크 수치이고 오른쪽은 Dallas Semiconductor 벤치마크 수치입니다. 이 데이터는 "초당 벤치마크 반복"을 기반으로 한 것으로 1MHz 클록 속도인 것으로 가정했습니다. 그러므로 그래프의 막대가 높을수록 성능이 더 우수함을 의미합니다.

초당 벤치마크 반복
Benchmark Iterations per Second
참고: MAXQ 상에서의 IAR Embedded Workbench의 성능 수치는 최적화된 것이 아닙니다. IAR 컴파일러는 MAXQ 마이크로컨트롤러를 위한 초기 릴리즈로서 MAXQ 마이크로컨트롤러의 아키텍처적 특징을 아주 효과적으로 이용하는 Rowley CrossWorks에 비해서 성숙하지 않았습니다.

MSP430F149, ATmega8, MAXQ2000의 최고 성능 데이터를 가지고 1MHz 및 Fmax로 실행했을 때의 초당 벤치마크 반복횟수를 살펴보면 최대 속도일 때 각 소자의 성능을 알 수 있습니다.

마이크로컨트롤러 사이클 수 Fmax (MHz) 반복횟수/초
(1MHz일 때)
반복횟수/초
(Fmax일 때)
MSP430F149 89,253 8 11.20 89.60
ATMega8 87,000 16 11.49 183.84
MAXQ2000 69,914 20 14.30 286.00

아래 그래프는 각 마이크로컨트롤러가 최대 클록 속도 Fmax로 실행할 수 있는 초당 벤치마크 반복 수입니다.

Fmax일 때의 벤치마크 반복 횟수
Benchmark Iterations at Fmax


요약: 코드 크기

아래 표는 TI 벤치마크 코드 세트의 각 애플리케이션의 코드 크기(바이트)입니다. 상단의 몇몇 항목들은 TI 애플리케이션 노트에서 발췌한 것입니다. 하단 항목들은 Dallas Semiconductor 벤치마크 결과로서 컴파일러 최적화 목표로 최소 코드를 이용한 것입니다. (컴파일러 설명 참조).

코드 크기는 바이트로 측정하며 인터럽트 핸들러나 스타트업 코드를 포함하지 않습니다. 또한 코드 크기는 상수 공간을 포함하지 않습니다. 이는 일부 아키텍처의 컴파일러가 프로그램 상수를 코드 또는 상수 공간에 저장하기 때문입니다. 따라서 현실적인 비교를 위해서는 이 둘을 결합해야 합니다.

마이크로컨트롤러 컴파일러 코드 크기 MAXQ로 정규화
TI 벤치마크
MSP430F135 IAR 2,808 0.75
ATMega8 IAR 5,114 1.36
PIC18F242 IAR 9,302 2.48
8051 IAR 6,880 1.83
H8/300L IAR 6,866 1.83
MC68HC11 IAR 6,622 1.76
MAXQ20 IAR 6,188 1.65
ARM7TDMI (Thumb) IAR 7,208 1.92
Dallas Semiconductor 벤치마크
MSP430F149 IAR 3,862 1.03
ATMega8 IAR 4,196 1.12
MSP430F149 Rowley 4,076 1.09
ATMega8 Rowley 3,712 0.99
MAXQ2000 Rowley 3,746 1.00

아래 그래프는 총 “벤치마크 코드 크기”를 보여줍니다. 왼쪽은 TI 벤치마크의 수치이고 오른쪽은 Dallas Semiconductor 벤치마크 수치입니다.

벤치마크 코드 크기
Benchmark Code Size
참고: IAR Embedded Workbench의 코드 크기 수치는 최적화되지 않은 것입니다. IAR 컴파일러는 MAXQ 컴파일러를 위한 초기 릴리즈로서 MAXQ 마이크로컨트롤러의 아키텍처 특징을 매우 효과적으로 이용하는 Rowley의 CrossWorks에 비해서 성숙하지 않았습니다.


벤치마크 분석: 컴파일러 설명

다음 링크는 각 마이크로컨트롤러에 대해 벤치마크 데이터를 어떻게 수집했는지 설명하는 것들입니다. RESULTS 링크는 10개 벤치마크 애플리케이션 각각에 대한 상세한 결과를 제공합니다. SOURCE 링크는 특정 마이크로컨트롤러 벤치마크 세트를 위한 소스 및 프로젝트 파일로서 사용자가 결과를 재현할 수 있습니다.

프로세서 컴파일러 상세 결과 및 프로젝트 자료
MAXQ2000 MAXQ Release 1.0 Build 2용 CrossWorks 결과 자료 (ZIP, 123k)
MSP430F149 MSP430 Release 1.3 Build 3용 CrossWorks 결과 자료 (ZIP, 138k)
ATmega8 AVR Release 1.1 Build 1용 CrossWorks 결과 자료 (ZIP, 180k)
MSP430F149 MSP430 V3.30A/W32 (3.30.1.1)용 IAR C/C++ 컴파일러 결과 자료 (ZIP, 129k)
ATmega8 AVR 4.10B/W32 (4.10.2.3)용 IAR C/C++ 컴파일러 결과 자료 (ZIP, 160k)

Rowley 컴파일러를 이용한 벤치마크는 2개의 추가 Build 구성을 포함합니다. 기존 DebugRelease 구성 이외에도 Smallest 및 Fastest 구성을 이용하는데 이는 최소 코드 크기 및 고속 실행을 위한 것입니다.

IAR 컴파일러를 이용한 벤치마크는 최적화 레벨을 하이로 설정했으며 최적화 목표를 크기속도로 전환했습니다.

모든 구성에 관한 자세한 내용은 배포 자료의 프로젝트 파일을 참조하십시오.
        •         •         •     개인정보보호 정책     •     법적 고지

    Copyright © 2009 by Maxim Integrated Products