两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

用于緩存線路去重的方法和系統(tǒng)與流程

文檔序號(hào):11160909閱讀:389來源:國知局
用于緩存線路去重的方法和系統(tǒng)與制造工藝

本申請(qǐng)要求2014年10月7日提交的美國臨時(shí)專利申請(qǐng)序列號(hào)62/060,949的優(yōu)先權(quán),其全部公開內(nèi)容通過引用合并入本文。



背景技術(shù):

已經(jīng)觀察到:在操作系統(tǒng)的存儲(chǔ)器中通常存在許多重復(fù)的緩存線路。雖然軟件有可能掃描存儲(chǔ)器并且檢測(cè)重復(fù)的內(nèi)容,但是按照這樣的方式來使用軟件通常非常昂貴。相反,更經(jīng)濟(jì)并且更有效的途徑是使用硬件來檢測(cè)存儲(chǔ)器中的數(shù)據(jù)模式。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明內(nèi)容以簡(jiǎn)化的形式介紹了對(duì)概念的選擇以便提供對(duì)本公開的一些方面的基本理解。本發(fā)明內(nèi)容不是對(duì)本公開的廣泛概述,并且不旨在表示本公開的關(guān)鍵或者重要元素或者描繪本公開的范圍。本發(fā)明內(nèi)容僅呈現(xiàn)了本公開的概念中的一些以作為下面提供的具體實(shí)施方式的前序。

本公開大體上涉及用于管理存儲(chǔ)器的方法和系統(tǒng)。更具體地,本公開的方面涉及通過檢測(cè)緩存線路數(shù)據(jù)模式并且在多個(gè)物理地址及其公共數(shù)據(jù)值之間建立鏈接列表來對(duì)存儲(chǔ)器中的緩存線路進(jìn)行去重。

本公開的一個(gè)實(shí)施例涉及一種用于對(duì)緩存線路進(jìn)行去重的方法,該方法包括:檢測(cè)在對(duì)緩存線路的寫入中的數(shù)據(jù)模式;確定該寫入的物理地址是否與最后一級(jí)緩存中的條目匹配;確定在該寫入中的數(shù)據(jù)模式是否和與該條目相關(guān)聯(lián)的數(shù)據(jù)模式匹配;以及響應(yīng)于確定該寫入的物理地址與最后一級(jí)緩存中的條目匹配,以及確定在寫入中的數(shù)據(jù)模式和與該條目相關(guān)聯(lián)的數(shù)據(jù)模式匹配,使最后一級(jí)緩存中的該條目無效。

在另一實(shí)施例中,用于對(duì)緩存線路進(jìn)行去重的方法進(jìn)一步包括:響應(yīng)于確定寫入的物理地址與最后一級(jí)緩存中的條目匹配,以及確定在該寫入中的數(shù)據(jù)模式和與該條目相關(guān)聯(lián)的數(shù)據(jù)模式匹配,在對(duì)應(yīng)的緩存線路過濾器的表中分配用于該寫入的新條目。

在另一實(shí)施例中,用于對(duì)緩存線路進(jìn)行去重的方法進(jìn)一步包括:響應(yīng)于確定寫入的物理地址與最后一級(jí)緩存中的條目匹配,以及確定在該寫入中的數(shù)據(jù)模式不同于與該條目相關(guān)聯(lián)的數(shù)據(jù)模式,利用該寫入的數(shù)據(jù)模式來更新最后一級(jí)緩存中的該條目。

在另一實(shí)施例中,用于對(duì)緩存線路進(jìn)行去重的方法進(jìn)一步包括:響應(yīng)于確定該寫入的物理地址不同于最后一級(jí)緩存中的所有條目,以及確定在該寫入中的數(shù)據(jù)模式和與最后一級(jí)緩存中的條目相關(guān)聯(lián)的數(shù)據(jù)模式匹配,在對(duì)應(yīng)的緩存線路過濾器的表中分配用于寫入的新條目。

在又一實(shí)施例中,用于對(duì)緩存線路進(jìn)行去重的方法進(jìn)一步包括:響應(yīng)于確定寫入的物理地址不同于最后一級(jí)緩存中的所有條目,以及確定在該寫入中的數(shù)據(jù)模式不同于與最后一級(jí)緩存中的條目相關(guān)聯(lián)的所有數(shù)據(jù)模式,在最后一級(jí)緩存中寫入用于該寫入的新條目。

