www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 嵌入式 > 嵌入式教程
[導讀]Cache在嵌入式處理器中的使用問題

  隨著嵌入式計算機應用的發(fā)展,嵌入式CPU的主頻不斷提高,這就造成了慢速系統(tǒng)存儲器不能匹配高速CPU處理能力的情況。為了解決這個問題,許多高性能的嵌入式處理器內(nèi)部集成了高速緩存Cache。其中,三星公司的S3C44B0X內(nèi)部就集成了8 KB空間統(tǒng)一的指令和數(shù)據(jù)Cache。

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

1 Cache一致性問題的發(fā)現(xiàn)

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

  在項目的開發(fā)過程中,經(jīng)軟件仿真調(diào)試成功的程序,燒入目標板后,程序卻發(fā)生異常中止。通過讀存儲器的內(nèi)容發(fā)現(xiàn),程序不能正常運行在目標板上,是因為存儲器中寫入的數(shù)據(jù)與程序編譯生成的數(shù)據(jù)不一致,總是出現(xiàn)一些錯誤字節(jié)。

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

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

2 分析Cache的一致性問題

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

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

      
                圖1直接映像示意圖

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

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的方法來消除數(shù)據(jù)不一致性問題,具體代碼如下:

  #define rSYSCFG(*(volatile unsigned *)0x1c00000)
  #define WRBUFOPT (0x8)  //write_buf_on
  #define SYSCFG_0KB (0x0|WRBUFOPT)
  #define SYSCFG_4KB (0x2|WRBUFOPT)
  #define SYSCFG_8KB (0x6|WRBUFOPT)
  #define CACHECFGSYSCFG_0KB
  rSYSCFG= CACHECFG;    //禁止Cache

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

  #define rSYSCFG(*(volatile unsigned *)0x1c00000)
  #define WRBUFOPT (0x8)    //write_buf_on
  #define SYSCFG_0KB (0x0|WRBUFOPT)
  #defineSYSCFG_4KB (0x2|WRBUFOPT)
  #define SYSCFG_8KB (0x6|WRBUFOPT)
  #define CACHECFG SYSCFG_8KB
  #define rNCACHBE0 (*(volatile unsigned *)0x1c00004)
  #define rNCACHBE1 (*(volatile unsigned *)0x1c00008)
  #define Non_Cache_Start(0x2000000)
                //不能Cache訪問的區(qū)域開始地址
  #define Non_Cache_End(0xc000000)
                //不能Cache訪問的區(qū)域結(jié)束地址
  rSYSCFG= CACHECFG;
                // 8 KB cache,寫緩沖使能,data abort使能
  rNCACHBE0= ((Non_Cache_End>>12)<<16)|(Non_Cache_Start>>12);//在上面的數(shù)據(jù)區(qū)域不使用高速緩存Cache

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

3.2 硬件的解決方法

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

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

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

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

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

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

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

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

  在注意了上面的設計規(guī)則之后,制作出的PCB基本上可以滿足高速信號的要求。

  最后,就是在焊接時要注意焊點一定要圓滑。因為焊點的尖峰會產(chǎn)生很強的高頻干擾。

  有了上述各條規(guī)則,就保證了在信號傳輸過程中,總線上不會出現(xiàn)不必要的干擾,防止了數(shù)據(jù)不一致的發(fā)生。

結(jié)語

  嵌入式處理器已經(jīng)被廣泛應用。本文提到的對S3C44B0X中Cache數(shù)據(jù)不一致性的處理方法同樣適用于其他型號的高頻嵌入式處理器。掌握一些設計、調(diào)試的基本經(jīng)驗,可以大大提高工作效率,減小系統(tǒng)開發(fā)過程中不必要的麻煩。
本站聲明: 本文章由作者或相關機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術(shù)
關閉
關閉