發布日期:2022-04-17 點擊率:57
實時系統需要快速和可預見的響應,這歷來是出了名的實施難題。隨著多核處理器的使用,這個困難已經變得越來越大。在本文中,XMOS的市場營銷總監Andy Gothard先生概述了XMOS的xCORE多核微控制器系列如何提供了一種方法,為實時系統帶來了并發處理的優勢…… 在處理器中采用多核體系架構的主要原因有兩個:要盡量避免持續性的工藝線寬縮小所帶來的局限性——實際上是避免摩爾定律的限制——或以一種更有效方法來解決某些類型的問題。在這兩種情況下,系統開發人員都不得不應對同樣的問題;創建在多個內核上同時運行的軟件。 在現實世界中,各種活動不是以線性方式進行的。即使是在諸如工廠生產線這樣的經典線性活動中,其他任務也是相伴主要生產流程而發生的;如子系統的組裝、輪胎成型并安裝在車輪上等等。 計算機已經普遍采取了不同的策略:從早期的實現方法開始,計算機體系架構已迫使開發人員利用單個處理器的線性瓶頸。但是,從20世紀70年代開始,經常有人試圖打破這一櫛楛。 有些應用自然適合于并行運行;通常是那些個中的大問題可以很容易地分成多個較小任務的情況,這些小任務可以同時得到解決。經典的應用是天氣預報或大型物理科學問題。這些類別的問題是由部署了成千上萬個相同處理器的大型超級計算機來解決的。 包括現今的智能手機在內的其他應用,都使用了幾種不同的處理器,包括傳統中央處理單元、圖形處理單元、數字信號處理器和專用邏輯。 而最近多核芯片備受人們關注。這些集成了兩個或兩個以上處理器的單個器件最初被看作是一種可持續獲得更多處理能力、同時使用更少功率的方法,并且已被部署在臺式電腦以及類似應用中。 雖然制造這些類型的多核芯片在物理上相對簡單,但它們也提出了部署方面問題:在臺式環境中,現有應用并不是為多個處理器設計的,一般都是一個應用運行在一個獨立的內核上,而操作系統也管理為其他核分配其他任務。 用于開發和調試運行在多核器件上的應用的新工具正在不斷涌現,但這些仍然不是簡單的任務。特別是調試還是很困難,因為在兩個或兩個以上處理器運行軟件的時候,當一個錯誤發生時,依賴于重新創建一個系統準確狀態的許多標準調試技術已不再適用。 在觀察嵌入式應用、特別是實時應用的時候,問題就變得更大了。即使是用一個傳統單核處理器,也很難開發實時系統。一個特別問題是對一個緊急需求的反應,處理器通常不得不接收一個中斷,暫停當前正在處理的、包括存儲設置的操作,然后對中斷做出反應。這需要時間,但更糟糕的是,它需要的時間并不總是可以預測的。如果有多個處理器,這種不確定性會變得更大。處理器之間的消息傳遞通常是通過共享的內存,這又是不確定的。 一種不同的體系架構 XMOS的xCORE體系架構是專為解決諸多這類問題而創立:特別是,它設計的目的就是要通過一個并發多核體系架構來解決實時應用的問題。 該體系架構的基礎是邏輯內核,這種內核是一個能夠以可確保的最低指令速度順序執行程序的32位處理單元。邏輯內核組合在一起構成了邏輯塊(tiles),每個邏輯塊可容納最多達八個內核。而實體器件可包含一個、兩個或四個邏輯塊。入門級器件xCORE XS1-L4 -64有一個帶有四個內核和400 MHz時鐘速度的邏輯塊。基于硬件的調度器為每個內核分配執行的時間條,所以在這種情況下,每個內核都有100 MIPS的執行速度,或每個周期花10ns來執行任務。這種可預測的執行速率是確定性的核心,所以使xCORE非常適合實時應用。 在一個內核上運行的任務可以是一個更大問題的子集,就像一個大規模并行超級計算機的非常小型版本;或者它們也可以是不同的應用,就像是多應用器件的一個版本。
下一篇: PLC、DCS、FCS三大控
上一篇: 索爾維全系列Solef?PV