国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

Cache在嵌入式處理器中的使用問題

發布時間:2010-9-1 09:07    發布者:techshare
關鍵詞: Cache , 處理器 , 嵌入式
隨著嵌入式計算機應用的發展,嵌入式CPU的主頻不斷提高,這就造成了慢速系統存儲器不能匹配高速CPU處理能力的情況。為了解決這個問題,許多高性能的嵌入式處理器內部集成了高速緩存Cache。其中,三星公司的S3C44B0X內部就集成了8 KB空間統一的指令和數據Cache。

Cache即高速緩沖存儲器,是位于CPU與主存之間一種容量較小,但速度很高的存儲器。由于CPU在進行運算時,所需的指令和數據都是從主存中提取的,而CPU運算速度要比主存讀寫速度快得多,這樣極其影響整個系統的性能。采用Cache技術,即在Cache中存放CPU常用的指令和數據,然后將這些數據和指令以一定的算法和策略從主存中調入,使CPU可以不必等待主存數據而保持高速操作。這樣就滿足了嵌入式系統實時、高效的要求。但Cache的使用也帶來了一致性的問題,在應用中應特別注意。

1 Cache一致性問題的發現

本項目的目標板為:處理器采用ARM芯片S3C44B0X,存儲器采用2片Flash和1片SDRAM,在調試的時候輸入采用鍵盤,輸出采用顯示器,用RS232串口實現通信。

在項目的開發過程中,經軟件仿真調試成功的程序,燒入目標板后,程序卻發生異常中止。通過讀存儲器的內容發現,程序不能正常運行在目標板上,是因為存儲器中寫入的數據與程序編譯生成的數據不一致,總是出現一些錯誤字節。

經過一段時間的調試發現,只要在程序中禁止Cache的使用,存儲器中寫入的數據將不再發生錯誤,程序可以正常運行,但速度明顯減慢。經過分析,認為問題是由于Cache數據與主存數據的不一致性造成的。

Cache數據與主存數據不一致是指:在采用Cache的系統中,同樣一個數據可能既存在于Cache中,也存在于主存中,兩者數據相同則具有一致性,數據不相同就叫做不一致性。如果不能保證數據的一致性,那么,后續程序的運行就要出現問題。

2 分析Cache的一致性問題

要解釋Cache的一致性問題,首先要了解Cache的工作模式。Cache的工作模式有兩種:寫直達模式(write?through)和寫回模式(writeback)。寫直達模式是,每當CPU把數據寫到Cache中時,Cache控制器會立即把數據寫入主存對應位置。所以,主存隨時跟蹤Cache的最新版本,從而也就不會有主存將新數據丟失這樣的問題。此方法的優點是簡單,缺點是每次Cache內容有更新,就要對主存進行寫入操作,這樣會造成總線活動頻繁。S3C44B0X中的Cache就是采用的寫直達模式(write?through)。在寫直達模式下,數據輸出時,系統會把數據同時寫入高速緩沖存儲器Cache和主存中,這樣就保證了輸出時高速緩沖存儲器的一致性。但該模式下,卻無法保證輸入時的高速緩沖存儲器的一致性。

下面再看一下Cache的組織方式。按照主存和Cache之間的映像關系,Cache有三種組織方式。全相聯方式、直接映像方式和組相聯方式。其中,直接映像方式的原理如圖1所示。


  
圖1 直接映像示意圖

按照Cache的行數m,把主存分為n/m個區域,每個區中有m個存儲塊。各區中的0"(m-1)塊一一對應地固定映射到Cache中L0"Lm-1行。這樣,標簽只要給定區地址(區號),就能唯一確定Cache行與存儲器的對應關系。當CPU發出存儲器訪問時,以存儲器地址作為行索引,尋址到一高速緩沖行,檢測該行的標簽。若標簽與存儲器的相應地址匹配,則Cache命中。該高速緩存行當前即為欲訪問存儲塊的唯一映像。從上面的分析可以看出,在寫直達模式下,由于每次Cache內容有更新,就要對主存進行寫入操作,造成總線活動頻繁。在Cache命中的過程中,如果總線遇到干擾,就會出現數據不一致的現象。

3 Cache一致性問題的解決方法

該問題可以從軟件及硬件兩方面著手解決。

3.1 軟件解決的方法

S3C44B0X的Cache提供完整的Cache使能和禁止操作模式。能夠通過設置SYSCFG寄存器中CM域中的值為01或11來使能Cache(其中,01為使能4 KB Cache, 11為使能8 KB Cache),而通過清除SYSCFG寄存器中[2:1]域為0來禁止Cache功能。用禁止Cache的方法來消除數據不一致性問題,具體代碼如下:



