《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 業界動態 > 嵌入式開發 ARM Cortex-M3處理器技術優勢分析

嵌入式開發 ARM Cortex-M3處理器技術優勢分析

2017-08-23

  在嵌入式開發設計中,對客戶來說用什么技術、芯片不是主要的。主要的是能否滿足要求。高性價比、開發門檻底、易于使用才是硬道理。Cortex-M3是一個32位處理器內核。從理論上來說性價比高。

  598a778ab8cc1.jpg

  三級流水線+分支預測

  ARM Cortex-M3與ARM7內核一樣,采用適合于微控制器應用的三級流水線,但增加了分支預測功能。現代處理器大多采用指令預取和流水線技術,以提高處理器的指令執行速度。流水線處理器在正常執行指令時,如果碰到分支(跳轉)指令,由于指令執行的順序可能會發生變化,指令預取隊列和流水線中的部分指令就可能作廢,而需要從新的地址重新取指、執行,這樣就會使流水線“斷流”,處理器性能因此而受到影響。特別是現代C語言程序,經編譯器優化生成的目標代碼中,分支指令所占的比例可達10-20%,對流水線處理器的影響會的更大。為此,現代高性能流水線處理器中一般都加入了分支預測部件,就是在處理器從存儲器預取指令時,當遇到分支(跳轉)指令時,能自動預測跳轉是否會發生,再從預測的方向進行取指,從而提供給流水線連續的指令流,流水線就可以不斷地執行有效指令,保證了其性能的發揮。

  ARM Cortex-M3內核的預取部件具有分支預測功能,可以預取分支目標地址的指令,使分支延遲減少到一個時鐘周期。

  哈佛結構

  ARMCortex-M3采用哈佛結構,并選擇了適合于微控制器應用的三級流水線,但增加了分支預測功能。

  從內核訪問指令和數據的不同空間與總線結構,可以把處理器分為哈佛結構和普林斯頓結構(或馮.諾伊曼結構)。馮.諾伊曼結構的機器指令、數據和I/O共用一條總線,這樣內核在取指時就不能進行數據讀寫,反之亦然。這在傳統的非流水線處理器(如MCS51)上是沒有什么問題的,它們取指、執行分時進行,不會發生沖突。但在現代流水線處理器上,由于取指、譯碼和執行是同時進行的(不是同一條指令),一條總線就會發生總線沖突,必須插入延遲等待,從而影響了系統性能。ARM7TDMI內核就是這種結構的。

  而哈佛結構的處理器采用獨立的指令總線和數據總線,可以同時進行取指和數據讀寫操作,從而提高了處理器的運行性能。ARM Cortex-M3、ARM966E、ARM926EJ、ARM1136JF等內核都采用了哈佛結構。

  內置嵌套向量中斷控制器(NVIC)

  針對業界對ARM處理器中斷響應的問題,Cortex-M3首次在內核上集成了嵌套向量中斷控制器(NVIC)。Cortex-M3的中斷延遲只有12個時鐘周期(ARM7需要24-42個周期);Cortex-M3還使用尾鏈技術,使得背靠背(back-to-back)中斷的響應只需要6個時鐘周期(ARM7需要大于30個周期)。以STM32運行在75MHz為例,中斷延遲只有80ns-160ns。另外,Cortex-M3采用了基于棧的異常模式,使得芯片初始化的封裝更為簡單。

  ARM7TDMI內核不帶中斷控制器,具體MCU的中斷控制器是各芯片廠商自己加入的,這使得各廠商的ARM7 MCU中斷控制部分都不一樣,給用戶使用及程序移植帶來了很大麻煩。Cortex-M3內核集成NVIC,各廠商生產的基于Cortex-M3內核的MCU都具有統一的中斷控制器,對用戶使用各種Cortex-M3 MCU,特別是中斷編程帶來了很大的便利。

  支持位綁定操作

  以前的ARM內核不支持位操作,當需要對一個變量或端口的某一位操作時,先要用邏輯與/或指令屏蔽其他的位,使位操作需要較多的指令和時鐘周期。ARM Cortex-M3采用了一種特殊的方法——位綁定:把一個地址單元的32位變量中的每一位,通過一個簡單的地址轉換算法,映射到另一個地址空間,每一位占用一個地址,對此地址空間的操作,只有數據的最低一位是有效的,其余高31位的值被忽略。相當于把一個“橫”的32位字給“豎”起來。這樣對新的映射空間操作時,就可以不用屏蔽操作,優化了RAM和I/O寄存器的讀寫,提高了位操作的速度。

  這種方法粗看起來好像損失了很多地址空間,其實對于32位的ARM處理器而言,總共可以尋址4GB的空間,而對于一個MCU來說,一般只用到幾百KB的空間。所以這種處理方法絲毫不會影響一個MCU的正常使用,又大大簡化了處理器的設計,可以說是一種良策。

  支持串行調試(SWD)

  ARM處理器一般都使用JTAG調試接口,使得仿真、調試工具統一而廉價,方便了用戶開發。但JTAG調試接口至少要占用芯片的5-6個引腳,這對于一些引腳較少的MCU來說,有時會對仿真調試和I/O使用帶來麻煩。

  ARM Cortex-M3在保持原來JTAG調試接口的基礎上,還支持串行調試(SWD)。使用SWD時,只占用2個引腳,就可以進行所有的仿真和調試,節省了調試用引腳,用戶就可以使用更多的引腳。

  另外,Cortex-M3支持8個硬件斷點(ARM7、ARM9只支持2個硬件斷點),可以減少斷點調試時對代碼的影響,保證仿真、調試的時序準確性。

  內核支持低功耗模式

  ARM內核已經是一個高性能、低功耗的內核,但ARM7、ARM9等內核本身只有運行/停止模式,沒有其他模式。各芯片廠商只能在內核基礎上,對各自加入的外設定義各種低功耗模式。Cortex-M3加入了類似于8位處理器的內核低功耗模式,支持3種功耗管理模式:通過一條指令立即睡眠;異常/中斷退出時睡眠;深度睡眠。使整個芯片的功耗控制更為有效。以STM32為例,其RAM和寄存器狀態保持的停機模式耗電僅為14uA,從此狀態的啟動時間僅為7us。

  Cortex-M3的運行功耗(Active Mode)也很低。以STM32系列微控制器為例,其典型功耗約為500uA/MHz,也只是目前業界超低功耗單片機MSP430系列(約為250uA/MHz)的2倍。但MSP430是16位處理器,而STM32是32位處理器。

  高效的Thumb2 16/32位混合指令集

  ARM7、ARM9等內核使用不同的處理器狀態分別執行32位的ARM指令和16位的Thumb指令,使用狀態切換指令完成ARM狀態和Thumb狀態的切換。Cortex-M3使用更高效的Thumb2指令集,它是一種16/32位混合編碼指令,兼容Thumb指令。對于一個應用程序編譯生成的Thumb2代碼,以接近Thumb編碼的代碼尺寸,達到了接近ARM編碼的運行性能。Thumb2是一種緊湊、高效的新一代指令集。

  Thumb2指令集是面向高級語言的指令集,適合于C語言編程,由編譯器生成目標代碼,不建議直接使用Thumb2匯編語言編程。

  32位硬件除法和單周期乘法

  以往的ARM處理器沒有除法指令,在某些除法密集型應用中性能不盡如意。Cortex-M3加入了32位除法指令,彌補了這一缺陷,使Cortex-M3可以和其他通用處理器一樣,完成各種數學運算操作。

  Cortex-M3還改進了乘法運算部件,32結果的32位x32位乘法操作只要一個時鐘周期。這一性能使得使用Cortex-M3來進行乘、乘加運算時,已逼近DSP的性能,因此特別適合一些需要簡單DSP的應用領域,如電機控制、數字濾波、FFT變換等。

  需要指出的是,32位的乘/除運算,對于一個8位機而言,已經是一段比較復雜的程序,而對于32位的Cortex-M3而言,只需一句指令。因此,即使二者工作主頻一樣,實際運行性能也不是一個數量級的。

  支持存儲器非對齊訪問

  基于Cortex-M3的MCU,為提高性能,其內部存儲器(Flash、RAM)都是32位編址的。這樣當常量、變量是字節或半字類型時,如果處理器只支持對齊訪問(以往的處理器都是如此),那么這些字節/半字類型的數據也必須被分配、占用一個32位的存儲單元,這樣就浪費了部分存儲空間。

  Cortex-M3支持存儲器的非對齊訪問,它可以訪問存儲在一個32位單元中的字節/半字類型數據,這樣4個字節類型(或2個半字類型)數據可以被分配在一個32位的單元中,提高了存儲器的利用率。對于一般的應用程序而言,這種技術可以節省約25%的SRAM使用量,從而可以選擇SRAM較小、更廉價的MCU。

  定義了統一的存儲器映射

  ARM7、ARM9等內核沒有定義存儲器映射,各芯片廠商自己定義了存儲器映射,這使得各廠商的MCU存儲器映射都不完全一致,給用戶學習使用及程序移植帶來了麻煩。

  Cortex-M3內核定義了統一的存儲器映射,各廠商生產的基于Cortex-M3內核的微控制器芯片都具有一致的存儲器映射,對用戶使用各種基于Cortex-M3的 MCU以及代碼在不同MCU上的移植帶來了很大的便利。

  嵌入式開發設計服務商朗銳智科(www.lrist.com)認為基于Cortex-M3的微控制器相比于ARM7TDMI的微控制器,在相同的工作時鐘頻率下:平均性能要高約30%;代碼尺寸要比ARM編碼小約30%;價格一般也更低。以STM32系列Cortex-M3微控制為例,工作頻率可達75MHz,而價格比STR71x系列ARM7TDMI芯片要低約30%,具有極高的性價比。目前已有的芯片的功能太少。Cortex M系列在處理能力基本與ARM7同,主要是成本低,功耗小。


