《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于ARM Cortex-M3核的SoC架構設計及性能分析
基于ARM Cortex-M3核的SoC架構設計及性能分析
來源:電子技術應用2012年第8期
陶友龍,趙安璞,陳海波
東南大學 國家ASIC系統工程技術研究中心(無錫),江蘇 無錫214135
摘要: 主要研究了基于ARM Cortex-M3核的SoC設計方法及不同架構對芯片整體性能的影響。首先從Cortex-M3的結構特點尤其是總線結構特點出發,分析了基于該核的SoC架構設計的要點。然后通過EEMBC的CoreMark程序,對實際流片的一款Cortex-M3核芯片進行了性能測試,并與STM32F103 MCU的測試結果進行了對比,通過實例說明了不同芯片架構對性能的影響。最后,對影響SoC芯片性能的因素,包括芯片架構、存儲器速度、工藝、主頻等進行了分析和總結。
中圖分類號: TN403
文獻標識碼: A
文章編號: 0258-7998(2012)08-0053-03
Design and performance analysis of SoC architecture based on ARM Cortex-M3
Tao Youlong,Zhao Anpu,Chen Haibo
National ASIC System Engineering Research Center(Wuxi), Southeast University, Wuxi 214135,China
Abstract: The method of how to design SoC with ARM Cortex-M3 core is carefully studied, and the relationship between chip architecture and performance is also analyzed. Firstly, the essentials of SoC design with Cortex-M3 are presented based on the core′s structural features, especially the bus structure feature. Then, with the help of CoreMark program from EEMBC, the performance of a chip with Cortex-M3 core is tested after tape-out, and also compared with the test results of STM32F103 MCU in order to illustrate different architectures′ effects on chips′ performance. At last, the factors which affect the performance of SoC, including chip architecture, memory speed, process and frequency, are analyzed and summarized.
Key words : chip architecture;System on Chip(SoC);Cortex-M3;CoreMark

    ARM Cortex系列是ARM公司推出的基于ARMv7架構、使用高性能的Thumb-2指令集的32位嵌入式微處理器核。主要有三種款式,分別是Cortex-A、Cortex-R和Cortex-M。其中Cortex-M系列主要用于低功耗、低成本的嵌入式應用。本文用于SoC(System on Chip)設計的Cortex-M3核便屬于該系列。該處理器核憑借其高性能、低功耗、低成本和開發方便等特點,受到了各廠商的青睞。STMicroelectronics、NXP Semiconductors、ATMEL等都競相推出各自基于Cortex-M3核的SoC。由于Cortex-M3核的結構與傳統ARM核有很大區別,因此基于Cortex-M3的SoC架構設計也有與以往不同的特點。不同的架構對芯片整體性能影響很大。本文使用CoreMark對實際芯片作了性能測試,其結果證明了SoC架構對芯片性能的影響。

1 Cortex-M3核SoC架構設計
1.1 總線接口

    處理器核對SoC架構最大的影響是其總線接口。傳統的ARM處理器使用單一總線接口。如ARM7處理器采用馮諾依曼結構,指令和數據共用一條總線,從而核外部為單總線接口[1];ARM9雖然使用了哈佛結構,核內部指令總線和數據總線分開,但這兩條總線共用同一存儲空間,且在核外共用同一總線接口[2]。使用單一總線接口的弊端是取指和取數據無法并行執行,效率相對較低。
    Cortex-M3的結構如圖1所示。Cortex-M3采用了多總線結構,在核外有ICode、DCode、System三個總線接口[3]。其中,ICode和DCode總線接口使得在地址空間Code區中的取指和取數據分開并行執行,而System總線使得在地址空間SRAM區中的取指和取數據使用同一總線接口,無法并行執行。

1.2 SoC架構設計
    由Cortex-M3的結構特點可以看出,Cortex-M3不適合像傳統ARM處理器那樣將代碼由Flash搬移到RAM來提高效率,那樣反而可能會降低效率(由于SRAM區中的取指和取數據使用同一總線接口)。而Cortex-M3是將代碼和只讀數據放在Flash中,程序執行時將可讀寫數據放在RAM中,從而獲得最高效率。
    基于以上考慮,設計Cortex-M3核的SoC時,最好將片上Flash掛接在ICode和DCode總線上,即0x00000000~0x20000000地址空間,如圖2所示,將片上SRAM掛接在System總線上,即0x20000000~0x40000000地址空間。這樣從Flash中取指和取只讀數據可以分別通過ICode和DCode總線并行執行,提高了Flash的讀取效率。而對SRAM中的數據讀寫通過System總線進行。三條總線各自分工,使得SoC性能大大提高。

