系統芯片(SOC)架構- Aviral Mittal

系統芯片(SOC)架構- Aviral Mittal

System on Chip Architecture-Aviral Mittal

此技術是在設計片上系統時考慮體系結構級別的因素。同樣,範圍是圍繞soc,soc將使用ARM的Cortex-M級處理器。

The first issue perhaps is Hosted Vs Hostless SoC:

第一個問題可能是託管與無主機SoC:

讓我們先了解一下什麼是託管與無主機SoC

託管SoC通常是大型SoC的“伴侶”芯片。大型SoC被稱爲主機SoC:託管SoC的一個例子可以是LTE智能手錶的小型藍牙+顯示驅動SoC,其中LTE SoC是大型主機,而這個小型藍牙+顯示Dirver是託管SoC,即伴生SoC。小型“託管”或“伴生”SoC的功能相當依賴於大型主機SoC。通常,主機SoC將具有主應用處理器和操作系統,並且將通過芯片到芯片的鏈路(例如PCIe或SPI等)來控制小的伴生SoC,因此主機SoC在主機看來將是一種外圍設備。

無主機SoC是非常自給自足的,並且主要是電路板上的主SoC。它通常有自己的應用處理器和操作系統。例如,耳機或揚聲器的音頻+藍牙SoC。這個SoC的功能不依賴於同一塊電路板上的其他SoC,它是電路板上的主要SoC。通常微控制器soc也屬於這一類。

So why it is important to consider Hosted Vs HostLess?

那麼,爲什麼考慮託管與無主機是很重要的呢?

對於託管SoC,設計者可以使用系統上存在的用於大型主機SoC的資源,例如,對於託管SoC,您可以使用主機SoC的NVM存儲器來存儲所有代碼,然後可以將代碼從主機SoC下載到託管SoC。這意味着託管SoC可以是沒有NVM的SoC。這意味着這個SoC的架構將會有很大的不同,因爲代碼已經下載到了它的RAM中。與NVM相比,RAM的速度非常快,因此直接將代碼下載到RAM並從RAM運行可以消除對處理器高速緩存的需求。

這只是一個例子,展示了SoC的設計可能會受到託管與無主機的影響。這樣的例子不勝枚舉。

可以有一個SoC,它既可以在託管模式下工作,也可以在無主機模式下工作。然而,這些將超出本技術的範圍。

Which ARM Cortex-M processor?

在任何SoC設計中,最重要的方面可能是選擇SoC上的主應用處理器。這個應用處理器通常運行一個操作系統,但是對於非常小的應用程序,可能不需要操作系統。

如前所述,此技術的範圍將處理器類型限制爲ARMCortex-M,因此處理器選擇將是ARM Cortex-M之一。下面是一個非常簡短的選擇標準:

ARM Cortex-M0

M0是最小的處理器,最小配置約12K門:適用於低功耗應用,低性能要求。它將足以進行藍牙處理。但是,它沒有安全功能,也不支持跟蹤組件,例如ITM(Instrumentation trace Macrocell)或ETM(Embedded
trace Macrocell)或MTB(Micro trace Buffer)。不要擔心這些ITM、ETM和mtb是什麼,您只需要瞭解,沒有ITM和/或ETM和/或mtb,調試應用程序軟件代碼將變得有點困難。但是M0代碼通常比較簡單和小,因此人們首先會爭論是否需要這些組件。

總線協議:AHB Lite

門計數:12K,最小配置,這是ARM引用的數字。

Cortex-M0門計數(Nand 2等效門):約25k門。

Bus protocol: AHB-Lite

Gate Count: 12 K in Min Config, this is the ARM quoted figure.

ARM Cortex M0 Gate Count (Nand 2 equivalent gates): ~25 K Gates. This is what I obtained from synthesis by dividing reported area by design compiler by the area of 1 Nand 2 gate area of minimum strength from the tech lib.

注:此技術將始終使用Nand 2等效門計數作爲面積分析和麪積比較的度量。很明顯,ARM引用的門計數並不等於Nand 2門,而是門的總數。值得注意的是,如果你是在實際的Nand 2門數之後,ARM引用的M0的12K門數可能會誤導你,這是一個更好的度量。

ARM Cortex-M0+

M0+支持硬件安全。它提供一種特權和非特權操作模式,與可選的內存保護單元不同。(微處理器)。它還爲增強的調試功能提供了可選的MTB(微跟蹤緩衝區)。所以,如果你擔心基本的安全性和調試代碼,但又想擁有一個非常節能的小型處理器,Cortex-M0+也許是你的正確選擇。

總線協議:AHB Lite

門數:未知

ARM Cortex-M3

與Cortex-M0或M0+相比,ARM Cortex-M3具有更多的處理能力。它默認添加MAC(multiply accumulate)指令以支持單週期乘法,這在M0、M0+中是可選的,將中斷從32增加到240,添加硬件除法單元,升級到ARMv7-M指令集體系結構,並具有ETM(嵌入式跟蹤宏單元)支持增強的跟蹤和調試功能。

顯然,它保留了特權和非特權操作模式與可選內存保護單元的區別。(微處理器)。

總線協議:AHB Lite+APB

ARM Cortex M3門數(Nand 2等效門):約105K門。

因此,選擇Cortex-M3而不是M0的價格,在面積上大約是4-4.5倍。

ARM Cortex-M4

與M3相比,ARM Cortex-M4具有更大的處理能力。它添加了 “SMID” (單指令多數據)指令,與M3中的多時鐘週期執行相比,它在單時鐘週期中完成了一些指令。它適合於將DSP應用程序添加到SoC中。它提供一個單精度浮點單元作爲選項。所以如果你想運行一些DSP應用程序,那麼這就是你的處理器。

總線協議:AHB Lite+APB

ARM Cortex M4門數(Nand 2等效門):帶FPU的約180K門。

因此,選擇Cortex-M4而不是M3的價格,即增加數字信號處理器應用的價格,在面積上大約是2倍。

ARM Cortex-M33

ARM Cortex-M33主要用於增加硬件安全性。它增加了ARM信任區支持,中斷線增加到480,增加了可選的協處理器接口,並具有可選的FPU+DSP指令。所以這更像是一個增加了安全性的Cortex-M4。不知道爲什麼叫M33,我寧願叫M44。

因此,如果特權和非特權模式不符合您的安全要求,並且您必須具有ARM信任區,那麼這就是您的處理器。注意,協議現在是AHB5(與AHB Lite不同)。

總線協議:AHB5+APB

ARM Cortex M33門計數(Nand 2等效門):不知道,但我會說它應該與Cortex-M4非常相似,所以讓我用FPU估計它爲~200k門。

ARM Cortex-M7

ARM Cortex-M7主要用於需要更高性能的系統。它有專用的緊耦合內存接口,指令TCM(ITCM)和數據TCM(DTCM),在這裏你可以放置你的關鍵代碼,這將運行得非常快。它還具有AXI接口,可以再次提高性能。您還可以獲得內置的可選指令緩存和數據緩存,這可以再次提高性能。

但是從安全角度來看,它不支持ARM信任區。

總線協議:AXI+AHB-Lite+APB。

ARM Cortex-M7門計數:未知。

ARM Cortex -M7+

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章