為了演示MAXQ微控制器的功能,我們采用了為競(jìng)爭(zhēng)對(duì)手的微控制器編寫的基準(zhǔn)代碼,并在MAXQ2000上運(yùn)行。結(jié)果表明,MAXQ是目前最好的16位微控制器內(nèi)核之一。
介紹
MAXQ獨(dú)特的轉(zhuǎn)換觸發(fā)架構(gòu)使其成為16位微控制器市場(chǎng)中的佼佼者。MAXQ指令集具有單時(shí)鐘和指令周期運(yùn)算,用于跳轉(zhuǎn)、調(diào)用、返回、環(huán)路控制和算術(shù)運(yùn)算。因此,MAXQ使應(yīng)用能夠在比其他微控制器更短的時(shí)間內(nèi)處理更多的數(shù)據(jù)。因此,設(shè)計(jì)人員可以在其應(yīng)用中添加更多功能,或者通過快速完成所需任務(wù)并在低功耗停止模式下花費(fèi)更多時(shí)間來(lái)降低功耗。
為了演示MAXQ的競(jìng)爭(zhēng)分析能力,我們采用了為展示MSP430而編寫的基準(zhǔn)代碼,在MAXQ上運(yùn)行,并監(jiān)測(cè)MAXQ的性能。競(jìng)爭(zhēng)對(duì)手的代碼最初使MAXQ函數(shù)相對(duì)較慢且效率低下。后來(lái),當(dāng)Rowley高度優(yōu)化的MAXQ編譯器向市場(chǎng)發(fā)布時(shí),我們重新運(yùn)行了基準(zhǔn)測(cè)試代碼。我們發(fā)現(xiàn)Rowley的編譯器更有效地使用了MAXQ架構(gòu)特性,并且MAXQ的性能優(yōu)于德州儀器(TI)MSP430和Atmel AVR。MAXQ在更少的時(shí)鐘周期內(nèi)執(zhí)行相同的代碼。此外,這種加速的性能并沒有因?yàn)轭~外的代碼大小而對(duì)用戶造成不利影響——MAXQ的代碼大小在競(jìng)爭(zhēng)代碼大小的2%以內(nèi)。
本應(yīng)用筆記詳細(xì)介紹了我們對(duì)MAXQ、Atmel AVR和TI MSP430架構(gòu)的研究。這項(xiàng)研究是透明的——沒有編譯器優(yōu)化的技巧或?qū)iT的代碼來(lái)迫使一個(gè)微控制器比另一個(gè)微控制器表現(xiàn)得更好。模擬網(wǎng)站上提供了項(xiàng)目文件和源代碼,以便可以復(fù)制結(jié)果。
關(guān)于方法的注意事項(xiàng)
在本次研究的兩個(gè)編譯器IAR Embedded Workbench和Rowley CrossWorks中,我們使用Rowley的編譯器來(lái)生成MAXQ的基準(zhǔn)數(shù)據(jù),因?yàn)樗浞掷昧薓AXQ功能。IAR 和 Rowley 編譯器結(jié)果均用于 MSP430 和 AVR 微控制器測(cè)試。
執(zhí)行時(shí)間數(shù)據(jù)是使用IAR的嵌入式工作臺(tái)和Rowley的CrossWorks工具集附帶的模擬器收集的。計(jì)算的執(zhí)行周期不包括啟動(dòng)時(shí)間;計(jì)數(shù)從 main() 函數(shù)的入口點(diǎn)開始,以 main() 函數(shù)的 return 語(yǔ)句結(jié)束。
代碼大小以字節(jié)為單位,包括常量和代碼段。這是因?yàn)槟承┕ぞ咴?CODE 段中包含應(yīng)用程序常量,這會(huì)使設(shè)備的代碼密度錯(cuò)誤地顯示為高。組合 CODE 和 CONSTANT 段的大小可確保等效比較。
通常,我們將編譯器配置為對(duì)所有設(shè)備使用其最高代碼優(yōu)化級(jí)別。這通常意味著在面向最小代碼大小時(shí)啟用所有優(yōu)化,在面向最快代碼時(shí)啟用幾乎所有優(yōu)化(因?yàn)槟承┚幾g器優(yōu)化會(huì)犧牲速度來(lái)?yè)Q取代碼大小)。在某些情況下,高優(yōu)化設(shè)置會(huì)導(dǎo)致問題 - 生成的代碼無(wú)法正確模擬,從未到達(dá) return 語(yǔ)句。通常,當(dāng)優(yōu)化級(jí)別更改時(shí),代碼開始工作。我們將指出何時(shí)需要降低優(yōu)化級(jí)別。本應(yīng)用筆記隨附的項(xiàng)目文件包含用于生成基準(zhǔn)數(shù)據(jù)的優(yōu)化設(shè)置。
TI 基準(zhǔn)測(cè)試
該基準(zhǔn)測(cè)試是德州儀器發(fā)布的一套測(cè)試,用于展示 MSP430。該套件包含 10 個(gè)單獨(dú)的基準(zhǔn)測(cè)試:
8 位數(shù)學(xué)例程
8 位矩陣(陣列)訪問
8 位開關(guān)語(yǔ)句
16 位數(shù)學(xué)例程
16 位矩陣(陣列)訪問
16 位開關(guān)語(yǔ)句
32 位數(shù)學(xué)例程
浮點(diǎn)數(shù)學(xué)例程
有限脈沖響應(yīng)算法
矩陣乘法
按照TI測(cè)試參數(shù),MAXQ表現(xiàn)不佳。它生成的代碼比大多數(shù)其他微控制器更大、更慢。當(dāng)然,TI 研究表明 MSP430 是比較中的贏家。然而,透明國(guó)際的方法存在缺陷,需要進(jìn)一步分析。因此,我們研究了MAXQ在Rowley CrossWorks編譯器上的表現(xiàn)。
TI 結(jié)果
TI 研究提供了執(zhí)行速度(以時(shí)鐘周期為單位)和代碼密度(以字節(jié)為單位)的結(jié)果,如表 1 和表 2 所示。請(qǐng)注意,某些器件名稱(直接取自TI應(yīng)用筆記)不清楚。例如,8051 是指 12 時(shí)鐘、6 時(shí)鐘、4 時(shí)鐘甚至 1 時(shí)鐘 8051 架構(gòu)嗎?
應(yīng)用 | MSP430F135 | ATmega8 | 圖18F242 | 8051 | H8/300L | MC68HC11 | 最大Q20 | ARM7-TDMI (拇指) |
8 位數(shù)學(xué) | 299 | 157 | 318 | 112 | 680 | 387 | 421 | 185 |
8 位矩陣 | 2899 | 5300 | 20045 | 17744 | 9098 | 15412 | 31691 | 2227 |
8 位交換機(jī) | 50 | 131 | 109 | 84 | 388 | 214 | 58 | 146 |
16 位數(shù)學(xué) | 343 | 319 | 625 | 426 | 802 | 508 | 815 | 259 |
16 位矩陣 | 5784 | 24426 | 27021 | 29468 | 15280 | 23164 | 60214 | 2998 |
16 位交換機(jī) | 49 | 144 | 163 | 120 | 398 | 230 | 51 | 146 |
32 位數(shù)學(xué) | 792 | 782 | 1818 | 2937 | 1756 | 1446 | 1034 | 115 |
浮點(diǎn) | 1207 | 1601 | 1599 | 2487 | 2458 | 4664 | 1943 | 108 |
遠(yuǎn)紅外濾波器 | 152193 | 164793 | 248655 | 206806 | 245588 | 567139 | 464558 | 43191 |
矩陣乘法 | 6633 | 16027 | 36190 | 9454 | 26750 | 26874 | 66534 | 2918 |
總數(shù) | 170249 | 213680 | 336543 | 269638 | 303198 | 640038 | 627319 | 52293 |
應(yīng)用 | MSP430F135 | ATmega8 | 圖18F242 | 8051 | H8/300L | MC68HC11 | 最大Q20 | ARM7-TDMI (拇指) |
8 位數(shù)學(xué) | 172 | 116 | 386 | 141 | 354 | 285 | 352 | 660 |
8 位矩陣 | 118 | 364 | 676 | 615 | 356 | 380 | 378 | 408 |
8 位交換機(jī) | 180 | 342 | 404 | 209 | 362 | 387 | 202 | 504 |
16 位數(shù)學(xué) | 172 | 174 | 598 | 361 | 564 | 315 | 286 | 676 |
16 位矩陣 | 156 | 570 | 846 | 825 | 450 | 490 | 526 | 428 |
16 位交換機(jī) | 178 | 388 | 572 | 326 | 404 | 405 | 188 | 504 |
32 位數(shù)學(xué) | 250 | 316 | 960 | 723 | 876 | 962 | 338 | 620 |
浮點(diǎn) | 662 | 1042 | 1778 | 1420 | 1450 | 1429 | 1596 | 1556 |
遠(yuǎn)紅外濾波器 | 668 | 1292 | 2146 | 1915 | 1588 | 1470 | 1828 | 1420 |
矩陣乘法 | 252 | 510 | 936 | 345 | 462 | 499 | 494 | 432 |
總數(shù) | 2808 | 5114 | 9302 | 6880 | 6866 | 6622 | 6188 | 7208 |
根據(jù)這些數(shù)據(jù),MSP430 產(chǎn)生的代碼密度最高,比 Atmel AVR 微控制器小 45%。MSP430 似乎也表現(xiàn)最佳,但 32 位 ARM 處理器除外。這些結(jié)果還表明,MAXQ相對(duì)較慢且效率低下。
TI 基準(zhǔn)研究的缺陷
透明國(guó)際制定基準(zhǔn)的方式提出了一些問題。
第一個(gè)問題是TI在他們的研究中沒有使用任何優(yōu)化。TI反對(duì)編譯器優(yōu)化,以便將編譯器從考慮范圍中移除,并使微控制器自行執(zhí)行。這個(gè)論點(diǎn)的問題在于工程師仍然使用編譯器來(lái)生成機(jī)器代碼。如果編譯器在未啟用優(yōu)化時(shí)未利用微控制器的架構(gòu)功能,則無(wú)法實(shí)際了解微控制器的性能。此外,基準(zhǔn)測(cè)試只有在模擬實(shí)際應(yīng)用程序時(shí)才有價(jià)值。工程師可能會(huì)在實(shí)際應(yīng)用中優(yōu)化尺寸或速度,因此這些應(yīng)作為基準(zhǔn)研究的一部分。
TI 基準(zhǔn)測(cè)試研究中的第二個(gè)缺陷是他們只考慮了一個(gè)編譯器。誠(chéng)然,當(dāng)時(shí) TI 無(wú)法使用 Rowley 編譯器?,F(xiàn)在可用,Rowley 編譯器極大地更新了早期的 TI 結(jié)果。
馬克西姆的方法
如上所述,我們對(duì) TI 基準(zhǔn)測(cè)試的重新評(píng)估主要集中在 MSP430、Atmel AVR 和 MAXQ 架構(gòu)上。我們考慮了IAR Embedded Workbench和Rowley CrossWorks工具集的執(zhí)行和代碼大小數(shù)據(jù)。所有執(zhí)行速度的結(jié)果均通過仿真得到。
本研究中的MAXQ器件是MAXQ2000微控制器。除了包括LCD控制器在內(nèi)的一系列外設(shè)外,MAXQ2000還具有16個(gè)16位累加器和一個(gè)16 x 16硬件乘法加速器。在這項(xiàng)研究中,我們?cè)谒腥齻€(gè)被測(cè)器件上都啟用了硬件乘法器——我們假設(shè)如果數(shù)學(xué)計(jì)算(如FIR濾波器)的性能很重要,設(shè)計(jì)人員會(huì)選擇帶有乘法加速器的微控制器。
對(duì)于 MSP430 器件,我們以 MSP430F149 為目標(biāo),這與他們研究中針對(duì)的 TI 器件 (MSP430F135) 不同。我們之所以選擇F149,是因?yàn)樗幸粋€(gè)硬件乘法單元,使得與MAXQ2000的比較更加公平。
之所以選擇ATmega8進(jìn)行研究,是因?yàn)楫?dāng)前的IAR編譯器可以使用該微控制器的硬件乘法器生成代碼。IAR 編譯器無(wú)法對(duì)其他 AVR 設(shè)備(如 ATmega64 或 ATmega128)執(zhí)行此操作。
從這兩個(gè)工具集中收集基準(zhǔn)測(cè)試結(jié)果非常簡(jiǎn)單。在 IAR 中,代碼大小數(shù)據(jù)位于映射文件(確保它是在“項(xiàng)目選項(xiàng)”→“鏈接器→列表”下生成的)。向下滾動(dòng)到地圖文件的底部,將顯示以下三行:
184字節(jié)代碼存儲(chǔ)器 80字節(jié)數(shù)據(jù)存儲(chǔ)器
66字節(jié)CONST存儲(chǔ)器
如前所述,我們將 CODE 和 CONST 內(nèi)存部分都計(jì)入總代碼大小,因?yàn)榫幾g器在放置常量程序數(shù)據(jù)的位置上有所不同。對(duì)于測(cè)試,比較代碼大小的唯一合法方法是包含常量大小。
若要在 IAR 中查找執(zhí)行周期,請(qǐng)選擇模擬器作為調(diào)試工具并開始調(diào)試。在“查看→分析”下啟動(dòng)代碼分析器。單擊“激活”按鈕和“自動(dòng)刷新”按鈕(請(qǐng)參閱圖 1)。調(diào)試器應(yīng)自動(dòng)運(yùn)行到 C 代碼的第一行。按 Run 鍵,(如果未設(shè)置斷點(diǎn))IAR 調(diào)試器在程序退出時(shí)終止。查看代碼探查器,并在 main() 的“累積時(shí)間”下報(bào)告 周期數(shù) - 這是在主例程和 main 調(diào)用的所有子例程中花費(fèi)的周期數(shù)。
圖1.IAR 代碼探查器:累計(jì)時(shí)間(周期)是指在該例程及其調(diào)用的所有子例程中花費(fèi)的周期數(shù)。
在 Rowley 工具集中查找生成的代碼大小也非常容易。生成項(xiàng)目時(shí),項(xiàng)目資源管理器會(huì)隨項(xiàng)目一起列出代碼大小。圖 2 顯示,對(duì)于 MSP430F149,16 位數(shù)學(xué)基準(zhǔn)測(cè)試代碼大小為 238 字節(jié)。
圖2.Rowley 項(xiàng)目資源管理器顯示每個(gè)項(xiàng)目的代碼大小詳細(xì)信息。
在 Rowley 工具中確定執(zhí)行周期數(shù)并不像使用 IAR 那么容易 - Rowley 不會(huì)在程序結(jié)束時(shí)自動(dòng)停止,也不會(huì)分離周期的花費(fèi)位置。您必須在進(jìn)入主程序時(shí)重置循環(huán)計(jì)數(shù)器。為此,請(qǐng)首先開始調(diào)試程序。當(dāng)編譯器在 main 的入口點(diǎn)停止時(shí),雙擊它來(lái)重置循環(huán)計(jì)數(shù)器。
圖3.當(dāng) Rowley 模擬器在 main() 處停止時(shí),雙擊它來(lái)重置循環(huán)計(jì)數(shù)器(帶有沙漏的圖片)。
接下來(lái),在應(yīng)用程序末尾設(shè)置斷點(diǎn)。(請(qǐng)注意,邊距中帶有藍(lán)色三角形的線條指示可以設(shè)置斷點(diǎn)的位置。運(yùn)行到斷點(diǎn)并記錄報(bào)告的周期數(shù)。
使用羅利模擬器還有其他可能的并發(fā)癥。
根據(jù)優(yōu)化的不同,您可能只能在程序集級(jí)別進(jìn)行模擬,在這種情況下,很難找到應(yīng)用程序的末尾。最好的方法是掃描代碼并在程序集代碼中找到下一個(gè) RETURN 語(yǔ)句,在那里設(shè)置斷點(diǎn),然后運(yùn)行到該語(yǔ)句。
模擬器可能并不總是在主入口點(diǎn)停止。發(fā)生這種情況時(shí),請(qǐng)嘗試按“重新啟動(dòng)調(diào)試”按鈕。您可能還需要手動(dòng)查找主入口點(diǎn)并在那里設(shè)置斷點(diǎn)。
編譯器設(shè)置
使用 IAR 工具集時(shí),項(xiàng)目選項(xiàng)中的編譯器選項(xiàng)窗口配置為啟用所有優(yōu)化的最高優(yōu)化級(jí)別(請(qǐng)參閱圖 4)。若要在目標(biāo)最小代碼和最快執(zhí)行之間切換,請(qǐng)將所選單選按鈕從“大小”切換到“速度”。
圖4.IAR 編譯器的選項(xiàng):?jiǎn)⒂盟袃?yōu)化。單選按鈕在優(yōu)化速度和大小之間切換編譯器。
Rowley的CrossWorks允許用戶創(chuàng)建除了默認(rèn)的調(diào)試和發(fā)布配置之外的構(gòu)建配置。因此,本研究的基準(zhǔn)項(xiàng)目還包括最快(見圖 5)和最?。▓D 6)配置選項(xiàng)。最快配置刪除了以犧牲指令周期為代價(jià)來(lái)評(píng)估代碼大小的任何優(yōu)化。
圖5.Rowley的CrossWorks中使用的項(xiàng)目選項(xiàng)可實(shí)現(xiàn)最快的配置。
最小配置的設(shè)置如圖 6 所示。啟用了以犧牲周期為代價(jià)的有利于代碼大小的選項(xiàng),總體優(yōu)化策略是最小化大小。
圖6.Rowley的CrossWorks中用于最小配置的項(xiàng)目選項(xiàng)。
Analog 運(yùn)行的每個(gè)基準(zhǔn)測(cè)試的項(xiàng)目和源文件可在 /en/product-category/ultra-low-power-microcontrollers.html 中找到。這些項(xiàng)目文件中的配置與用于基準(zhǔn)測(cè)試的配置相同。Maxim網(wǎng)站上的其他第三方工具提供了IAR和Rowley工具試用版的鏈接,因此您可以輕松重現(xiàn)這些基準(zhǔn)測(cè)試結(jié)果。
MAXQ基準(zhǔn)測(cè)試結(jié)果
表3和表4顯示了MAXQ基準(zhǔn)測(cè)試結(jié)果。執(zhí)行速度再次以時(shí)鐘周期的形式給出,代碼大小以字節(jié)為單位給出。
應(yīng)用 | MSP430F149 IAR | MSP430F149 羅利 | ATmega8 IAR | ATmega8 羅利 | MAXQ2000 羅利 | |||||
配置 | 小 | 快 | 小 | 快 | 小 | 快 | 小 | 快 | 小 | 快 |
8 位數(shù)學(xué) | 243 | 243 | 276 | 272 | 110 | 110 | 279 | 278 | 278 | 245 |
8 位矩陣 | 1629 | 963 | 6243 | 2659 | 1508 | 1074 | 7348 | 3763 | 3461 | 2947 |
8 位交換機(jī) | 31 | 31 | 24 | 24 | 84 | 36 | 45 | 45 | 39 | 39 |
16 位數(shù)學(xué) | 219 | 219 | 250 | 250 | 275 | 266 | 348 | 330 | 194 | 191 |
16 位矩陣 | 1906 | 899 | 6755 | 3171 | 1147 | 697 | 5251 | 5250 | 3205 | 2691 |
16 位交換機(jī) | 30 | 30 | 24 | 24 | 111 | 44 | 50 | 50 | 39 | 39 |
32 位數(shù)學(xué) | 575 | 575 | 790 | 716 | 746 | 731 | 995 | 885 | 545 | 521 |
浮點(diǎn) | 784 | 784 | 1097 | 921 | 1614 | 1565 | 1491 | 919 | 763 | 744 |
遠(yuǎn)紅外濾波器 | 86042 | 82748 | 90812 | 82592 | 82779 | 82779 | 73598 | 66249 | 62280 | 59470 |
矩陣乘法 | 4254 | 2761 | 6036 | 5436 | 7799 | 2396 | 11081 | 9231 | 3704 | 3027 |
總數(shù) | 95713 | 89253 | 112307 | 96065 | 96173 | 89698 | 100486 | 87000 | 74508 | 69914 |
圖 7 繪制了執(zhí)行速度的數(shù)據(jù)圖表。僅顯示最快的結(jié)果。速度以執(zhí)行周期來(lái)衡量 - 條越小意味著性能越好。
圖7.最快配置設(shè)置的執(zhí)行速度結(jié)果。較小的MAXQ2000棒顯示出更好的性能。
應(yīng)用 | MSP430F149 IAR | MSP430F149 羅利 | ATmega8 IAR | ATmega8 羅利 | MAXQ2000 羅利 | |||||
配置 | 小 | 快 | 小 | 快 | 小 | 快 | 小 | 快 | 小 | 快 |
8 位數(shù)學(xué) | 192 | 192 | 258 | 262 | 98 | 98 | 212 | 212 | 248 | 284 |
8 位矩陣 | 152 | 180 | 240 | 232 | 318 | 304 | 220 | 250 | 202 | 222 |
8 位交換機(jī) | 180 | 180 | 230 | 230 | 312 | 164 | 202 | 200 | 152 | 152 |
16 位數(shù)學(xué) | 140 | 140 | 220 | 220 | 162 | 154 | 222 | 238 | 162 | 164 |
16 位矩陣 | 240 | 240 | 312 | 312 | 398 | 374 | 294 | 350 | 260 | 378 |
16 位交換機(jī) | 178 | 178 | 230 | 230 | 346 | 178 | 212 | 240 | 152 | 152 |
32 位數(shù)學(xué) | 236 | 236 | 284 | 388 | 306 | 296 | 380 | 460 | 274 | 324 |
浮點(diǎn) | 1100 | 1100 | 966 | 1004 | 1026 | 1046 | 816 | 936 | 1018 | 1090 |
遠(yuǎn)紅外濾波器 | 1178 | 1174 | 924 | 966 | 1258 | 1258 | 860 | 896 | 1024 | 1044 |
矩陣乘法 | 266 | 250 | 312 | 316 | 476 | 324 | 294 | 348 | 254 | 264 |
總數(shù) | 3862 | 3870 | 4076 | 4160 | 4700 | 4196 | 3712 | 4130 | 3746 | 4074 |
下圖(圖 8)顯示了最小配置結(jié)果的代碼大小數(shù)據(jù)。代碼大小以字節(jié)數(shù)來(lái)衡量 - 條形越小意味著代碼密度越高。
圖8.最小配置設(shè)置的代碼大小結(jié)果。MAXQ2000的條形越小,代碼密度越好。
微控制器 | 編譯器 | 版本 |
最大Q2000 | 羅利 | MAXQ 交叉工作,1.0 版,Build 2 |
MSP430F149 | 羅利 | 適用于 MSP430 的 CrossWorks 版本,版本 1.3,內(nèi)部版本 3 |
MSP430F149 | IAR | IAR C/C++ 編譯器,適用于 MSP430,V3.30A/W32 (3.30.1.1) |
ATmega8 | 羅利 | AVR 的 CrossWorks 版本,版本 1.1,內(nèi)部版本 1 |
ATmega8 | IAR | IAR C/C++ AVR 編譯器,4.10B/W32 (4.10.2.3) |
裝置 | 工具 | 配置 | 基準(zhǔn) | 問題 |
ATmega8 | 羅利 | 最小 | 16 位矩陣 | 除非將代碼分解優(yōu)化設(shè)置為 NONE,否則模擬不會(huì)終止。 |
ATmega8 | IAR | 快 | 8 位矩陣、16 位矩陣 | 除非將優(yōu)化級(jí)別設(shè)置為中而不是高,否則模擬不會(huì)終止。 |
ATmega8 | IAR | 最小 | 遠(yuǎn)紅外濾波器 | 即使在最低優(yōu)化級(jí)別,仿真也不會(huì)終止。表3和表4中包含的數(shù)字適用于配置最快的FIR濾波器。 |
ATmega8 | IAR | 雙 | 矩陣乘法 | 模擬不會(huì)在ATmega8,ATmega16或ATmega32目標(biāo)上終止。該項(xiàng)目的目標(biāo)是ATmega64。 |
分析和總結(jié)
在不同的編譯器和啟用優(yōu)化的情況下,上述結(jié)果表明,即使運(yùn)行 TI 特制的基準(zhǔn)代碼,MSP430 也不是性能最佳的微控制器。
考慮到運(yùn)行整個(gè)基準(zhǔn)測(cè)試套件所需的總執(zhí)行周期數(shù),MAXQ2000的性能優(yōu)于MSP430F149和ATmega8。MAXQ2000的周期為69,914次,而MSP430F149 (IAR)和ATmega8 (Rowley)的周期分別為89,253次和87,000次。在考慮基準(zhǔn)代碼的總大小時(shí),三個(gè)微控制器的最佳情況結(jié)果僅相差2%,因此代碼大小的任何差異都無(wú)關(guān)緊要。
由于代碼密度不是此基準(zhǔn)測(cè)試的一個(gè)因素,因此我們將更深入地研究執(zhí)行速度結(jié)果??倛?zhí)行周期結(jié)果由FIR濾波器結(jié)果加權(quán),其中MAXQ2000明顯優(yōu)于競(jìng)爭(zhēng)產(chǎn)品。MAXQ2000是數(shù)學(xué)基準(zhǔn)測(cè)試中表現(xiàn)最好的,8位數(shù)學(xué)基準(zhǔn)測(cè)試中除了ATmega8之外。MAXQ2000的性能最差的是8位和16位矩陣基準(zhǔn),它們將項(xiàng)目從一個(gè)多維數(shù)組復(fù)制到另一個(gè)多維陣列。
到目前為止,我們只考慮測(cè)試微控制器在時(shí)鐘周期方面的性能。我們沒有考慮設(shè)備的運(yùn)行速度。為了進(jìn)行絕對(duì)比較,我們使用每秒基準(zhǔn)測(cè)試迭代次數(shù),即整個(gè) TI 基準(zhǔn)測(cè)試套件在一秒鐘內(nèi)可以運(yùn)行的次數(shù)。表7顯示,當(dāng)所有器件以相同的時(shí)鐘速度運(yùn)行時(shí),MAXQ2000比MSP28F430快149%,比ATmega24快8%。當(dāng)器件以最大時(shí)鐘速率運(yùn)行時(shí),MAXQ2000比ATmega56快8%,比MSP218F430快149%。
裝置 | 周期 | F.max | 1MHz 時(shí)的迭代/秒 | F 處的迭代/秒.max |
MSP430F149 | 89,253 | 8 | 11.20 | 89.60 |
ATmega8 | 87,000 | 16 | 11.49 | 183.84 |
最大Q2000 | 69,914 | 20 | 14.30 | 286.00 |
圖9.以最大時(shí)鐘速率運(yùn)行時(shí)每秒的基準(zhǔn)迭代次數(shù)。更高的MAXQ2000桿顯示出更好的性能。
我們應(yīng)該如何總結(jié)Maxim基準(zhǔn)研究的結(jié)果?至少,它與TI基準(zhǔn)研究的結(jié)果相悖,后者表明MAXQ微控制器架構(gòu)并不引人注目。這項(xiàng)更新的研究表明,MAXQ2000是一款代碼高效、快速的微控制器,對(duì)于任何受益于更高性能微控制器的新設(shè)計(jì)和重新設(shè)計(jì),都應(yīng)考慮使用MAXQ<>。
審核編輯:郭婷
-
微控制器
+關(guān)注
關(guān)注
48文章
7953瀏覽量
155065 -
控制器
+關(guān)注
關(guān)注
114文章
17113瀏覽量
184304 -
編譯器
+關(guān)注
關(guān)注
1文章
1662瀏覽量
50225
發(fā)布評(píng)論請(qǐng)先 登錄
基于Labview的振動(dòng)信號(hào)特征分析研究技術(shù)的界面怎么做
matlab關(guān)于城市空氣污染數(shù)據(jù)的真實(shí)性判別及分析研究
繼電器結(jié)構(gòu)原理分析研究
耦合電感式的Boost電路分析研究
Bluetooth跳頻網(wǎng)絡(luò)Piconet聞干擾分析研究

基于MATLAB的實(shí)時(shí)數(shù)據(jù)采集與分析研究

EMI抑制方法分析研究

網(wǎng)絡(luò)差異數(shù)據(jù)的優(yōu)化挖掘模型仿真分析研究
基于多媒體社會(huì)事件的分析研究綜述

基于LMS算法自適應(yīng)噪聲抵消器的分析研究

評(píng)論