1.3 自主設計的Cortex-M3核SoC
    實驗室自主設計了一款基于Cortex-M3核的SoC,并采用0.18 ?滋m CMOS工藝流片成功。如圖3所示,芯片的片上Flash從0x20000000開始,共256 KB;片上SRAM從0x30000000開始,共96 KB。其架構特點是片上Flash和片上SRAM均處于0x20000000~0x40000000地址空間,即掛接在System總線上,但兩者均可再映射Remap到0地址,即可掛接到ICode和DCode總線上。

    默認情況下片上SRAM可Remap到0地址,這意味著SRAM默認擁有0x00000000和0x30000000兩個起始地址。因此,將代碼放在SRAM中時,若從0x00000000地址開始執行,則處理器通過ICode和DCode總線來訪問SRAM;若從0x30000000地址開始執行,則處理器通過System總線來訪問SRAM。下面將利用這特一點來進行性能分析。
2 性能測試及分析
2.1 CoreMark簡介

    傳統的嵌入式微處理器性能測試普遍采用Dhrystone程序,WEICKER R P通過統計程序中常用的操作及其所占比例,構建了一個測試基準,并經過多次完善,才得到了Dhrystone程序[4]。但Dhrystone程序本身過于簡單,并不能準確反映處理器運行實際應用程序時的性能。
    EEMBC組織自成立之初就打算制定一種能夠代替Dhrystone并能更好地測量嵌入式微處理器性能的標準。但由于EEMBC的程序和認證一般都是收費的,所以其發布的測試程序一直沒能得到很好的普及。直到其發布了完全公開和免費的CoreMark程序,才逐漸改變這一局面,并有取代Dhrystone的趨勢。CoreMark是一個雖代碼量小但很復雜的測試程序,通過執行應用程序中常用的數據結構和算法來測試處理器性能,其內容包括鏈表操作、矩陣運算和CRC校驗等,可以更好地反映處理器運行實際應用程序時的性能。本文采用CoreMark來測試SoC的性能。
2.2 自主設計SoC的性能測試
    使用Keil開發環境:將CoreMark程序放在芯片的片上SRAM中,分別設置從片上SRAM的兩個起始地址執行,其在72 MHz主頻時的測試結果如表1所示。


    可見,對于同一片上SRAM存儲器,從0x00000000地址訪問執行比從0x30000000地址訪問執行時的處理器性能要高出約20%。因此,使用ICode和DCode總線取指和取只讀數據比使用System總線性能要高。在今后的設計中將取消Remap,直接將片上Flash放在從0x00000000開始的空間,將片上SRAM放在從0x30000000開始的空間,實現取指、取只讀數據、取可讀寫數據并行執行,從而達到最佳性能。
2.3 STM32F103性能測試
    意法半導體的STM32系列MCU是目前市場上最常見的Cortex-M3核SoC之一,該系列中的STM32F103架構如圖4所示[5]。該芯片的片上Flash掛接在ICode和DCode總線上,片上SRAM掛接在System總線上。其中ICode總線直通Flash,而DCode總線和System總線通過一個總線矩陣分別連接到片上Flash和片上SRAM及其余外設。此外,STM32采用了一個64 bit的Flash,并使用了一個2×64 bit的緩沖器,一次可緩存128 bit數據,從而大大降低了Flash的訪問頻率,彌補了Flash速度較慢的缺陷,使得取指和取只讀數據的速度大大提高。該架構與前述分析基本一致,故可以保證最佳性能。

 

 

    可見,STM32F103在片上Flash中執行代碼的性能超過了在片上SRAM中的性能。主要原因是在片上Flash中執行時,三條總線合作分工,加之Flash本身位寬較大(64 bit),且外部有2×64 bit緩沖器,因此效率很高,代碼在片上Flash中執行的性能可以與在片上SRAM中執行時相當。
    與實驗室自主設計的SoC相比,兩芯片在片上SRAM中執行代碼的性能幾乎相同。這是因為兩者均只使用System總線對SRAM進行訪問,且兩芯片的SRAM存取速度均跟得上Cortex-M3核對其訪問的速度。但如表1所示,自主設計的SoC在片上Flash中執行代碼的性能還不到STM32F103的一半,原因是所使用的Flash本身速度較低、位寬較低(2×16 bit),且沒有采用外部高位寬緩沖器等手段減少訪存頻率,再加上測試時Flash掛接在System總線上,因此Flash的性能成為了所設計SoC的性能瓶頸。
