
使用32位處理器作為核心的產品,雖然看上去選擇面較窄,但實際上在核心處理器的決定上設計者往往處于兩難的境地,Cortex-M3或者ARM7TDMI內核都非常適合這種應用場景,那么兩者之間究竟有區別?各自又有什么特點呢?本文將從實現方法與指令集的的角度來進行分析。
ARM實現方法
ARMCortex-M3是一種基于ARM7v架構的最新ARM嵌入式內核,它采用哈佛結構,使用分離的指令和數據總線(馮諾伊曼結構下,數據和指令共用一條總線)。從本質上來說,哈佛結構在物理上更為復雜,但是處理速度明顯加快。根據摩爾定理,復雜性并不是一件非常重要的事,而吞吐量的增加卻極具價值。
ARM公司對Cortex-M3的定位是:向專業嵌入式市場提供低成本、低功耗的芯片。在成本和功耗方面,Cortex-M3具有相當好的性能,ARM公司認為它特別適用于汽車和無線通信領域。和所有的ARM內核一樣,ARM公司將內該設計授權給各個制造商來開發具體的芯片。迄今為止,已經有多家芯片制造商開始生產基于Cortex-M3內核的微控制器。
ARM7TDMI(包括ARM7TDMIS)系列的ARM內核也是面向同一類市場的。這類內核已經存在了十多年之久,并推動了ARM成為處理器內核領域的主導者。眾多的制造商(據ARM宣稱,多達16家)出售基于ARM7系列的處理器以及其他配套的系統軟件、開發和調試工具。
在許多方面,ARM7TDMI都可以稱得上是嵌入式領域的實干家。
兩者差異
除了使用哈佛結構,Cortex-M3還具有其他顯著的優點:具有更小的基礎內核,價格更低,速度更快。與內核集成在一起的是一些系統外設,如中斷控制器、總線矩陣、調試功能模塊,而這些外設通常都是由芯片制造商增加的。Cortex-M3還集成了睡眠模式和可選的完整的八區域存儲器保護單元。它采用THUMB-2指令集,最大限度降低了匯編器使用率。
指令集
ARM7可以使用ARM和Thumb兩種指令集,而Cortex-M3只支持最新的Thumb-2指令集。這樣設計的優勢在于:
免去Thumb和ARM代碼的互相切換,對于早期的處理器來說,這種狀態切換會降低性能。
Thumb-2指令集的設計是專門面向C語言的,且包括If/Then結構(預測接下來的四條語句的條件執行)、硬件除法以及本地位域操作。
Thumb-2指令集允許用戶在C代碼層面維護和修改應用程序,C代碼部分非常易于重用。
Thumb-2指令集也包含了調用匯編代碼的功能:Luminary公司認為沒有必要使用任何匯編語言。綜合以上這些優勢,新產品的開發將更易于實現,上市時間也大為縮短。
從實現方法到指令集進行對比,這兩種32位處理方式在指令集上的區別還是比較明顯的,可以Cortex-M3只接受比較新的指令集,而ARM7TDMI的歷史悠久,在市場上已經占據了主要地位。設計者可以根據自己不同的需要來對其進行選擇,小編在之后的文章中也將為大家帶來更多有關兩者對比的內容。
聲明:本內容為作者獨立觀點,不代表電源網。本網站原創內容,如需轉載,請注明出處;本網站轉載的內容(文章、圖片、視頻)等資料版權歸原作者所有。如我們采用了您不宜公開的文章或圖片,未能及時和您確認,避免給雙方造成不必要的經濟損失,請電郵聯系我們,以便迅速采取適當處理措施;歡迎投稿,郵箱∶editor@netbroad.com。
微信關注 | ||
![]() |
技術專題 | 更多>> | |
![]() |
技術專題之EMC |
![]() |
技術專題之PCB |