新四季網

具有片外帶寬分配的多處理器高速緩存預取的製作方法

2023-06-06 06:20:16

專利名稱:具有片外帶寬分配的多處理器高速緩存預取的製作方法
具有片外帶寬分配的多處理器高速緩存預取
背景技術:
多處理器系統將數目更多的處理器內核集成到單個的集成電路晶片上。雖然數目 更多的處理器內核可以允許集成電路晶片的更多的處理能力,但片外資源(諸如存儲器) 的可用帶寬(即,片外帶寬)可能無法像多個內核那樣快地進行調整。片外帶寬常常受限 於在集成電路晶片與其接口部之間或在印刷電路板與其接口部之間進行接口的可用管腳 的數量。這種可用片外帶寬的限制可以表現為在處理器內核請求和接收對外部存儲器的訪 問之間的延時。一些處理器依靠預取來減小對外部存儲器的訪問的延時。在預取中,在預料到數 據近期將會被處理器請求之前,該數據塊從外部存儲器被加載到高速緩存中。雖然平均來 看預取能夠減少程序的執行時間,但因為一些預取的塊在它們從高速緩存被收回之前未被 使用,所以這些預取是浪費的。在多個內核共享片外帶寬的情況下,浪費的預取對於有限的 片外帶寬資源而言不是優化的使用。