本公開的另一實(shí)施例涉及一種用于對(duì)緩存線路進(jìn)行去重的系統(tǒng),該系統(tǒng)包括至少一個(gè)處理器和耦合至該至少一個(gè)處理器的非暫時(shí)性計(jì)算機(jī)可讀介質(zhì),其具有存儲(chǔ)在其上的指令,該指令在由至少一個(gè)處理器執(zhí)行時(shí)致使該至少一個(gè)處理器:檢測(cè)在對(duì)緩存線路的寫入中的數(shù)據(jù)模式;確定該寫入的物理地址是否與最后一級(jí)緩存中的條目匹配;確定在寫入中的數(shù)據(jù)模式是否和與條目相關(guān)聯(lián)的數(shù)據(jù)模式匹配;以及響應(yīng)于確定寫入的物理地址與最后一級(jí)緩存中的條目匹配,以及確定在該寫入中的數(shù)據(jù)模式和與該條目相關(guān)聯(lián)的數(shù)據(jù)模式匹配,使最后一級(jí)緩存中的條目無效。

在另一實(shí)施例中,用于對(duì)緩存線路進(jìn)行去重的系統(tǒng)中的至少一個(gè)處理器被進(jìn)一步致使來:響應(yīng)于確定該寫入的物理地址與最后一級(jí)緩存中的條目匹配,以及確定在寫入中的數(shù)據(jù)模式和與該條目相關(guān)聯(lián)的數(shù)據(jù)模式匹配,在對(duì)應(yīng)的緩存線路過濾器的表中分配用于寫入的新條目。

在另一實(shí)施例中,用于對(duì)緩存線路進(jìn)行去重的系統(tǒng)中的至少一個(gè)處理器被進(jìn)一步致使來:響應(yīng)于確定該寫入的物理地址與最后一級(jí)緩存中的條目匹配,以及確定在該寫入中的數(shù)據(jù)模式不同于與條目相關(guān)聯(lián)的數(shù)據(jù)模式,利用該寫入的數(shù)據(jù)模式來更新最后一級(jí)緩存中的條目。

在另一實(shí)施例中,用于對(duì)緩存線路進(jìn)行去重的系統(tǒng)中的至少一個(gè)處理器被進(jìn)一步致使來:響應(yīng)于確定該寫入的物理地址不同于最后一級(jí)緩存中的所有條目,以及確定在該寫入中的數(shù)據(jù)模式和與最后一級(jí)緩存中的條目相關(guān)聯(lián)的數(shù)據(jù)模式匹配,在對(duì)應(yīng)的緩存線路過濾器的表中分配用于寫入的新條目。

在又一實(shí)施例中,用于對(duì)緩存線路進(jìn)行去重的系統(tǒng)中的至少一個(gè)處理器被進(jìn)一步致使來:響應(yīng)于確定該寫入的物理地址不同于最后一級(jí)緩存中的所有條目,以及確定在寫入中的數(shù)據(jù)模式不同于與最后一級(jí)緩存中的條目相關(guān)聯(lián)的所有數(shù)據(jù)模式,在最后一級(jí)緩存中寫入用于該寫入的新條目。

本公開的再一實(shí)施例涉及一種用于在存儲(chǔ)器讀取操作期間對(duì)緩存線路進(jìn)行去重的方法,該方法包括:在片上緩存線路過濾器的表中執(zhí)行查找;基于該查找,確定與讀取請(qǐng)求相關(guān)聯(lián)的數(shù)據(jù)是否在緩存線路過濾器中可用;響應(yīng)于確定與該讀取請(qǐng)求相關(guān)聯(lián)的數(shù)據(jù)在緩存線路過濾器中可用,從緩存線路過濾器獲得數(shù)據(jù);以及響應(yīng)于確定與讀取請(qǐng)求相關(guān)聯(lián)的數(shù)據(jù)在緩存線路過濾器中不可用,從最后一級(jí)緩存獲得數(shù)據(jù)。

在另一實(shí)施例中,用于在存儲(chǔ)器讀取操作期間對(duì)緩存線路進(jìn)行去重的方法進(jìn)一步包括:響應(yīng)于確定與讀取請(qǐng)求相關(guān)聯(lián)的數(shù)據(jù)在緩存線路過濾器中不可用,在工作存儲(chǔ)器緩存溢出表中執(zhí)行查找。

在再一實(shí)施例中,用于在存儲(chǔ)器讀取操作期間對(duì)緩存線路進(jìn)行去重的方法進(jìn)一步包括:基于該查找,確定與讀取請(qǐng)求相關(guān)聯(lián)的數(shù)據(jù)是被包含在工作存儲(chǔ)器緩存中的重復(fù)數(shù)據(jù)。