另外,S3C44B0X還提供了2個不能Cache訪問的區域(noncacheable area)。每個區域要求兩個Cache控制域,用來表明每一個不能Cache訪問區域的起始和結束地址。在不能Cache訪問的區域,當Cache沒有命中,一個讀的時候,Cache不能更新。在已知影響到數據不一致的地址情況下,可以在使能Cache的條件下,用設定不能Cache訪問區域的方法,防止產生數據不一致現象。有時,如果數據區域被安排在不能Cache區域,程序執行速度更高,因為多數變量是不能重用的。對于不能重用的變量,刷新16 B的Cache存儲器是浪費的。本系統中設定不能Cache訪問的區域為0x2000000"0xc000000,就可以解決數據不一致問題。代碼如下:



采用上述兩種方法,排除了數據不一致性的問題。但一個高性能的系統是需要Cache的,禁止Cache的使用會大大降低系統的性能。所以,在嵌入式系統的設計中,還應從硬件方面考慮,從根本上防止數據不一致的產生。

3.2 硬件的解決方法

由于現在的嵌入式處理器,主頻越來越高,地址、數據線越來越多,所以在硬件的設計和焊接過程中應特別注意高頻干擾的問題。因為高頻干擾可以引起信號的不完整性,這些不完整的信號會引起總線傳輸過程中出現一些壞字節,所以高速PCB設計變得尤為重要。高速PCB設計中,對高速信號網絡的特征與走線控制的設計技術,已成為高速數字設備成功與否的關鍵。在設計中應注意下列問題:

① 在成本允許的條件下, PCB盡量采用多層板布線。

② 高頻電路布線的引線最好采用全直線,需要轉折時,可以用45°折線或圓弧轉折。在高頻電路中,滿足這一要求可以減少高頻信號對外的發射和相互間的耦合。

③ 高頻電路器件引腳的引線層間的交替越少越好,過孔越少越好。據測,一個過孔可帶來約0.5 pF的分布電容,減少過孔數量能顯著提高速度。

④ 高頻電路布線要注意信號線近距離平行走線所引入的“交叉干擾”,若無法避免平行分布,可在平行信號線的反面布置大面積“地”來減少干擾。同一層內的平行走線幾乎無法避免,但是在相鄰的兩個層,走線的方向務必取為相互垂直。

⑤ 每個集成電路塊的附近應設置一個高頻退耦電容。

模擬電路和數字電路部分,應有各自獨立的地線。

⑦ 對特別重要的信號線或局部單元實施地線包圍的措施,各類信號走線不能形成環路,地線也不能形成電流環路。

在注意了上面的設計規則之后,制作出的PCB基本上可以滿足高速信號的要求。最后,就是在焊接時要注意焊點一定要圓滑。因為焊點的尖峰會產生很強的高頻干擾。有了上述各條規則,就保證了在信號傳輸過程中,總線上不會出現不必要的干擾,防止了數據不一致的發生。

結語

嵌入式處理器已經被廣泛應用。本文提到的對S3C44B0X中Cache數據不一致性的處理方法同樣適用于其他型號的高頻嵌入式處理器。掌握一些設計、調試的基本經驗,可以大大提高工作效率,減小系統開發過程中不必要的麻煩。
本文地址:http://m.qingdxww.cn/thread-24954-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 利用SAM E54 Xplained Pro評估工具包演示CAN轉USB橋接器以及基于CAN的主機和自舉程序應用程序
  • 使用SAM-IoT Wx v2開發板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美一区综合 | 天天干天天夜 | ww4545四虎永久免费地址 | 91麻豆精品国产片在线观看 | 亚洲影视一区二区 | 久久91这里精品国产2020 | 日韩每日更新 | 亚洲三级在线播放 | 精品视频在线观看 | 日本精品视频四虎在线观看 | 91精品国产肉丝高跟在线 | 日韩一区国产二区欧美三 | 国产xxxxx免费视频 | 日韩视频免费观看 | 天天上天天操 | 爱豆传媒2021精品影视 | 欧美视频一区二区专区 | 四虎影院的网址 | 在线观看免费播放网址成人 | 久久国产精品视频一区 | 三级福利片 | 日本人的色道免费网站 | 国产精品天天看特色大片不卡 | 国产精品一区二区手机看片 | 一本久久精品一区二区 | 成人免费看黄网址 | 1204国产成人精品视频 | 九九热精品视频 | 亚洲男人天堂网 | 岛国精品成人 | 国产欧美曰韩一区二区三区 | a男人天堂 | 欧美成a人片在线观看 | 91久久亚洲国产成人精品性色 | 五月婷婷基地 | 在线观看视频一区二区 | 热re99久久精品国99热 | 高清在线一区二区三区亚洲综合 | 亚洲国产精品热久久 | 九九99香蕉在线视频免费 | 日韩精品免费一级视频 |