半導體設計/制造
返回首頁

如何選擇合適的處理器內核

2020-12-01 來源:EEWORLD

處理器內核越復雜,面積和功耗就越大。但是,隨著處理器處理數據的方式變得更加復雜,復雜性并不是一個單一的衡量維度。在選擇處理器IP內核時,為您的項目選擇正確的復雜性很重要。


思考復雜性的一些方法包括:


字節長

執行單元

特權/保護

虛擬內存

安全功能


通常,字節越短,內核越小,功率越低,但是,并非總是如此。8位內核(例如8051)的門數可與最小的32位內核相比,但功耗通常更差。8位內核需要更多的存儲器訪問權限,這是因為每個時鐘周期需要較少的計算量,需要更多的周期。最終的影響是它需要更多功能來完成計算。


處理器內核在其執行單元的復雜性方面差異很大。最簡單的是基本的單個ALU,它們需要通過簡單的指令來實現許多通用操作。例如,使用shift和add來實現乘法。因此,內核具有硬件乘法器和除法器是普遍的。如果需要良好的浮點性能,則添加硬件浮點單元將提供明顯更好的性能。此選項可用于Codasip的Bk3和Bk5 RISC-V內核,但價格更貴。


到目前為止,我們已經假設單個計算線程和標量處理單元可以一次執行一條指令。超標量體系結構具有指令級并行性,能夠提取多個指令并將其發送到不同的執行單元。例如,Western Digital EH1和EH2 SweRV內核有兩個執行單元。理論上,單線程雙核處理器可以具有單核兩倍的性能。但是,線程可能會掛起,這會使兩個執行單元暫時處于非活動狀態。如果有兩個硬件線程,一個線程掛起后,另一個線程可以繼續執行。


處理器的流水線深度可能有很大差異,并且深度與延遲之間存在直接關系。一些應用程序可以忍受高延遲,結果是對中斷的響應變慢,以換取較高的時鐘頻率和吞吐量。其他應用程序需要對中斷的快速響應,因此需要更短的流水線。


復雜性的另一個方面是特權模式。模式越多,核心邏輯就越復雜。許多嵌入式應用程序以機器模式運行,這意味著代碼具有對內核的完全訪問權限。例如Linux中的root特權。必須完全信任此類代碼,以避免產生負面后果。在更復雜的應用程序中,可以提供一系列特權,例如機器,管理員和用戶。普通應用程序將在具有最大保護程度的用戶模式下運行,而一些需要更高權限的軟件將使用管理員模式。 Linux需要這三種模式,這就是Codasip開發具有Linux功能的Bk7內核的原因。


虛擬內存還需要其他處理器資源,例如內存管理單元(MUU)和轉換后備緩沖器(TLB),以處理將虛擬內存地址轉換為物理地址的操作。這在面積和功耗方面帶來了額外的成本,而沒有提高處理器的吞吐量。但是,虛擬內存對于使用豐富的操作系統(例如Linux)是必不可少的,該操作系統可以使用更復雜的軟件。


因此,在選擇處理器內核時,請確定所需的執行單元,內存管理,特權和安全性。這種結合將決定內核的復雜性。

進入半導體設計/制造查看更多內容>>
相關視頻
  • 嵌入式系統高級C語言編程(東南大學凌明)

  • 機器學習從零到一

  • 直播回放: 與英飛凌一起探索智能門鎖背后的黑科技

  • 計算機視覺與深度學習

  • 跟我學myRIO

  • VLSI設計基礎(數字集成電路設計基礎)(東南大學)

    相關電子頭條文章
萝卜大香蕉