在又一實(shí)施例中,用于在存儲(chǔ)器讀取操作期間對(duì)緩存線路進(jìn)行去重的方法進(jìn)一步包括:基于該查找,確定與讀取請(qǐng)求相關(guān)聯(lián)的數(shù)據(jù)存在于工作存儲(chǔ)器緩存中;以及從該工作存儲(chǔ)器緩存獲得數(shù)據(jù)。

本公開的適用性的進(jìn)一步范圍將根據(jù)下面給出的具體實(shí)施方式而變得顯而易見。然而,應(yīng)當(dāng)理解,具體實(shí)施方式和特定示例雖然指示優(yōu)選實(shí)施例,但是僅通過說明的方式給出,這是因?yàn)樵诒竟_的精神和范圍內(nèi)的各個(gè)改變和修改將根據(jù)該具體實(shí)施方式而對(duì)本領(lǐng)域的技術(shù)人員變得顯而易見。

附圖說明

本公開的這些和其它目的、特征、和特性根據(jù)與所附權(quán)利要求書和附圖相結(jié)合的以下具體實(shí)施方式的研究,將對(duì)本領(lǐng)域的技術(shù)人員變得更顯而易見,其所有內(nèi)容形成本說明書的一部分。在附圖中:

圖1是圖示了根據(jù)本文描述的一個(gè)或多個(gè)實(shí)施例的、用于對(duì)存儲(chǔ)器中的緩存線路進(jìn)行去重的示例系統(tǒng)的框圖。

圖2是圖示了根據(jù)本文描述的一個(gè)或多個(gè)實(shí)施例的、示例片上緩存線路過濾器表的框圖。

圖3是圖示了根據(jù)本文描述的一個(gè)或多個(gè)實(shí)施例的、示例片外緩存器溢出表的框圖。

圖4是圖示了根據(jù)本文描述的一個(gè)或多個(gè)實(shí)施例的、用于在寫入操作期間進(jìn)行存儲(chǔ)器去重的示例方法的流程圖。

圖5是圖示了根據(jù)本文描述的一個(gè)或多個(gè)實(shí)施例的、用于在寫入操作期間進(jìn)行存儲(chǔ)器去重的另一示例方法的流程圖。

圖6是圖示了根據(jù)本文描述的一個(gè)或多個(gè)實(shí)施例的、用于在讀取操作期間進(jìn)行存儲(chǔ)器去重的示例方法的流程圖。

圖7是圖示了根據(jù)本文描述的一個(gè)或多個(gè)實(shí)施例的、被布置用于對(duì)存儲(chǔ)器中的緩存線路的去重的示例計(jì)算設(shè)備的框圖。

本文提供的標(biāo)題僅僅是為了方便,并不一定會(huì)影響本公開中所要求保護(hù)的范圍或含義。

在附圖中,為了便于理解和便利,相同的附圖標(biāo)記和任何首字母縮略詞標(biāo)識(shí)具有相同或類似結(jié)構(gòu)或功能的元件或動(dòng)作。將在下面的具體實(shí)施方式的過程中對(duì)附圖進(jìn)行詳細(xì)描述。

具體實(shí)施方式

現(xiàn)在將對(duì)各個(gè)示例和實(shí)施例進(jìn)行描述。以下描述提供具體細(xì)節(jié)以用于徹底理解并且實(shí)現(xiàn)對(duì)這些示例的描述。然而,相關(guān)領(lǐng)域的技術(shù)人員將理解,本文所描述的一個(gè)或多個(gè)實(shí)施例可以在沒有這些細(xì)節(jié)中的許多細(xì)節(jié)的情況下實(shí)踐。類似地,相關(guān)領(lǐng)域的技術(shù)人員還將理解,本公開的一個(gè)或多個(gè)實(shí)施例能夠包括本文中未詳細(xì)描述的許多其它明顯的特征。此外,下面將不會(huì)詳細(xì)示出或者描述一些公知的結(jié)構(gòu)或功能,以便避免不必要地模糊相關(guān)描述。

本公開的實(shí)施例涉及用于通過檢測(cè)緩存線路數(shù)據(jù)模式并且在多個(gè)物理地址與該多個(gè)物理地址的共同數(shù)據(jù)值之間建立鏈路列表來對(duì)物理存儲(chǔ)器中的緩存線路進(jìn)行去重的方法和系統(tǒng)。按照這種方式,例如,可以用32位(4字節(jié))的地址來替換64字節(jié)的數(shù)據(jù)。根據(jù)至少一個(gè)實(shí)施例,可以應(yīng)用該方法和系統(tǒng)以實(shí)現(xiàn)對(duì)片上緩存的去重。

