cache優化文章整理

1.萬方數據上的一篇論文,據說進過DMA優化後,硬件仿真軟件仿真的CPU週期數相差很小,該方法亟待測試和驗證

http://d.wanfangdata.com.cn/Periodical_dqdzjxxb200902019.aspx

2.對cache優化的幾個方面做了很好的介紹,講得很詳細

http://www.cnblogs.com/jinrize/archive/2010/01/29/1659126.html

3.對DMA的具體操作進行了舉例

http://hi.baidu.com/zcug_071/blog/item/5c5f5dc12a683d38e5dd3b4f.html

4.講得比較全,值得參考

http://hi.baidu.com/shmily_soc/blog/item/2d8f5b83bc0639a70df4d217.html


幾個要點及問題的總結:

-1.由於圖像數據量大,採用片上內存較小的DSP芯片時,大量的運行時間將浪費在片內、外存儲器的數據交換上,因此爲了提高性能,需專注於存儲結構的優化

0.CPU只訪問L1的數據,程序代碼和數據必須經過存儲器到L2,再由L2到L1的逐級搬移才能被CPU訪問。

1.L1D Cache不命中訪問L2 Cache的時鐘延遲是8個時鐘週期,而L1D Cache不命中訪問L2 SRAM的時鐘延遲是6個時鐘週期。

    爲什麼訪問L2 Cache的時鐘延遲要高呢?

2.Cache優化流程爲應用級->程序級->算法級。應用級優化即爲合理安排Cache和SRAM的大小,以及採用DMA搬運數據。程序級的優化旨在減少conflict miss。

3.LIP優化策略:

   在同一循環裏或在某些特定時間幀裏面反覆調用的多個函數,需要考慮重排。

   L1P Cache的Cache line爲32byteC64x的指令長度一般爲4B,這就表示在L1P Cache讀取指令的時候,其實每次是讀取8條指令。基於此,保證每個函數在存儲器中的起始地   址是32B對齊是有效利用L1P Cache的方式。

4.簡單配置L2 Cache提高Cache性能十分有限,在L2 SRAM上開闢雙緩衝實現乒乓操作,可以在很大程度上提高Cache性能?值得驗證!

   採用緩衝結構的時候,緩衝區的大小設置是需要慎重考慮的。既要考慮DMA的效率,也好考慮系統運行必須的內存空間。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章