亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

提供可變長度高速緩存線的高速緩存器控制器及方法

文檔序號(hào):6398575閱讀:310來源:國知局
專利名稱:提供可變長度高速緩存線的高速緩存器控制器及方法
技術(shù)領(lǐng)域
本發(fā)明涉及處理器高速緩存器設(shè)計(jì),尤其涉及一種提供可變長度高速緩存線的高速緩存器控制器及方法。
背景技術(shù)
處理器高速緩存器(Cache)通常由相聯(lián)存儲(chǔ)器實(shí)現(xiàn)。相聯(lián)存儲(chǔ)器的每一個(gè)存儲(chǔ)塊都具有額外的存儲(chǔ)信息,稱為標(biāo)簽(Tag)。當(dāng)訪問相聯(lián)存儲(chǔ)器時(shí),將地址和每一個(gè)標(biāo)簽同時(shí)進(jìn)行比較,從而對(duì)標(biāo)簽相同的存儲(chǔ)塊進(jìn)行訪問。在全相聯(lián)Cache中,存儲(chǔ)的塊與塊之間,以及存儲(chǔ)順序或保存的存儲(chǔ)器地址之間沒有直接的關(guān)系。程序可以訪問很多的子程序、堆棧和段,而這些子程序、堆棧和段可位于主存儲(chǔ)器的不同部位上。因此,Cache保存著很多互不相關(guān)的數(shù)據(jù)塊,Cache必須對(duì)每個(gè)塊和塊自身的地址加以存儲(chǔ)。當(dāng)請(qǐng)求數(shù)據(jù)時(shí),Cache控制器要把請(qǐng)求地址同所有地址加以比較進(jìn)行確認(rèn)。上述這種Cache結(jié)構(gòu)的主要優(yōu)點(diǎn)是,它能夠在給定的時(shí)間內(nèi)去存儲(chǔ)主存器中的不同的塊,命中率高;缺點(diǎn)是每一次請(qǐng)求數(shù)據(jù)同Cache中的多個(gè)塊中的地址進(jìn)行比較需要相當(dāng)長的時(shí)間,速度較慢。