本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久成人一区二区| 一二美女精品欧洲| 亚洲人体影院| 伊人影院久久| 伊人成年综合电影网| 国产日韩欧美一区二区三区四区| 国产精品成人aaaaa网站| 欧美色图天堂网| 欧美性猛交99久久久久99按摩 | 亚洲国产精品一区二区尤物区 | 亚洲精品在线看| 91久久在线视频| 亚洲欧洲日本在线| 亚洲人妖在线| 亚洲乱码国产乱码精品精可以看| 亚洲理伦电影| 亚洲视频电影在线| 国产精品99久久久久久宅男| 亚洲午夜激情网站| 亚洲主播在线播放| 性做久久久久久久免费看| 午夜精品国产精品大乳美女| 午夜亚洲伦理| 欧美在线视频播放| 久久全国免费视频| 欧美夫妇交换俱乐部在线观看| 免费日韩av片| 欧美精品电影| 国产精品久久二区| 国产欧亚日韩视频| 精品av久久707| 亚洲第一区在线| 99在线精品视频| 午夜精彩国产免费不卡不顿大片| 欧美一区二区三区在线视频 | 国产精品国产a级| 国产视频一区欧美| 1024成人| 一区二区三区鲁丝不卡| 亚洲欧美在线另类| 亚洲国产精品精华液2区45| 亚洲精品在线视频观看| 亚洲一区二区3| 欧美亚洲免费电影| 久久在线视频在线| 欧美日韩免费在线观看| 国产欧美日韩亚州综合| 在线精品视频一区二区| 亚洲精品久久久久| 亚洲综合另类| 91久久久久久久久久久久久| 亚洲午夜女主播在线直播| 欧美一区二区免费| 欧美成在线视频| 国产精品日韩精品欧美在线| 国内精品久久久久久久影视蜜臀| 亚洲欧洲视频| 欧美一区2区三区4区公司二百| 亚洲人妖在线| 欧美一区永久视频免费观看| 美日韩免费视频| 国产精品久久久久久久久婷婷| 国产在线精品一区二区夜色| 亚洲三级网站| 欧美在线黄色| 亚洲亚洲精品三区日韩精品在线视频 | 亚洲一品av免费观看| 久久嫩草精品久久久精品| 欧美日韩国产精品自在自线| 国产欧美日韩一区二区三区在线观看| 亚洲国产精品小视频| 午夜精品久久久久久| 夜夜嗨av色综合久久久综合网| 久久精品在线观看| 欧美日韩a区| 永久91嫩草亚洲精品人人| 亚洲一区二区三区777| 日韩午夜在线视频| 久久久爽爽爽美女图片| 国产精品theporn| 亚洲国产精品久久久久久女王| 亚洲欧美视频在线观看视频| 亚洲深夜影院| 欧美国产日韩一区二区在线观看| 国产欧美在线视频| 亚洲午夜激情免费视频| 99这里只有久久精品视频| 快播亚洲色图| 国产一区二区三区四区三区四| 亚洲图中文字幕| 99视频精品| 欧美韩国一区| 在线欧美小视频| 欧美在线视频观看免费网站| 亚洲欧美日韩在线| 欧美日韩国产区一| 最近看过的日韩成人| 亚洲国产精品一区二区第一页| 欧美一级视频精品观看| 欧美午夜久久久| 亚洲精品在线免费| 亚洲久久视频| 欧美成年视频| 亚洲福利视频一区| 亚洲国产综合视频在线观看| 久久精品中文| 国产一区二区三区的电影| 亚洲一区中文字幕在线观看| 亚洲在线视频网站| 欧美午夜精品久久久| 99re热精品| 在线亚洲美日韩| 欧美日韩免费观看一区三区| 亚洲精品在线三区| av成人激情| 欧美日韩情趣电影| 99精品国产福利在线观看免费| 99在线热播精品免费| 欧美乱人伦中文字幕在线| 亚洲啪啪91| 在线视频精品一区| 欧美日韩综合在线免费观看| 99精品福利视频| 亚洲尤物在线视频观看| 国产精品久久久久久妇女6080 | 日韩视频一区二区在线观看| 欧美国产日韩在线| 亚洲日本va午夜在线电影| 亚洲最新色图| 欧美三区在线视频| 亚洲新中文字幕| 欧美一区午夜精品| 国产一区二区三区免费观看 | 欧美福利视频| 日韩午夜在线| 午夜久久美女| 国产一区二区精品| 亚洲黄色成人网| 欧美日本在线看| 中日韩美女免费视频网站在线观看| 亚洲专区一区| 国产日韩欧美不卡在线| 亚洲第一区色| 欧美日本精品| 亚洲午夜视频| 久久欧美肥婆一二区| 亚洲国产精品va在线看黑人动漫 | 久久久www| 亚洲福利免费| 国产精品99久久久久久www| 国产精品午夜av在线| 久久激五月天综合精品| 欧美激情精品久久久久| 中国av一区| 久久视频免费观看| 亚洲美女av黄| 久久9热精品视频| 亚洲国产精品悠悠久久琪琪| 亚洲一区二区不卡免费| 国产日韩精品一区二区三区在线| 亚洲激情在线| 国产精品黄视频| 亚洲国产精品999| 欧美亚韩一区| 久久精品盗摄| 欧美日韩一区在线观看视频| 亚洲欧美在线免费| 欧美激情无毛| 亚洲女女做受ⅹxx高潮| 欧美成人一区二区| 亚洲图片欧美午夜| 你懂的视频一区二区| 一区二区激情视频| 久久综合色8888| 中文欧美在线视频| 久久伊人亚洲| 亚洲一区二区三区精品视频| 免费91麻豆精品国产自产在线观看| 一区二区国产日产| 免费观看国产成人| 亚洲图片在区色| 欧美精彩视频一区二区三区| 午夜精品三级视频福利| 欧美另类高清视频在线| 欧美亚洲专区| 欧美午夜电影在线观看| 亚洲国产精品久久精品怡红院| 国产精品久久久久久av福利软件| 亚洲黑丝在线| 国产日韩视频| 亚洲午夜视频在线观看| 在线观看日韩av电影| 欧美一区二区精美| 亚洲美女视频网| 免费在线看成人av| 欧美亚洲一区| 国产乱码精品一区二区三区忘忧草| 99re6这里只有精品| 一区二区在线观看视频| 欧美专区亚洲专区|