結合附圖,本公開的以上以及其它特徵通過下面的描述以及所附權利要求將會變 得更加明顯。理解到,這些附圖僅僅描繪了根據本公開的幾個實施例,因此,不被認為是對 本申請範圍的限制,通過使用附圖,利用另外的具體描述和細節對本申請進行描述,其中圖1是示例了被耦合於片外存儲器的多處理器的功能性框圖;圖2是示例了具有使用預取門控的預取帶寬分配器的多核處理器的框圖;圖3是示例了使用令牌箱來分配預取帶寬的多處理器的框圖;圖4是示例了用於分配多處理器高速緩存預取帶寬的處理的流程圖;以及圖5是示例了用於使用令牌來分配多處理器高速緩存預取帶寬的處理(全部是根 據本申請中所呈現的實施例而配置的)的流程圖。
具體實施例方式在下面的詳細描述中,參照了構成本申請的一部分的附圖。在圖中,類似的標記一 般用於標識類似的組件,除非上下文另行進行了規定。說明書、附圖以及權利要求中所描述 的示例性的實施例不意味著是限制性的。在不脫離本申請中所陳述的主題的精神或範圍的 情況下,可以採用其它的實施方式和進行其它的改變。易於理解到,本申請中總體上描述的 以及圖中所示例的本公開的方面能夠以許多不同的配置來設置、替換、組合、分開和設計, 其全部都是本申請明確預見到的。具體而言,本公開涉及了與在多處理器中改進高速緩存預取的片外帶寬效率有關 的方法、裝置、系統和電腦程式產品。高速緩存預取可以由多核系統中的不同的內核生 成,可用片外帶寬的一部分可以被分配給那些過去產生了最有效的預取的內核。基於內核 所預取的塊最終有多麼有用和及時,內核可以被賦予預取功效計分。具有較高的預取功效 計分的內核可以被分配較大部分的片外帶寬以用於其將來的預取請求。相比較而言,具有較低的預取功效計分的內核被分配的用於其將來預取請求的片外帶寬的部分可以被減少。 因而,帶寬優先地或以較大比例地被分配給具有最有效預取的內核。在一些例子中,描述了用於在多處理器計算系統的處理器內核之間分配預取帶寬 的技術。可以確定與多處理器的片外存儲器接口相關聯的預取帶寬。可以建立在多處理器 的兩個或更多個處理器內核之間的預取帶寬的劃分。在多處理器的每個處理器內核處可以 支持預取操作,以符合所建立的預取帶寬的劃分。在其它的一些例子中,片外流量監控器模塊可以監控與片外存儲器總線相關聯的 片外存儲器帶寬。片外流量監控器可以確定與片外存儲器總線相關聯的非預取帶寬。預取 帶寬分配器可以計算片外存儲器總線的容量帶寬與所確定的非預取帶寬之間的差來作為 預取帶寬。可以維持與各個處理器內核相關聯的預取功效計分。可以與各處理器內核的預 取功效計分成比例地劃分預取帶寬。預取功效計分可以基於對如下內容的計數在從高速 緩存收回之前被標記成已使用的預取高速緩存條目的數量。預取帶寬可以由令牌生成比率 來表示。令牌箱可以被用來跟蹤被分配給處理器內核的令牌。響應於預取操作的進行,令 牌可以被消耗。現在轉到圖1,功能框圖100示例了至少根據本申請中所呈現的一些實施例的、被 耦合於片外存儲器120的多處理器110A。多處理器110A可以具有多個處理器內核,如內 核1至內核N(140A-140D和140N)。這些可以整體地或總體上被稱為處理器內核140。多 個處理器內核140通常可以支持並行處理、並行任務、並行線程、單獨的順序處理或者其任 意的組合。術語「多處理器」和「多核處理器」在本申請中可以被互換使用。多處理器110A可以訪問片外存儲器120。片外存儲器120可以被稱為計算系統 的主存儲器。多處理器110A可以從片外存儲器120讀取和向片外存儲器120寫入。這些 讀取和寫入可以與如下內容相關與多處理器110A的多個處理器內核140的操作相關聯 的指令和數據。通常,多處理器110A內的處理器內核140中的每個處理器內核可以單獨 地訪問存儲器120。存儲器120可以是隨機訪問存儲器(Random Access Memory, RAM)、靜 態RAM (SRAM)、動態RAM (DRAM)、同步DRAM (SDRAM)或者任意類型的易失性或非易失性存儲 器。存儲器接口 125可以支持多處理器110A與片外存儲器120之間的互連。存儲器接口 125可以是橋接器、膠合邏輯、總線仲裁器、總線控制器、存儲體控制器、一個或更多個總線、 或者任何可以被用來對存儲器和處理器或多處理器進行互連的其它存儲器接口機制。存儲 器接口 125可以位於片內或片外。片外存儲器總線115可以對處理器內核140、存儲器接口 125和片外存儲器120進行互連。片外流量監控器150可以是諸如電路、電路的集合或者狀態機的模塊。片外流量 監控器150可以監控處理器內核140與片外存儲器120之間的流量。此流量的一部分可以 是來自處理器內核140的命令請求。命令請求可以是強制加載與當前的執行相關聯但未存 在於高速緩存中的指令或數據的請求。片外流量的一部分還可以是預取流量。估計或估計 近期將會被處理器內核140請求的代碼或數據可以被預取並置於該處理器內核140可訪問 的高速緩存存儲器中。片外流量監控器150可以對去往片外的流量進行監控和對命令請求所使用的片 外帶寬的部分進行監測。根據處理器內核140所生成的命令請求的量,片外流量監控器150 可以確定可用片外帶寬的剩餘部分。此剩餘的帶寬可以作為用於與片外存儲器120進行預取操作的預取帶寬來進行分配。片外流量監控器150可以將關於預取帶寬的信息提供給預取帶寬分配器160。預 取帶寬分配器160可以在各處理器內核140之間劃分此預取帶寬。在一些例子中,預取帶 寬分配器160可以通過獲取關於每個處理器內核140的預取功效的信息以及根據與處理器 內核140相關的預取功效計分對預取帶寬進行分配,來對預取帶寬進行劃分。本申請中所討論的模塊可以被實施在集成電路內。這些集成電路可以是專用集成 電路(Application Specific Integrated Circuits,ASIC)、可編程集成電路諸如現場可 編程門陣列(Field Programmable Gate Array, FPGA)或可編程邏輯陣列(Programmable Logic Array, PLA)、片上系統(System on chip, S0C)、基板上的系統、封裝上的系統,或者 可以以用於對電路進行集成或封裝的任何其它的合理方式來實現。處理器內核140可以是 通用處理器、數位訊號處理器(Digital signal processor,DSP)、專用處理器、可重新配置 處理器、圖形處理器、協處理器、可編程邏輯內的內核或者其任意的組合。雖然以單獨的模 塊或電路的形式進行了示例和討論,但是片外流量監控器150和預取帶寬分配器160可以 任意的組合進行功能上的組合或者進行不同地劃分,而不脫離本申請中所公開的技術的精 神和範圍。片外流量監控器150和預取帶寬分配器160可以一起被稱為帶寬監控器和分配 器模塊或系統。現在轉到圖2,框圖示例了至少根據本申請中所呈現一些實施例的、具有使用預取 門控的預取帶寬分配器160的多核處理器110B。多處理器110B可以具有多個處理器內核 140,如內核1(140A)以及內核N(140N)。每個處理器內核140可以與一個或更多個高速緩 存相關聯,如與處理器內核1(140A)相關聯的高速緩存210A以及與處理器內核N(140N)相 關聯的高速緩存210N。這些高速緩存可以整體地或總體上被稱為高速緩存210。兩個或更 多個處理器內核140也可以共享組合的高速緩存。通常,高速緩存(如高速緩存210)可以是可以被配置成存儲頻繁被使用的、最近 被使用的或者很快將會被使用的存儲塊以由處理器進行快速訪問的小型的、高速的存儲 器。所以,高速緩存210可以減小與對主存儲器(圖2中未示出)進行訪問相關聯的延時 中的一些延時。例如,主存儲器的讀和寫的計時會比處理器140本身的讀和寫操作的內部 計時慢許多。在一些例子中,可以將等待狀態引入到處理器140的操作中,以適應讀和寫操 作所需要的外部計時的延時。或者,可以使用高速緩存存儲器210來減少等待狀態的總數 量以及降低整體的平均延時。命令請求可以是強制將與處理器140當前的執行相關聯的指令或數據加載到高 速緩存210中的請求。這樣,命令請求可以被視作是用以將代碼或數據加載到高速緩存210 中的非選擇性的請求。相比較而言,預取可以嘗試將估計在近期將會被處理器內核140請 求的代碼或數據加載到高速緩存210中。因此,在某種程度上預取可以被視為是可選的;然 而,有效的預取可以顯著地改進處理器140的執行性能。預取器(如與處理器內核1(140A)相關聯的預取器220A以及與處理器內核 N(140N)相關聯的預取器220N)可以被配置成將代碼或數據預取到與各處理器內核140相 關聯的高速緩存210中。這些預取器可以整體地或總體上被稱為預取器220。來自預取器 220的預取請求以及命令請求可以被發送給片外接口隊列240。可以存在單個的全局片外 接口隊列240或者並行操作的多個片外接口隊列。片外接口隊列240可以被配置成用於在
6多核處理器110B與片外存儲器總線115之間進行存儲器請求的緩衝和排序。片外流量監控器150可以監控片外存儲器總線115上的流量。此流量的一部分可 以是來自高速緩存140的命令請求。片外流量監控器150可以監測片外帶寬被命令請求使 用的部分。片外流量監控器150可以至少部分地基於處理器內核140所生成的命令請求的 量,來確定片外帶寬的剩餘部分。可以分配剩餘的片外帶寬,作為用於從片外存儲器120進 行預取的預取帶寬。片外流量監控器150可以將關於預取帶寬的信息提供給預取帶寬分配器160。預 取帶寬分配器160可以在各種處理器內核140之間對預取帶寬進行劃分。在一些例子中, 可以通過獲取來自處理器內核140的關於每個高速緩存210的預取功效的信息以及根據所 獲取的相關預取功效的信息對預取帶寬進行分配,來完成可用帶寬的劃分。預取功效的示 例性度量可以與在高速緩存被收回之前所使用的預取的高速緩存條目的數量相關。如果實 際上使用了更多個與特定處理器內核140相關聯的預取條目,則可以意味著,與該處理器 內核140相關聯的預取更有效(與在被收回之前有更多的預取條目未被使用的內核相比)。每個處理器內核140或者相關的高速緩存210,可以與預取門230相關聯。例如, 預取門230A可以與處理器內核1 (140A)相關聯,而預取門230N可以與處理器內核N (140N) 相關聯。這些預取門230A、230N可以整體地或總體上被稱為預取門230。預取帶寬分配器 160可以發送信號給預取門230以將所分配的預取帶寬的劃分提供給預取門230。預取門 230可以根據帶寬分配的劃分來限制預取。在一些例子中,一旦分配的帶寬被用完,則可以 忽略另外的預取請求。與每個處理器內核140相關聯的預取功效評分、預取門230以及預取器220的功 能操作可以被實施成高速緩存控制器(未示出)的一部分。這些功能操作可以與預取帶寬 分配器160集成、或者與片外流量監控器150集成。功能操作可以被集成在一起、完全分布 在每個處理器內核140、在處理器內核140的子集之間共享或者以任意合理的組合被集成 或劃分。現在回到圖3,框圖300示例了至少根據本申請中所呈現的一些實施例的、使用令 牌箱330來分配預取帶寬的多處理器110C。多處理器110C可以具有多個處理器內核140, 如內核1至內核N(140A-140D和140N)。片外存儲器120可以被多處理器110C訪問。片 外存儲器120可以被稱為計算系統的主存儲器。根據另外的實施例,片外存儲器120可以 是外部高速緩存。存儲器接口 125可以支持多處理器110C與片外存儲器120之間的互連。 片外存儲器總線115可以對處理器內核140和存儲器接口 125以及片外存儲器120進行互 連。片外流量監控器150可以監控處理器內核140與片外存儲器120之間的流量。此 流量的一部分可以是來自處理器內核140的命令請求。片外流量監控器150可以監控片外 存儲器總線115上的流量以及片外帶寬被命令請求所使用的部分。根據處理器內核140所 生成的命令請求的量,片外流量監控器150可以確定片外帶寬的剩餘部分。可以分配此剩 餘的可用帶寬,作為用於從片外存儲器120進行預取讀/寫操作的預取帶寬。片外流量監控器150可以被配置成將關於預取帶寬的信息提供給令牌生成器 310。令牌生成器310可以基於用於所有預取的可用帶寬來建立令牌生成比率。示例的令牌 分配器320可以通過將所生成的令牌分配給與處理器內核140相關聯的令牌箱330,來在各種處理器內核140之間對此預取帶寬進行劃分。令牌箱(token bin)(如,令牌箱330A-330D 和330N)可以從令牌分配器320接收令牌分配。這些令牌箱可以整體地或總體上被稱為令 牌箱330。令牌分配器320可以被配置成獲取關於每個處理器內核140的預取功效的信息。 令牌分配器320可以根據處理器內核140的相關預取功效計分來分配預取帶寬。例如,被 證明了具有較高的預取有效性的高速緩存(圖3中未示出)可以被分配較多的令牌,而具 有較低的預取有效性的高速緩存可以被分配較少的令牌。預取器220 (如,預取器220A-220D和220N)可以與各個處理器內核140相關聯。 可以通過各令牌桶330來過濾來自每個預取器220的請求。當預取器220接收到預取請求 且還存在可用的令牌時,預取器220可以消耗令牌和進行請求片外接口隊列240。否則,當 預取器220發現沒有可用的令牌時,預取請求可以被放棄或被丟棄。然而,命令提取具有比 預取更高的優先級,命令提取可以被發給片外接口隊列240而無需等待可用的令牌。現在參照圖4,將結合本申請中所呈現的實施例針對具有片外帶寬分配的多處理 器高速緩存預取提供其它的細節。具體地,圖4是示例了至少根據本申請中所呈現的一些 實施例的、用於分配多處理器高速緩存預取帶寬的處理400的流程圖。應理解,本申請中所描述的邏輯操作被實施為(1) 一系列被計算機實施的動作 或在計算系統上運行的程序模塊和/或(2)計算系統內互連的機器邏輯電路或電路模塊。 實施是基於計算系統的性能和其它需求來進行選取的過程。相應地,本申請中所描述的邏 輯操作可以不同地被稱為狀態操作、結構設備、動作或者模塊。這些操作、結構設備、動作和 模塊可以用軟體、固件、專用數字邏輯以及其任意的組合來實施。還應理解,與圖中所示出 的以及本申請中所描述的操作相比,可以進行更多的或更少的操作。這些操作還可以被順 序地、並行地、或者以不同於本申請中所描述的順序的順序來進行。處理400在操作410開始,其中,預取帶寬分配器160可以針對多處理器(如,多處 理器110A-110C)中的每個處理器內核140保持預取功效計分。預取功效計分還可以由預 取器220、片外流量監控器150或者令牌分配器320保持。預取功效計分可以與如下內容相 關與各處理器內核140相關聯的預取高速緩存條目中有多少在被收回之前被使用。一些 預取的高速緩存條目可能在沒有被使用的情況下被收回而終止。在針對預取的條目的需求 進行的估計不正確或者該估計不適時(例如,太早)的時候可能出現這種情況。這種未被使 用的預取的條目是浪費的預取操作,不是對於片外存儲器總線115的最有效率的使用。這 種未被使用的預取可以使該處理器內核140的與預取功效相反的標識增加。即,該處理器 內核140的預取較其它內核相比可能進行得較為不足,所以,可以向該處理器內核140賦予 較低的預取功效計分。預取高速緩存條目可以開始於表明它們尚未被使用的標誌。與每個高速緩存210 相關聯的高速緩存控制器可以在高速緩存條目被使用時修改該標誌。當高速緩存條目被高 速緩存控制器從高速緩存210收回時,可以對標誌進行計數以確定被使用的和未被使用的 預取條目的數量。預取帶寬分配器160或令牌分配器320可以確定預取功效計分。預取功 效計分可以是在收回之前變為使用的預取高速緩存條目的百分比。預取功效計分可以是變 為使用的高速緩存條目的總數量。預取功效計分可以是在特定時間段內變為使用的高速緩 存條目的數量。通過對預取的條目在收回之前在高速緩存210內保持有效的時間的測量,可以調整或修改預取功效計分。用於為預取高速緩存條目的有效性設置值的任何其它的機 制也可以單獨被使用、或者與所描述的內容進行任意的組合,以針對多處理器110內的處 理器內核140的預取行為賦予預取功效計分。繼續到操作420,片外流量監控器150可以監控與多處理器110的片外存儲器總 線115相關聯的流量。根據監控的信息可以支持確定命令提取或其它的非預取周期所使用 的帶寬。這種片外帶寬對於預取是不可用的。片外流量監控器150還可以監控總的片外帶 寬。總的片外帶寬也可以被規定成系統參數。可以按每秒比特、每秒字節、每秒字、每秒高 速緩存事務、每秒塊、每秒總線事務、每周期比特、每周期字、每周期高速緩存事務、每周期 塊或者任何其它的帶寬度量來監控或者測量這些帶寬。繼續到操作430,預取帶寬分配器160可以確定片外存儲器總線115帶寬的剩餘 部分以分配給預取行為。通過用總的片外帶寬減去被用於非預取行為(如,命令提取、寫操 作、外設存儲器訪問等等)的帶寬,來確定該剩餘部分。繼續到操作440,預取帶寬分配器160可以對可用的預取帶寬進行劃分。預取帶寬 的量可以被劃分成在N個相應處理器內核140之間的N個帶寬單元的和,其中,N個帶寬單 元的和可以等於總的可用的預取帶寬。所以,劃分可以代表在多處理器110的處理器內核 140之間的、在操作430中所確定的可用的預取帶寬的分配。繼續到操作450,預取帶寬分配器160可以對操作440中所建立的劃分進行調整, 以與操作410中所保持的預取功效計分成比例地在處理器內核140之間分配可用的預取帶 寬。可以按照線性比例或加權比例來進行按比例的分配。例如,在一些實施例中,比例可以 被加權,以使分配向顯示出較高的有效性的處理器傾斜。所以,預取帶寬可以被重新分配, 以使得具有較多的有效預取的處理器內核140可以消耗較多的可用的預取帶寬。通過將進 行額外預取的機會獎勵給進行有效預取的處理器內核140,此重新分配可以改進整體的系 統性能。除了預取功效評分,根據實施例,可以使用其它專門的因子來調整劃分。例如,空 閒的處理器內核140或者未主動地進行預取的處理器內核,可以將向其所分配的帶寬調 小。預取帶寬分配器160可以將這種被拒絕的帶寬分配從一個處理器內核140應用到其它 的處理器內核140。繼續到操作460,預取門230可以限制在特定處理器內核140進行的預取操作,以 使得在所有處理器內核140之間的實際的預取帶寬基本上符合在操作450中調整後的劃 分。處理400在操作460之後可以終止。根據一些實施例,處理400還可以連續地或周期 性地重複,以隨著可以變化的相關預取功效計分、隨著時間來調整預取帶寬分配。現在參照圖5,結合本申請中所呈現的實施例針對具有片外帶寬分配的多處理器 高速緩存預取提供額外的細節。具體地,圖5是示例了至少根據本申請中所呈現的一些實 施例的、用於使用令牌來分配多處理器高速緩存預取帶寬的處理的流程圖。處理500在操作510開始,其中,令牌分配器320可以針對多處理器(如,多處理 器110A-110C)中的每個處理器內核140保持預取功效計分。預取功效計分還可以由預取 器220、片外流量監控器150或者預取帶寬分配器160保持。預取功效計分可以與如下內容 相關與各處理器內核140相關聯的預取高速緩存條目中有多少在收回之前被使用。一些 預取的高速緩存條目可能在沒有被使用的情況下被收回而終止。在針對預取的條目的需要進行的估計不正確或者該估計不適時(例如,太早)的時候可能出現這種情況。這種未被 使用的預取的條目是浪費的預取操作,可能不是對於片外存儲器總線115的最有效率的使 用。這種未被使用的預取可以使處理器內核140的與預取功效相反的標識增加。S卩,該處 理器內核140的預取較其它內核相比可能進行得較為不足,所以,可以向該處理器內核140 賦予較低的預取功效計分。預取的 高速緩存條目可以開始於表明它們尚未被使用的標誌。與每個高速緩存 210相關聯的高速緩存控制器可以在高速緩存條目被使用時修改該標誌。當高速緩存控制 器將高速緩存條目從高速緩存210收回時,可以對標誌進行計數以確定被使用的和未被使 用的預取條目的數量。令牌分配器320可以將在收回之前變得被使用的預取的高速緩存 條目的百分比確定為預取功效計分。預取功效計分可以是變為使用的高速緩存條目的總數 量。預取功效計分可以是在特定時間段內變為使用的高速緩存條目的數量。通過對預取 的條目在收回之前在高速緩存210內保持有效的時間的測量,可以調整或修改預取功效計 分。用於為預取的高速緩存條目的有效性設置值的任何其它的機制也可以單獨被使用或者 與所描述的內容進行任意的組合,以針對多處理器110內的處理器內核140的預取行為賦 予預取功效計分。繼續到操作520,片外流量監控器150可以監控與多處理器110的片外存儲器總線 115相關聯的流量。片外流量監控器150可以使用與監控流量相關的信息來確定命令提取 或其它的非預取周期所使用的帶寬。該片外帶寬對於預取可以是不可用的。片外流量監控 器150還可以監控總的片外帶寬。總的片外帶寬也可以被規定成系統參數。可以按每秒比 特、每秒字節、每秒字、每秒高速緩存事務、每秒塊、每秒總線事務、每周期比特、每周期字、 每周期高速緩存事務、每周期塊、或者任何其它的帶寬度量來監控或者測量這些帶寬。繼續到操作530,令牌生成器310可以生成大量預取令牌。令牌的數量可以代表 片外存儲器總線115的帶寬的剩餘部分。可以確定此剩餘部分以分配給預取行為。此剩 餘部分可以被確定成總的片外帶寬減去非預取行為(如,命令提取、寫、外設存儲器訪問等 等)的帶寬。令牌生成器310可以生成令牌,以將總的預取帶寬表示成在具體的時間段內 可以進行的高速緩存預取的數量。例如,可以在周期性的定時間隔上生成令牌。在該例子 中,所生成的令牌的數量可以將估計在下一個迭代周期可用的預取帶寬表示成在該時間段 期間可以支持的高速緩存預取的數量。繼續到操作540,令牌分配器320可以在各個處理器內核140之間分配預取令牌。 可以按與處理器內核140相關聯的預取功效計分成比例地進行此分配。可以按照線性比例 或加權比例來進行按比例的分配。例如,在一些實施例中,比例可以被加權,以使分配向顯 示出較高的有效性的處理器傾斜。所以,操作430中確定的可用預取帶寬可以在多處理器 110的處理器內核140之間分配。繼續到操作550,預取器220或存儲器接口 125可以確定高速緩存提取操作是預取 還是命令提取。如果高速緩存提取是命令提取,處理500可以繼續到操作560,其中,可以由 與高速緩存210相關聯的高速緩存控制器來進行命令提取。命令提取可以在不考慮令牌的 情況下進行。如果在操作550確定高速緩存提取是預取,則處理500繼續到操作570。在操作 570,預取器220可以判斷與各內核相關聯的令牌桶330中是否存在可用的令牌。如果在操作570確定存在可用的令牌,則處理500繼續到操作580,其中,預取器220可以進行預取操 作。繼續到操作585,在操作570中識別出的令牌被消耗以用於在操作580進行的預取。當在操作570確定沒有可用的令牌時,處理500繼續到操作590,其中,預取器220 可以忽略或放棄預取請求。處理500可以在操作560、585或590之後終止。處理500還可 以連續地或周期性地進行重複,以根據可能變化的相關預取功效計分、隨著時間來調整預 取帶寬分配。本公開並未根據本申請中所描述的特定實施例而受到限制,這些實施例旨在對各 種方面進行說明。如對於本領域技術人員來說將會是明顯的那樣,可以進行許多修改和變 化而並不脫離其精神和範圍。本公開的範圍內的功能上等同的方法和裝置以及本申請中所 列舉的那些,根據以上的描述對於本領域技術人員將會是明顯的。這種修改和變化旨在落 入所附權利要求的範圍內。本公開僅由所附權利要求的內容連同所述權利要求被冠以的等 同物的全部範圍來進行限制。要理解的是,本公開不限於特定的方法、組件、元件、裝置或者 系統,其當然可以變化。還要理解的是,本申請中所使用的技術術語僅用於對特定的實施例 進行描述的目的,並非旨在進行限制。針對本申請中所使用的任何基本上為複數的和/或單數的術語,本領域技術人員 可以適合於情況和/或應用進行從複數到單數和/或從單數到複數的詮釋。在本申請中為 了清楚起見而明確地闡述了各種單/複數變化。本領域技術人員將會理解的是,通常,本申請中、特別是所附權利要求(例如所附 權利要求的主體)中所使用的術語通常旨在作為「開放式的」術語(例如,術語「包括」應當 被解釋成「包括但不限於」、術語「具有」應當被解釋成「至少具有」、術語「包含」應當被解釋 成「包含但不限於」、等等)。本領域技術人員將會進一步理解的是,如果旨在引入具體數量 的權利要求引用,這種意圖將會被明確地表述在權利要求中,而在沒有這種表述的情況下, 則不存在這種意圖。例如,作為對理解的輔助,隨後所附的權利要求可以包含使用引導性的 用語「至少一個」和「一個或多個」,以引入權利要求的引用。然而,使用這些用語不應當被 解釋成隱含通過不定冠詞「一」或「一個」來引入權利要求的引用而將任何包含這種引入權 利要求引用的特定權利要求限制於僅包含一個這種引用的實施例,即使是當同樣的權利要 求包括引導性的用語「一個或多個」或「至少一個」和諸如「一」、「一個」的不定冠詞的時候 (例如,「一」和/或「一個」 一般應當被闡釋成意思是「至少一個」或「一個或更多個」);同 樣的內容對於被用來引入權利要求引用的定冠詞的使用同樣適用。另外,即使具體數量的 引入的權利要求引用被明確地表述,本領域技術人員將會認識到的是,這種引用應當被解 釋成意思是至少為所表述的數量(例如,僅有「兩個引用」的表述在沒有其它修改內容的情 況下意思是至少兩個引用、或者兩個或更多個引用)。此外,在使用類似於「A、B以及C等 等中的至少一個」的習慣用法的那些情形中,這種習慣用法通常旨在從本領域技術人員將 會理解該習慣用法的角度出發(例如,「具有A、B以及C中的至少一個的系統」將會包括但 不限於只具有A、只具有B、只具有C、同時具有A和B、同時具有A和C、同時具有B和C、和 /或同時具有A、B和C等等的系統)。在使用類似於「A、B或者C等等中的至少一個」的習 慣用法的那些情形中,這種習慣用法通常旨在從本領域技術人員將會理解該習慣用法的角 度出發(例如,「具有A、B或者C中的至少一個的系統」將會包括但不限於只具有A、只具有 B、只具有C、同時具有A和B、同時具有A和C、同時具有B和C、和/或同時具有A、B和C等等的系統)。本領域技術人員將會進一步理解的是,任何出現了兩個或更多個可替選的術語的分開的詞語和/或用語(無論在說明書、權利要求還是附圖中)實質上均應當被理解成 預見了包括這些術語中的一個、術語中的任一個、或者兩個術語的這些可能性。例如,用語 "A或B」將會被理解成包括「A」或者「B」或者「A和B」的可能性。另外,在本公開的特徵或方面以馬庫什組的形式被描述之處,本領域技術人員將 會認識到的是,本公開也因而以馬庫什組的成分中的任意的各個成分或子組的形式被描 述。如本領域技術人員將會理解的,為了任何的以及所有的目的,例如在提供書面說 明書的方面,本申請中所公開的所有範圍也涵蓋任何的以及所有的可能的子範圍以及其子 範圍的組合。任何所列出的範圍均能夠被容易地識別成充分的描述以及使同樣的範圍能夠 至少被分解成同等的兩部分、三部分、四部分、五部分、十部分,等等。作為非限制性的例子, 本申請中所討論的每個範圍均能夠被容易地分解成下三分之一、中三分之一以及上三分之 一等等。如本領域技術人員還將會理解的,諸如「直到」、「至少」、「大於」、「小於θ等的所 有語言均包括所表述的數量並且是指能夠隨之被分解成如以上所討論的子範圍的範圍。最 後,如本領域技術人員將會理解的,範圍包括各個單獨的成分。所以,例如,具有1-3個單元 的組是指具有1、2或者3個單元的組。類似地,具有1-5個單元的組是指具有1、2、3、4或 者5個單元的組,等等。
權利要求
一種多處理器系統,包括第一處理器內核;第二處理器內核;第一預取器,與所述第一處理器內核相關聯;第二預取器,與所述第二處理器內核相關聯;片外存儲器接口,支持與所述第一預取器和所述第二預取器相關聯的預取操作;以及預取帶寬分配器,被配置成將與所述片外存儲器接口相關聯的預取帶寬劃分成與所述第一預取器相關聯的第一預取帶寬部分以及與第二預取器相關聯的第二預取帶寬部分。
2.如權利要求1所述的多處理器系統,進一步包括片外流量監控器,可操作用於對所 述片外存儲器接口進行監控以確定與所述片外存儲器接口相關聯的非預取帶寬和建立所 述預取帶寬。
3.如權利要求2所述的多處理器系統,其中,將所述片外存儲器接口的容量帶寬與所 確定的所述非預取帶寬之間的差建立為所述預取帶寬。
4.如權利要求1所述的多處理器系統,其中,所述預取帶寬分配器進一步被配置成用 於保持與各個處理器內核相關聯的預取功效計分,與各處理器內核的預取功效計分成比例 地劃分所述預取帶寬。
5.如權利要求4所述的多處理器系統,其中,所述預取功效計分是基於對如下內容進 行的計數在從高速緩存被收回之前被標記成已使用的預取高速緩存條目的數量。
6.如權利要求1所述的多處理器系統,進一步包括令牌生成器,被配置成以基本上與 所述預取帶寬成比例的比率來生成令牌。
7.如權利要求6所述的多處理器系統,進一步包括第一令牌箱和第二令牌箱,其中, 所述第一令牌箱與所述第一預取器相關聯並被配置成跟蹤被分配給所述第一預取器的令 牌,所述第二令牌箱與所述第二預取器相關聯並被配置成跟蹤被分配給所述第二預取器的 令牌。
8.如權利要求6所述的多處理器系統,其中,響應於預取操作從令牌箱中移除令牌。
9.如權利要求6所述的多處理器系統,其中,響應於剩餘的令牌的數量為零,所述預取 器忽略預取請求。
10.一種用於針對被設置成通過片外存儲器總線來訪問片外存儲器的多處理器來分配 預取帶寬的方法,所述方法包括利用片外流量監控器來確定與用於訪問所述片外存儲器的與所述片外存儲器總線相 關聯的預取帶寬;以及利用預取帶寬分配器在與所述多處理器相關聯的兩個或更多個處理器內核之間劃分 所述預取帶寬。
11.如權利要求10所述的方法,其中,確定所述預取帶寬包括監控與所述片外存儲器 總線相關聯的片外存儲器帶寬,以確定與所述片外存儲器總線相關聯的非預取帶寬。
12.如權利要求11所述的方法,其中,確定所述預取帶寬進一步包括從所述片外存儲 器總線的容量帶寬中減去所述非預取帶寬。
13.如權利要求10所述的方法,進一步包括利用所述預取帶寬分配器來保持與各個 處理器內核相關聯的預取功效計分,其中,所述劃分與所述各處理器內核的所述預取功效計分成比例。
14.如權利要求13所述的方法,其中,所述預取功效計分基於對如下內容進行的計數 通過高速緩存控制器從高速緩存收回之前被標記成已使用的預取高速緩存條目的數量。
15.如權利要求10所述的方法,進一步包括利用令牌生成器以與所述預取帶寬成比 例的比率來生成令牌。
16.如權利要求10所述的方法,進一步包括利用令牌箱跟蹤被分配給處理器內核的 令牌。
17.如權利要求10所述的方法,進一步包括響應於執行預取操作,從令牌箱中移除令牌。
18.一種多處理器,包括 第一處理器內核;第二處理器內核;第一預取器,與所述第一處理器內核相關聯; 第二預取器,與所述第二處理器內核相關聯;片外存儲器總線,支持與所述第一預取器和所述第二預取器相關聯的預取操作; 片外流量監控器,可操作用於確定與所述片外存儲器總線相關聯的非預取帶寬;以及 預取帶寬分配器,被配置成計算所述片外存儲器總線的容量帶寬與所確定的非預取帶 寬之間的差作為預取帶寬;和在所述第一預取器與所述第二預取器之間劃分所述預取帶覓o
19.如權利要求18所述的系統,進一步包括兩個或更多個令牌箱,其中,所述預取帶 寬通過令牌生成比率來表示,每個令牌箱與各預取器相關聯並被配置成跟蹤被分配給所述 各預取器的令牌。
全文摘要
公開了具有片外帶寬分配的多處理器高速緩存預取。總體上對在多處理器計算系統中在處理器內核之間分配可用的預取帶寬的技術進行了描述。與多處理器的片外存儲器接口相關聯的預取帶寬可以被確定、劃分以及在多個處理器內核之間分配。
文檔編號G06F12/08GK101859259SQ201010124320
公開日2010年10月13日 申請日期2010年2月26日 優先權日2009年3月20日
發明者揚·索利辛 申請人:西斯迪爾科學公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