如上面所提及的,硬件善于檢測(cè)緩存線路數(shù)據(jù)模式。例如,可以通過使用數(shù)字邏輯門(例如,XOR門)和硬布線導(dǎo)出的、軟件限定的、和/或硬件訓(xùn)練的模式來檢測(cè)緩存線路數(shù)據(jù)模式。

圖1是用于存儲(chǔ)器去重的示例系統(tǒng)100。根據(jù)本文描述的一個(gè)或者多個(gè)實(shí)施例,系統(tǒng)100可以包括最后一級(jí)緩存(LLC)110、緩存線路過濾器(CL過濾器)120、構(gòu)架130、低功率雙倍數(shù)據(jù)速率存儲(chǔ)器控制器(例如,LPDDR3Ctl)140、和具有LPDDR3接口標(biāo)準(zhǔn)150的物理動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)。

根據(jù)至少一個(gè)實(shí)施例,例如,LLC 110可以是8MB的片上靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM),并且CL過濾器120可以是檢測(cè)重復(fù)數(shù)據(jù)模式并且維持地址-數(shù)據(jù)映射而不是將重復(fù)數(shù)據(jù)寫入高速緩沖存儲(chǔ)器的緩存線路過濾器。構(gòu)架130是在系統(tǒng)的各個(gè)代理(例如,組件、元件等)之間移動(dòng)命令/分組的片上互連,例如包括,CPU、GPU、片上SRAM緩存、片外DRAM等。此外,LPDDR3Ctl 140是與JEDEC LPDDR3DRAM對(duì)接的存儲(chǔ)器控制器。

圖2示出了片上緩存線路過濾器表(CL過濾器表)200的示例。根據(jù)本文所描述的一個(gè)或多個(gè)實(shí)施例,CL過濾器表200可以形成CL過濾器的一部分和/或由CL過濾器利用(例如,在圖1中示出的示例系統(tǒng)中的CL過濾器120)。

如圖所示,根據(jù)本公開的至少一個(gè)實(shí)施例,兩個(gè)數(shù)據(jù)結(jié)構(gòu)可以被用于構(gòu)成CL過濾器表200。例如,可以存在限定最常見的重復(fù)內(nèi)容模式(例如,在模式寄存器中的16至64個(gè)條目)的一個(gè)表210。第二表220可以保存來自第一個(gè)表210的模式編號(hào)和重復(fù)緩存線路的物理地址。

可以在寫入操作期間檢測(cè)緩存線路復(fù)本。因此,每個(gè)寫入可以涉及表查找和比較。如果存在命中,則僅保存地址而不是整個(gè)數(shù)據(jù)字符串。經(jīng)去重的數(shù)據(jù)不在LLC(例如,在圖1中示出的示例系統(tǒng)100中的LLC 110)中,其僅在表220中。例如,假設(shè)表220具有16K個(gè)條目并且每個(gè)條目具有模式編號(hào)和物理地址的4B有效載荷,則表220將覆蓋多達(dá)1MB的重復(fù)內(nèi)容。

根據(jù)一個(gè)或者多個(gè)實(shí)施例,當(dāng)例如存在模式命中并且確定該模式命中是新的寫入地址時(shí),可以向CL過濾器表200分配新條目(例如,由表220表示的數(shù)據(jù)結(jié)構(gòu))。例如,可以通過將地址與LLC標(biāo)簽(其中,“標(biāo)簽”是整個(gè)緩存線路的地址)相比較來確定(例如識(shí)別)新的寫入地址?,F(xiàn)有地址將與LLC標(biāo)簽相匹配,而新地址將不會(huì)與LLC標(biāo)簽匹配。此外,當(dāng)確定舊寫入具有新模式時(shí),可以更新CL過濾器表200中的條目或者使其無效。例如,如果在LLC中找到舊寫入數(shù)據(jù),但是新寫入數(shù)據(jù)是例如“0000”,則可以將數(shù)據(jù)從LLC移動(dòng)到CL過濾器表200中。將這樣的事件視為對(duì)舊緩存條目的重寫。

