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

用于在多核系統(tǒng)中進(jìn)行鄰近高速緩存的方法及系統(tǒng)的制作方法

文檔序號(hào):6557435閱讀:202來(lái)源:國(guó)知局
專利名稱:用于在多核系統(tǒng)中進(jìn)行鄰近高速緩存的方法及系統(tǒng)的制作方法
背景技術(shù)
在多核處理器或處理系統(tǒng)中,每個(gè)核都對(duì)應(yīng)于僅由自身能存取的一個(gè)高速緩存器。此外,為擴(kuò)展高速緩存器的容量可以提供能被所有核存取的共享高速緩存器。
高速緩存器存取時(shí)間可能受到從邏輯電路,如一個(gè)核到或從該核的互連的電容而導(dǎo)致的傳播延遲的影響??傮w上,高速緩存器存取時(shí)間會(huì)按照諸如高速緩存器和存取邏輯(logic)間的距離、互連寬度等物理屬性成比例增長(zhǎng)。因此,一些現(xiàn)有技術(shù)處理器將一個(gè)共享高速緩存器組織成多個(gè)大塊,并且安排所述大塊使得頻繁存取的數(shù)據(jù)項(xiàng)靠近使用它們的處理器(或處理核)。
然而,現(xiàn)有技術(shù)中把頻繁存取的項(xiàng)目移動(dòng)到靠近存取邏輯(如處理器核)的高速緩存方案在功耗和/或管芯面積上代價(jià)會(huì)很高。