3 影響SoC性能因素
    (1)芯片架構:由以上分析可見,芯片架構對SoC性能有很大的影響。要想獲得最佳性能,關鍵是要深入了解所用處理器核的結構特點,再據其采用合適的芯片架構。
    (2)存儲器速度:存儲器速度尤其是Flash速度也是限制SoC性能的一個關鍵因素。存儲器速度越慢,CPU需要插入的等待周期就越多,效率就越低。這一點在上述自主設計的SoC中就不夠好,需要在Flash部分作大的改進。而STM32在這方面做得很好,通過加大存儲器位寬和增加緩沖器使Flash不會成為芯片性能的瓶頸。
    (3)工藝:工藝對存儲器速度及芯片整體性能的影響是顯而易見的,更先進的工藝意味著更高的性能。但提升工藝同時意味著增加流片成本,故需根據實際情況考慮。
    (4)主頻:主頻越高,意味著同一段時間內可以執行更多的指令,即測試結果CoreMark總分提升,但CoreMark/MHz沒變。此外,若Flash速度跟不上,則會將最高性能限制住,提升主頻不但不會提高整體性能,反而還會降低效率,即測試結果CoreMark總分不變,CoreMark/MHz反而降低。
    本文主要研究了基于ARM Cortex-M3核的SoC架構設計,重點分析了處理器核的總線接口對芯片架構設計的影響。采用CoreMark程序,對實驗室自主設計的一款Cortex-M3核SoC以及意法半導體的STM32F103 MCU進行了性能測試及分析,說明了芯片架構對性能的影響。最后,對影響SoC性能的因素作了總結。對高性能的Cortex-M3核SoC設計有著指導作用,對一般的SoC設計也有借鑒意義。