根據(jù)至少一個(gè)實(shí)施例,當(dāng)發(fā)生“路”沖突時(shí),可以將CL過濾器表200中的條目逐出(例如,去除)并且移動(dòng)至DRAM溢出表(將在下面提供關(guān)于DRAM溢出表和“路”沖突的進(jìn)一步細(xì)節(jié))。應(yīng)當(dāng)理解,CL過濾器表200是片上結(jié)構(gòu),并且因此空間是有限的。因此,當(dāng)例如達(dá)到容量時(shí),可以將CL過濾器表200中的條目逐出至DRAM溢出表。由于在CL過濾器表200中的最近寫入的條目具有最高的被讀取概率,因此,CL過濾器表200中最舊的條目很可能是被逐出至DRAM溢出表的第一條目。LLC(例如,在圖1示出的示例系統(tǒng)100中的LLC 110)中沒有重復(fù)內(nèi)容。

如本文所使用的,“n-路”表示可以將地址劃分成兩個(gè)字段-“索引”字段和“路”字段(如由在圖2中示出的示例CL過濾器表200的表220中的列和行所表示)。索引字段基于待分配的條目的數(shù)目(例如,緩存的深度)。此外,緩存線路偏移基于緩存線路的大小。

例如,在路索引的場(chǎng)境(context)中,“4-路”指示能夠容納多達(dá)四個(gè)唯一標(biāo)簽,其中標(biāo)簽是在由深度和寬度條目限定的表中的任何框的值。同樣,可以將4-路緩存理解為意指在任何表?xiàng)l目中允許四個(gè)唯一標(biāo)簽。在這個(gè)意義上,例如,當(dāng)存在試圖進(jìn)入索引的第五標(biāo)簽時(shí),可能出現(xiàn)路沖突。

圖3是根據(jù)本文描述的一個(gè)或者多個(gè)實(shí)施例的片外存儲(chǔ)器(例如DRAM)溢出表300的示例。

DRAM溢出表300擴(kuò)展了片上SRAM概念以釋放額外層級(jí)的DRAM緩存空間。例如,4MB的DRAM溢出表能夠釋放64MB的DRAM緩存空間。應(yīng)當(dāng)注意,DRAM溢出表300比片上SRAM慢。片上SRAM空間在MB范圍內(nèi)。DRAM緩存能夠在數(shù)百M(fèi)B范圍內(nèi)。數(shù)量級(jí)越高,時(shí)間/成本越高。雖然DRAM溢出表300不一定提供速度效益,但是其確實(shí)使緩存覆蓋區(qū)(cache footprint)看起來比其物理大小更大。效能與未優(yōu)化的緩存大致相同,因?yàn)镃L過濾器表(例如,圖2中示出的CL過濾器表200)總是比緩存更快快,即使是在DRAM中。

DRAM溢出表300將去重概念應(yīng)用于DRAM存儲(chǔ)器緩存。例如,根據(jù)至少一個(gè)實(shí)施例,DRAM溢出表(128K個(gè)條目×32B有效載荷)充當(dāng)片上緩存線路過濾器的備份。取決于實(shí)施方式,DRAM溢出表能夠覆蓋多達(dá)64MB的重復(fù)內(nèi)容。應(yīng)當(dāng)注意,散列函數(shù)能夠被用于分散條目索引以避免沖突并且使傳入地址隨機(jī)化。物理地址為32位,散列為17位。因此,散列通過使用來自標(biāo)簽的31-6的附加位來生成半隨機(jī)索引。隨機(jī)化是好的,因?yàn)榉駝t只有特定索引會(huì)被寫入,所以通過這種方式,使用了更多索引來分散索引字段。

根據(jù)本公開的至少一個(gè)實(shí)施例,可選地,可以將DRAM溢出表300用作硬件垃圾收集器。例如,軟件可以偶爾進(jìn)行場(chǎng)境切換并且清理頁表,使得DRAM溢出表中的重復(fù)地址不再有效。因此,當(dāng)存在軟件可以清理某些頁面的可能性時(shí),可以執(zhí)行周期性垃圾收集以清理屬性并且重新設(shè)置每個(gè)有效位。例如,由于不知道“臟”數(shù)據(jù)是否在當(dāng)前頁面中,因此可以將這樣的數(shù)據(jù)寫入回存儲(chǔ)器。頁表需要與軟件數(shù)據(jù)一致。因此,對(duì)于來自存儲(chǔ)器的無效的任何頁面,不寫回任何臟數(shù)據(jù)。按照這種方式,垃圾收集允許緩存與主存儲(chǔ)器同步。

