国产精品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>

      共享公共高速緩存的異構(gòu)處理器的制作方法

      文檔序號(hào):6468766閱讀:197來(lái)源:國(guó)知局
      專(zhuān)利名稱(chēng):共享公共高速緩存的異構(gòu)處理器的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及一種處理器,特別是涉及一種共享公共高速緩存的異構(gòu)處 理器。
      背景技術(shù)
      現(xiàn)代的通用處理器通常通過(guò)一個(gè)或多個(gè)高速緩存(例如,L1和L2高速 緩存)的分層結(jié)構(gòu)來(lái)訪(fǎng)問(wèn)主存儲(chǔ)器(典型地作為動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器,或
      "DRAM"執(zhí)行)。相對(duì)于主存儲(chǔ)器,高速緩存(典型地基于靜態(tài)隨機(jī)存取 存儲(chǔ)器,或"SRAM")可以更快地返回?cái)?shù)據(jù),但是使用更多的區(qū)域和功率。 通過(guò)通用處理器訪(fǎng)問(wèn)的存儲(chǔ)器通常顯示較高的時(shí)間和空間局部性。高速緩 存以比所需要的更大的塊從主存儲(chǔ)器中獲取數(shù)據(jù)(空間局部性),并且即 使在處理器已經(jīng)使用了該數(shù)據(jù)之后還保持該數(shù)據(jù)一段時(shí)間(時(shí)間局部性), 如此來(lái)利用該局部性。這種行為通常允許要求高速緩存快速地服務(wù),而不 是DRAM較慢的服務(wù)。高速緩存通常比主存儲(chǔ)器能夠滿(mǎn)足更高的讀/寫(xiě)負(fù)載
      (用于較高的吞吐量),以至于上述的訪(fǎng)問(wèn)不太可能排隊(duì)以及減緩當(dāng)前的 訪(fǎng)問(wèn)。
      像網(wǎng)絡(luò)和圖形那樣的計(jì)算工作量通常能更好地在專(zhuān)門(mén)為給定工作量 而設(shè)計(jì)的專(zhuān)用處理器上執(zhí)行。專(zhuān)用處理器的例子包括網(wǎng)絡(luò)處理器和圖形加 速器。通常這些專(zhuān)用處理器位于通用處理器的高速緩存層次結(jié)構(gòu)的外面, 通常在外圍部件互連(PCI)或加速圖形端口 (AGP)上。
      由專(zhuān)用處理器訪(fǎng)問(wèn)的存儲(chǔ)器因此只包括主存儲(chǔ)器,而不包括通用處理器的高速緩存。在通用處理器和專(zhuān)用處理器之間移動(dòng)數(shù)據(jù)通常需要主存儲(chǔ)
      器寫(xiě)入以及主存儲(chǔ)器讀取,因此該傳送可以?xún)H僅以DRAM的速度進(jìn)行。

      發(fā)明內(nèi)容
      按照本發(fā)明實(shí)施例的第一方面,提供一種處理器,包括包含異構(gòu)處 理器內(nèi)核的處理器內(nèi)核;以及連接到所述處理器內(nèi)核并由所述處理器內(nèi)核 共享的高速緩存;其中處理器內(nèi)核以及高速緩存集成在單個(gè)集成片上。
      其中異構(gòu)處理器內(nèi)核包括專(zhuān)用處理器內(nèi)核。
      其中專(zhuān)用處理器內(nèi)核包括具有指令集的網(wǎng)絡(luò)處理器單元內(nèi)核,該指令 集不包括用于浮點(diǎn)運(yùn)算的指令。
      其中專(zhuān)用處理器內(nèi)核包括圖形引擎內(nèi)核。
      其中異構(gòu)處理器內(nèi)核包括中央處理單元內(nèi)核。
      其中異構(gòu)處理器內(nèi)核包括中央處理單元內(nèi)核和圖形引擎內(nèi)核。 其中高速緩存包括多端口高速緩存。
      其中處理器內(nèi)核包括一個(gè)或多個(gè)第一類(lèi)型的處理器內(nèi)核以及一個(gè)或 多個(gè)第二類(lèi)型的處理器內(nèi)核,而多端口高速緩存包括至少一個(gè)支持由一個(gè)
      或多個(gè)第一類(lèi)型的處理器內(nèi)核生成的事務(wù)的端口 ,以及至少一個(gè)支持由一 個(gè)或多個(gè)第二類(lèi)型的處理器內(nèi)核生成的事務(wù)的端口。
      其中所述端口被配置為根據(jù)端口所支持的各個(gè)處理器內(nèi)核類(lèi)型而操作。
      其中所述端口包括根據(jù)各個(gè)處理器內(nèi)核類(lèi)型的命令類(lèi)型、大小和對(duì)準(zhǔn) 中的一個(gè)或多個(gè)來(lái)配置的端口 。
      其中異構(gòu)處理器內(nèi)核包括不同類(lèi)型的處理器內(nèi)核,并且多端口高速緩 存為每個(gè)不同類(lèi)型的處理器內(nèi)核提供不同的端口類(lèi)型。
      按照本發(fā)明實(shí)施例第一方面的處理器,進(jìn)一步包括將處理器內(nèi)核耦合 到高速緩存的互連,所述互連包括互連總線(xiàn)。
      其中處理器內(nèi)核包括翻譯邏輯,用于將每個(gè)處理器內(nèi)核的專(zhuān)用事務(wù)翻 譯為與內(nèi)核無(wú)關(guān)的事務(wù)。
      其中異構(gòu)處理器內(nèi)核包括不同類(lèi)型的處理器內(nèi)核,并且高速緩存包括
      5處理由不同類(lèi)型的處理器內(nèi)核所生成的事務(wù)的邏輯。
      其中異構(gòu)處理器內(nèi)核使用允許不同最大傳送容量的命令,其中不同最 大傳送容量的其中之一允許跨越多個(gè)高速緩存線(xiàn)的傳送。
      其中至少 一個(gè)異構(gòu)處理器內(nèi)核是可操作的,以便為擴(kuò)展的專(zhuān)用修改鎖 定一部分高速緩存。
      其中每個(gè)處理器內(nèi)核能夠使用共享高速緩存,以便將數(shù)據(jù)傳遞到另一 個(gè)處理器內(nèi)核。


      圖1A-1C示出了具有基于總線(xiàn)的共享高速緩存結(jié)構(gòu)的示例異構(gòu)多內(nèi)核 處理器。
      圖2示出了具有多個(gè)端口的共享高速緩存結(jié)構(gòu)的示例異構(gòu)多內(nèi)核處理器。
      圖3示出了具有基于開(kāi)關(guān)的共享高速緩存結(jié)構(gòu)的示例異構(gòu)多內(nèi)核處理器。
      圖4示出了通過(guò)橋連接到多內(nèi)核通用處理器的主存儲(chǔ)器上的示例異構(gòu) 多內(nèi)核處理器(具有一個(gè)共享高速緩存)。
      圖5示出了應(yīng)用了諸如圖l-4中所說(shuō)明的那些異構(gòu)多內(nèi)核處理系統(tǒng)的 示例網(wǎng)絡(luò)應(yīng)用。
      具體實(shí)施例方式
      圖U-1C示出了多處理器系統(tǒng)IO,其包括通過(guò)存儲(chǔ)器總線(xiàn)16耦合到主 存儲(chǔ)器14的多處理器12。該多處理器12包括高速緩存("共享高速緩存") 18和多個(gè)處理器"內(nèi)核"(全體的,處理器內(nèi)核20),這些處理器內(nèi)核連 接到高速緩存18并且共享該高速緩存18。該圖中的共享高速緩存18旨在表 示包括高速緩存存儲(chǔ)器和相關(guān)的控制邏輯的單元。高速緩存控制邏輯包括 用于映射存儲(chǔ)器地址("超高速緩存標(biāo)記")的邏輯,所述存儲(chǔ)器地址當(dāng) 前是用與它們相關(guān)的超高速緩存線(xiàn)來(lái)緩存的。
      處理器內(nèi)核20包括異構(gòu)內(nèi)核,也就是說(shuō),結(jié)構(gòu)不同的處理器內(nèi)核(或 者處理器內(nèi)核的類(lèi)型)。例如,處理器內(nèi)核20可以包括一個(gè)或多個(gè)專(zhuān)用處理器內(nèi)核和/或至少一個(gè)中央處理單元(CPU)內(nèi)核。
      專(zhuān)用處理器內(nèi)核可以包括,例如,至少一個(gè)網(wǎng)絡(luò)處理器單元(NPU) 內(nèi)核和/或圖形引擎內(nèi)核。在圖解的實(shí)施例中,處理器內(nèi)核20包括多個(gè)NPU
      內(nèi)核,如所示的NPU內(nèi)核22a、 22b..... 22k,以及CPU內(nèi)核24。 NPU內(nèi)核22
      可以被編程為精簡(jiǎn)指令集計(jì)算(RISC)內(nèi)核,該內(nèi)核的特征是硬件支持多 線(xiàn)程操作。NPU內(nèi)核22可能沒(méi)有通常能在其它處理器中發(fā)現(xiàn)的指令,諸如 整數(shù)乘法或除法,或浮點(diǎn)運(yùn)算,由于這些操作在處理網(wǎng)絡(luò)分組中發(fā)生相對(duì) 豐交少。CPU內(nèi)核24可以基于通用處理器的任何類(lèi)型的結(jié)構(gòu),例如,Intel Architecture處理器("IA處理器"),比如Intel⑧XeonTM處理器,或Intel Pentium⑧4處理器或XscaleTM處理器。
      雖然沒(méi)有示出,可以理解的是,CPU內(nèi)核24也可以使用專(zhuān)用高速緩存 (例如,該專(zhuān)用高速緩存可以是L1高速緩存,而共享高速緩存可以是L2高 速緩存)。
      如圖所示,處理器內(nèi)核20通過(guò)某類(lèi)型的互連機(jī)制,例如,共享總線(xiàn)26, 連接到共享高速緩存18。高速緩存18 (如果數(shù)據(jù)在那里)可以快速地為訪(fǎng) 問(wèn)CPU內(nèi)核24和NPU內(nèi)核22而提供服務(wù)。該訪(fǎng)問(wèn)被稱(chēng)為高速緩存命中,意味 著數(shù)據(jù)返回快很多。高速緩存命中也減少對(duì)主存儲(chǔ)器14訪(fǎng)問(wèn)的次數(shù),提高 了其它訪(fǎng)問(wèn)(高速緩存未命中或從I/0代理程序訪(fǎng)問(wèn))被服務(wù)的速率。由 兩種類(lèi)型處理器內(nèi)核22、 24使用的數(shù)據(jù)可以從共享高速緩存18快速地訪(fǎng) 問(wèn),而不需要DRAM或甚至高速緩存到高速緩存的傳遞。數(shù)據(jù)可以通過(guò)高速 緩存的讀取和寫(xiě)入從一個(gè)處理器內(nèi)核(上述的NPU內(nèi)核22)傳送到另一個(gè) 處理器內(nèi)核(上述的CPU內(nèi)核24),使該處理器內(nèi)核能夠以更快的速率進(jìn) 行而不需要加載主存儲(chǔ)器14。
      速緩存完成。具有數(shù)據(jù)的處理器內(nèi)核將數(shù)據(jù)寫(xiě)入到高速緩存。同一個(gè)處理 器內(nèi)核通知另一個(gè)處理器內(nèi)核數(shù)據(jù)已經(jīng)準(zhǔn)備好(例如,通過(guò)中斷或標(biāo)志更 新)。然后第二個(gè)處理器內(nèi)核讀取數(shù)據(jù),直接從共享高速緩存18中取得數(shù) 據(jù)。在處理器內(nèi)核之間傳送的數(shù)據(jù)不需要寫(xiě)入到主存儲(chǔ)器14中或者從主存 儲(chǔ)器14中讀出。因此,兩種類(lèi)型的處理器內(nèi)核可以用這種方式以共享高速 緩存的數(shù)據(jù)速率傳送數(shù)據(jù),該速率通常比主存儲(chǔ)器允許的速率高,并且不加載主存儲(chǔ)器以避免DRAM的讀取和寫(xiě)入, NPIT內(nèi)拔9 9PPII內(nèi)松74的蒼麥扭》
      對(duì)具體的網(wǎng)絡(luò)算法(例如,入侵檢測(cè)、防火墻、安全插口層(SSL)加速
      度)進(jìn)行合作。共享高速緩存允許相關(guān)的工作(和狀態(tài))從一個(gè)內(nèi)核遷移
      到另一個(gè)而不使用DRAM。
      雖然沒(méi)有示出,將被理解的是, 一個(gè)或多個(gè)NPU內(nèi)核22可以耦合到其 它資源,特別是,到外部網(wǎng)絡(luò)設(shè)備的接口 (或多個(gè)接口)。該外部i某體設(shè) 備可以是能夠發(fā)送和/或接收網(wǎng)絡(luò)通信量數(shù)據(jù)的任何媒體接口 ,諸如組幀/ 々某體訪(fǎng)問(wèn)控制(MAC)設(shè)備,例如,用于連接到10/100BaseT以太網(wǎng)、千兆 位以太網(wǎng)、異步傳輸模式(ATM)或其它類(lèi)型的網(wǎng)絡(luò),或者用于連接到開(kāi) 關(guān)結(jié)構(gòu)的接口。例如,在一種方案中, 一個(gè)網(wǎng)絡(luò)設(shè)備可以是將數(shù)據(jù)發(fā)送到 處理器12或者從處理器12接收數(shù)據(jù)的以太網(wǎng)MAC設(shè)備(連接到以太網(wǎng)), 而第二個(gè)網(wǎng)絡(luò)設(shè)備可以是支持與開(kāi)關(guān)結(jié)構(gòu)通信的開(kāi)關(guān)結(jié)構(gòu)接口 。其它NPU 資源可以包括,例如,控制狀態(tài)寄存器(CSR),到其它外部存儲(chǔ)器的接 口,諸如分組緩沖器和控制存儲(chǔ)器,以及暫時(shí)存儲(chǔ)器。
      與傳統(tǒng)的系統(tǒng)相反,其中專(zhuān)用處理器在單獨(dú)的硅片上,并且位于通用 處理器(例如,主機(jī))系統(tǒng)的I/0連接器上,多處理器12的內(nèi)核集成在與 CPU內(nèi)核24相同的片上,以及可能與高速緩存18相同的片上。這樣的集成 允許異構(gòu)內(nèi)核能夠更有機(jī)會(huì)有效地共享數(shù)據(jù),正如它們位于公共高速緩存 之后一樣。因此,在一個(gè)實(shí)施例中,如圖中所說(shuō)明的,處理器內(nèi)核、高速 緩存以及互連位于單個(gè)芯片上??商鎿Q地,處理器內(nèi)核20、高速緩存18以 及互連26可以5f皮實(shí)現(xiàn)為多芯片包裝中分離的芯片。在另一個(gè)可選的實(shí)施例 中,處理器內(nèi)核20、高速緩存18以及互連26可以被實(shí)現(xiàn)為芯片與板子設(shè)計(jì) 的組合。
      根據(jù)示例實(shí)施例,圖1B-1C示出了更加詳細(xì)的基于總線(xiàn)的高速緩存結(jié) 構(gòu)。圖1B中,每個(gè)NPU內(nèi)核22包括NPU內(nèi)核翻譯邏輯(NPU-TL),而CPU內(nèi) 核24包括CPU內(nèi)核翻譯邏輯(CPU-TL) 32。翻譯邏輯30、 32將專(zhuān)用內(nèi)核存 儲(chǔ)器事務(wù)(諸如讀和寫(xiě))翻譯成與內(nèi)核無(wú)關(guān)的存儲(chǔ)器事務(wù),與內(nèi)核無(wú)關(guān)的 存儲(chǔ)器事務(wù)將在總線(xiàn)26上出現(xiàn)并且由共享高速緩存18所理解,而不用考慮 它們開(kāi)始時(shí)的內(nèi)核類(lèi)型。圖1C中,將大量或全部處理專(zhuān)用內(nèi)核事務(wù)的特征的負(fù)擔(dān)轉(zhuǎn)移給共享高速緩存18。因此,共享高速緩存18包括共享高速緩存 翻譯邏輯(SC-TL) 40,用于以適當(dāng)?shù)姆绞街С謱?duì)來(lái)自不同處理器內(nèi)核類(lèi) 型的請(qǐng)求(并且,更特別地,命令集特征)的處理。共享高速緩存翻譯邏 輯40是支持每個(gè)處理器內(nèi)核類(lèi)型所需的邏輯超集。共享高速緩存翻譯邏輯 40可以進(jìn)一步包括總線(xiàn)仲裁邏輯,用于優(yōu)先化處理器內(nèi)核類(lèi)型的總線(xiàn)訪(fǎng) 問(wèn)。即使在后面的例子中(圖1C中所示),可能存在一些問(wèn)題需要與內(nèi)核 本身更緊密得一致。例如,在CPU應(yīng)用中,高速緩存典型地使用地址來(lái)確 定存儲(chǔ)器類(lèi)型,但是在NPU應(yīng)用中,高速緩存可以通過(guò)NPU命令來(lái)指示有關(guān) 存儲(chǔ)器的類(lèi)型。同樣,處理器內(nèi)核可以請(qǐng)求用內(nèi)核識(shí)別器支持編碼事務(wù)。
      如上所述,也可能是其它的內(nèi)核到高速緩存的互連機(jī)制。例如,如圖 2中所示,高速緩存18可以是多端口高速緩存,每個(gè)內(nèi)核具有一個(gè)端口, 或者每種處理器內(nèi)核類(lèi)型具有單個(gè)端口。因此,在NPU22和CPU24內(nèi)核的情
      況下,如圖所示,NPU內(nèi)核22a、 22b..... 22k連接到第一端口類(lèi)型的端口
      50(如所示的"類(lèi)型A"),而CPU內(nèi)核24使用第二端口類(lèi)型的端口52 (如 所示的"類(lèi)型B")。雖然端口50示為共享端口 ,應(yīng)當(dāng)理解的是,每個(gè)NPU 內(nèi)核能夠通過(guò)單獨(dú)的信道連接到各自的端口50。以這種方法,生成訪(fǎng)問(wèn)請(qǐng) 求的內(nèi)核類(lèi)型可以通過(guò)接收請(qǐng)求的端口而得知。在諸如這種多端口結(jié)構(gòu) 中,每種類(lèi)型的端口 (也就是說(shuō),支持不同處理器內(nèi)核類(lèi)型的端口 )可以 針對(duì)通信量模式和那些不同處理器內(nèi)核類(lèi)型的其它特性或特征(諸如命 令、大小、對(duì)準(zhǔn)等等)來(lái)進(jìn)行"調(diào)整"。例如,NPU內(nèi)核是帶寬敏感的, 而CPU內(nèi)核是等待時(shí)間敏感的。對(duì)NPU請(qǐng)求由高速緩存返回的數(shù)據(jù)在返回時(shí) 被批處理,以便對(duì)于固定的開(kāi)銷(xiāo)優(yōu)化吞吐量。該調(diào)整可以考慮由專(zhuān)用內(nèi)核 類(lèi)型執(zhí)行的事務(wù)類(lèi)型。某些類(lèi)型的內(nèi)核可以主要執(zhí)行讀取(例如,圖形引 擎),而其它內(nèi)核類(lèi)型執(zhí)行更加均衡混合的讀取和寫(xiě)入。
      圖3示出了另一種互連方法。用這種方法,每個(gè)內(nèi)核通過(guò)開(kāi)關(guān)60(例 如,所示的縱橫開(kāi)關(guān))連接到共享高速緩存18??梢杂蒙鲜龅呐c基于總線(xiàn) 的方法相關(guān)的任何一種方法執(zhí)行翻譯邏輯。
      雖然沒(méi)有示出,各個(gè)內(nèi)核可以包括用于支持中斷或標(biāo)志的邏輯,用于 內(nèi)核到內(nèi)核的發(fā)信號(hào)。當(dāng)一個(gè)內(nèi)核(諸如NPU內(nèi)核22)已經(jīng)將工作(例如, 以分組數(shù)據(jù)、指針、狀態(tài)等等的形式)傳送到共享高速緩存18并且需要向
      9第二內(nèi)核發(fā)信號(hào)(諸如CPU內(nèi)核24)時(shí),可以使用內(nèi)核間的發(fā)信號(hào),其中 所述工作可以由第二內(nèi)核操作。
      如圖4中所示,處理器12可以作為高速緩存中的單元參與利用一個(gè)或 多個(gè)其它處理器/高速緩存組合來(lái)一致訪(fǎng)問(wèn)主存儲(chǔ)器。轉(zhuǎn)向圖4,系統(tǒng)70包 括現(xiàn)在通過(guò)橋74連接到主存儲(chǔ)器72的處理器12。主存儲(chǔ)器72由通用處理器 (GPP)76共享,該主存儲(chǔ)器72也連接到橋74。 GPP76包括位于公共(或共 享)高速緩存80之后的一個(gè)或多個(gè)CPU內(nèi)核78。高速緩存和橋結(jié)構(gòu)以一種 方式操作,該方式確保所有的高速緩存保持相干。
      橋74可以^皮實(shí)施為允許處理器12的內(nèi)核以及GPP76的內(nèi)核通過(guò)用它們 自己本地的存取協(xié)議,來(lái)引用主存儲(chǔ)器以及其它處理器的共享高速緩存。 共享高速緩存機(jī)構(gòu)使處理器12的異構(gòu)處理器內(nèi)核能夠以它們本地的操作 模式訪(fǎng)問(wèn)共享高速緩存18,但不存在利用不同的協(xié)議訪(fǎng)問(wèn)共享高速緩存18 的其它處理器類(lèi)型(諸如GPP76的CPU內(nèi)核78)所產(chǎn)生的影響。在根據(jù)基于 IXA的NPU內(nèi)核22和基于IA的CPU內(nèi)核78的一個(gè)實(shí)施例中,NPU內(nèi)核22可以通 過(guò)IXA協(xié)議(諸如命令推/拉總線(xiàn)協(xié)議)訪(fǎng)問(wèn)共享高速緩存18,并且將該共 享高速緩存視為另一個(gè)存儲(chǔ)器資源,而一個(gè)CPU內(nèi)核78通過(guò)橋74對(duì)共享高 速緩存18從外部的訪(fǎng)問(wèn)可以利用IA高速緩存訪(fǎng)問(wèn)以及相干機(jī)制而進(jìn)行。如 上所述,處理器12的異構(gòu)內(nèi)核能夠使用它們本地的(并且不同的)訪(fǎng)問(wèn)協(xié) 議來(lái)完全訪(fǎng)問(wèn)共享高速緩存18??梢圆捎酶咚倬彺娴礁咚倬彺娴膫鬟f將數(shù) 據(jù)從一個(gè)處理器的內(nèi)核傳送到另 一個(gè)處理器的內(nèi)核。這可以用比可選方案 更少的等待時(shí)間和更高的帶寬來(lái)完成,并且不加載主存儲(chǔ)器,在可選方案 中由一個(gè)處理器寫(xiě)主存儲(chǔ)器而由其它處理器讀主存儲(chǔ)器。
      傳輸?shù)睦尤缦滤觥PU內(nèi)核78將讀取請(qǐng)求發(fā)送到共享高速緩存80, 該CPU內(nèi)核78檢測(cè)高速緩存未命中,并且將讀取請(qǐng)求傳送到橋74。橋74將 讀取請(qǐng)求發(fā)送到共享高速緩存18,其包含所請(qǐng)求數(shù)據(jù)的副本。共享高速緩 存18通過(guò)橋74將所請(qǐng)求的數(shù)據(jù)返回到共享高速緩存80。在一個(gè)替代方案 中,橋74可以將讀取請(qǐng)求發(fā)送到共享高速緩存18和主存儲(chǔ)器72,并且根據(jù) 來(lái)自共享高速緩存18的應(yīng)答來(lái)確定使用哪個(gè)數(shù)據(jù)副本。
      共享高速緩存機(jī)制可以支持不同的高速緩存策略和特征,諸如高速緩 存線(xiàn)對(duì)準(zhǔn)、可緩存性以及高速緩存線(xiàn)鎖定。高速緩存線(xiàn)對(duì)準(zhǔn)將對(duì)多于一個(gè)高速緩存線(xiàn)有影響的存儲(chǔ)器事務(wù)轉(zhuǎn)換成多存儲(chǔ)器訪(fǎng)問(wèn),其每一個(gè)都適合單 個(gè)高速緩存線(xiàn)??梢愿鶕?jù)指令類(lèi)型(例如,指定非高速緩存事務(wù)的指令)
      和/或根據(jù)存儲(chǔ)器的類(lèi)型,例如,存儲(chǔ)器類(lèi)型范圍寄存器(MTTR)中規(guī)定 的類(lèi)型,來(lái)確定存儲(chǔ)器傳輸中所涉及的數(shù)據(jù)可緩存性。以這種特征,至少 一個(gè)異構(gòu)處理器內(nèi)核(例如NPU內(nèi)核)能夠生成對(duì)主存儲(chǔ)器14的讀取和寫(xiě) 入,以便在高速緩存未命中時(shí)旁路共享高速緩存16。高速緩存線(xiàn)鎖定是指 由內(nèi)核鎖定個(gè)別高速緩存線(xiàn)。利用高速緩存線(xiàn)鎖定的特征,至少一個(gè)異構(gòu) 處理器內(nèi)核可以鎖定作為專(zhuān)用存儲(chǔ)器的一部分共享高速緩存線(xiàn)(例如,單 個(gè)高速緩存線(xiàn)、多個(gè)高速緩存線(xiàn),或者所有高速緩存線(xiàn)),以便可能擴(kuò)展 已經(jīng)對(duì)內(nèi)核可用的局部資源(諸如暫時(shí)存儲(chǔ)器),或者用于擴(kuò)展的專(zhuān)用修 改。通過(guò)鎖定一個(gè)、 一些或所有高速緩存線(xiàn),內(nèi)核可以利用鎖定的存儲(chǔ)器 空間作為擴(kuò)展的局部存儲(chǔ)器,而內(nèi)核繼續(xù)對(duì)共享高速緩存的任意剩余部分 進(jìn)行相干操作。當(dāng)只有一個(gè)異構(gòu)處理器內(nèi)核主動(dòng)使用共享高速緩存時(shí),該 處理器內(nèi)核通過(guò)有效地使用芯片區(qū)域而收到整個(gè)共享高速緩存的所有權(quán) 益,從而最大化性能??梢允褂门c原子操作鎖定相同的方式,例如使用高 速緩存線(xiàn)鎖定狀態(tài)域,來(lái)實(shí)施該高速緩存的鎖定。
      一個(gè)或多個(gè)這些(或者其它的)技術(shù)的應(yīng)用至少部分由內(nèi)核類(lèi)型的選 擇來(lái)驅(qū)動(dòng)。例如, 一些專(zhuān)用處理器,諸如網(wǎng)絡(luò)處理器,包括從存儲(chǔ)器讀取 和向存儲(chǔ)器寫(xiě)入,程序員知道該存儲(chǔ)器具有較差的時(shí)間和空間局部性。對(duì) 于由通用處理器訪(fǎng)問(wèn)的那些也同樣如此。所以,為了提高這些訪(fǎng)問(wèn)的效率, 希望提供不會(huì)導(dǎo)致高速緩存活動(dòng)的存儲(chǔ)器讀和寫(xiě)命令。換句話(huà)說(shuō),數(shù)據(jù)沒(méi) 有位于高速緩存中,并且不清除高速緩存中已有的其它數(shù)據(jù)。程序員知道 不會(huì)命中高速緩存的訪(fǎng)問(wèn)可以繞過(guò)該高速緩存,從而增加其它訪(fǎng)問(wèn)的高速
      緩存命中率。并且,不同的內(nèi)核類(lèi)型可以支持不同的數(shù)據(jù)取出/傳送容量, 其中一些可能不是高速緩存線(xiàn)對(duì)準(zhǔn)的。CPU內(nèi)核(諸如IA內(nèi)核)典型地生 成適合單個(gè)高速緩存線(xiàn)的請(qǐng)求,而NPU (諸如IXA網(wǎng)絡(luò)處理器)有能力生成 任意大小的請(qǐng)求,該請(qǐng)求可能跨越多個(gè)高速緩存線(xiàn)。
      這里描述的共享高速緩存結(jié)構(gòu)允許在同一個(gè)高速緩存之后設(shè)置兩種 不同類(lèi)型的處理器。因?yàn)樵O(shè)計(jì)趨向于多內(nèi)核處理器,該結(jié)構(gòu)可供性能要求 較高的負(fù)載使用,比如圖形、流媒體和網(wǎng)絡(luò)的工作。在網(wǎng)絡(luò)應(yīng)用中,例如,可以使分組處理和通用處理相互靠近,用于最佳化網(wǎng)絡(luò)處理器的分組處理 元件與通用處理器的控制和/或內(nèi)容處理之間的高吞吐量通信。例如,如
      圖5中所示,分布式處理平臺(tái)100包括通過(guò)底板106而互連的刀片(blade) 102a-102m和線(xiàn)卡104a-104n的集合,底板例如是開(kāi)關(guān)結(jié)構(gòu)(如圖所示)。 開(kāi)關(guān)結(jié)構(gòu)例如可以遵守公共開(kāi)關(guān)接口 (CSIX)或其它結(jié)構(gòu)的技術(shù),諸如超 級(jí)傳送(HyperTranport ),無(wú)限波段(Infiniband),外圍部件互連(PCI ), Packet-Over-SONET, RapidIO,和/或用于ATM的通用測(cè)試和操作PHY接口 (UTOPIA)。
      線(xiàn)卡是線(xiàn)路結(jié)束和I/0處理出現(xiàn)的地方。它可以包括數(shù)據(jù)層面中的處 理(分組處理),以及控制層面處理,用于為數(shù)據(jù)層面中的執(zhí)行對(duì)策略管 理進(jìn)行操作。刀片102a-102m可以包括用于操作控制層面功能不分布到 線(xiàn)卡的控制刀片;用于執(zhí)行系統(tǒng)管理功能的控制刀片,所述系統(tǒng)管理功能 諸如驅(qū)動(dòng)器計(jì)數(shù)、路由表管理、全局表管理、網(wǎng)絡(luò)地址翻譯以及向控制刀 片發(fā)送消息;應(yīng)用和服務(wù)刀片;以及內(nèi)容處理。在網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)中,內(nèi)容 處理可以用于處理標(biāo)準(zhǔn)線(xiàn)卡應(yīng)用能力之外密集的基于內(nèi)容的處理,包括聲 音處理、要求高性能的加密卸栽和入侵檢測(cè)。
      至少一個(gè)線(xiàn)卡是專(zhuān)用線(xiàn)卡,例如線(xiàn)卡104a,該線(xiàn)卡基于異構(gòu)多內(nèi)核系 統(tǒng)IO (或系統(tǒng)70)的結(jié)構(gòu)而實(shí)施,以便將CPU內(nèi)核的處理信息更加緊密地 耦合到NPU內(nèi)核更專(zhuān)用的性能。線(xiàn)卡104a包括處理網(wǎng)絡(luò)連接上通信的媒體 接口 (MI)108。每個(gè)媒體接口108連接到系統(tǒng)10 (或70)。在該實(shí)施例中, 一個(gè)系統(tǒng)用作入口處理器而其它系統(tǒng)用作出口處理器,雖然也可以使用單 個(gè)系統(tǒng)。每個(gè)系統(tǒng)IO (或70)通過(guò)開(kāi)關(guān)結(jié)構(gòu)接口 (SFI) IIO耦合到開(kāi)關(guān)結(jié) 構(gòu)106??商鎿Q地或附加地,基于多處理器系統(tǒng)IO、 70的其它應(yīng)用程序可 以通過(guò)分布式處理平臺(tái)100而工作。根據(jù)刀片和線(xiàn)卡的配置,分布式處理 平臺(tái)100可以實(shí)現(xiàn)開(kāi)關(guān)設(shè)備(例如,開(kāi)關(guān)或路由器)、服務(wù)器、數(shù)據(jù)中心 或其它類(lèi)型的裝備。
      其它的實(shí)施例在下述權(quán)利要求的范圍中。
      權(quán)利要求
      1、一種處理器,包括包含異構(gòu)處理器內(nèi)核的處理器內(nèi)核;以及連接到所述處理器內(nèi)核并由所述處理器內(nèi)核共享的高速緩存;其中處理器內(nèi)核以及高速緩存集成在單個(gè)集成片上。
      2、 權(quán)利要求l的處理器,其中異構(gòu)處理器內(nèi)核包括專(zhuān)用處理器內(nèi)核。
      3、 權(quán)利要求2的處理器,其中專(zhuān)用處理器內(nèi)核包括具有指令集的 網(wǎng)絡(luò)處理器單元內(nèi)核,該指令集不包括用于浮點(diǎn)運(yùn)算的指令。
      4 、權(quán)利要求2的處理器,其中專(zhuān)用處理器內(nèi)核包括圖形引擎內(nèi)核。
      5、 權(quán)利要求l的處理器,其中異構(gòu)處理器內(nèi)核包括中央處理單元 內(nèi)核。
      6、 權(quán)利要求l的處理器,其中異構(gòu)處理器內(nèi)核包括網(wǎng)絡(luò)處理器單 元內(nèi)核和中央處理單元內(nèi)核。
      7、 權(quán)利要求l的處理器,其中異構(gòu)處理器內(nèi)核包括中央處理單元 內(nèi)核和圖形引擎內(nèi)核。
      8、 權(quán)利要求l的處理器,其中高速緩存包括多端口高速緩存。
      9、 權(quán)利要求8的處理器,其中處理器內(nèi)核包括一個(gè)或多個(gè)第一類(lèi) 型的處理器內(nèi)核以及一個(gè)或多個(gè)第二類(lèi)型的處理器內(nèi)核,而多端口高 速緩存包括至少一個(gè)支持由一個(gè)或多個(gè)第一類(lèi)型的處理器內(nèi)核生成 的事務(wù)的端口,以及至少一個(gè)支持由一個(gè)或多個(gè)第二類(lèi)型的處理器內(nèi) 核生成的事務(wù)的端口。
      10、 權(quán)利要求9的處理器,其中所述端口被配置為根據(jù)端口所支 持的各個(gè)處理器內(nèi)核類(lèi)型而操作。
      11、 權(quán)利要求10的處理器,其中所述端口包括根據(jù)各個(gè)處理器內(nèi) 核類(lèi)型的命令類(lèi)型、大小和對(duì)準(zhǔn)中的一個(gè)或多個(gè)來(lái)配置的端口 。
      12、 權(quán)利要求10的處理器,其中異構(gòu)處理器內(nèi)核包括不同類(lèi)型的 處理器內(nèi)核,并且多端口高速緩存為每個(gè)不同類(lèi)型的處理器內(nèi)核提供不同的端口類(lèi)型。
      13、 權(quán)利要求l的處理器,進(jìn)一步包括將處理器內(nèi)核耦合到高速 鄉(xiāng)爰存的互連,所述互連包括互連總線(xiàn)。
      14、 權(quán)利要求l的處理器,其中處理器內(nèi)核包括翻譯邏輯,用于 將每個(gè)處理器內(nèi)核的專(zhuān)用事務(wù)翻譯為與內(nèi)核無(wú)關(guān)的事務(wù)。
      15、 權(quán)利要求l的處理器,其中異構(gòu)處理器內(nèi)核包括不同類(lèi)型的 處理器內(nèi)核,并且高速緩存包括處理由不同類(lèi)型的處理器內(nèi)核所生成 的事務(wù)的邏輯。
      16、 權(quán)利要求l的處理器,其中異構(gòu)處理器內(nèi)核使用允許不同最 大傳送容量的命令,其中不同最大傳送容量的其中之一允許跨越多個(gè) 高速緩存線(xiàn)的傳送。
      17、 權(quán)利要求l的處理器,其中至少一個(gè)異構(gòu)處理器內(nèi)核是可操 作的,以便為擴(kuò)展的專(zhuān)用修改鎖定一部分高速緩存。
      18、 權(quán)利要求l的處理器,其中每個(gè)處理器內(nèi)核能夠使用共享高 速緩存,以便將數(shù)據(jù)傳遞到另一個(gè)處理器內(nèi)核。
      全文摘要
      公開(kāi)了一種提供異構(gòu)處理器內(nèi)核和共享高速緩存的多內(nèi)核處理器,所述處理器包括包含異構(gòu)處理器內(nèi)核的處理器內(nèi)核;以及連接到所述處理器內(nèi)核并由所述處理器內(nèi)核共享的高速緩存;其中處理器內(nèi)核以及高速緩存集成在單個(gè)集成片上。
      文檔編號(hào)G06F15/78GK101470691SQ20081018636
      公開(kāi)日2009年7月1日 申請(qǐng)日期2005年11月18日 優(yōu)先權(quán)日2004年11月19日
      發(fā)明者F·哈迪, J·貝克, M·卡波特, M·羅森布盧特 申請(qǐng)人:英特爾公司
      網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1