圖1示出根據(jù)本發(fā)明的實(shí)施例的系統(tǒng)體系結(jié)構(gòu)。
圖2和圖3圖示可用于執(zhí)行本發(fā)明至少一個(gè)實(shí)施例的操作;和圖4示出一種多處理器系統(tǒng),其中可以使用本發(fā)明中一個(gè)或多個(gè)實(shí)施例。
具體實(shí)施例方式
本發(fā)明的實(shí)施例涉及一種在具有共享高速緩存器的多核系統(tǒng)中高速緩存數(shù)據(jù)的技術(shù)。根據(jù)一些實(shí)施例,所述核中所使用的數(shù)據(jù)可被分類為多種類型之一。在一個(gè)實(shí)施例中,這種分類使得能夠根據(jù)數(shù)據(jù)類型來(lái)使數(shù)據(jù)處理更加高效。例如,在一個(gè)實(shí)施例中,分類為第一類型的數(shù)據(jù)可以被存儲(chǔ)在共享高速緩存器中,且存儲(chǔ)在最靠近使用該數(shù)據(jù)的核的共享高速緩存器的區(qū)域中。如果第一類型的數(shù)據(jù)被存取邏輯-如一個(gè)核后續(xù)地獲取來(lái)使用,那么通過(guò)把第一類型的數(shù)據(jù)存儲(chǔ)在最靠近該核,存取時(shí)間和功耗就會(huì)被降低。相反,分類為第二類型的數(shù)據(jù)可以僅僅被存儲(chǔ)在核的專用高速緩存器中并在其中處理。通過(guò)不將所述第二類型的數(shù)據(jù)存儲(chǔ)于共享高速緩存器,就可以降低高速緩存器的使用率和功耗。
在本發(fā)明的實(shí)施例中,數(shù)據(jù)可被分類為三種類型中的一種(a)可能被再次使用和可能每次被一個(gè)核所使用的數(shù)據(jù),(b)不可被再次使用而可能每次被一個(gè)核使用的數(shù)據(jù),(c)可能每次被不止一個(gè)核使用的數(shù)據(jù)。預(yù)測(cè)再次使用頻率的閾值可以作為劃分?jǐn)?shù)據(jù)為類型(a)和類型(b)的基礎(chǔ)。該閾值可以隨著應(yīng)用程序的變化而變化。然而,總體說(shuō)來(lái),當(dāng)類型(a)的數(shù)據(jù)沒(méi)有裝在專用高速緩存器中之時(shí),可以通過(guò)將所述數(shù)據(jù)移動(dòng)到最靠近使用所述數(shù)據(jù)的核的共享高速緩存器的區(qū)域中來(lái)實(shí)現(xiàn)大幅節(jié)約,因?yàn)轭愋?a)的數(shù)據(jù)在被另一核存取和移走前可能會(huì)被使用所述數(shù)據(jù)的核存取多次。相似的,通過(guò)特殊處理類型(b)的數(shù)據(jù)也能夠得到許多益處。分類為類型(b)的數(shù)據(jù)可能根本就沒(méi)有被存儲(chǔ)在共享存儲(chǔ)區(qū)中,而是可能僅僅被存儲(chǔ)于專用高速緩存器中。因?yàn)轭愋?b)的數(shù)據(jù)在被逐出前可能根本不會(huì)在共享存儲(chǔ)區(qū)中被存取,所以根本不移動(dòng)類型(b)的數(shù)據(jù)到共享高速緩存器就可以降低功耗,并且減少對(duì)共享高速緩存器空間的爭(zhēng)用。
類型(c)的數(shù)據(jù)可以像在具有每個(gè)核一個(gè)專用存儲(chǔ)器和具有核之間共享的另一級(jí)高速緩存器的常規(guī)存儲(chǔ)器系統(tǒng)里那樣來(lái)處理。
圖1顯示了根據(jù)本發(fā)明的實(shí)施例的系統(tǒng)100。該系統(tǒng)可包括多個(gè)核101.1,101.2,……,101.n。每個(gè)核可具有各自的專用L1(一級(jí))高速緩存器102.1,102.2,……,102.n。雖然僅僅顯示了單級(jí)專用高速緩存器,但在各實(shí)施例中,可以有多級(jí)專用高速緩存器。這些核及其相關(guān)聯(lián)的專用高速緩存器可通過(guò)互連線103耦合到共享高速緩存器(即,“最低級(jí)別高速緩存器”或LLC)存儲(chǔ)體104.1,104.2,……,104.m(這些核與共享高速緩存器存儲(chǔ)體之間的對(duì)應(yīng)關(guān)系不必是一對(duì)一)。該系統(tǒng)可進(jìn)一步包括多個(gè)漫游數(shù)據(jù)指針(roaming data pointerRDP)105.1,105.2,……,105.p(這些RDP與共享高速緩存器存儲(chǔ)體之間的對(duì)應(yīng)關(guān)系不必是一對(duì)一)。RDP可以指向核。專用和共享的高速緩存器以及相關(guān)聯(lián)的硬件可被統(tǒng)稱為“高速緩存器子系統(tǒng)”。
按照常規(guī),在諸如系統(tǒng)100之類的多核系統(tǒng)中的處理發(fā)生時(shí),一個(gè)地址哈希函數(shù)被執(zhí)行以決定分配共享高速緩存器104.1,104.2,……,104.m中哪里的高速緩存線,在其中存儲(chǔ)數(shù)據(jù),和查找該數(shù)據(jù)。所述地址哈希函數(shù)可以設(shè)計(jì)為在所有的存儲(chǔ)體之間均勻分布數(shù)據(jù)。類型(a)數(shù)據(jù)和類型(b)數(shù)據(jù)被認(rèn)為是“漫游數(shù)據(jù)”,因?yàn)樗鼈兾幢匾幱谕ㄟ^(guò)該常規(guī)地址哈希函數(shù)所規(guī)定的位置單元中。RDP可以指向已經(jīng)處理了漫游數(shù)據(jù)的核,由此使得漫游數(shù)據(jù)能夠按照在以下更詳細(xì)地描述的方式定位。
在圖1的配置中,每個(gè)核都在共享高速緩存器中有一個(gè)最靠近的存儲(chǔ)體。根據(jù)本發(fā)明的實(shí)施例,數(shù)據(jù)可被分類為類型(a),并且可以根據(jù)該分類把該數(shù)據(jù)存儲(chǔ)在最靠近使用該數(shù)據(jù)的核的專用高速緩存器中和/或存儲(chǔ)在該共享高速緩存器中最靠近該核的存儲(chǔ)體中。按照常規(guī),取而代之,該數(shù)據(jù)會(huì)存儲(chǔ)在由前述的常規(guī)地址哈希函數(shù)所決定的共享高速緩存器中的位置內(nèi),也可能會(huì)存儲(chǔ)在該核的專用高速緩存器中。與常規(guī)模式相比較而言,通過(guò)將類型(a)的數(shù)據(jù)存儲(chǔ)于最靠近的存儲(chǔ)體中,該數(shù)據(jù)就可以由同一核后續(xù)地以降低的功耗和存取時(shí)間獲取。
例如,將數(shù)據(jù)分類為預(yù)先確定的類型的這種分類可至少部分依據(jù)對(duì)所述數(shù)據(jù)操作的軟件程序的邏輯,該邏輯基于程序員的觀點(diǎn)知道所述數(shù)據(jù)。這種程序邏輯可將類型信息傳遞到高速緩存器子系統(tǒng)。例如,程序中的指令可能包含表明它們經(jīng)常接觸的數(shù)據(jù)的類別的位。
該軟件提供的初始類別可作為在對(duì)數(shù)據(jù)進(jìn)行的某些硬件操作后的數(shù)據(jù)處理的基礎(chǔ),該分類可揭示對(duì)程序員而言無(wú)需透明的數(shù)據(jù)的屬性或處理環(huán)境。這些硬件操作可包括,例如,從專用高速緩存器逐出數(shù)據(jù),因?yàn)槌隽藢S酶咚倬彺嫫鞯娜萘炕蜿P(guān)聯(lián)性。這種操作表明該數(shù)據(jù)可能是沒(méi)有置于專用高速緩存器的一個(gè)重要數(shù)據(jù)集合的一部分。因此,如果從專用高速緩存器中逐出的數(shù)據(jù)為類型(a),那么該逐出的數(shù)據(jù)就可以被存儲(chǔ)于如上所述的共享高速緩存器中最靠近的一個(gè)存儲(chǔ)體內(nèi)。附圖1中示出了該過(guò)程。高速緩存線102.1i正被從專用高速緩存器102.1中逐出,并且被置于最靠近的共享高速緩存器存儲(chǔ)體104.1,作為高速緩存線104.1i。如果被逐出的數(shù)據(jù)為類型(b)且臟的(即,已經(jīng)被寫過(guò)),那么該數(shù)據(jù)可被送回外部存儲(chǔ)器;否則,該數(shù)據(jù)就可以被丟棄。在本發(fā)明的實(shí)施例中,相干性逐出可以不會(huì)觸發(fā)上述事件。
類型(c)的數(shù)據(jù)可像在具有每個(gè)核一個(gè)專用高速緩存器和具有核之間共享的另一級(jí)高速緩存器的常規(guī)存儲(chǔ)器系統(tǒng)里那樣處理。例如,一個(gè)可能的相干協(xié)議會(huì)按照如下操作。當(dāng)一個(gè)專用高速緩存器未命中,數(shù)據(jù)將被引入到請(qǐng)求核的專用高速緩存器中,并且還引入與共享高速緩存器的地址哈希函數(shù)相對(duì)應(yīng)的共享高速緩存器存儲(chǔ)體內(nèi)。當(dāng)專用高速緩存器逐出,如果數(shù)據(jù)為臟的,那么它將被寫回到共享高速緩存器,否則,該數(shù)據(jù)被丟棄。
在初始分類后之后的事件可表明數(shù)據(jù)重分類是有序的。因此,本發(fā)明的實(shí)施例將進(jìn)一步涉及重新分類數(shù)據(jù),例如,從類型(a)或(b)到類型(c),或從類型(c)到類型(a)或(b)。
前面已經(jīng)討論了基于數(shù)據(jù)的分類就共享高速緩存器而言如何分類和處理數(shù)據(jù)的方面?,F(xiàn)在將轉(zhuǎn)向討論在該高速緩存器子系統(tǒng)內(nèi)如何追蹤和定位漫游數(shù)據(jù)(類型(a)和類型(b))。根據(jù)本發(fā)明的實(shí)施例,當(dāng)漫游數(shù)據(jù)在專用高速緩存器內(nèi)發(fā)生未命中,該數(shù)據(jù)可以被引入請(qǐng)求核的專用高速緩存器中。數(shù)據(jù)源可以是外部存儲(chǔ)器或者在該高速緩存器子系統(tǒng)中的某處,這取決于較早的事件。當(dāng)數(shù)據(jù)被引入請(qǐng)求核的專用高速緩存器時(shí),可以在一個(gè)RDP中為該漫游數(shù)據(jù)分配一個(gè)條目(entry)。更特別地,該漫游數(shù)據(jù)的地址可用作為RDP地址哈希函數(shù)的輸入,其輸出標(biāo)識(shí)一個(gè)特別的上述條目指向的RDP指針。該RDP條目可存儲(chǔ)請(qǐng)求核的位置。因此,該RDP條目表明上次存取該數(shù)據(jù)的核,從而該數(shù)據(jù)能在另一個(gè)不同的核請(qǐng)求該數(shù)據(jù)時(shí)被找到。此外,當(dāng)該數(shù)據(jù)被引入專用高速緩存器,它進(jìn)一步可以擁有一個(gè)指示器來(lái)存儲(chǔ)它的類型,例如一個(gè)寫入到高速緩存線的字段內(nèi)的一個(gè)標(biāo)志。該信息在接下來(lái)的高速緩存器子系統(tǒng)操作中有利于識(shí)別和可能的重新分類數(shù)據(jù)類型。
對(duì)于類型(b)的數(shù)據(jù),假如該數(shù)據(jù)在高速緩存器子系統(tǒng)中且一個(gè)核需要存取該數(shù)據(jù),該數(shù)據(jù)被保留直到逐出后,相應(yīng)的RDP條目可在專用高速緩存器逐出后無(wú)效。
當(dāng)對(duì)一漫游數(shù)據(jù)發(fā)生專用高速緩存器未命中時(shí),在從外部存儲(chǔ)器提取該數(shù)據(jù)前,相應(yīng)于RDP地址哈希函數(shù)的RDP可被查詢以確定是否該數(shù)據(jù)還在高速緩存器子系統(tǒng)中。執(zhí)行該操作可能因?yàn)殡m然對(duì)于漫游數(shù)據(jù)而言,可能一個(gè)核在某時(shí)使用該數(shù)據(jù),但是這并不能得到確保。另一個(gè)不同的核可能需要存取相同的漫游數(shù)據(jù)。最后存取該數(shù)據(jù)的核也可能已經(jīng)完成它了并且在一段時(shí)間內(nèi)可能沒(méi)有其他核存取該數(shù)據(jù)。后兩種情況中的任何一個(gè)都可能意味著所需要的數(shù)據(jù)還在高速緩存器子系統(tǒng)中,因此從外部存儲(chǔ)器獲取該數(shù)據(jù)是不必要的。如果該數(shù)據(jù)確實(shí)有一個(gè)RDP條目,那么該RDP條目將表明上次存取該數(shù)據(jù)的核。假如數(shù)據(jù)是漫游的,在該RDP條目中的信息可用于確定哪個(gè)核或哪個(gè)共享高速緩存器存儲(chǔ)體可能擁有該數(shù)據(jù)。
鑒于所述,圖2示出根據(jù)本發(fā)明的實(shí)施例的數(shù)據(jù)獲取方法。如塊201所示,對(duì)于一個(gè)請(qǐng)求核,在專用高速緩存器中未命中時(shí),可以確定未命中的數(shù)據(jù)是否為漫游數(shù)據(jù)。在本發(fā)明的實(shí)施例中,一條請(qǐng)求指令,如加載,可以規(guī)定數(shù)據(jù)的類型,以致于使對(duì)該數(shù)據(jù)是否為漫游數(shù)據(jù)的確定能夠做出。可選地,硬件可以預(yù)測(cè)或確定數(shù)據(jù)的類型。在任何事件中,如果數(shù)據(jù)是漫游的,那么最靠近在其專用高速緩存器中有未命中的請(qǐng)求核的共享高速緩存器中的存儲(chǔ)體可以被存取,如塊202所示。如果在那里找到了所需要的數(shù)據(jù)(塊203),那么它可以被提供給該請(qǐng)求核,如塊204所示。隨著時(shí)間這一結(jié)果會(huì)在互連帶寬,平均存儲(chǔ)器等待時(shí)間和功耗上產(chǎn)生顯著的節(jié)約。
另一方面,如果該數(shù)據(jù)是漫游的且在最靠近該請(qǐng)求核的存儲(chǔ)體中沒(méi)有找到,那么該數(shù)據(jù)可能被不同核所存取且因此被移動(dòng)到該核的專用高速緩存器或距最靠近的共享高速緩存器存儲(chǔ)體內(nèi)。相應(yīng)地,對(duì)應(yīng)該數(shù)據(jù)的RDP可通過(guò)RDP地址哈希函數(shù)來(lái)確定,如塊205所示??伤阉髟揜DP以查找所關(guān)注的數(shù)據(jù)的條目,如塊206所示。如果沒(méi)有找到一個(gè)條目,那么將給該共享高速緩存器體和相應(yīng)于該RDP條目(該數(shù)據(jù)當(dāng)前的可能位置)的核發(fā)送一消息,且可以把該RDP條目改變成指向該請(qǐng)求核。該消息可以導(dǎo)致數(shù)據(jù)被從專用高速緩存器和/或共享高速緩存器體(它們中的至少一個(gè)當(dāng)前存儲(chǔ)該數(shù)據(jù))逐出,并送往請(qǐng)求該數(shù)據(jù)的核。該請(qǐng)求核可將該數(shù)據(jù)置于它的專用高速緩存器中。
如塊207和208所示,如果數(shù)據(jù)不是漫游的,那么該未命中的數(shù)據(jù)可用常規(guī)方法被定位。也就是,對(duì)應(yīng)于共享高速緩存器地址哈希函數(shù)的共享高速緩存器塊可被搜索,且所采取的該動(dòng)作依據(jù)相關(guān)性協(xié)議。
圖3示出依據(jù)本發(fā)明實(shí)施例的另外一種方法。如塊301所示,該方法可包括對(duì)第一個(gè)請(qǐng)求核而言,在其專用存儲(chǔ)區(qū)中未命中漫游數(shù)據(jù)。該漫游數(shù)據(jù)而后可從外部存儲(chǔ)器或高速緩存器子系統(tǒng)中某處被帶入該第一請(qǐng)求核的專用高速緩存器內(nèi),如塊302所示。如塊303所示,可以形成指向第一請(qǐng)求核的指針,例如通過(guò)在RDP中創(chuàng)建一個(gè)條目。
如塊304所示,該漫游數(shù)據(jù)接下來(lái)可從第一請(qǐng)求核中的專用高速緩存器中被逐出。該逐出例如可以是容量或關(guān)聯(lián)性逐出。如果該被逐出數(shù)據(jù)為類型(a)數(shù)據(jù),那么它可被存儲(chǔ)于共享高速緩存器中,存儲(chǔ)在該共享高速緩存器中最靠近該第一請(qǐng)求核的一個(gè)區(qū)域中。該數(shù)據(jù)隨后可能被第一請(qǐng)求核在該共享高速緩存器中存取多次,因而該數(shù)據(jù)可以正好處于該共享高速緩存器中也可以處于第一請(qǐng)求核的專用高速緩存器和該共享高速緩存器這二者內(nèi)。
接下來(lái)可能出現(xiàn)第二請(qǐng)求核在其專用高速緩存器內(nèi)對(duì)數(shù)據(jù)未命中。該第二請(qǐng)求核可因此確定未命中的數(shù)據(jù)是否為漫游數(shù)據(jù),如塊305所示。假定該未命中的數(shù)據(jù)為由第一請(qǐng)求核上次存取的漫游數(shù)據(jù)。因?yàn)樵撐疵袛?shù)據(jù)為漫游數(shù)據(jù),所以最靠近該第二請(qǐng)求核的共享高速緩存器內(nèi)的區(qū)域?qū)⒈粰z查,如塊306所示。如果數(shù)據(jù)不在那里,那么該指針(如,相應(yīng)于未命中數(shù)據(jù)的RDP)就可以被引用,如塊307-308所示。
該指針將指向第一請(qǐng)求核。因此,該數(shù)據(jù)可以被從該第一請(qǐng)求核的專用高速緩存器和相應(yīng)于該第一請(qǐng)求核的共享高速緩存器存儲(chǔ)體的任一個(gè)中或者這二者中逐出,且送往第二請(qǐng)求核,如塊309所示。該指針可被更新來(lái)指向該第二請(qǐng)求核,如塊310所示。
如前所述,本發(fā)明的實(shí)施例將涉及基于初始分類事件之后的數(shù)據(jù)重分類。根據(jù)這些實(shí)施例,如果例如沒(méi)有為未命中的漫游數(shù)據(jù)找到任何RDP條目,那么就可以搜索在數(shù)據(jù)為類型(c)數(shù)據(jù)(例如,相對(duì)于共享緩沖地址哈希函數(shù)的共享高速緩存器存儲(chǔ)體)的情況下類型(c)數(shù)據(jù)會(huì)存儲(chǔ)在其中的共享高速緩存器存儲(chǔ)體。如果通過(guò)該搜索找到了該數(shù)據(jù),該數(shù)據(jù)可以視情況被重新分類為類型(a)或類型(b),并從共享高速緩存器存儲(chǔ)體內(nèi)逐出,送往該請(qǐng)求核,并復(fù)制到該核的專用高速緩存器中。在各實(shí)施例中,RDP查找可以與共享高速緩存器查找并行執(zhí)行。雖然可能在功耗和互連業(yè)務(wù)量代價(jià)更大,但這種并行搜索可比串行搜索更快地找到所需要的數(shù)據(jù)。
在另一個(gè)重分類的操作中,類型(a)或類型(b)數(shù)據(jù)可重分類為類型(c)數(shù)據(jù)。例如,可能出現(xiàn)數(shù)據(jù)相對(duì)于某些指令(如,程序中的某一部分)為類型(a)或類型(b)數(shù)據(jù),但相對(duì)于其他指令(如,程序中的不同部分)則為類型(c)。后一種指令可能因此將該數(shù)據(jù)作為非漫游數(shù)據(jù)處理。然而,因?yàn)樵摂?shù)據(jù)曾經(jīng)為漫游數(shù)據(jù),所以可能存在一個(gè)相應(yīng)的RDP條目。因此,根據(jù)本發(fā)明的實(shí)施例,如果非漫游數(shù)據(jù)被未命中,并且該數(shù)據(jù)也在相應(yīng)于共享高速緩存器地址哈希函數(shù)的共享高速緩存器存儲(chǔ)體中沒(méi)有被找到,那么就可以搜索在相應(yīng)于RDP地址哈希函數(shù)的RDP中的該數(shù)據(jù)的RDP條目。如果條目被找到,那么可以給該共享高速緩存器塊和相應(yīng)于該RDP條目的核(該數(shù)據(jù)當(dāng)前可能的位置)發(fā)送一信息。該信息可使得該數(shù)據(jù)被改變?yōu)轭愋?c),并從專用高速緩存器中和/或共享高速緩存器塊(它們中至少一個(gè)當(dāng)前存儲(chǔ)該數(shù)據(jù))逐出并被送往相應(yīng)于共享高速緩存器地址哈希函數(shù)的共享高速緩存器存儲(chǔ)體以及請(qǐng)求該數(shù)據(jù)的核。該請(qǐng)求核將數(shù)據(jù)置于其專用高速緩存器內(nèi)。該RDP條目可以被無(wú)效。上述操作允許數(shù)據(jù)從類型(a)或類型(b)改變成類型(c)并且仍能被找到。
圖4是按照本發(fā)明實(shí)施例的計(jì)算機(jī)系統(tǒng)400的框圖,計(jì)算機(jī)系統(tǒng)400包含至少兩個(gè)處理器(也即,“處理器芯片”或“處理器封裝”)402,407和供使用的存儲(chǔ)器。根據(jù)本發(fā)明的實(shí)施例,每個(gè)處理器402,407可包括多個(gè)核101.1-101.n。每個(gè)核101.1-101.n可以是例如一個(gè)處理器核,包括ALU(算術(shù)/邏輯單元)和FPU(浮點(diǎn)單元)執(zhí)行單元。處理器402、407可通過(guò)各自本地MCH(存儲(chǔ)器控制器集線器)403,409耦合到各自的存儲(chǔ)器401、412。
該處理器402、407可進(jìn)一步通過(guò)點(diǎn)到點(diǎn)(也可是,CSI或“可配置的系統(tǒng)互連”)接口405、414和411、416耦合到芯片組415。該處理器402、407可進(jìn)一步通過(guò)點(diǎn)到點(diǎn)接口406、410相互耦合。該系統(tǒng)400可進(jìn)一步包括高性能圖形邏輯419,該邏輯可通過(guò)接口417耦合到芯片組415。芯片組415可通過(guò)接口418耦合到其他的系統(tǒng)組件,包括總線橋422,輸入/輸出設(shè)備423,音頻輸入/輸出邏輯424,鍵盤/鼠標(biāo)邏輯單元425,如網(wǎng)絡(luò)接口的通信邏輯426,和數(shù)據(jù)存儲(chǔ)器427(如硬盤之類的大容量存儲(chǔ)器)。該數(shù)據(jù)存儲(chǔ)器427可存儲(chǔ)計(jì)算機(jī)可執(zhí)行的代碼428。系統(tǒng)組件可通過(guò)例如總線421,429的總線互連。
至少兩個(gè)處理器402,407中的每一個(gè)可包括實(shí)現(xiàn)本發(fā)明的邏輯。然而,實(shí)現(xiàn)本發(fā)明的邏輯不需要駐留在這兩個(gè)處理器中。例如,該邏輯單元可駐留在包括系統(tǒng)400的主板上的其他位置。
在此特別地舉例說(shuō)明和/或描述了本發(fā)明的幾個(gè)實(shí)施例。然而,值得注意的是,在不偏離本發(fā)明的主旨和所希望的保護(hù)范圍內(nèi),本發(fā)明的修改和變化都由上述教導(dǎo)所涵蓋并且落在在所附權(quán)利要求的范圍內(nèi)。
權(quán)利要求
1.一種方法,包括將數(shù)據(jù)分類為第一類型;和基于該分類,將所述數(shù)據(jù)存儲(chǔ)于一個(gè)多核系統(tǒng)的共享高速緩存器內(nèi)。
2.如權(quán)利要求1中所述的方法,其中把所述數(shù)據(jù)存儲(chǔ)于最靠近使用所述數(shù)據(jù)的核的共享高速緩存器的一個(gè)區(qū)域內(nèi)。
3.如權(quán)利要求1所述的方法,其中所述分類標(biāo)識(shí)可能被再次使用的數(shù)據(jù)。
4.如權(quán)利要求1所述的方法,其中所述分類標(biāo)識(shí)可能每次被一個(gè)核使用的數(shù)據(jù)。
5.如權(quán)利要求1所述的方法,其中所述分類至少部分基于操作所述數(shù)據(jù)的軟件。
6.如權(quán)利要求1所述的方法,進(jìn)一步包括在共享高速緩存器內(nèi)存取所述數(shù)據(jù)。
7.一種確實(shí)收錄執(zhí)行權(quán)利要求1的方法的計(jì)算機(jī)可執(zhí)行的指令的制造物品。
8.一種處理器,包括多個(gè)核;可由所述核中的兩個(gè)或更多使用的共享高速緩存器;和將數(shù)據(jù)存儲(chǔ)于共享高速緩存器中基于對(duì)該數(shù)據(jù)的分類的地址的邏輯。
9.如權(quán)利要求8所述的處理器,所述處理器進(jìn)一步包括一個(gè)指向存取所述數(shù)據(jù)的上個(gè)核的指針。
10.如權(quán)利要求8所述的處理器,其中所述分類標(biāo)識(shí)可能被再次使用的數(shù)據(jù)。
11.如權(quán)利要求8所述的處理器,其中所述地址對(duì)應(yīng)于最靠近使用所述數(shù)據(jù)的核的共享高速緩存器中的一個(gè)區(qū)域。
12.如權(quán)利要求8所述的處理器,其中所述邏輯在一個(gè)專用高速緩存器容量逐出后把所述數(shù)據(jù)存儲(chǔ)在所述地址。
13.如權(quán)利要求12所述的處理器,該邏輯還在專用高速緩存器中未命中所述數(shù)據(jù)后,在所述地址搜索所述數(shù)據(jù)。
14.如權(quán)利要求13所述的處理器,該邏輯還在所述數(shù)據(jù)沒(méi)有在所述地址找到的情況下引用一個(gè)指針,該指針指向存取所述數(shù)據(jù)的上個(gè)核。
15.一種系統(tǒng),包括存儲(chǔ)器;多個(gè)處理器,耦合到所述存儲(chǔ)器,所述處理器中的至少兩個(gè)包括多個(gè)核;可由每個(gè)核使用的共享高速緩存器;和基于把數(shù)據(jù)分類為預(yù)定類型來(lái)將數(shù)據(jù)存儲(chǔ)于共享高速緩存器中最靠近使用該數(shù)據(jù)的核的該共享高速緩存器的一個(gè)區(qū)域內(nèi)的邏輯。
16.如權(quán)利要求15所述的系統(tǒng),進(jìn)一步包括指向存取所述數(shù)據(jù)的上個(gè)核的指針。
17.如權(quán)利要求15所述的系統(tǒng),所述邏輯還為請(qǐng)求核所需的數(shù)據(jù)確定所述數(shù)據(jù)是否為預(yù)定類型,如果是,在最靠近請(qǐng)求核的共享高速緩存器的一個(gè)區(qū)域內(nèi)搜索所述數(shù)據(jù)。
18.如權(quán)利要求17所述的系統(tǒng),所述邏輯還在所述數(shù)據(jù)在最靠近請(qǐng)求核的共享高速緩存器的一個(gè)區(qū)域內(nèi)沒(méi)有被找到的情況下,從前次存取所述數(shù)據(jù)的核的專用高速緩存器或最靠近前次存取所述數(shù)據(jù)的核的共享高速緩存器中的一個(gè)區(qū)域之一內(nèi)獲取所述數(shù)據(jù)。
19.如權(quán)利要求15所述的系統(tǒng),所述邏輯還在預(yù)定類型的數(shù)據(jù)在請(qǐng)求核的專用高速緩存器內(nèi)未命中的情況下將所述數(shù)據(jù)引入到該專用高速緩存器,并且形成指向所述請(qǐng)求核的指針。
20.如權(quán)利要求19所述的系統(tǒng),所述邏輯還從該專用高速緩存器內(nèi)逐出所述數(shù)據(jù)并將所述數(shù)據(jù)存儲(chǔ)于最靠近請(qǐng)求核的共享高速緩存器內(nèi)的一個(gè)區(qū)域內(nèi)。
21.如權(quán)利要求15所述的系統(tǒng),其中所述分類標(biāo)識(shí)可能被再次使用的數(shù)據(jù)。
22.一種設(shè)備,包括核;專用高速緩存器,與所述核相關(guān)聯(lián);共享高速緩存器;和邏輯,基于把數(shù)據(jù)分類為預(yù)定類型之一而將數(shù)據(jù)存儲(chǔ)于共享高速緩存器中最靠近該核的該共享高速緩存器的一個(gè)區(qū)域內(nèi)。
23.如權(quán)利要求22所述的設(shè)備,其中所述預(yù)定類型包括標(biāo)識(shí)數(shù)據(jù)可能被再次使用的第一類型。
24.如權(quán)利要求22所述的設(shè)備,其中所述預(yù)定類型還包括標(biāo)識(shí)數(shù)據(jù)不可能被再次使用的第二類型;和所述邏輯還基于所述分類將第二類型的數(shù)據(jù)存儲(chǔ)于專用高速緩存器中。
25.如權(quán)利要求22所述的設(shè)備,其中所述預(yù)定類型進(jìn)一步包括標(biāo)識(shí)數(shù)據(jù)可能每次由一個(gè)以上的核使用的第三類型。
26.如權(quán)利要求22所述的設(shè)備,所述邏輯還在專用高速緩存器內(nèi)未命中數(shù)據(jù)后把所述未命中的數(shù)據(jù)引入到專用高速緩存器,并且形成指向所述核的指針。
27.如權(quán)利要求26所述的設(shè)備,所述邏輯還從專用高速緩存器內(nèi)逐出所述未命中的數(shù)據(jù),并將所述被逐出的數(shù)據(jù)存儲(chǔ)于最靠近所述核的共享高速緩存器的一個(gè)區(qū)域內(nèi)。
28.如權(quán)利要求24所述的設(shè)備,所述邏輯還基于初始分類后的事件重新將第二類型的數(shù)據(jù)分類為第一類型的數(shù)據(jù),或者相反。
全文摘要
本發(fā)明的實(shí)施例涉及一種用于在具有共享高速緩存器的多核系統(tǒng)中高速緩存數(shù)據(jù)的方法和系統(tǒng)。根據(jù)實(shí)施例,被核使用的數(shù)據(jù)可被分類為預(yù)定類型之一。該分類可以通過(guò)為不同的數(shù)據(jù)類型執(zhí)行不同的處理類型來(lái)實(shí)現(xiàn)高效率。例如,分類為可能被再次使用的數(shù)據(jù)可存儲(chǔ)于共享高速緩存器內(nèi),存儲(chǔ)在最靠近使用該數(shù)據(jù)的核的共享高速緩存器的區(qū)域中。通過(guò)這種方式存儲(chǔ)數(shù)據(jù),如果數(shù)據(jù)后續(xù)地由該核獲取來(lái)使用,可以降低存取時(shí)間和功耗。
文檔編號(hào)G06F12/08GK1991793SQ20061006415
公開(kāi)日2007年7月4日 申請(qǐng)日期2006年12月30日 優(yōu)先權(quán)日2005年12月30日
發(fā)明者Y·-K·陳, C·J·休斯 申請(qǐng)人:英特爾公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1