圖4和圖5圖示了根據(jù)本文描述的一個(gè)或多個(gè)實(shí)施例的、在存儲(chǔ)器寫入操作期間進(jìn)行去重的示例過程。如在示例過程400和500中示出的,取決于僅在模式中找到命中、僅在物理地址中找到命中、在模式和物理地址兩者中找到命中、還是既沒有在模式中也沒有在物理地址中找到命中,可以關(guān)于LLC和/或CL過濾器表(例如,在圖1示出的示例系統(tǒng)100中的LLC 110和/或在圖2中示出的示例CL過濾器表200,上面對(duì)其中的每一個(gè)都進(jìn)行了詳細(xì)描述)而執(zhí)行不同的操作。下面提供了關(guān)于在寫入操作期間的存儲(chǔ)器去重的示例過程400和500中的框405至440和505至540中的一個(gè)或多個(gè)的各個(gè)細(xì)節(jié)。

應(yīng)當(dāng)注意,雖然在圖4中示出的去重400的示例過程中包括的框中的許多與在圖5中示出的去重500的示例過程中的對(duì)應(yīng)框類似,但是框410和510表示可以根據(jù)本文描述的一個(gè)或多個(gè)實(shí)施例來應(yīng)用的兩個(gè)分離的情況。具體地,在示例過程400的框410處,可以確定新的寫入地址是否與LLC中的條目匹配,而在示例過程500的框510處,可以確定新的寫入地址是否與CL過濾器表中的條目匹配。

例如,如果新的寫入地址命中物理地址上的現(xiàn)有條目,但是寫入數(shù)據(jù)是不同的模式,則能夠確定存在利用預(yù)定義模式中的一個(gè)的在前寫入。因此,已經(jīng)在CL過濾器表中分配了條目。在這樣的情況下,只有必要利用正被寫入的新模式(例如,全部為1)來更新該模式編號(hào)(例如,全部為零)。

在LLC中已經(jīng)存在條目但是新的寫入數(shù)據(jù)與預(yù)定義模式中的一種(例如,全部為1)相匹配的實(shí)例中,則可以使該LLC條目無效并且在CL過濾器表中分配新條目。

如果對(duì)現(xiàn)有CL過濾器地址的重寫導(dǎo)致唯一數(shù)據(jù),則使CL過濾器表?xiàng)l目無效并且對(duì)LLC的寫入繼續(xù)。

如上所述,物理地址命中意指存在利用預(yù)定義模式中的一個(gè)的在前寫入。如果其是唯一模式,則使在CL過濾表中的條目無效并且作為替代存在對(duì)LLC的寫入。另一方面,如果該在前寫入是不同的模式,則利用新的模式編號(hào)來更新該CL過濾器表中的條目。

當(dāng)存在模式命中時(shí),僅在不存在物理地址命中的情況下向CL過濾器表分配條目。其原因是因?yàn)椋悍駝t這意指CPU正試圖再次寫入相同的數(shù)據(jù)。如果不存在物理地址命中或模式命中,則該過程繼續(xù)對(duì)LLC的寫入。

如果新的寫入數(shù)據(jù)是重復(fù)的,則使LLC條目無效并且將其移動(dòng)至CL過濾器表(分配新的CL過濾器表?xiàng)l目,因?yàn)槿绻窃贚LC中則能夠沒有物理地址命中)。

