多核處理器中的高速緩存劃分的制作方法
【專利說明】多核處理器中的高速緩存劃分
【背景技術(shù)】
[0001] 除非在本文中另外表明,否則本部分中所述的材料對于本申請中的權(quán)利要求來說 不是現(xiàn)有技術(shù)并且不由于包括在本部分中而被承認是現(xiàn)有技術(shù)。
[0002] 依據(jù)摩爾定律,可被實際地合并到集成電路中的晶體管的數(shù)量大致每兩年翻倍。 該趨勢已經(jīng)持續(xù)了多半個世紀,并且預計在可預見的未來會持續(xù)。然而,簡單地將更多個晶 體管添加到單線程處理器不再產(chǎn)生快很多的處理器。相反,提高的系統(tǒng)性能一直是通過將 多個處理器核集成在單個忍片上W創(chuàng)建忍片多處理器并且在該忍片多處理器的多個處理 器核之間共享處理來實現(xiàn)的。系統(tǒng)性能和功率使用率可利用具有被配置用于多個指令集或 者被配置為處理不同的指令集的子集或執(zhí)行線程的核元件的忍片多處理器來進一步提高。 [000;3]概述
[0004] 根據(jù)本公開的至少一些實施例,一種更新多核處理器中的高速緩存的方法包括: 接收與在多核處理器的單個核上運行的處理或線程相關(guān)聯(lián)的高速緩存未命中的通知,所述 多核處理器包括用于存儲來自第一數(shù)據(jù)源的數(shù)據(jù)的第一高速緩存分區(qū)W及用于存儲來自 第二數(shù)據(jù)源的數(shù)據(jù)的第二高速緩存分區(qū);確定與高速緩存未命中相關(guān)聯(lián)的地址對應于第一 數(shù)據(jù)源;并將與高速緩存未命中相關(guān)聯(lián)的數(shù)據(jù)存儲在第一高速緩存分區(qū)中。
[0005] 根據(jù)本公開的至少一些實施例,一種多核處理器包括:用于存儲來自第一數(shù)據(jù)源 的數(shù)據(jù)的第一高速緩存分區(qū)和用于存儲來自第二數(shù)據(jù)源的數(shù)據(jù)的第二高速緩存分區(qū)、W及 控制器。控制器被配置為:接收與在多核處理器的單個核上運行的處理相關(guān)聯(lián)的高速緩存 未命中的通知;確定與高速緩存未命中相關(guān)聯(lián)的地址對應于第一數(shù)據(jù)源;并將與高速緩存 未命中相關(guān)聯(lián)的數(shù)據(jù)存儲在第一高速緩存分區(qū)中。
[0006] 根據(jù)本公開的至少一些實施例,一種非暫態(tài)計算機可讀存儲介質(zhì)包括計算機可執(zhí) 行指令。運些指令當被計算機執(zhí)行時使計算機執(zhí)行W下步驟:接收與在多核處理器的單個 核上運行的處理相關(guān)聯(lián)的高速緩存未命中的通知;確定與高速緩存未命中相關(guān)聯(lián)的地址對 應于第一數(shù)據(jù)源;并將與高速緩存未命中相關(guān)聯(lián)的數(shù)據(jù)存儲在第一高速緩存分區(qū)中。
[0007] 前述概要僅僅是說明性的,而并不意圖W任何方式是限制性的。除了說明性的方 面,上述實施例和特征、另外的方面、實施例和特征將通過參考附圖和下面的詳細描述而變 得顯而易見。
【附圖說明】
[000引通過結(jié)合附圖進行的W下描述和所附權(quán)利要求,本公開的前述和其它特征將變得 更充分地顯而易見。運些附圖僅僅描繪了根據(jù)本公開的幾個實施例,因此,不應被認為是限 制其范圍。將通過使用附圖來更具體地、更詳細地描述本公開,在附圖中:
[0009] 圖1示出忍片多處理器的示例實施例的框圖;
[0010] 圖2A示出在圖1中所示的忍片多處理器的處理器核中的一個上運行的應用或執(zhí)行 線程的示例未命中率曲線;
[0011] 圖2B和圖2C示出忍片多處理器中第一數(shù)據(jù)源的示例未命中成本曲線W及與忍片 多處理器相關(guān)聯(lián)的第二數(shù)據(jù)源的示例未命中成本曲線;
[0012] 圖3是示出高速緩存劃分系統(tǒng)的框圖;
[0013] 圖4展示更新多核處理器中的高速緩存的示例方法的流程圖;
[0014] 圖5是實施用于更新多核處理器中的高速緩存的方法的計算機程序產(chǎn)品的說明性 實施例的框圖;W及
[0015] 圖6是示出示例計算裝置的框圖,
[0016] 所有附圖都是依照本公開的至少一些實施例來安排的。
【具體實施方式】
[0017] 在W下詳細描述中,對附圖進行參考,所述附圖形成詳細描述的一部分。在附圖 中,相似的符號通常標識相似的部件,除非上下文另外指示。在詳細描述、附圖和權(quán)利要求 中描述的說明性實施例并不意味著是限制性的。在不脫離運里所提供的主題的精神或范圍 的情況下,可W利用其它實施例,W及可W進行其它改變。如在本文中一般地描述的和在圖 中示出的那樣,本公開的各方面可W W廣泛多樣的不同配置被布置、替代、組合和設(shè)計,所 有運些都被明確地構(gòu)想,并且構(gòu)成本公開的一部分。
[0018] 存在朝向包括數(shù)量相對多的處理器核的大規(guī)模忍片多處理器的趨勢,可W預期在 不久的將來有高達數(shù)百個或數(shù)千個的核計數(shù)。運樣的處理器可大大地縮短用于具有高并行 性級的應用(例如,在其中多個計算可被同時或彼此并行地執(zhí)行的應用)的處理時間。然而, 隨著該趨勢繼續(xù),高核計數(shù)忍片多處理器中的所有處理器核的高效使用可能變得更困難, 因為在不W指數(shù)方式增大由于忍片多處理器中的泄漏電流而引發(fā)的靜態(tài)功耗的情況下,闊 值電壓可能不再按比例降低。結(jié)果,高核計數(shù)忍片多處理器中的每一個核可用的功率預算 在未來的每代技術(shù)中可能降低。該情況導致稱之為"功率墻"、"效用墻"或"暗場娃晶"的現(xiàn) 象,其中高核計數(shù)忍片多處理器的增大的部分可能不被W全頻率供電,或者可能根本不被 供電。因此,運樣的忍片多處理器中的性能改進可能極大地取決于能量效率,諸如性能/瓦 特或操作/焦耳。
[0019] 鑒于W上,改進忍片多處理器中的能量效率的可能的手段是近闊值電壓設(shè)計 (NTD)的技術(shù),該技術(shù)將供給電壓降至接近于用于忍片多處理器中的核的闊值電壓。因為核 所消耗的動態(tài)功率可能與CV 2f成比例(其中C=電容,V =供給電壓,f =時鐘頻率),所W降 低用于核的供給電壓(因此也降低頻率)可能對降低該核所消耗的動態(tài)功率有=次方的影 響(cubic impact)。相比之下,由降低供給電壓而導致的核性能的對應降低(例如,頻率的 減小)可能是線性的。因此,OTD可W是用于提高忍片多處理器的能量效率的有效方法。
[0020] 根據(jù)本公開的實施例,高速緩存劃分系統(tǒng)和方法被用來使用NTD改進忍片多處理 器中的能量效率。具體地說,高速緩存被劃分為用于單個線程或應用的高速緩存分區(qū),其中 每個分區(qū)存儲來自特定數(shù)據(jù)源的數(shù)據(jù),W通過利用從多個數(shù)據(jù)源提取數(shù)據(jù)的能量成本和延 時成本的變化來改進忍片多處理器的能量或延時效率。例如,當能量效率對于利用特定核 處理特定線程或應用是重要的時,可將高速緩存分區(qū)分配W存儲來自可用數(shù)據(jù)源的數(shù)據(jù), 并且可對運些分區(qū)的大小進行調(diào)制W實現(xiàn)最佳的或W其它方式改進的能量效率。類似地, 當最大性能(例如,最小延時)對于處理線程或應用是重要的時,可將高速緩存分區(qū)分配用 于存儲來自可用數(shù)據(jù)源的數(shù)據(jù),并且可對運些分區(qū)調(diào)整大小W實現(xiàn)最佳的或W其它方式改 進的性能。
[0021] 在應用程序的延時約束大于帶寬約束(例如,延遲關(guān)鍵的應用)的情況下,NTD對忍 片多處理器的存儲器控制器的影響可能很小。例如,降低存儲器控制器的時鐘頻率一半可 能導致其延時從大約10個時鐘周期翻倍至20個時鐘周期,運與已經(jīng)約為200-300個時鐘周 期量級的高速緩存未命中延時相比是可忽略的。因此,當NTD被應用于存儲器控制器時,存 在其性能可能未受到重大影響的許多應用。
[0022] 圖1示出根據(jù)本公開的至少一些實施例布置的忍片多處理器(CMP)IOO的示例實施 例的框圖。CMP 100可W是由單個集成電路管忍109形成的多核處理器,并且可被配置為使 用形成在集成電路管忍109上的多個處理器核來執(zhí)行并行處理任務(wù)(例如,處理多個線程)。 CMP 100-般可包括被配置用于近闊值操作并且按鋪瓦式陣列布置的多個存儲器控制器和 處理器核。瓦片(tiles)(諸如存儲器控制器101-104和處理器核120)可使用任何在技術(shù)上 可行的互連拓撲(諸如圖1中所示的二維網(wǎng))而被禪合在一起。因此,CMPlOO可包括21個處理 器核120和四個存儲器控制器101-104,每個處理器核120被配置有合適的路由器。
[0023] 為了清晰和簡潔起見,從圖1省略了可存在于集成電路管忍109上的附加的共享資 源,諸如I/O端口、總線接口、功率管理單元等。另外,存儲器控制器和處理器核的任何在技 術(shù)上可行的組合可被用在忍片多處理器中,而不超出本公開的范圍。此外,CMP 100可禪合 到或包括任務(wù)管理器、系統(tǒng)時鐘、操作系統(tǒng)(OS)和/或其它部件。
[0024] 每個處理器核120可W是適合于形成在集成電路管忍109上的任何在技術(shù)上可行 的處理器或處理器核。一般地,處理器核120中的一些或全部可被配置為處理一個或多個應 用或一個應用的執(zhí)行線程。在一些實施例中,處理器核120中的一些或全部在配置上可W是 基本上相同的,在其它實施例中,處理器核120可包括變化的處理器核配置,諸如??卺槍?某些應用的配置,例如,圖形處理單元等。另外,在一些實施例中,處理器核120中的一些或 全部可包括用于指令緩沖器和數(shù)據(jù)緩沖器的高速緩存,運些高速緩存有時被稱為"LI高速 緩存(指令或數(shù)據(jù)r,在一些情況下,還有L2高速緩存。當處理器核120經(jīng)歷高速緩存未命中 時,即,當嘗試讀取高速緩存中的一條數(shù)據(jù)或者將一條數(shù)據(jù)寫入到高速緩存中失敗時,處理 器核120可訪問數(shù)據(jù)源1-5中的一個,下面對此進行描述。
[00巧]存儲器控制器101-104中的每個可W是被配置為管理CMP 100和CMPlOO外部的存 儲器之間的數(shù)據(jù)流的數(shù)字電路。因為CMP 100在一些實施例中被配置為用于近闊值操作,所 W存儲器控制器101-104可W W不同的時鐘頻率操作。例如,在圖1中所示的實施例中,存儲 器控制器101可W W存儲器控制器基本時鐘頻率f操作,存儲器控制器102可W W存儲器控 制器基本時鐘頻率的一半f/2操作,存儲器控制器103和104可W W存儲器控制器基本時鐘 頻率的四分之一f/4操作。此外,存儲器控制器101-104中的每個可與一個或多個數(shù)據(jù)源相 關(guān)聯(lián),其中數(shù)據(jù)源可W是存儲器控制器和在處理器核120中的一個發(fā)生高速緩存未命中的 情況下可被處理器核120訪問的特定存儲器的組合。例如,在圖1中所示的實施例中,存儲器 控制器101和主存儲器131的組合在本文中可被稱為數(shù)據(jù)源1;存儲器控制器102和主存儲器 131的組合在本文中可被稱為數(shù)據(jù)源2;存儲器控制器103和存儲器133的組合在本文中可被 稱為數(shù)據(jù)源3;存儲器控制器104和存儲器134的組合在本文中可被稱為數(shù)據(jù)源4;并且存儲 器控制器101和管忍上存儲器135的組合在本文中可被稱為數(shù)據(jù)源5。
[0026]數(shù)據(jù)源101-105中的每個可具有與其相關(guān)聯(lián)的不同延時成本和/或能量成本。具體 地說,當被處理器核120用作"高速緩存未命中源"(例如,用于滿足處理器核120所經(jīng)歷的高 速緩存未命中的數(shù)據(jù)源)時,數(shù)據(jù)源101-105中的每個可能需要更多的或更少的時間和/或 能量來滿足高速緩存未命中。例如,假定存儲器控制器基本時鐘頻率f是處理器時鐘頻率的 四分之一,并且每個存儲器控制器具有五個流水線級(pipeline stages),那么用于提供存 儲器請求的延時對于存儲器控制器101為20個處理器時鐘周期,對于存儲器控制器103為40 個周期,對于存儲器控制器102和104為80個周期。
[0027]對與數(shù)據(jù)源101-105中的每個相關(guān)聯(lián)的不同的各自的延時成本有貢獻的另一個因 素可能是歸因于包括在數(shù)據(jù)源101-105中的每個中的存儲器的訪問延時。例如,主存儲器 131可W例如是具有數(shù)百量級的處理器時鐘周期的相對較長的訪問延時的忍片外動態(tài)隨機 存取