時(shí)間:2006-06-28 17:44:00來源:0
圖1直接映像示意圖
按照Cache的行數(shù)m,把主存分為n/m個(gè)區(qū)域,每個(gè)區(qū)中有m個(gè)存儲(chǔ)塊。各區(qū)中的0~(m-1)塊一一對(duì)應(yīng)地固定映射到Cache中L0~Lm-1行。這樣,標(biāo)簽只要給定區(qū)地址(區(qū)號(hào)),就能唯一確定Cache行與存儲(chǔ)器的對(duì)應(yīng)關(guān)系。當(dāng)CPU發(fā)出存儲(chǔ)器訪問時(shí),以存儲(chǔ)器地址作為行索引,尋址到一高速緩沖行,檢測(cè)該行的標(biāo)簽。若標(biāo)簽與存儲(chǔ)器的相應(yīng)地址匹配,則Cache命中。該高速緩存行當(dāng)前即為欲訪問存儲(chǔ)塊的唯一映像。從上面的分析可以看出,在寫直達(dá)模式下,由于每次Cache內(nèi)容有更新,就要對(duì)主存進(jìn)行寫入操作,造成總線活動(dòng)頻繁。在Cache命中的過程中,如果總線遇到干擾,就會(huì)出現(xiàn)數(shù)據(jù)不一致的現(xiàn)象。
3 Cache一致性問題的解決方法
該問題可以從軟件及硬件兩方面著手解決。
3.1 軟件解決的方法
S3C44B0X的Cache提供完整的Cache使能和禁止操作模式。能夠通過設(shè)置SYSCFG寄存器中CM域中的值為01或11來使能Cache(其中,01為使能4 KB Cache, 11為使能8 KB Cache),而通過清除SYSCFG寄存器中[2:1]域?yàn)?來禁止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個(gè)不能Cache訪問的區(qū)域(noncacheable area)。每個(gè)區(qū)域要求兩個(gè)Cache控制域,用來表明每一個(gè)不能Cache訪問區(qū)域的起始和結(jié)束地址。在不能Cache訪問的區(qū)域,當(dāng)Cache沒有命中,一個(gè)讀的時(shí)候,Cache不能更新。在已知影響到數(shù)據(jù)不一致的地址情況下,可以在使能Cache的條件下,用設(shè)定不能Cache訪問區(qū)域的方法,防止產(chǎn)生數(shù)據(jù)不一致現(xiàn)象。有時(shí),如果數(shù)據(jù)區(qū)域被安排在不能Cache區(qū)域,程序執(zhí)行速度更高,因?yàn)槎鄶?shù)變量是不能重用的。對(duì)于不能重用的變量,刷新16 B的Cache存儲(chǔ)器是浪費(fèi)的。本系統(tǒng)中設(shè)定不能Cache訪問的區(qū)域?yàn)?x2000000~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ù)不一致性的問題。但一個(gè)高性能的系統(tǒng)是需要Cache的,禁止Cache的使用會(huì)大大降低系統(tǒng)的性能。所以,在嵌入式系統(tǒng)的設(shè)計(jì)中,還應(yīng)從硬件方面考慮,從根本上防止數(shù)據(jù)不一致的產(chǎn)生。
3.2 硬件的解決方法
由于現(xiàn)在的嵌入式處理器,主頻越來越高,地址、數(shù)據(jù)線越來越多,所以在硬件的設(shè)計(jì)和焊接過程中應(yīng)特別注意高頻干擾的問題。因?yàn)楦哳l干擾可以引起信號(hào)的不完整性,這些不完整的信號(hào)會(huì)引起總線傳輸過程中出現(xiàn)一些壞字節(jié),所以高速PCB設(shè)計(jì)變得尤為重要。高速PCB設(shè)計(jì)中,對(duì)高速信號(hào)網(wǎng)絡(luò)的特征與走線
控制的設(shè)計(jì)技術(shù),已成為高速數(shù)字設(shè)備成功與否的關(guān)鍵。在設(shè)計(jì)中應(yīng)注意下列問題:
① 在成本允許的條件下, PCB盡量采用多層板布線。
?、?高頻電路布線的引線最好采用全直線,需要轉(zhuǎn)折時(shí),可以用45°折線或圓弧轉(zhuǎn)折。在高頻電路中,滿足這一要求可以減少高頻信號(hào)對(duì)外的發(fā)射和相互間的耦合。
③ 高頻電路器件引腳的引線層間的交替越少越好,過孔越少越好。據(jù)測(cè),一個(gè)過孔可帶來約0.5 pF的分布電容,減少過孔數(shù)量能顯著提高速度。
?、?高頻電路布線要注意信號(hào)線近距離平行走線所引入的“交叉干擾”,若無法避免平行分布,可在平行信號(hào)線的反面布置大面積“地”來減少干擾。同一層內(nèi)的平行走線幾乎無法避免,但是在相鄰的兩個(gè)層,走線的方向務(wù)必取為相互垂直。
?、?每個(gè)集成電路塊的附近應(yīng)設(shè)置一個(gè)高頻退耦電容。
?、?模擬電路和數(shù)字電路部分,應(yīng)有各自獨(dú)立的地線。
?、?對(duì)特別重要的信號(hào)線或局部單元實(shí)施地線包圍的措施,各類信號(hào)走線不能形成環(huán)路,地線也不能形成電流環(huán)路。
在注意了上面的設(shè)計(jì)規(guī)則之后,制作出的PCB基本上可以滿足高速信號(hào)的要求。
最后,就是在焊接時(shí)要注意焊點(diǎn)一定要圓滑。因?yàn)楹更c(diǎn)的尖峰會(huì)產(chǎn)生很強(qiáng)的高頻干擾。有了上述各條規(guī)則,就保證了在信號(hào)傳輸過程中,總線上不會(huì)出現(xiàn)不必要的干擾,防止了數(shù)據(jù)不一致的發(fā)生。
結(jié)語
嵌入式處理器已經(jīng)被廣泛應(yīng)用。本文提到的對(duì)S3C44B0X中Cache數(shù)據(jù)不一致性的處理方法同樣適用于其他型號(hào)的高頻嵌入式處理器。掌握一些設(shè)計(jì)、調(diào)試的基本經(jīng)驗(yàn),可以大大提高工作效率,減小系統(tǒng)開發(fā)過程中不必要的麻煩。
標(biāo)簽:
傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為傳動(dòng)網(wǎng)(m.y3602.cn)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來源“傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。
產(chǎn)品新聞
更多>勇梅機(jī)械液壓閘門給煤機(jī)的優(yōu)點(diǎn)
2025-10-22
2025-10-17
2025-10-11
「一體機(jī)性價(jià)比王者」NK290M普及型數(shù)控...
2025-10-09
耐磨管道機(jī)器人檢測(cè)電纜CCTV,水下管道...
2025-09-23
影視舞臺(tái)燈光低煙無鹵扁平電纜13*4+2*(2...
2025-09-23