根據(jù)本公開的一個(gè)或多個(gè)實(shí)施例,在使用DRAM的情況下,如果片上CL過濾器表?xiàng)l目已滿(在圖4中未示出),則可能有必要對(duì)DRAM溢出表(例如,在圖3中示出的DRAM溢出表300)實(shí)施RMW(讀取-修改-寫入),例如{模式#,物理地址}。在這樣的場(chǎng)景中,檢查DRAM溢出表,修改條目,并且然后向表寫入新條目(例如,如果片上CL過濾器表已滿)。

可以并行(例如,同時(shí))檢查CL過濾器表和LLC。如果片上CL已滿,則DRAM溢出表有可能具有該數(shù)據(jù)?;谒饕齺磉M(jìn)行讀取,針對(duì)匹配進(jìn)行檢查(修改),并且然后使LLC無效或者對(duì)LLC進(jìn)行寫入,并且將狀態(tài)寫入回DRAM溢出。寫入動(dòng)作與CL過濾器表相同。溢出只是CL過濾器數(shù)據(jù)的更大的表。

圖6是根據(jù)本文描述的一個(gè)或者多個(gè)實(shí)施例的、在存儲(chǔ)器讀取操作期間進(jìn)行存儲(chǔ)器去重的示例過程。先前在上面提供了關(guān)于在讀取操作期間的存儲(chǔ)器去重的示例過程600中的框605至640中的一個(gè)或多個(gè)的各個(gè)細(xì)節(jié)。

圖7是被布置用于提供對(duì)存儲(chǔ)器中的緩存線路的去重的示例性計(jì)算機(jī)(700)的高級(jí)框圖。例如,根據(jù)本文描述的一個(gè)或多個(gè)實(shí)施例,可以將計(jì)算機(jī)(700)配置為檢測(cè)緩存線路數(shù)據(jù)模式并且在多個(gè)物理地址及其公共數(shù)據(jù)值之間建立鏈接列表。在非常基本的配置(701)中,計(jì)算設(shè)備(700)通常包括一個(gè)或多個(gè)處理器(710)和系統(tǒng)存儲(chǔ)器(720)。存儲(chǔ)器總線(730)能夠被用于在處理器(710)和系統(tǒng)存儲(chǔ)器(720)之間進(jìn)行通信。

取決于期望的配置,處理器(710)能夠是任何類型的處理器,包括但不限于:微處理器(μΡ)、微控制器(μθ)、數(shù)字信號(hào)處理器(DSP)、或者其任何組合。處理器(710)能夠包括更多級(jí)別的緩存,諸如,級(jí)1緩存(711)和級(jí)2緩存(712)、處理器內(nèi)核(713)、和寄存器(714)。處理器內(nèi)核(713)能夠包括算術(shù)邏輯單元(ALU)、浮點(diǎn)單元(FPU)、數(shù)字信號(hào)處理核心(DSP Core)、或者其任何組合。存儲(chǔ)控制器(716)還能夠和處理器(710)一起使用,或者在一些實(shí)施方式中,存儲(chǔ)控制器(715)能夠是處理器(710)的內(nèi)部部分。

取決于期望的配置,系統(tǒng)存儲(chǔ)器(720)能夠是任何類型的存儲(chǔ)器,包括但不限于:易失性存儲(chǔ)器(諸如,RAM)、非易失性存儲(chǔ)器(諸如,ROM、閃速存儲(chǔ)器等)或者其任何組合。系統(tǒng)存儲(chǔ)器(720)通常包括操作系統(tǒng)(721)、一個(gè)或者多個(gè)應(yīng)用(722)、和程序數(shù)據(jù)(724)。應(yīng)用(722)可以包括用于對(duì)存儲(chǔ)器緩存線路進(jìn)行去重的系統(tǒng)(723)。

程序數(shù)據(jù)(724)可以包括存儲(chǔ)指令,該存儲(chǔ)指令在由一個(gè)或多個(gè)處理設(shè)備執(zhí)行時(shí)實(shí)現(xiàn)用于對(duì)存儲(chǔ)器緩存線路進(jìn)行去重的系統(tǒng)和方法。此外,根據(jù)至少一個(gè)實(shí)施例,程序數(shù)據(jù)(724)可以包括模式和物理地址數(shù)據(jù)(725),該模式和物理地址數(shù)據(jù)可以被用于例如檢測(cè)緩存線路中的重復(fù)數(shù)據(jù)模式,并且維持地址-數(shù)據(jù)映射而不是將重復(fù)數(shù)據(jù)寫入高速緩沖存儲(chǔ)器。在一些實(shí)施例中,能夠?qū)?yīng)用(722)布置為與操作系統(tǒng)(721)上的程序數(shù)據(jù)(724)一起操作。

計(jì)算設(shè)備(700)能夠具有附加特征或功能、和附加接口以促進(jìn)基本配置(701)與任何所需的設(shè)備和接口之間的通信。

系統(tǒng)存儲(chǔ)器(720)是計(jì)算機(jī)存儲(chǔ)介質(zhì)的示例。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括但不限于:RAM、ROM、EEPROM、閃速存儲(chǔ)器或者其它存儲(chǔ)器技術(shù)、CD-ROM、數(shù)字多功能盤(DVD)、或者其它光學(xué)儲(chǔ)存器、盒式磁帶、磁帶、磁盤儲(chǔ)存器或者其它磁存儲(chǔ)設(shè)備、或者能夠被用于存儲(chǔ)期望的信息并且能夠由計(jì)算設(shè)備700訪問的任何其它介質(zhì)。任何這樣的計(jì)算機(jī)存儲(chǔ)介質(zhì)都能夠是設(shè)備(700)的一部分。

能夠?qū)⒂?jì)算設(shè)備(700)實(shí)施為小封裝技術(shù)(small-formfactor)便攜式(或者移動(dòng))電子設(shè)備,諸如手機(jī)、智能電話、個(gè)人數(shù)字助理(PDA)、個(gè)人媒體播放器設(shè)備、平板計(jì)算機(jī)(平板)、無線網(wǎng)絡(luò)觀看設(shè)備、個(gè)人頭戴式送受話器設(shè)備、專用設(shè)備、或者包括上面的功能中的任何一種的混合設(shè)備)的一部分。還能夠?qū)⒂?jì)算設(shè)備(700)實(shí)現(xiàn)為包括膝上型計(jì)算機(jī)和非膝上型計(jì)算機(jī)配置二者的個(gè)人計(jì)算機(jī)。

