問題1:這個100米頻率的CPU只能處理70%,如果你換成200米頻率的CPU就可以了。
備註:系統的處理能力涉及多種因素. 在通信業務中, 瓶頸通常在記憶體中. 無論CPU有多快, 外部訪問無法啟動是徒勞的.
問題2:如果CPU使用更大的緩存,它應該更快
備註:緩存的新增不一定會導致系統性能的提高。 在某些情况下,關閉緩存比使用緩存更快。 原因是移動到緩存中的數據必須多次重用,以提高系統效率。 囙此,在通信系統中,通常只打開指令緩存。 即使打開了數據緩存,它也僅限於存儲空間的一部分,例如堆棧部分。 同時,程式設計還需要考慮緩存的容量和塊大小,這涉及關鍵程式碼迴圈體的長度和跳轉範圍。 如果一個迴圈只比緩存大一點點,並且迴圈被重複,那麼它將很糟糕。
問題3:那麼多任務使用中斷或査詢嗎? 或者他們應該更快地中斷?
備註:中斷是實时的,但不一定很快。 如果有太多中斷的任務,這個任務不會退出,然後一個接一個地出現,系統會在一段時間內崩潰。 如果任務數量很大但非常頻繁,那麼大量的CPU能量將花費在中斷的輸入和輸出開銷上,系統效率極低。 如果切換到査詢模式,效率可以大大提高,但査詢有時無法滿足實时性要求,囙此最好的方法是在中斷中進行査詢,即在輸入中斷後,將處理所有累積的任務,然後退出。
問題4:記憶體介面的計時是出廠默認配寘,無需修改
備註:記憶體介面的BSP設定的預設值都是根據最保守的參數設置的。 在實際應用中,應將公交車運行頻率和等待時間與參數相結合,進行合理部署。 有時降低頻率可以提高效率。 例如,當RAM訪問週期為70ns,匯流排頻率為40M時,設定3個週期的訪問時間,即75ns; 如果匯流排頻率為50M,則必須將其設定為4個週期,實際訪問時間已降至80ns。
問題5:如果一個CPU不能處理它,只需使用兩個分佈式處理,處理能力可以加倍
評論:兩個人搬磚的效率應該是一個人的兩倍; 對於繪畫,只有一個人能幫上忙。 只有在對業務有了更多的瞭解之後,才能確定要使用多少個CPU。 儘量減少兩個CPU之間的協調成本,使1+1盡可能接近2,並且永遠不要小於1。
問題6:這個CPU有一個DMA模塊,用它來移動數據必須更快
注釋:真正的DMA是在硬體搶佔匯流排後同時啟動兩個設備,並在一個週期內到處讀取。 然而,許多嵌入在CPU中的DMA只是類比。 在啟動每個DMA之前,必須做很多準備工作(設定啟動地址和長度等)。 在傳輸過程中,通常先讀取晶片中的臨時記憶體,然後再將其寫出。 也就是說,一次移動數據需要兩個時鐘週期,這比軟件移動快(沒有指令獲取,沒有額外的工作,例如迴圈跳轉),但如果一次只移動幾個位元組,則仍需要做大量準備工作。 通常,它還涉及函數調用,這是無效的。 囙此,該DMA僅適用於大數據塊。