參考文獻
[1] ARM Ltd..ARM7TDMI Technical Reference Manual  Revision:r4p1,2004.
[2] ARM Ltd..ARM920T Technical Reference Manual Rev 1,2001.
[3] ARM Ltd..Cortex-M3 Technical Reference Manual  Revision:r2p1,2010.
[4] WEICKER R P.Dhrystone:A synthetic systems programming  benchmark[J].Communications of the ACM,1984,27(10):1013-1030.
[5] ST Microelectronics Ltd..STM32F101xx,STM32F102xx,STM32F103xx,STM32F105xx and STM32F107xx advanced  ARM-based 32-bit MCUs Reference manual Rev 11,2010.

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          国产精品丝袜91| 在线播放中文一区| 极品av少妇一区二区| 国产欧美不卡| 亚洲免费av网站| 永久域名在线精品| 免费人成网站在线观看欧美高清| 亚洲欧美自拍偷拍| 亚洲精品视频在线| 99视频精品全部免费在线| 久久蜜桃av一区精品变态类天堂| 欧美成人有码| 午夜国产精品视频| 欧美体内谢she精2性欧美| 老鸭窝91久久精品色噜噜导演| 国产日韩精品一区二区| 欧美激情视频一区二区三区在线播放| 亚洲一区成人| 欧美一区二区三区免费看| 国内揄拍国内精品少妇国语| 久久精品五月| 久久精品30| 激情综合自拍| 快射av在线播放一区| 久久久久久久久综合| 欧美在线日韩在线| 欧美系列亚洲系列| 老牛嫩草一区二区三区日本| 欧美与黑人午夜性猛交久久久| 亚洲线精品一区二区三区八戒| 午夜精品视频在线| 欧美一区二区三区四区在线观看地址| 亚洲在线1234| 欧美成人国产va精品日本一级| 欧美精品久久久久久久久老牛影院| 国产日韩欧美三区| 亚洲视频在线免费观看| 国产午夜精品美女视频明星a级| 亚洲欧美国内爽妇网| 久久综合狠狠综合久久激情| 在线看视频不卡| 日韩午夜免费视频| 久久综合狠狠综合久久激情| 男女精品网站| 欧美成人网在线| 亚洲综合视频一区| 亚洲国产精品一区二区www在线| 国产精品夫妻自拍| 国产亚洲成av人片在线观看桃| 一区二区久久久久久| 国产精品美女999| 在线观看欧美亚洲| 欧美一区二区三区视频免费播放| 好吊色欧美一区二区三区视频| 最新成人av网站| 亚洲宅男天堂在线观看无病毒| 国产乱码精品| 欧美日本视频在线| 久久久久久久久一区二区| 亚洲少妇一区| 欧美日韩亚洲一区三区| 亚洲国产精品一区二区久| 国产精品女主播| 久久精品一区二区三区中文字幕| 亚洲精品日产精品乱码不卡| 国产视频丨精品|在线观看| 久久久噜噜噜久久中文字幕色伊伊| 久久国产精品免费一区| 亚洲私人影吧| 欧美日韩妖精视频| 欧美成人四级电影| 国产精品日韩在线一区| 另类天堂av| 亚洲精品视频二区| 午夜在线a亚洲v天堂网2018| 免费观看国产成人| 免费观看在线综合色| 欧美日韩成人在线观看| 亚洲午夜日本在线观看| 在线观看的日韩av| 亚洲三级电影在线观看| 日韩视频二区| 免费黄网站欧美| 久久婷婷成人综合色| 国产一区二区三区在线观看免费视频| 久久精品夜夜夜夜久久| 久久不见久久见免费视频1| 欧美色图麻豆| 久久乐国产精品| 一本一道久久综合狠狠老精东影业| 影音先锋一区| 一区二区三区久久精品| 中文一区字幕| 欧美成人精品在线| 在线免费观看欧美| 日韩一级裸体免费视频| 在线一区观看| 国产精品天天摸av网| 亚洲一二三区精品| 久久久爽爽爽美女图片| 99精品国产一区二区青青牛奶| 亚洲第一狼人社区| 欧美一区二区三区四区在线观看地址| 国产在线观看91精品一区| 麻豆av福利av久久av| 国产日韩欧美在线播放不卡| 欧美一区=区| 亚洲图中文字幕| 久久久国产午夜精品| 亚洲精品视频二区| 久久久久国产一区二区三区| 午夜精品久久久久久99热| 亚洲欧美韩国| 免费91麻豆精品国产自产在线观看| 久久夜色精品| 激情五月***国产精品| 亚洲电影在线观看| 欧美成年人网站| 国产精品magnet| 午夜精彩国产免费不卡不顿大片| 最新国产成人在线观看| 亚洲免费在线精品一区| 欧美电影免费观看大全| 久久久女女女女999久久| 国产精品腿扒开做爽爽爽挤奶网站| 国产精品免费区二区三区观看| 亚洲欧美日韩在线播放| 免费欧美日韩国产三级电影| 免费精品99久久国产综合精品| 欧美国产欧美亚洲国产日韩mv天天看完整| 欧美日韩在线电影| 亚洲视频在线观看三级| 欧美大片一区| 老司机午夜精品视频在线观看| 国产精品国码视频| 亚洲国产99精品国自产| 国产精品女主播| 欧美午夜不卡视频| 欧美色精品天天在线观看视频| 亚洲片国产一区一级在线观看| 亚洲免费影院| 国产精品欧美一区喷水| 国产精品一区免费在线观看| 噜噜噜在线观看免费视频日韩| 一区二区三区欧美| 一区二区三区无毛| 欧美一区视频在线| 亚洲高清电影| 亚洲免费在线播放| 蘑菇福利视频一区播放| 亚洲人成7777| 国产精品九色蝌蚪自拍| 国产一区清纯| 亚洲精品国产欧美| 美女视频黄免费的久久| 亚洲国产日本| 欧美日韩在线播放三区| 欧美日韩18| 国产精品呻吟| 欧美一区二视频| 亚洲精品一区在线观看| 欧美日韩国产一区二区| 久久精品亚洲一区二区| 国产一区二区三区高清播放| 国产视频一区三区| 亚洲电影免费观看高清完整版在线观看| 国产精品人人做人人爽人人添| 国产日韩欧美二区| 欧美精品在欧美一区二区少妇| 久久深夜福利免费观看| 欧美亚洲一区二区在线观看| 国产午夜精品一区二区三区视频| 国产精品卡一卡二| 亚洲欧美日本伦理| 男女激情视频一区| 亚洲欧美久久久久一区二区三区| 亚洲精品亚洲人成人网| 欧美日本亚洲韩国国产| 欧美日韩美女在线| 欧美亚洲综合另类| 欧美在线播放视频| 欧美精品一区在线| 欧美日韩综合在线免费观看| 国产亚洲亚洲| 亚洲人午夜精品| 国产在线精品二区| 亚洲人精品午夜在线观看| 久久九九热re6这里有精品| 国内精品国语自产拍在线观看| 一区二区三区不卡视频在线观看| 亚洲深夜激情| 亚洲国产欧美久久| 亚洲日本成人女熟在线观看| 国产精品国产三级国产普通话99| 欧美不卡在线| 亚洲人成网站精品片在线观看| 国产一区免费视频| 亚洲欧美精品| 国产精品久久毛片a| 国产综合在线视频| 亚洲综合色丁香婷婷六月图片| 亚洲激情一区二区三区| 另类综合日韩欧美亚洲| 国产色产综合产在线视频| 亚洲精品影院在线观看| 欧美精品在线极品| 免费永久网站黄欧美| 久久综合色播五月| 久久精品视频99| 久久久久国产一区二区三区四区| 一区二区视频在线观看| 1204国产成人精品视频| 欧美视频中文字幕在线| 久久美女艺术照精彩视频福利播放| 国产欧美一二三区| 欧美日韩日本视频| 欧美性淫爽ww久久久久无| 亚洲欧美变态国产另类| 国内精品视频一区| 欧美性色aⅴ视频一区日韩精品| 在线日韩欧美视频| 免费观看一级特黄欧美大片| 久久精品国产亚洲一区二区| 亚洲高清资源综合久久精品| 亚洲少妇最新在线视频| 欧美成人精品福利| 依依成人综合视频| 亚洲国产欧洲综合997久久| 国产精品视频yy9299一区| 欧美精品一区二区在线观看| 欧美成黄导航| 日韩亚洲国产欧美| 亚洲人成在线播放网站岛国| 欧美日韩在线观看一区二区| 性色一区二区| 国产精品一区二区三区免费观看| 欧美福利电影在线观看| 99国产精品久久| 欧美a级片一区| 亚洲在线观看视频| 欧美日韩一区成人| 亚洲蜜桃精久久久久久久| 欧美激情区在线播放| 国产精品v欧美精品v日韩| 在线视频欧美精品| 亚洲福利视频免费观看| 亚洲欧洲日韩综合二区| 亚洲国内在线| 国内成人精品一区| 美脚丝袜一区二区三区在线观看| 国产日韩欧美麻豆| 狠狠色丁香婷婷综合久久片| 亚洲电影av在线| 黄色成人av网站| 国产精品色午夜在线观看| 欧美激情在线观看| 99re6这里只有精品| 久久国产欧美| 国产精品日韩欧美一区二区| 国产一区二区三区久久久久久久久| 蜜桃精品久久久久久久免费影院| 国产精品免费一区二区三区观看| 国产亚洲欧美日韩在线一区| 欧美一区二区在线看| 性娇小13――14欧美| 久久综合成人精品亚洲另类欧美| 日韩一区二区精品在线观看| 久久国产精品久久精品国产| 亚洲欧美日韩国产综合精品二区| 欧美精品久久久久久| 国产精品影音先锋| 亚洲无亚洲人成网站77777| 国产真实久久| 日韩视频一区二区三区在线播放免费观看| 久久综合成人精品亚洲另类欧美| 一区二区三区蜜桃网| 韩国一区二区三区美女美女秀| 欧美激情亚洲激情| 亚洲性视频网址| 亚洲片国产一区一级在线观看| 亚洲无限av看| 国产日韩一区二区三区| 国产亚洲精品美女| 91久久久久久久久久久久久| 一区二区三区国产在线| 午夜在线播放视频欧美| 欧美午夜视频网站| 欧美高清一区二区| 欧美一区二区在线视频| 这里只有精品电影| 欧美成人首页| 欧美中文字幕视频在线观看| 国产精品99久久久久久久久| 欧美精品国产精品日韩精品| 国语自产在线不卡| 噜噜噜躁狠狠躁狠狠精品视频| 国模大胆一区二区三区| 国产欧美日韩不卡免费| 欧美电影免费网站| 国产精品日韩精品欧美精品| 亚洲欧洲av一区二区三区久久| 麻豆成人在线观看| 欧美日韩少妇| 国产精品免费观看在线| 亚洲高清在线精品| 免费成年人欧美视频| 国产精品麻豆成人av电影艾秋| 日韩小视频在线观看专区| 欧美日本三级| 亚洲国产精品久久久久秋霞蜜臀| 午夜精品一区二区三区在线视| 午夜亚洲伦理| 美女主播精品视频一二三四| 亚洲国产成人porn| 亚洲国产一区二区三区高清| 激情久久五月天| 亚洲免费电影在线观看| 免费在线成人| 国产最新精品精品你懂的| 久久午夜色播影院免费高清| 欧美+日本+国产+在线a∨观看| 欧美福利视频在线| 亚洲福利视频三区| 亚洲综合精品四区| 久久视频在线免费观看| 99精品热视频只有精品10| 欧美色综合天天久久综合精品| 亚洲午夜激情免费视频|