前面描述的詳細(xì)描述已經(jīng)經(jīng)由使用框圖、流程圖、和/或示例來對(duì)設(shè)備和/或過程的各個(gè)實(shí)施例進(jìn)行了闡述。在這樣的框圖、流程圖、和/或示例包含一個(gè)或多個(gè)功能和/或操作的情況下,本領(lǐng)域技術(shù)人員將理解,在這樣的框圖、流程圖、或者示例中的每個(gè)功能和/或操作能夠由廣泛多種硬件、軟件、固件、或者幾乎其任何組合來單獨(dú)地和/或共同地實(shí)現(xiàn)。在一個(gè)實(shí)施例中,可以經(jīng)由專用集成電路(ASIC)、現(xiàn)場(chǎng)可編程門陣列(FPGA)、數(shù)字信號(hào)處理器(DSP)、或者其它整合的格式來實(shí)現(xiàn)本文描述的主題的若干部分。然而,本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,本文所公開的實(shí)施例的一些方面能夠整體地或部分地在集成電路中等效地被實(shí)現(xiàn)為在一個(gè)或多個(gè)計(jì)算機(jī)上運(yùn)行的一個(gè)或多個(gè)計(jì)算機(jī)程序、在一個(gè)或多個(gè)處理器上運(yùn)行的一個(gè)或多個(gè)程序、固件、或者幾乎其任何組合,并且根據(jù)本公開,設(shè)計(jì)電路系統(tǒng)和/或編寫軟件和/或固件的代碼也將在本領(lǐng)域的技術(shù)人員的技能范圍內(nèi)。

此外,本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,能夠?qū)⒈疚拿枋龅闹黝}的機(jī)制作為各種形式的程序產(chǎn)品來分發(fā),并且無論被用于實(shí)際執(zhí)行該分發(fā)的非暫時(shí)性信號(hào)承載介質(zhì)的特定類型如何,本文描述的主題的說明性實(shí)施例都適用。非暫時(shí)性信號(hào)承載介質(zhì)的示例包括但不限于以下:可記錄型介質(zhì),諸如軟盤、硬盤驅(qū)動(dòng)器、壓縮盤(CD)、數(shù)字視頻盤(DVD)、數(shù)字磁帶、計(jì)算機(jī)存儲(chǔ)器等;以及傳輸型介質(zhì),諸如數(shù)字和/或模擬通信介質(zhì)(例如,光纖線纜、波導(dǎo)、有線通信鏈路、無線通信鏈路等)。

關(guān)于本文幾乎任何復(fù)數(shù)的和/或單數(shù)的術(shù)語的使用,本領(lǐng)域的技術(shù)人員能夠從復(fù)數(shù)轉(zhuǎn)化為單數(shù)和/或從單數(shù)轉(zhuǎn)化為復(fù)數(shù),以適于場(chǎng)境和/或應(yīng)用。為了清楚起見,可以在此對(duì)各種單/復(fù)數(shù)置換進(jìn)行清楚地闡述。

因此,已經(jīng)對(duì)本主題的特定實(shí)施例進(jìn)行了描述。其它實(shí)施例在所附權(quán)利要求書的范圍內(nèi)。在一些情況下,在權(quán)利要求書中記載的動(dòng)作能夠按照不同的順序來執(zhí)行并且仍然實(shí)現(xiàn)期望的結(jié)果。此外,在附圖中描繪的過程不一定要求所示的特定順序或者連續(xù)順序來實(shí)現(xiàn)期望的結(jié)果。在某些實(shí)施方式中,多任務(wù)處理和并行處理可以是有利的。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
大同市| 航空| 莱芜市| 柳州市| 德阳市| SHOW| 嘉荫县| 中西区| 华亭县| 内乡县| 龙海市| 乌兰浩特市| 揭阳市| 施甸县| 莒南县| 襄汾县| 城步| 鲁山县| 泾源县| 淳化县| 巨野县| 茌平县| 资阳市| 通州区| 景谷| 沅江市| 蕲春县| 蒙自县| 丘北县| 房产| 沁水县| 天气| 白玉县| 杂多县| 襄樊市| 永登县| 夏河县| 新乡县| 孟村| 封开县| 永定县|