發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是提供一種提供可變長度高速緩存線的高速緩存器控制器及方法,能夠提高高速緩存器的訪問速度,尤其有利于提高存取列數(shù)據(jù)塊時(shí)的數(shù)據(jù)吞吐效率。為解決上述技術(shù)問題,本發(fā)明提供了一種提供可變長度高速緩存線的高速緩存器控制器,包括高速緩存行偏移設(shè)定模塊,用于確定系統(tǒng)存儲(chǔ)器中通道映射數(shù)據(jù)塊所占的行寬度,作為高速緩存行偏移,所述通道映射數(shù)據(jù)塊內(nèi)包括列數(shù)據(jù)塊;有效高速緩存行尺寸設(shè)定模塊,用于確定所述列數(shù)據(jù)塊內(nèi)每一行數(shù)據(jù)的數(shù)據(jù)長度,作為有效高速緩存行尺寸;行內(nèi)地址偏移設(shè)定模塊,用于確定所述列數(shù)據(jù)塊在所述通道映射數(shù)據(jù)塊內(nèi)行方向的偏移位置,作為行內(nèi)地址偏移;數(shù)據(jù)映射模塊,以所述高速緩存行偏移、有效高速緩存行尺寸和行內(nèi)地址偏移為映射參數(shù),將所述列數(shù)據(jù)塊映射至高速緩存器的存儲(chǔ)部件,從而為所述列數(shù)據(jù)塊創(chuàng)建可變長度高速緩存線。根據(jù)本發(fā)明的一個(gè)實(shí)施例,所述高速緩存器控制器還包括空間基地址和空間范圍設(shè)定模塊,用于確定所述通道映射數(shù)據(jù)塊在所述系統(tǒng)存儲(chǔ)器中的空間基地址和空間范圍,所述數(shù)據(jù)映射模塊采用的映射參數(shù)還包括所述空間基地址和空間范圍。根據(jù)本發(fā)明的一個(gè)實(shí)施例,所述系統(tǒng)存儲(chǔ)器中包括多個(gè)通道映射數(shù)據(jù)塊,所述高速緩存行偏移設(shè)定模塊、有效高速緩存行尺寸設(shè)定模塊、行內(nèi)地址偏移設(shè)定模塊、空間基地址和空間范圍設(shè)定模塊和數(shù)據(jù)映射模塊對(duì)于每一通道映射數(shù)據(jù)塊分別執(zhí)行相應(yīng)的操作。根據(jù)本發(fā)明的一個(gè)實(shí)施例,所述空間基地址和空間范圍對(duì)第一個(gè)通道映射數(shù)據(jù)塊無效。本發(fā)明還提供了一種提供可變長度高速緩存線的方法,包括步驟a,確定系統(tǒng)存儲(chǔ)器中通道映射數(shù)據(jù)塊所占的行寬度,作為高速緩存行偏移,所述通道映射數(shù)據(jù)塊內(nèi)包括列數(shù)據(jù)塊;步驟b,確定所述列數(shù)據(jù)塊內(nèi)每一行數(shù)據(jù)的數(shù)據(jù)長度,作為有效高速緩存行尺寸;步驟C,確定所述列數(shù)據(jù)塊在所述通道映射數(shù)據(jù)塊內(nèi)行方向的偏移位置,作為行內(nèi)地址偏移;步驟d,以所述高速緩存行偏移、有效高速緩存行尺寸和行內(nèi)地址偏移為映射參數(shù),將所述列數(shù)據(jù)塊映射至高速緩存器的存儲(chǔ)部件,從而為所述列數(shù)據(jù)塊創(chuàng)建可變長度高速緩存線。根據(jù)本發(fā)明的一個(gè)實(shí)施例,所述方法還包括確定所述通道映射數(shù)據(jù)塊在所述系統(tǒng)存儲(chǔ)器中的空間基地址和空間范圍,所述映射參數(shù)還包括所述空間基地址和空間范圍。根據(jù)本發(fā)明的一個(gè)實(shí)施例,所述系統(tǒng)存儲(chǔ)器中包括多個(gè)通道映射數(shù)據(jù)塊,所述方法還包括對(duì)每一通道映射數(shù)據(jù)塊分別執(zhí)行所述步驟a至步驟d。根據(jù)本發(fā)明的一個(gè)實(shí)施例,所述空間基地址和空間范圍對(duì)第一個(gè)通道映射數(shù)據(jù)塊無效。與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn)本發(fā)明實(shí)施例的高速緩存器控制器及方法中,在保留原有高速緩存器的功能的同時(shí),能夠?yàn)榱袛?shù)據(jù)塊提供可變長度高速緩存線,使得高速緩存操作與實(shí)際的數(shù)據(jù)需求相匹配,有利于提聞聞速緩存器的命中率。


