Cortex-Mx简介及CPU主流架构
Cortex-Mx簡介
Cortex-Mx就是arm研發的CPU/內核/處理器。
Cortex-Mx的優點可以從兩方面簡單闡述:
硬件:成本,功耗,尺寸,性能等
軟件:可移植性強——CMSIS
CMSIS:Cortex Microcontroller Software Interface Standard,是ARM Cortex-M的軟件接口標準。
CMSIS是ARM為所有芯片開發商寫好的最底層軟件接口,這樣用戶如果要升級等,也不需要重新構建底層接口。
競爭者:
AVR架構,如:PIC單片機(PIC性能牛逼,但是價格貴),這是Cortex相較之的競爭優勢。
MSP430架構:TI獨有,超低功耗,混合信號處理
MCU和MPU的區別
MCU,即Micro controller uint,微控制器/單片機
MPU,即Micro processor uint,微處理器
MCU和MPU最大的區別就是CPU采用的架構不同
MCU采用的是Cortex-M系列
MPU采用的是Cortex-A系列
這涉及到ARM公司現在最流行的Cortex系列。
Cortex系列:
Cortex-A:面向尖端的基于虛擬內存的操作系統和用戶應用,例如手機和平板
Cortex-M:針對成本和功耗敏感的應用,微控制器和終端應用
Cortex-R:針對實時操作系統,主要用在汽車領域,動力傳動方案
Cortex系列屬于arm-v7架構。
一般MPU采用的是多核架構:例如TI的AM335X系列
“MPU和MCU的區別本質上是因為應用定位不同,為了滿足不同的應用場景而按不同方式優化出來的兩類器件。MPU注重通過較為強大的運算/處理能力,執行復雜多樣的大型程序,通常需要外掛大容量的存儲器。而MCU通常運行較為單一的任務,執行對于硬件設備的管理/控制功能。通常不需要很強的運算/處理能力,因此也不需要有大容量的存儲器來支撐運行大程序。通常以單片集成的方式在單個芯片內部集成小容量的存儲器實現系統的“單片化”。”
——轉自知乎 MPU和MCU的區別https://wjrsbu.smartapps.cn/zhihu/article?id=106860696&isShared=1&hostname=baiduboxapp&_swebfr=1
指令集
指令集決定了CPU架構的不同。
CPU指令集(Instruction Set Architecture,ISA)是CPU能直接識別和接受并指揮計算機執行某種操作的命令集,它是軟件與硬件之間交互的橋梁。上層軟件要在CPU執行,就必須被翻譯成機器碼。編譯器對軟件翻譯為機器碼的過程中,要經過編譯、匯編、鏈接幾個步驟,最后生成由二進制機器碼組成的可執行文件,這串機器碼可以直接被CPU讀取和執行。指令集在這個過程中起規范匯編文件格式,使軟件、硬件可以順利交互的作用。
指令集是軟件和硬件都要遵循的一套規則。
指令集架構之所以重要,是因為他不只決定了硬件的具體的實作方式,也決定了其配套的軟件的工具鏈,包含編譯器,仿真器,SoC開發套件系統等,一旦要改用其他CPU指令集做具體的實作設計的話,所有相關的軟件硬件全部都要更換,所以這也就是為什么X86架構會始終獨占PC,而ARM則獨大移動和嵌入式設備的原因。
CPU三種主流架構
RISC-V:新興的,IOT,AI,IOT/AI時代
ARM(基于RISC指令集):移動,嵌入式設備,移動互聯網時代
X86(基于CSIC指令集):PC,服務器(Intel、AMD),互聯網時代
RISC
RISC的英文全稱為“Reduced Instruction Set Computer”,即“精簡指令集計算機”,是一種執行較少類型計算機指令的微處理器。
CISC
CISC的英文全稱為“Complex Instruction Set Computer”,即“復雜指令系統計算機”,從計算機誕生以來,人們一直沿用CISC指令集方式。
CPU包含有豐富的電路單元,因而功能強、面積大、功耗大。
RISC和CISC的區別
以下轉自https://zhuanlan.zhihu.com/p/346864380簡述risc和cisc的區別
1、指令系統
CISC
計算機的指令系統比較豐富,有專用指令來完成特定的功能。因此,處理特殊任務效率較高。
RISC
設計者把主要精力放在那些經常使用的指令上,盡量使它們具有簡單高效的特色。對不常用的功能,常通過組合指令來完成。因此,在RISC 機器上實現特殊功能時,效率可能較低。但可以利用流水技術和超標量技術加以改進和彌補。
2、存儲器操作
CISC
機器的存儲器操作指令多,操作直接。
RISC
對存儲器操作有限制,使控制簡單化。
3、程序
CISC
匯編語言程序編程相對簡單,科學計算及復雜操作的程序社設計相對容易,效率較高。
RISC
匯編語言程序一般需要較大的內存空間,實現特殊功能時程序復雜,不易設計。
4、中斷
CISC
機器是在一條指令執行結束后響應中斷。
RISC
機器在一條指令執行的適當地方可以響應中斷。
5、CPU
CISC
CPU包含有豐富的電路單元,因而功能強、面積大、功耗大。
RISC
CPU包含有較少的單元電路,因而面積小、功耗低。
6、設計周期
CISC
微處理器結構復雜,設計周期長。
RISC
微處理器結構簡單,布局緊湊,設計周期短,且易于采用最新技術。
7、用戶使用
CISC
微處理器結構復雜,功能強大,實現特殊功能容易。
RISC
微處理器結構簡單,指令規整,性能容易把握,易學易用。
8、應用范圍
CISC
機器則更適合于通用機。
RISC
由于RISC指令系統的確定與特定的應用領域有關,故RISC 機器更適合于專用機。
我們經常談論有關“PC”與“Macintosh”的話題,但是又有多少人知道以Intel公司X86為核心的PC系列正是基于CISC體系結構,而 Apple公司的Macintosh則是基于RISC體系結構,CISC與RISC到底有何區別?
從硬件角度來看CISC處理的是不等長指令集,它必須對不等長指令進行分割,因此在執行單一指令的時候需要進行較多的處理工作。而RISC執行的是等長精簡指令集,CPU在執行指令的時候速度較快且性能穩定。因此在并行處理方面RISC明顯優于CISC,RISC可同時執行多條指令,它可將一條指令分割成若干個進程或線程,交由多個處理器同時執行。由于RISC執行的是精簡指令集,所以它的制造工藝簡單且成本低廉。
從軟件角度來看,CISC運行的則是我們所熟識的DOS、Windows操作系統。而且它擁有大量的應用程序。因為全世界有65%以上的軟件廠商都理為基于CISC體系結構的PC及其兼容機服務的,象赫赫有名的Microsoft就是其中的一家。而RISC在此方面卻顯得有些勢單力薄。雖然在RISC上也可運行DOS、Windows,但是需要一個翻譯過程,所以運行速度要慢許多。
目前CISC與RISC正在逐步走向融合,Pentium Pro、Nx586、K5就是一個最明顯的例子,它們的內核都是基于RISC體系結構的。他們接受CISC指令后將其分解分類成RISC指令以便在遇一時間內能夠執行多條指令。由此可見,下一代的CPU將融合CISC與RISC兩種技術,從軟件與硬件方面看二者會取長補短。
RISC-V
RISC-V(讀作“RISC-FIVE”)是基于精簡指令集計算(RISC)原理建立的開放指令集架構(ISA),V表示為第五代RISC。
RISC-V是開源的,與大多數ISA相反,RISC-V ISA可以免費地用于所有希望的設備中,允許任何人設計、制造和銷售RISC-V芯片和軟件。它雖然不是第一個開源的的指令集(ISA),但它很重要,因為它第一個被設計成可以根據具體場景可以選擇適合的指令集的指令集架構。
基于RISC-V指令集架構可以設計服務器CPU,家用電器cpu,工控cpu和用在比指頭小的傳感器中的cpu。
使用的有英偉達、WD、SiFive,國內的阿里平頭哥、晶心科技、北京君正等。
RISC-V ISA是模塊化設計,可以自由裁剪,可拓展專業化,用戶能夠靈活選擇不同的模塊組合,來實現自己定制化設備的需要。這種模塊化是x86和arm架構不具備的。
RISC-V ISA兼顧數據傳輸速率和數據量,是以數據為中心的架構。
缺點是生態系未成熟,分歧不利于整合。
RISC-V 有望成為IOT/AI時代的新一代主流。
總結
以上是生活随笔為你收集整理的Cortex-Mx简介及CPU主流架构的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Catlike Coding网站文章解析
- 下一篇: GPU Gems1 - 23 景深技术综