硬件設計怎么做,設計軟件流程分析?( 二 )


點 評:對于內部不太復雜的芯片功耗是很難確定的 , 它主要由引腳上的電流確定 , 一個ABT16244 , 沒有負載的話耗電大概不到1毫安 , 但它的指標是每個腳可 驅動60毫安的負載(如匹配幾十歐姆的電阻) , 即滿負荷的功耗最大可達60*16=960mA , 當然只是電源電流這么大 , 熱量都落到負載身上了 。
現象六:存儲器有這么多控制信號 , 我這塊板子只需要用OE和WE信號就可以了 , 片選就接地吧 , 這樣讀操作時數據出來得快多了 。
點評:大部分存儲器的功耗在片選有效時(不論OE和WE如何)將比片選無效時大100倍以上 , 所以應盡可能使用CS來控制芯片 , 并且在滿足其它要求的情況下盡可能縮短片選脈沖的寬度 。
現象七:這些信號怎么都有過沖???只要匹配得好 , 就可消除了
點 評:除了少數特定信號外(如100BASE-T、CML) , 都是有過沖的 , 只要不是很大 , 并不一定都需要匹配 , 即使匹配也并非要匹配得最好 。象TTL的輸 出阻抗不到50歐姆 , 有的甚至20歐姆 , 如果也用這么大的匹配電阻的話 , 那電流就非常大了 , 功耗是無法接受的 , 另外信號幅度也將小得不能用 , 再說一般信號 在輸出高電平和輸出低電平時的輸出阻抗并不相同 , 也沒辦法做到完全匹配 。所以對TTL、LVDS、422等信號的匹配只要做到過沖可以接受即可 。
現象八:降低功耗都是硬件人員的事 , 與軟件沒關系
點 評:硬件只是搭個舞臺 , 唱戲的卻是軟件 , 總線上幾乎每一個芯片的訪問、每一個信號的翻轉差不多都由軟件控制的 , 如果軟件能減少外存的訪問次數(多使用寄存 器變量、多使用內部CACHE等)、及時響應中斷(中斷往往是低電平有效并帶有上拉電阻)及其它爭對具體單板的特定措施都將對降低功耗作出很大的獻 。
三:系統效率
現象一:這主頻100M的CPU只能處理70% , 換200M主頻的就沒事了
點評:系統的處理能力牽涉到多種多樣的因素 , 在通信業務中其瓶頸一般都在存儲器上 , CPU再快 , 外部訪問快不起來也是徒勞 。
現象二:CPU用大一點的CACHE , 就應該快了
點 評:CACHE的增大 , 并不一定就導致系統性能的提高 , 在某些情況下關閉CACHE反而比使用CACHE還快 。原因是搬到CACHE中的數據必須得到多次 重復使用才會提高系統效率 。所以在通信系統中一般只打開指令CACHE , 數據CACHE即使打開也只局限在部分存儲空間 , 如堆棧部分 。同時也要求程序設計 要兼顧CACHE的容量及塊大小 , 這涉及到關鍵代碼循環體的長度及跳轉范圍 , 如果一個循環剛好比CACHE大那么一點點 , 又在反復循環的話 , 那就慘了 。
現象三:這么多任務到底是用中斷還是用查詢呢?還是中斷快些吧
點 評:中斷的實時性強 , 但不一定快 。如果中斷任務特別多的話 , 這個沒退出來 , 后面又接踵而至 , 一會兒系統就將崩潰了 。如果任務數量多但很頻繁的話 , CPU的 很大精力都用在進出中斷的開銷上 , 系統效率極為低下 , 如果改用查詢方式反而可極大提高效率 , 但查詢有時不能滿足實時性要求 , 所以最好的辦法是在中斷中查 詢 , 即進一次中斷就把積累的所有任務都處理完再退出 。
現象四:存儲器接口的時序都是廠家默認的配置 , 不用修改的
點評:BSP對存儲 器接口設置的默認值都是按最保守的參數設置的 , 在實際應用中應結合總線工作頻率和等待周期等參數進行合理調配 。有時把頻率降低反而可提高效率 , 如RAM的 存取周期是70ns , 總線頻率為40M時 , 設3個周期的存取時間 , 即75ns即可;若總線頻率為50M時 , 必須設為4個周期 , 實際存取時間卻放慢到了 80ns 。
現象五:一個CPU處理不過來 , 就用兩個分布處理 , 處理能力可提高一倍
點評:對于搬磚頭來說 , 兩個人應該比一個人的效率高一倍;對于作畫來說 , 多一個人只能幫倒忙 。使用幾個CPU需對業務有較多的了解后才能確定 , 盡量減少兩個CPU間協調的代價 , 使1+1盡可能接近2 , 千萬別小于1 。

推薦閱讀