圖1是本發(fā)明實(shí)施例中通道映射數(shù)據(jù)塊和列數(shù)據(jù)塊的分布結(jié)構(gòu)示意圖;圖2是本發(fā)明實(shí)施例的提供可變長度高速緩存線的方法的流程示意圖;圖3是本發(fā)明實(shí)施例的高速緩存器控制器的結(jié)構(gòu)框圖。
具體實(shí)施例方式下面結(jié)合具體實(shí)施例和附圖對(duì)本發(fā)明作進(jìn)一步說明,但不應(yīng)以此限制本發(fā)明的保護(hù)范圍。參考圖1,假設(shè)有一項(xiàng)程序,需要順序地取用圖1所示的數(shù)據(jù)陣列10 (本文稱為通道映射數(shù)據(jù)塊10)中灰色區(qū)域內(nèi)的數(shù)據(jù)11,該灰色區(qū)域的數(shù)據(jù)11沿列方向排布,本文稱為列數(shù)據(jù)塊11??梢钥吹剑駡D1中灰色區(qū)域這樣的列數(shù)據(jù)塊11,傳統(tǒng)的高速緩存器很難去處理。如果像傳統(tǒng)高速緩存器那樣,將整個(gè)高速緩存器空間映射到同樣的4k(0xl000)空間上,會(huì)導(dǎo)致經(jīng)常性的不命中(Cache miss),帶來很多開銷。在本實(shí)施例中,弓I入新的方案來處理列數(shù)據(jù)塊11,能夠提供可變長度高速緩存線(Cache line)充分利用Cache空間以提高Cache效率。參考圖2,在本實(shí)施例中,在高速緩存器中提供可變長度高速緩存線的方法包括以下步驟步驟a,確定系統(tǒng)存儲(chǔ)器中通道映射數(shù)據(jù)塊所占的行寬度,作為高速緩存行偏移,所述通道映射數(shù)據(jù)塊內(nèi)包括列數(shù)據(jù)塊;步驟b,確定所述列數(shù)據(jù)塊內(nèi)每一行數(shù)據(jù)的數(shù)據(jù)長度,作為有效高速緩存行尺寸;步驟C,確定所述列數(shù)據(jù)塊在所述通道映射數(shù)據(jù)塊內(nèi)行方向的偏移位置,作為行內(nèi)地址偏移;步驟d,以所述高速緩存行偏移、有效高速緩存行尺寸和行內(nèi)地址偏移為映射參數(shù),將所述列數(shù)據(jù)塊映射至高速緩存器的存儲(chǔ)部件,從而為所述列數(shù)據(jù)塊創(chuàng)建可變長度高速緩存線。其中,高速緩存行偏移(本文中記為pitch)用于標(biāo)識(shí)列數(shù)據(jù)塊所處的通道映射數(shù)據(jù)塊的行寬度,從而可以有針對(duì)性的做換行處理。仍然參考圖1中的示例,對(duì)于列數(shù)據(jù)塊11,其所處的通道映射數(shù)據(jù)塊10的寬度為0x1000,即pitch=0xl000。有效高速緩存行尺寸(本文中記為cache_line)用于標(biāo)識(shí)通道映射數(shù)據(jù)塊有效部分的寬度,即列數(shù)據(jù)塊的實(shí)際寬度。由于通道映射數(shù)據(jù)塊每一行的寬度較大,而實(shí)際使用的列數(shù)據(jù)塊的寬度僅占其中一部分,因而引入有效高速緩存行尺寸的參數(shù),有利于充分節(jié)約高速緩存器的空間,同樣也能節(jié)省加載(loading)時(shí)間。仍然參考圖1中的示例,對(duì)于列數(shù)塊11,其在通道映射數(shù)據(jù)塊10內(nèi)所占的寬度為0x40,即cache_line=0x40。行內(nèi)地址偏移(address_shift)用于標(biāo)識(shí)列數(shù)據(jù)塊在行內(nèi)的具體位置。仍然參考圖1中的示例,對(duì)于列數(shù)據(jù)塊11,其在通道映射數(shù)據(jù)塊10中的偏移位置為0x800,即address—shift=0x800。之后,將先前確定的高速緩存行偏移、有效高速緩存行尺寸和行內(nèi)地址偏移作為映射參數(shù),根據(jù)該映射參數(shù)將列數(shù)據(jù)塊11映射至高速緩存器的存儲(chǔ)部件,從而在高速緩存器中為列數(shù)據(jù)塊11開辟一個(gè)通道。由此,映射至高速緩存器中的數(shù)據(jù)將僅是實(shí)際需要的列數(shù)據(jù)塊11,列數(shù)據(jù)塊11之外的其他數(shù)據(jù)將并不會(huì)被映射,從而顯著提高了高速緩存器的命中率。另外,在處理器工作時(shí),可能需要取用來自不同區(qū)域的多個(gè)列數(shù)據(jù)塊,因此可以針對(duì)不同的地址空間定義多組不同的映射參數(shù),即多通道。換言之,在實(shí)際應(yīng)用中,需要取用的多個(gè)列數(shù)據(jù)塊可以位于多個(gè)不同的通道映射數(shù)據(jù)塊內(nèi),因而需要對(duì)于各個(gè)通道映射數(shù)據(jù)塊分別確定相應(yīng)的映射參數(shù)。對(duì)于每一個(gè)通道,或者換言之對(duì)于每一個(gè)通道映射數(shù)據(jù)塊,還需要確定各通道映射數(shù)據(jù)塊在系統(tǒng)存儲(chǔ)器中的空間基地址(本文中記為base_address)和空間范圍(本文記為cachejange),其中,空間基地址標(biāo)識(shí)當(dāng)前通道映射數(shù)據(jù)塊對(duì)應(yīng)存儲(chǔ)空間的基地址;通道映射數(shù)據(jù)塊標(biāo)識(shí)當(dāng)前通道映射數(shù)據(jù)塊所占用的空間范圍。之后,對(duì)于每一通道映射數(shù)據(jù)塊,將對(duì)應(yīng)的空間基地址、空間范圍、高速緩存行偏移、有效高速緩存行尺寸、行內(nèi)地址偏移作為映射參數(shù),將各個(gè)通道映射數(shù)據(jù)塊內(nèi)的列數(shù)據(jù)塊映射至高速緩存器的存儲(chǔ)部件內(nèi)。需要說明的是,對(duì)于第一個(gè)通道映射數(shù)據(jù)塊,空間基地址和空間范圍這兩個(gè)參數(shù)是無效的。第一通道映射數(shù)據(jù)塊的pitch、cache_line以及address_shift參數(shù)將作用于其他通道映射數(shù)據(jù)塊所占的空間外的所有地址空間。
由此,本實(shí)施例的高速緩存器完成了映射,而該高速緩存器的其他功能與通用的高速緩存器一致,例如可以包括標(biāo)簽(Tag)存儲(chǔ),多個(gè)空間塊(bank)區(qū)域,另外也可以有明確的空間替換規(guī)則,比如最近最少使用(LRU, LeastRecently Used)。綜上,采用本實(shí)施例的方法,可以根據(jù)實(shí)際讀寫數(shù)據(jù)的需求,對(duì)列數(shù)據(jù)塊開辟特有的通道,經(jīng)過配置后,高速緩存器對(duì)于列數(shù)據(jù)塊可以實(shí)現(xiàn)非常高效的讀寫。此外,本實(shí)施例還提供了 一種高速緩存器控制器,能夠提供可變長度高速緩存線。參考圖3,該高速緩存器控制器31包括高速緩存行偏移設(shè)定模塊311、有效高速緩存行尺寸設(shè)定模塊312、行內(nèi)地址偏移設(shè)定模塊313、空間基地址和空間范圍設(shè)定模塊314、數(shù)據(jù)映射模塊315。其中,高速緩存器控制器31和存儲(chǔ)部件32可以集成在同一高速緩存器中。進(jìn)一步而言,高速緩存行偏移設(shè)定模塊311用于確定系統(tǒng)存儲(chǔ)器30中通道映射數(shù)據(jù)塊所占的行寬度,作為高速緩存行偏移pitch。有效高速緩存行尺寸設(shè)定模塊312用于確定該列數(shù)據(jù)塊內(nèi)每一行數(shù)據(jù)的數(shù)據(jù)長度,作為有效高速緩存行尺寸caChe_line。行內(nèi)地址偏移設(shè)定模塊313用于確定該列數(shù)據(jù)塊在通道映射數(shù)據(jù)塊內(nèi)行方向的偏移位置,作為行內(nèi)地址偏移。空間基地址和空間范圍設(shè)定模塊314用于確定通道映射數(shù)據(jù)塊在系統(tǒng)存儲(chǔ)器30中的空間基地址和空間范圍。數(shù)據(jù)映射模塊315以高速緩存行偏移、有效高速緩存行尺寸和行內(nèi)地址偏移、空間基地址和空間范圍為映射參數(shù),將列數(shù)據(jù)塊映射至高速緩存器的存儲(chǔ)部件32。關(guān)于該高速緩存器控制器31的更多詳細(xì)信息,請(qǐng)參考前述提供可變長度高速緩存線的方法的相關(guān)描述,這里不再贅述。本發(fā)明雖然以較佳實(shí)施例公開如上,但其并不是用來限定本發(fā)明,任何本領(lǐng)域技術(shù)人員在不脫離本發(fā)明的精神和范圍內(nèi),都可以做出可能的變動(dòng)和修改,因此本發(fā)明的保護(hù)范圍應(yīng)當(dāng)以本發(fā)明權(quán)利要求所界定的范圍為準(zhǔn)。
權(quán)利要求
1.一種提供可變長度高速緩存線的高速緩存器控制器,其特征在于,包括: 高速緩存行偏移設(shè)定模塊,用于確定系統(tǒng)存儲(chǔ)器中通道映射數(shù)據(jù)塊所占的行寬度,作為高速緩存行偏移,所述通道映射數(shù)據(jù)塊內(nèi)包括列數(shù)據(jù)塊; 有效高速緩存行尺寸設(shè)定模塊,用于確定所述列數(shù)據(jù)塊內(nèi)每一行數(shù)據(jù)的數(shù)據(jù)長度,作為有效聞速緩存行尺寸; 行內(nèi)地址偏移設(shè)定模塊,用于確定所述列數(shù)據(jù)塊在所述通道映射數(shù)據(jù)塊內(nèi)行方向的偏移位置,作為行內(nèi)地址偏移; 數(shù)據(jù)映射模塊,以所述高速緩存行偏移、有效高速緩存行尺寸和行內(nèi)地址偏移為映射參數(shù),將所述列數(shù)據(jù)塊映射至高速緩存器的存儲(chǔ)部件,從而為所述列數(shù)據(jù)塊創(chuàng)建可變長度高速緩存線。
2.根據(jù)權(quán)利要求1所述的高速緩存器控制器,其特征在于,還包括: 空間基地址和空間范圍設(shè)定模塊,用于確定所述通道映射數(shù)據(jù)塊在所述系統(tǒng)存儲(chǔ)器中的空間基地址和空間范圍,所述數(shù)據(jù)映射模塊采用的映射參數(shù)還包括所述空間基地址和空間范圍。
3.根據(jù)權(quán)利要求2所述的高速緩存器控制器,其特征在于,所述系統(tǒng)存儲(chǔ)器中包括多個(gè)通道映射數(shù)據(jù)塊,所述高速緩存行偏移設(shè)定模塊、有效高速緩存行尺寸設(shè)定模塊、行內(nèi)地址偏移設(shè)定模塊、空間基地址和空間范圍設(shè)定模塊和數(shù)據(jù)映射模塊對(duì)于每一通道映射數(shù)據(jù)塊分別執(zhí)行相應(yīng)的操作。
4.根據(jù)權(quán)利要求2所述的高速緩存器控制器,其特征在于,所述空間基地址和空間范圍對(duì)第一個(gè)通道映射數(shù)據(jù)塊無效。
5.一種提供可變長 度高速緩存線的方法,其特征在于,包括: 步驟a,確定系統(tǒng)存儲(chǔ)器中通道映射數(shù)據(jù)塊所占的行寬度,作為高速緩存行偏移,所述通道映射數(shù)據(jù)塊內(nèi)包括列數(shù)據(jù)塊; 步驟b,確定所述列數(shù)據(jù)塊內(nèi)每一行數(shù)據(jù)的數(shù)據(jù)長度,作為有效高速緩存行尺寸; 步驟C,確定所述列數(shù)據(jù)塊在所述通道映射數(shù)據(jù)塊內(nèi)行方向的偏移位置,作為行內(nèi)地址偏移; 步驟d,以所述高速緩存行偏移、有效高速緩存行尺寸和行內(nèi)地址偏移為映射參數(shù),將所述列數(shù)據(jù)塊映射至高速緩存器的存儲(chǔ)部件,從而為所述列數(shù)據(jù)塊創(chuàng)建可變長度高速緩存線。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,還包括: 確定所述通道映射數(shù)據(jù)塊在所述系統(tǒng)存儲(chǔ)器中的空間基地址和空間范圍,所述映射參數(shù)還包括所述空間基地址和空間范圍。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述系統(tǒng)存儲(chǔ)器中包括多個(gè)通道映射數(shù)據(jù)塊,所述方法還包括:對(duì)每一通道映射數(shù)據(jù)塊分別執(zhí)行所述步驟a至步驟d。
8.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述空間基地址和空間范圍對(duì)第一個(gè)通道映射數(shù)據(jù)塊無效。
全文摘要
本發(fā)明提供了一種提供可變長度高速緩存線的高速緩存器控制器及方法,該控制器包括高速緩存行偏移設(shè)定模塊,用于確定系統(tǒng)存儲(chǔ)器中通道映射數(shù)據(jù)塊所占的行寬度,作為高速緩存行偏移,通道映射數(shù)據(jù)塊內(nèi)包括列數(shù)據(jù)塊;有效高速緩存行尺寸設(shè)定模塊,用于確定列數(shù)據(jù)塊內(nèi)每一行數(shù)據(jù)的數(shù)據(jù)長度,作為有效高速緩存行尺寸;行內(nèi)地址偏移設(shè)定模塊,用于確定列數(shù)據(jù)塊在通道映射數(shù)據(jù)塊內(nèi)行方向的偏移位置,作為行內(nèi)地址偏移;數(shù)據(jù)映射模塊,以高速緩存行偏移、有效高速緩存行尺寸和行內(nèi)地址偏移為映射參數(shù),將列數(shù)據(jù)塊映射至高速緩存器的存儲(chǔ)部件。本發(fā)明能夠提高高速緩存器的訪問速度,尤其有利于提高存取列數(shù)據(jù)塊時(shí)的數(shù)據(jù)吞吐效率。
文檔編號(hào)G06F12/08GK103077133SQ20131002952
公開日2013年5月1日 申請(qǐng)日期2013年1月23日 優(yōu)先權(quán)日2013年1月23日
發(fā)明者趙光煥, 胡紅旗, 劉君敏, 胡志卷 申請(qǐng)人:杭州士蘭微電子股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1