国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      處理器性能監(jiān)測的制作方法

      文檔序號:6477159閱讀:208來源:國知局
      專利名稱:處理器性能監(jiān)測的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及計算機架構(gòu),更具體地,涉及評估處理器的性能。
      背景技術(shù)
      現(xiàn)代計算機系統(tǒng)通常包括多個集成電路(IC),包括可以用于
      在計算機系統(tǒng)中處理信息的一個或多個處理器。由處理器處理的數(shù) 據(jù)可以包括由處理器執(zhí)行的計算機指令,以及由處理器使用該計算 機指令來操縱的數(shù)據(jù)。計算機指令和數(shù)據(jù)通常存儲在計算機系統(tǒng)的 主存儲器中。
      處理器通常通過在一系列小步驟中執(zhí)行每個指令來處理指令。 在某些情況下,為了增加處理器所處理的指令數(shù)目(并由此提高處 理器的速度),可以將處理器流水線化。流水線是指在處理器中提 供獨立的級,其中每一級執(zhí)行運行指令所需的一個或多個小步驟。 在某些情況下,流水線(以及其他電路)可以置于處理器中稱作處 理器內(nèi)核的部分中。某些處理器可以具有多個處理器內(nèi)核。
      雖然可以通過使用流水線來提高處理器速度,但是計算機系統(tǒng) 的性能可能取決于各種其他因素,例如,計算機系統(tǒng)的存儲器層級 的性能。因此,系統(tǒng)開發(fā)者通常會研究對存儲器中的指令和數(shù)據(jù)訪 問以及存儲器中的指令執(zhí)行,以便收集性能參數(shù),這些性能參數(shù)可 以允許系統(tǒng)開發(fā)者優(yōu)化系統(tǒng)設(shè)計從而獲得更好的性能。例如,系統(tǒng) 開發(fā)者可以研究高速緩存未命中率,以確定最優(yōu)高速緩存大小、集 合關(guān)聯(lián)性等。
      現(xiàn)代處理器通常包括性能監(jiān)測電路,用以利用、測試和監(jiān)測各 種性能參數(shù)。這種性能監(jiān)測電路通常集中在處理器內(nèi)核中,其具有 去往和來自多個其他處理器內(nèi)核的大量線路,從而顯著增加了芯片大小、成本和復(fù)雜性。而且,在芯片開發(fā)和/或測試完成之后,不再 需要性能監(jiān)測電路,并且可能無法重新獲得由性能監(jiān)測電路占用的 空間。
      因此,需要用于從處理器收集性能參數(shù)的改進的方法和系統(tǒng)。

      發(fā)明內(nèi)容
      本發(fā)明涉及計算機架構(gòu),并且更具體地,涉及評估處理器性能。 本發(fā)明的 一個實施方式提供一種用于收集性能數(shù)據(jù)的方法。該
      方法通常包括由位于處理器的L2高速緩存套組(nest)中的性能 監(jiān)測器來監(jiān)測L2高速緩存訪問,以獲取與L2高速緩存訪問有關(guān)的 性能數(shù)據(jù)。該方法還包括通過將處理器的至少一個處理器內(nèi)核耦 合至L2高速緩存套組的總線,由性能監(jiān)測器從所述至少一個處理器 內(nèi)核接收性能數(shù)據(jù);以及基于至少一個L2高速緩存訪問和從所述至 少 一 個處理器內(nèi)核接收到的性能數(shù)據(jù),來計算 一 個或多個性能參數(shù)。
      本發(fā)明的另 一 實施方式提供一種位于處理器的L2高速緩存套組 中的性能監(jiān)測器,其中該性能監(jiān)測器配置用于監(jiān)測對L2高速緩存 套組中的L2高速緩存的訪問;以及計算與L2高速緩存訪問相關(guān)的 一個或多個性能參數(shù)。該性能監(jiān)測器進一步配置用于通過將L2高 速緩存套組耦合到至少 一個處理器內(nèi)核的總線,從所述至少 一個處 理器內(nèi)核接收性能數(shù)據(jù)。
      本發(fā)明的又一實施方式提供一種系統(tǒng),其一般地包括至少一 個處理器內(nèi)核;包括L2高速緩存和性能監(jiān)測器的L2高速緩存套組; 以及將L2高速緩存套組耦合到至少一個處理器內(nèi)核的總線。該性能 監(jiān)測器一般地配置用于監(jiān)測L2高速緩存訪問,以計算與L2高速緩 存訪問有關(guān)的一個或多個性能參數(shù);以及通過將L2高速緩存套組耦 合到至少 一 個處理器內(nèi)核的總線,從所述至少 一 個處理器內(nèi)核接收 性能數(shù)據(jù)。


      通過使本發(fā)明的上述特征、優(yōu)點和目的得以實現(xiàn)和詳細(xì)理解的 方式,將參考本發(fā)明在附圖中使出的實施方式對上文概括的本發(fā)明 進行更為具體的描述。
      然而,需要注意,附圖僅僅示出了本發(fā)明的典型實施方式,因 此其不應(yīng)被認(rèn)為是對本發(fā)明范圍的限制,因為本發(fā)明可以包含其他 同樣有效的實施方式。
      圖1示出了按照本發(fā)明實施方式的示例性系統(tǒng)。
      圖2示出了按照本發(fā)明實施方式的處理器。
      圖3示出了按照本發(fā)明實施方式的另一處理器。
      具體實施例方式
      本發(fā)明涉及計算機架構(gòu),并且更具體地涉及評估處理器性能。
      性能監(jiān)測器可以置于處理器的L2高速緩存套組中。性能監(jiān)測器可以 監(jiān)測L2高速緩存訪問以及通過將處理器內(nèi)核耦合至L2高速緩存套 組的總線從一個或多個處理器內(nèi)核接收性能數(shù)據(jù)。在一個實施方式 中,總線可以包括用于將性能數(shù)據(jù)從處理器內(nèi)核傳送到性能監(jiān)測器 的一個或多個附加線3各。
      在下文中,將參考本發(fā)明的實施方式。然而,應(yīng)當(dāng)理解,本發(fā) 明不限于所描述的特定實施方式。相反,可以想到通過以下特征和 元素(不論其是否涉及不同的實施方式)的任意組合來實現(xiàn)和實踐 本發(fā)明。此外,在各種實施方式中,本發(fā)明提供了優(yōu)于現(xiàn)有技術(shù)的 多個優(yōu)點。然而,盡管本發(fā)明的實施方式可以實現(xiàn)優(yōu)于其他可能的 解決方案和/或現(xiàn)有技術(shù)的優(yōu)點,但是給定的實施方式是否實現(xiàn)了特 定的優(yōu)點不是本發(fā)明的限制。因此,下文的方面、特征、實施方式 和優(yōu)點僅僅是說明性的,除非在權(quán)利要求中明確記載,否則其不應(yīng) 被認(rèn)為是所附權(quán)利要求的元素或者限制。類似地,引用"本發(fā)明" 不應(yīng)認(rèn)為是對在此公開的任何發(fā)明主題的一般化,并且除非權(quán)利要 求中明確記載,否則不應(yīng)認(rèn)為其是所附權(quán)利要求的元素或者限制。下文是對附圖中描繪的本發(fā)明實施方式的詳細(xì)描述。這些實施 方式是示例,并且其如此詳細(xì)是為了清楚地表述本發(fā)明。然而,所
      提供的大量細(xì)節(jié)無意限制本發(fā)明的預(yù)期變形;相反,本發(fā)明意在涵 蓋落入由所附權(quán)利要求限定的本發(fā)明的精神和范圍內(nèi)的所有修改、 等效物和備選方案。
      可以利用例如計算機系統(tǒng)的系統(tǒng)來使用本發(fā)明的實施方式,并 且可以關(guān)于這樣的系統(tǒng)來描述本發(fā)明的實施方式。在此使用的"系 統(tǒng)"包括使用處理器和高速緩存存儲器的任何系統(tǒng),包括個人計算 機、互聯(lián)網(wǎng)工具、數(shù)字媒體工具、便攜式數(shù)字助理(PDA)、便攜 式音樂/視頻播放器以及視頻游戲控制器。盡管高速緩存存儲器可以 與使用該高速緩存存儲器的處理器位于相同的棵片,但是在某些情 況下,處理器和高速緩存存儲器可以位于不同的棵片(例如,獨立 模塊內(nèi)的獨立芯片,或者單個模塊內(nèi)的獨立芯片)上。
      示例性系統(tǒng)
      圖1示出了按照本發(fā)明實施方式的示例性系統(tǒng)100。如圖所示, 系統(tǒng)100可以包括以下各項的任意組合多個處理器U0、 L3高速 緩存/L4高速緩存/存儲器U2(此后統(tǒng)稱為存儲器)、圖形處理單元 (GPU) 104、輸入/輸出U/0)接口 106以及存儲設(shè)備108。存儲器 112優(yōu)選地是隨機訪問存儲器,其大小足以容納由處理器110操作的 必要的編程和數(shù)據(jù)結(jié)構(gòu)。盡管將存儲器112示為單個實體,但是應(yīng) 當(dāng)理解,存儲器112實際上可以包括多個模塊,并且存儲器112可 以存在于多個級別,例如,L3高速緩存、L4高速緩存以及主存儲器。
      存儲設(shè)備108優(yōu)選地是直接訪問存儲設(shè)備(DASD)。盡管將其 示為單個單元,但是其可以是固定和/或可拆卸存儲設(shè)備的組合,諸 如硬盤驅(qū)動、軟盤驅(qū)動、帶驅(qū)動、可拆卸存儲卡或者光學(xué)存儲設(shè)備。 存儲器112和存儲設(shè)備108可以是跨過多個主存儲設(shè)備和次存儲設(shè) 備的 一 個虛擬地址空間的部分。
      1/0接口 106可以提供處理器110與輸入/輸出設(shè)備之間的接口 。 示例性輸入設(shè)備例如包括鍵盤、小鍵盤、光筆、觸摸屏、軌跡球或者語音識別單元、音頻/視頻播放器等。輸出設(shè)備可以是將輸出給予
      用戶的任何i殳備,例如傳統(tǒng)的顯示屏幕。
      圖形處理單元(GPU) 104可以配置用于從處理器IIO接收圖形 數(shù)據(jù),例如2維和3維圖形數(shù)據(jù)。GPU106可以執(zhí)行一個或多個計 算,以操縱圖形數(shù)據(jù)并將圖像呈現(xiàn)在顯示屏幕上。
      處理器IIO可以包括多個處理器內(nèi)核114。處理器內(nèi)核114可以 配置用于執(zhí)行從存儲器112獲取的指令的流水線執(zhí)行。每個處理器 內(nèi)核114可以具有相關(guān)聯(lián)的Ll高速緩存116。每個Ll高速緩存116 可以是位于最靠近相關(guān)聯(lián)存儲器內(nèi)核114的、相對較小的存儲器高 速緩存,并且可以配置用于為相關(guān)聯(lián)的處理器內(nèi)核114提供對指令 和數(shù)據(jù)(此后統(tǒng)稱為數(shù)據(jù))的快速訪問。
      處理器IIO還可以包括至少一個L2高速緩存118。相對于Ll 高速緩存116而言,L2高速緩存118可以較大。每個L2高速緩存 118可以與一個或多個Ll高速緩存相關(guān)聯(lián),并且可以配置用于為相 關(guān)聯(lián)的一個或多個Ll高速緩存提供數(shù)據(jù)。例如,處理器內(nèi)核114可 能請求未被包含在其關(guān)聯(lián)的Ll高速緩存中的數(shù)據(jù)。因此,處理器內(nèi) 核114所請求的數(shù)據(jù)可以從L2高速緩存118獲取,并且存儲在與該 處理器內(nèi)核114相關(guān)聯(lián)的Ll高速緩存116中。在本發(fā)明的一個實施 方式中,Ll高速緩存116以及L2高速緩存118可以是基于SRAM 的設(shè)備。然而,本領(lǐng)域技術(shù)人員將會認(rèn)識到,Ll高速緩存116和L2 高速緩存118可以包括任何其他類型的存儲器,例如DRAM。
      如果在L2高速緩存118中發(fā)生高速緩存未命中,則處理器內(nèi)核 U0所請求的數(shù)據(jù)可以從L3高速緩存112獲取。相對于Ll高速緩 存116和L2高速緩存118而言,L3高速緩存112可以較大。盡管 在圖1中示出了單個L3高速緩存112,但是本領(lǐng)域的技術(shù)人員將會 認(rèn)識到,也可以實現(xiàn)多個L3高速緩存112。每個L3高速緩存112 可以與多個L2高速緩存118相關(guān)聯(lián),并且可以配置用于與相關(guān)聯(lián)的 L2高速緩存118交換數(shù)據(jù)。本領(lǐng)域的技術(shù)人員還將認(rèn)識到,系統(tǒng)100 中還可以包括一個或多個更高級別的高速緩存,例如L4高速緩存。每個更高級別的高速緩存可以與下 一較低級別的 一個或多個高速緩 存相關(guān)聯(lián)。
      圖2是描繪按照本發(fā)明實施方式的處理器110的示例性詳細(xì)視 圖的框圖。如圖2所示,處理器110可以包括L2高速緩存套組210、 L1高速緩存U6、預(yù)解碼器/調(diào)度器221以及內(nèi)核114。為了簡化, 圖2示出了處理器110的單個內(nèi)核114并且關(guān)于該單個內(nèi)核114來 進行描述。在一個實施方式中,每個內(nèi)核114可以是同樣的(例如, 包含具有相同流水線級布置的同樣的流水線)。對于其他實施方式, 內(nèi)核114可以是不同的(例如,包含具有不同流水線級布置的不同 流水線)。
      L2高速緩存套組210可以包括L2高速緩存118、 L2高速緩存 訪問電路211、 L2高速緩存目錄212以及性能監(jiān)測器213。在本發(fā)明 的一個實施方式中,L2高速緩存(和/或更高級別的高速緩存,例如 L3和/或L4高速緩存)可以包含處理器110所使用的部分指令和數(shù) 據(jù)。在某些情況下,處理器IIO可能請求未被包含在L2高速緩存118 中的指令和數(shù)據(jù)。在所請求的指令和數(shù)據(jù)未被包含在L2高速緩存 118中的情況下,可以(或從較高級別的高速緩存,或從系統(tǒng)存儲器 112)獲取所請求的指令,并將其置于L2高速緩存中。L2高速緩存 套組210可以在多個處理器內(nèi)核114之間共享。
      在一個實施方式中,L2高速緩存118可以具有L2高速緩存目錄 212,其用來跟蹤當(dāng)前L2高速緩存118中的內(nèi)容。在將數(shù)據(jù)添加到 L2高速緩存118時,可以在L2高速緩存目錄212中放置相應(yīng)的條 目。在從L2高速緩存118中移除數(shù)據(jù)時,可以移除L2高速緩存目 錄212中的相應(yīng)條目。性能監(jiān)測器213可以監(jiān)測和收集處理器110 的相關(guān)數(shù)據(jù)。性能監(jiān)測將在下文章節(jié)中更為詳細(xì)地討論。
      當(dāng)處理器內(nèi)核114從L2高速緩存118請求指令時,例如可以經(jīng) 由總線270將指令傳送至L1高速緩存220。如圖2所示,Ll高速緩 存220可以包括Ll指令高速緩存(Ll I-高速緩存)222、 Ll I-高速 緩存目錄223、 Ll數(shù)據(jù)高速緩存(Ll D-高速緩存)224以及L1 D腸
      ii高速緩存目錄225。 Ll I-高速緩存222和Ll D-高速緩存224可以是 圖1中所示的Ll高速緩存116的部分。
      在本發(fā)明的一個實施方式中,可以在稱為I-線的組中從L2高速 緩存118取回指令。類似地,可以經(jīng)由總線270從稱為D-線的組中 從L2高速緩存118取回數(shù)據(jù)。I線可以存儲在I-高速緩存222中, 而D-線可以存儲在D-高速緩存224中。I-線和D-線可以使用L2訪 問電3各210來從L2高速緩存118取回。
      在本發(fā)明的一個實施方式中,從L2高速緩存118獲取的I-線可 以首先由預(yù)解碼器和調(diào)度器221來處理,并且I-線可以置于I-高速 緩存222中。為了進一步改進處理器性能,指令常常是預(yù)解碼的, 例如,從L2(或者更高級別的)高速緩存獲取I-線。這種預(yù)解碼可 以包括各種功能,諸如地址生成、分支預(yù)測以及調(diào)度(確定應(yīng)當(dāng)發(fā) 布指令的順序),其作為控制指令執(zhí)行的分派信息(或者一組標(biāo)志) 而被捕獲。對于某些實施方式,預(yù)解碼器(和調(diào)度器)221可以在多 個內(nèi)核114以及L1高速緩存之間共享。
      內(nèi)核114可以^v圖2中所示的發(fā)布和分派電^各234"t妄收指令, 并且執(zhí)行指令。在一個實施方式中,取指電路236可以用來取回用 于內(nèi)核114的指令。例如,取指電路236可以包含程序計數(shù)器,其 跟蹤正在內(nèi)核中執(zhí)行的當(dāng)前指令。內(nèi)核中的分支單元可以用來在遇 到分支指令時改變程序計數(shù)器。I-線緩沖區(qū)232可以用來存儲從L1 I-高速緩存222取回的指令。發(fā)布和分派電路234可以用來將從I-線 緩沖區(qū)232取回的指令分組到指令群組中,這些指令群組繼而可以 并行地發(fā)布給內(nèi)核114。在某些情況下,發(fā)布和分派電路可以使用由 預(yù)解碼器和調(diào)度器221提供的信息來形成適當(dāng)?shù)闹噶钊航M。
      除了從發(fā)布和分派電路234接收指令之外,內(nèi)核114還可以從 各種位置接收數(shù)據(jù)。例如,在某些情況下,內(nèi)核U4可能需要來自 數(shù)據(jù)寄存器的數(shù)據(jù),并且可以訪問寄存器文件240以獲得數(shù)據(jù)。在 內(nèi)核114需要來自存儲器位置的數(shù)據(jù)的情況下,高速緩存加載和存 儲電路250可以用來從D-高速緩存224加載數(shù)據(jù)。在執(zhí)行這種加載的情況下,針對所需數(shù)據(jù)的請求可以發(fā)布到D-高速緩存224。同時, 可以檢查D-高速緩存目錄225,以確定所需的數(shù)據(jù)是否位于D-高速 緩存224中。在D-高速緩存224包含期望數(shù)據(jù)的情況下,D-高速緩 存目錄225可以指示D-高速緩存224包含期望數(shù)據(jù),并且D-高速 緩存訪問可以在此后某時完成。在D-高速緩存224沒有包含期望數(shù) 據(jù)的情況下,D-高速緩存目錄225可以指示D-高速緩存224沒有 包含期望數(shù)據(jù)。因為對D-高速緩存目錄225的訪問可以快于對D-高速緩存224的訪問,因此可以在訪問D-高速緩存目錄225之后、 但完成D-高速緩存訪問之前,將針對期望數(shù)據(jù)的請求發(fā)布到L2高 速緩存118(例如,使用L2訪問電路210)。
      在某些情況下,數(shù)據(jù)可以在內(nèi)核114中修改。經(jīng)修改的數(shù)據(jù)可 以寫入寄存器文件或者存儲在存儲器中。寫回電路238可以用來將 數(shù)據(jù)寫回寄存器文件240。在某些情況下,寫回電路238可以使用高 速緩存加載和存儲電路250,來將數(shù)據(jù)寫回D-高速緩存224??蛇x地, 內(nèi)核114可以直接訪問高速緩存加載和存儲電路250來執(zhí)行存儲。 在某些情況下,如下文描述,寫回電路238還可以用來將指令寫回 I-高速緩存222。
      如上所述,發(fā)布和分派電路234可以用來形成指令群組,并且 將形成的指令群組發(fā)布到內(nèi)核114。發(fā)布和分派電路234還可以包括 如下電路,該電路用來旋轉(zhuǎn)以及合并I-線中的指令,由此形成適當(dāng) 的指令群組。發(fā)布群組的形成可以考慮多種因素,諸如發(fā)布群組中 的指令之間的依賴性,以及可以通過指令排序而實現(xiàn)的優(yōu)化,這將
      在下文更為詳細(xì)地描述。 一旦形成了發(fā)布群組,可以將發(fā)布群組并 行地分派給處理器內(nèi)核114。在某些情況下,指令群組可以包含用于 內(nèi)核114中每個流水線的指令??蛇x地,指令群組可以包含較少數(shù) 目的指令。
      性能監(jiān)測
      如上所述,性能監(jiān)測器213可以包括在L2高速緩存套組210中, 如圖2所示。性能監(jiān)測器213可以包括事件檢測和控制邏輯,其包
      13括計數(shù)器、控制寄存器、多路器等。性能監(jiān)測器213可以配置用于
      收集和分析與指令的執(zhí)行、處理器內(nèi)核U4與存儲器層級之間的交
      互等有關(guān)的數(shù)據(jù),以評估系統(tǒng)性能。
      由性能監(jiān)測器213計算的示例性參數(shù)可以包括每指令時鐘周期 (CPI)、高速緩存未命中率、轉(zhuǎn)換后備緩沖區(qū)(TLB)未命中率、 高速緩存命中次數(shù)、高速緩存未命中處罰等。在某些實施方式中, 性能監(jiān)測器213可以監(jiān)測預(yù)定事件的發(fā)生,例如,對特定存儲器位 置的訪問,或者預(yù)定指令的執(zhí)行。在本發(fā)明的一個實施方式中,性 能監(jiān)測器213可以配置用于確定特定事件的發(fā)生頻率,例如,表示 每秒發(fā)生的加載指令的數(shù)目,或者每秒發(fā)生的存儲指令的數(shù)目等。
      在現(xiàn)有技術(shù)系統(tǒng)中,性能監(jiān)測器通常包括在處理器內(nèi)核中。因 此,在現(xiàn)有技術(shù)系統(tǒng)中,來自L2高速緩存套組的性能數(shù)據(jù)通過總線 270被發(fā)送至處理器內(nèi)核中的性能監(jiān)測器。然而,最重要的性能統(tǒng)計 可能涉及L2高速緩存統(tǒng)計,例如,L2高速緩存未命中率、TLB未 命中率等。本發(fā)明的實施方式通過將性能監(jiān)測器213包括在L2高速 緩存套組中,來降低總線270上的通信代價,其中最重要的性能數(shù) 據(jù)可以容易地獲取。
      此外,通過將性能監(jiān)測器包括在L2高速緩存套組而不是處理器 內(nèi)核114中,可以使處理器內(nèi)核114更小且更為有效。將性能監(jiān)測 器包括在L2高速緩存套組中的另一優(yōu)點在于性能監(jiān)測器213可以 操作于較低的時鐘頻率。在一個實施方式中,操作的頻率對于性能 監(jiān)測器213的工作而言可能并不重要。例如,性能監(jiān)測器213可能 在數(shù)千個時鐘周期上收集較長的信息蹤跡,以便檢測和計算性能參 數(shù)。將蹤跡信息送往性能監(jiān)測器213的延遲可能是可接受的,因此, 可能無需以高速操作性能監(jiān)測器。通過將性能監(jiān)測器213包括在L2 高速緩存套組而不是處理器內(nèi)核114中,處理器內(nèi)核114的資源和 空間可以致力于改進系統(tǒng)的性能。
      在本發(fā)明的一個實施方式中,性能數(shù)據(jù)可以從處理器內(nèi)核114 傳送到L2高速緩存套組210中的性能監(jiān)測器213。從處理器內(nèi)核114傳送到性能監(jiān)測器213的示例性性能數(shù)據(jù)例如可以包括用于計算處
      理器內(nèi)核CPI的數(shù)據(jù)。在本發(fā)明的一個實施方式中,性能數(shù)據(jù)可以 在總線270的一個或多個死周期(dead cycle)期間,通過總線270 從處理器內(nèi)核114傳送到性能監(jiān)測器213。死周期可以是如下周期, 在該周期期間,沒有使用總線270在處理器內(nèi)核114與L2高速緩存 U8之間交換數(shù)據(jù)。換言之,當(dāng)用于L2高速緩存數(shù)據(jù)與處理器內(nèi)核 114的雙向傳送的總線270沒有用于這種L2高速緩存數(shù)據(jù)傳送時, 可以使用相同的總線270將性能數(shù)據(jù)發(fā)送至性能監(jiān)測器213。
      盡管圖2中示出了單個處理器內(nèi)核114,但是本領(lǐng)域的技術(shù)人員 將會認(rèn)識到,處理器110可以包括多個處理器內(nèi)核114。在本發(fā)明的 一個實施方式中,性能監(jiān)測器213可以配置用于從處理器110的多 個處理器內(nèi)核114的每一個接收性能數(shù)據(jù)。換言之,本發(fā)明的實施 方式可以允許在多個處理器內(nèi)核114之間共享性能監(jiān)測器213。性能 數(shù)據(jù)可以使用總線270來傳送,從而避免了對傳送性能數(shù)據(jù)的附加 線路的需要,由此降低芯片復(fù)雜性。
      在本發(fā)明的一個實施方式中,總線270可以包括用于將數(shù)據(jù)從 處理器內(nèi)核114傳送到性能監(jiān)測器213的一個或多個附加線路。例 如,如圖3所示,在一個特定實施方式中,處理器110可以包括四 個處理器內(nèi)核114??偩€270可以將L2高速緩存套組連接至處理器 內(nèi)核114。總線270的第一部分可以用來在處理器內(nèi)核與L2高速緩 存118之間交換數(shù)據(jù)??偩€270的第二部分可以用來在性能監(jiān)測器 213與處理器內(nèi)核之間交換數(shù)據(jù)。
      例如,在本發(fā)明的特定實施方式中,總線270可以是144字節(jié) 寬??偩€270的128字節(jié)寬的部分可用來將數(shù)據(jù)和指令從L2高速緩 存118傳送至處理器內(nèi)核114??偩€270的16字節(jié)寬的部分可以用 來將性能數(shù)據(jù)從處理器內(nèi)核114傳送至包括在L2高速緩存套組210 中的性能監(jiān)測器213。
      例如,參考圖3, L2高速緩存套組210被示為包括L2高速緩存 118、 L2高速緩存目錄212、以及經(jīng)由總線270連接至內(nèi)核114 (示出了四個內(nèi)核,內(nèi)核0到內(nèi)核3)的性能監(jiān)測器213。如圖3所示, 總線270可以包括用于與L2高速緩存118雙向傳送數(shù)據(jù)的第一部分 310。如圖3所示,總線270的第一部分310可以與每個處理器內(nèi)核 114耦合。在本發(fā)明的一個實施方式中,第一部分310可以是通過總 線的存儲。換言之,經(jīng)由第一部分310寫入L2高速緩存118的數(shù)據(jù) 還可以存儲在存儲器中。
      總線270還可以包括用于將處理器114耦合至性能監(jiān)測器213 的第二部分320。例如,在圖3中,部分320包括用于將每個處理器 內(nèi)核0-3耦合至性能監(jiān)測器213的總線EBUS0-EBUS3??梢越?jīng)由總 線EBUS0-EBUS3,將來自每個處理器內(nèi)核114的性能數(shù)據(jù)發(fā)送至性 能監(jiān)測器213。
      盡管可以提供第二部分3 20用于將性能數(shù)據(jù)從處理器內(nèi)核114 傳送至性能監(jiān)測器213,但除了第二部分320之外,還可以提供第一 部分310的一個或多個線路用于傳送性能數(shù)據(jù)。例如,在總線部分 310的死周期期間,除了部分320之外,總線部分310的一個或多個 線路可以用來傳送性能數(shù)據(jù)。
      在本發(fā)明的一個實施方式中,用來將性能數(shù)據(jù)從內(nèi)核114傳送 至性能監(jiān)測器213的總線(例如,圖3的總線EBUS0-EBUS3 )可以 利用相對較細(xì)的線來形成??梢岳孟鄬Ω?xì)的線來形成總線 EBUS0-EBUS3,以便節(jié)省空間。盡管如上所述,較細(xì)的線可能導(dǎo)致 將性能數(shù)據(jù)從處理器內(nèi)核114傳送到性能監(jiān)測器213的較大延遲, 但是該延遲對于性能監(jiān)測器的操作而言可能并不重要,因此該延遲 是可接受的。
      圖3還示出了按照本發(fā)明實施方式的性能監(jiān)測器213的示例性 組件。如圖所示,性能監(jiān)測器213可以包括閂鎖/邏輯321、統(tǒng)計隨 機訪問存儲器322以及動態(tài)隨機訪問存儲器323。閂鎖321可以用來 捕獲在L2高速緩存套組210和/或總線270中出現(xiàn)的數(shù)據(jù)和事件。 邏輯321可以用來分析包含在閂鎖、SRAM 322和/或DRAM 323中 的已捕獲數(shù)據(jù),以計算性能參數(shù),例如高速緩存未命中率。
      16在本發(fā)明的一個實施方式中,SRAM 322可以充當(dāng)將性能數(shù)據(jù)傳 送至DRAM 323的緩沖區(qū)。在本發(fā)明的一個實施方式中,SRAM 322 可以是異步緩沖區(qū)。例如,性能數(shù)據(jù)可以以第一時鐘頻率存儲在 SRAM 322中,其中第一時鐘頻率例如是處理器內(nèi)核144操作的頻 率。可以以第二時鐘頻率將性能數(shù)據(jù)從SRAM 322傳送至DRAM 323,其中第二時鐘頻率例如是性能監(jiān)測器213操作的頻率。通過提 供異步SRAM緩沖區(qū),可以以內(nèi)核頻率從內(nèi)核114捕獲性能數(shù)據(jù), 而以性能監(jiān)測頻率來執(zhí)行對數(shù)據(jù)的分析。如上所述,性能監(jiān)測頻率 可以低于內(nèi)核頻率。
      在性能監(jiān)測器213中包括DRAM 323的一個優(yōu)點在于與SRAM 器件相比,DRAM器件通常要密集的多,并且需要少得多的空間。 因此,性能監(jiān)測器可用的存儲器可以極大地增加,由此允許在多個 處理器內(nèi)核114之間更為有效地共享性能監(jiān)測器。
      結(jié)論
      通過將性能監(jiān)測器包括在L2高速緩存套組中,本發(fā)明的實施方 式允許處理器內(nèi)核變得更小且更為有效。此外,由于最重要的性能 參數(shù)是在L2高速緩存套組中獲得的,因此極大地減少了通過耦合 L2高速緩存套組與處理器內(nèi)核的總線的通信。
      盡管上文涉及本發(fā)明的實施方式,但是在不脫離本發(fā)明基本范 圍的情況下,可以設(shè)計本發(fā)明的其他和進一步的實施方式,本發(fā)明 的范圍由所附權(quán)利要求限定。
      權(quán)利要求
      1.一種用于收集性能數(shù)據(jù)的方法,所述方法包括通過位于處理器的L2高速緩存套組中的性能監(jiān)測器來監(jiān)測L2高速緩存訪問,以捕獲與所述L2高速緩存訪問有關(guān)的性能數(shù)據(jù);通過將所述處理器的至少一個處理器內(nèi)核耦合至所述L2高速緩存套組的總線,由所述性能監(jiān)測器從所述至少一個處理器內(nèi)核接收性能數(shù)據(jù);以及基于至少一個所述L2高速緩存訪問以及從所述至少一個處理器內(nèi)核接收到的所述性能數(shù)據(jù),來計算一個或多個性能參數(shù)。
      2. 根據(jù)權(quán)利要求1所述的方法,其中將所述L2高速緩存套組耦 合至所述至少一個處理器內(nèi)核的所述總線包括第一組總線線路, 用于將所述性能數(shù)據(jù)傳送至所述性能監(jiān)測器;以及第二組總線線路, 用于在所述L2高速緩存與所述至少 一個處理器內(nèi)核之間交換數(shù)據(jù)。
      3. 根據(jù)權(quán)利要求2所述的方法,其中所述第一組總線線路與所 述第二組總線線路相比相對較細(xì)。
      4. 根據(jù)任一前述權(quán)利要求所述的方法,其中,當(dāng)所述總線沒有 用于與所述L2高速緩存交換數(shù)據(jù)時,所述至少一個處理器內(nèi)核通過 所述總線來傳送所述性能數(shù)據(jù)。
      5. 根據(jù)任一前述權(quán)利要求所述的方法,其中所述性能監(jiān)測器包 括一個或多個閂鎖,用于捕獲所述L2高速緩存套組和所述總線中的 性能數(shù)據(jù)。
      6. 根據(jù)任一前述權(quán)利要求所述的方法,其中所述性能監(jiān)測器包 括控制邏輯,用于基于所述L2高速緩存訪問和從所述至少一個處理 器內(nèi)核接收到的所述性能數(shù)據(jù),來計算所述一個或多個性能參數(shù)。
      7. 根據(jù)任一前述權(quán)利要求所述的方法,其中所述性能監(jiān)測器包 括動態(tài)隨機訪問存儲器(DRAM)用于存儲性能數(shù)據(jù)。
      8. 根據(jù)權(quán)利要求7所述的方法,其中所述性能監(jiān)測器包括靜態(tài) 隨機訪問存儲器(SRAM),其中所述SRAM以第一頻率從所述至少一個處理器內(nèi)核接收所述性能數(shù)據(jù),并且以第二頻率將所述性能數(shù)據(jù)傳送給所述DRAM,其中所述第一頻率大于所述第二頻率。
      9. 一種位于處理器的L2高速緩存套組中的性能監(jiān)測器,所述性能監(jiān)測器配置用于監(jiān)測對所述L2高速緩存套組中的L2高速緩存的訪問,并且計算與L2高速緩存訪問有關(guān)的一個或多個性能參數(shù);以及通過將所述L 2高速緩存套組耦合至至少 一 個處理器內(nèi)核的總線,從所述至少一個處理器內(nèi)核接收性能數(shù)據(jù)。
      10. 根據(jù)權(quán)利要求9所述的性能監(jiān)測器,其中將所述L2高速緩存套組耦合至所述至少一個處理器內(nèi)核的所述總線包括第一組總線線路,用于將所述性能數(shù)據(jù)傳送至所述性能監(jiān)測器;以及第二組總線線路,用于在所述L2高速緩存與所述至少一個處理器內(nèi)核之間交換數(shù)據(jù)。
      11. 根據(jù)權(quán)利要求IO所述的性能監(jiān)測器,其中所述第一組總線線路與所述第二組總線線路相比相對較細(xì)。
      12. 根據(jù)權(quán)利要求9、 10或11所述的性能監(jiān)測器,其中所述至少一個處理器內(nèi)核配置用于在所述總線沒有用來與所述L2高速緩存交換數(shù)據(jù)時,通過所述總線來傳送所述性能數(shù)據(jù)。
      13. 根據(jù)權(quán)利要求9到12任一項所述的性能監(jiān)測器,其中所述性能監(jiān)測器包括一個或多個閂鎖,其中所述一個或多個閂鎖配置用于捕獲所述L 2高速緩存套組和所述總線中的性能數(shù)據(jù)。
      14. 根據(jù)權(quán)利要求9到13任一項所述的性能監(jiān)測器,其中所述性能監(jiān)測器包括控制邏輯,用于基于所述L2高速緩存訪問和從所述至少 一 個處理器內(nèi)核接收到的所述性能數(shù)據(jù),來計算 一 個或多個性能參數(shù)。
      15. 根據(jù)權(quán)利要求9到14任一項所述的性能監(jiān)測器,其中所述性能監(jiān)測器包括動態(tài)隨機訪問存儲器(DRAM)用于存儲性能數(shù)據(jù)。
      16. 根據(jù)權(quán)利要求15所述的性能監(jiān)測器,其中所述性能監(jiān)測器包括靜態(tài)隨機訪問存儲器(SRAM),其中所述SRAM配置用于以第一頻率從所述至少一個處理器內(nèi)核接收所述性能數(shù)據(jù),并且以第二頻率將所述性能數(shù)據(jù)傳送給所述DRAM,其中所述第一頻率大于 所述第二頻率。
      17. —種系統(tǒng),包括 至少一個處理器內(nèi)核;L2高速緩存套組,其包括L2高速緩存和性能監(jiān)測器;以及 將所述L2高速緩存套組耦合至所述至少 一個處理器內(nèi)核的總線,其中所述性能監(jiān)測器配置用于監(jiān)測L2高速緩存訪問,以計算與L2高速緩存訪問有關(guān)的 一個或多個性能參數(shù);以及通過將所述L2高速緩存套組耦合至所述至少一個處理器內(nèi) 核的所述總線,從所述至少 一 個處理器內(nèi)核接收性能數(shù)據(jù)。
      18. 根據(jù)權(quán)利要求17所述的系統(tǒng),其中所述總線包括第一組 總線線路,用于將所述性能數(shù)據(jù)傳送至所述性能監(jiān)測器;以及第二 組總線線路,用于在所述L2高速緩存與所述至少一個處理器內(nèi)核之 間交換數(shù)據(jù)。
      19. 根據(jù)權(quán)利要求18所述的系統(tǒng),其中所述第一組總線線路與 所述第二組總線線路相比相對較細(xì)。
      20. 根據(jù)權(quán)利要求17、 18或19所述的系統(tǒng),其中所述至少一個 處理器內(nèi)核配置用于在所述總線沒有用來與所述L2高速緩存交換 數(shù)據(jù)時,通過所述總線來傳送所述性能數(shù)據(jù)。
      21. 根據(jù)權(quán)利要求17到20任一項所述的系統(tǒng),其中所述性能監(jiān) 測器包括一個或多個閂鎖;控制邏輯,用于捕獲和計算一個或多個性能參數(shù); 靜態(tài)隨機訪問存儲器(SRAM);以及 動態(tài)隨機訪問存儲器(DRAM)。
      22. 根據(jù)權(quán)利要求21所述的系統(tǒng),其中所述SRAM配置用于以第 一 頻率從所述至少 一個處理器內(nèi)核接收所述性能數(shù)據(jù),并且以 第二頻率將所述性能數(shù)據(jù)傳送給所述DRAM,其中所述第一頻率大 于所述第二頻率。
      全文摘要
      本發(fā)明涉及計算機架構(gòu),并且更具體地,涉及評估處理器的性能。性能監(jiān)測器可以置于處理器的L2高速緩存套組中。該性能監(jiān)測器可以監(jiān)測L2高速緩存訪問以及通過將一個或多個處理器內(nèi)核耦合至L2高速緩存套組的總線從所述處理器內(nèi)核接收性能數(shù)據(jù)。在一個實施方式中,總線可以包括用于將性能數(shù)據(jù)從處理器內(nèi)核傳送至性能監(jiān)測器的附加線路。
      文檔編號G06F11/34GK101681289SQ200880015791
      公開日2010年3月24日 申請日期2008年6月5日 優(yōu)先權(quán)日2007年6月27日
      發(fā)明者D·A·盧克, P·L·維塔萊 申請人:國際商業(yè)機器公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1