1. 仲裁含義
“仲裁”漢字的意思是一個人站在中立的位置來裁定,保證正常的秩序。因此,涉及裁定,肯定存在資源分配的矛盾,本來就一個東西卻有2方甚至多方爭占。在生活中有仲裁,同樣在架構中也有仲裁。
而在嵌入式處理器架構中,主要涉及運算和數據傳輸的矛盾需要仲裁,來保證系統的正常運行。因此,可以通過仲裁的角度將各個處理器架構做一個串聯,便于我們學習和理解,文中只是本人自己學習處理器架構的筆記總結,僅供學習參考。
2. 各類處理器中的仲裁
微型控制器的核心是不斷的從存儲器中讀取指令和數據送入運算單元運算后將結果寫入數據存儲器或者輸出,在這個過程中就涉及存儲器和讀寫操作的資源的有限,就會涉及到仲裁處理方式,就出現了2種架構:
1. 馮諾依曼架構的分時復用,分時在一個總線上去訪問同一存儲器來避免沖突矛盾;
2. 哈佛架構的并行處理,2路讀寫總線和2個獨立的存儲器,就不存在沖突矛盾。
當然,當有突發情況出現的時候,MCU必須優先處理該突發情況,這里就涉及到仲裁的另一種處理方式:
3. 這里采用的方式就是我們常說的中斷,可以理解為被突發需優先處理的事打斷,優先處理中斷時間,把手頭的事臨時入庫,待中斷時間處理完后接著出庫處理,這里的入庫出庫即入棧出棧。
PC CPU是針對通用而設計的處理器,就是我們辦公用的電腦,仲裁的處理方式和MCU類似,只是更加復雜:
1. 使用了操作系統來處理各個資源的沖突問題;
2. 使用了線程進程的概念來處理資源的沖突問題。
ARM可理解為是介入MCU和PC間的嵌入式處理器:
1. 比MCU復雜,一般帶微型操作系統實現仲裁處理;
2. 比PC靈活,可剪裁,仲裁的處理沒有PC的復雜;
3.在指令集上深耕數年,使用精簡的指令集,廣泛用于嵌入式行業,可以理解從指令集角度來處理各種操作的矛盾提高效率。
DSP即數字信號處理專用處理器,DSP的沖突更多的是數據的運算和處理能力,原有的MCU架構的仲裁處理方式無法滿足,因此:
1. 增加計算處理能力,有更加豐富的數學運算IP核,如三角函數等高等運算;
2. 增加更多的系統總線架構,來減少指令、數據傳輸間的沖突問題。
GPU起源是用于圖像處理的專用處理器,而圖像的特點就是數據量大,計算量大,后面經過需求的不斷推動,出現了顯卡,而再一波AI潮流,讓GPU大放異彩,用一句話來概括GPU的話就是:N個計算核心下超位寬存儲單元的處理器。
1. N個計算核心,GPU擁有數千個可完成復雜運算的計算核心,可以同時完成數千個計算;
2. 超位寬,一般處理器的外部存儲器DDR受頻率位寬的影響數據傳輸能力有限,那怕有好的仲裁機制也不行,而GPU的DDR位寬是一般處理器的幾十倍,自然數據傳輸上強幾十倍。
FPGA計算和數據傳輸均可定制,但面臨需要仲裁的問題和處理方式同其它類似:
1. 數據計算單元并行化,并行處理大量數據時,涉及數據的加載、暫存和輸出;
2. 多路總線仲裁數據的傳輸,AXI4等總線標準的互聯IP核,實現更大帶寬的數據傳輸,內部數據傳輸受資源的限制,外部受DDR存儲器理論帶寬和DDR仲裁利用率的限制。
3. 總結
FPGA要實現高性能的定制功能,也就重點在你的仲裁處理能力,常用的有:
堆資源,用好幾片FPGA處理器;
使用優質的仲裁架構,讓數據傳輸間效率最優化。
隨著FPGA成本下降,5G的崛起,它會越來越用于傳統行業,也就不再是高端的代名詞,會更多的用于消費對成本敏感的市場,那時候或許更好的FPGA定制會產生更大的市場競爭力,帶來更大的利潤。
例如:用EDA軟件提高的AXI總線互聯IP訪問DDR資源大效率低,而用自己編寫的AXI仲裁代碼只用十分之一的資源而帶來接近雙倍的效率,自然在消費成本敏感市場中占主導地位,或許覺得編寫這樣的AXI仲裁的代價太大,但需求和市場的推動讓我已經在深度學習中編寫實現了這樣的代碼并封裝為IP。
審核編輯 :李倩
-
處理器
+關注
關注
68文章
19168瀏覽量
229153 -
嵌入式
+關注
關注
5068文章
19021瀏覽量
303340 -
微型控制器
+關注
關注
0文章
6瀏覽量
5242
原文標題:仲裁角度淺談各類處理器架構
文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論