0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于英特爾 Skylake 臺式機處理器設(shè)計的單核

lhl545545 ? 來源:與非網(wǎng) ? 作者:與非網(wǎng) ? 2020-09-02 11:36 ? 次閱讀

從廉價筆記本電腦到價值一百萬美元的服務(wù)器,任何一臺計算機中CPU都有一個叫做“緩存”的東西。當然緩存的級別往往有所不同。

緩存很重要,不然也不會無處不在。但是緩存到底有什么作用,為什么是不同級別的呢?

而且 12 路路組相連到底意味著什么?

緩存到底是什么?

TL 和 DR 很小,但卻非??觳⑽挥贑PU的邏輯單元旁邊。當然,我們需要了解更多有關(guān)緩存的信息。

讓我們從一個虛構(gòu)的,神奇的存儲系統(tǒng)開始說起。這個存儲系統(tǒng)速度極快,可以一次處理無限的數(shù)據(jù),并始終保持數(shù)據(jù)安全。對它來說甚至不存在任何需要遠程操作的東西,但是如果的確存在,處理器的設(shè)計將更加簡單。CPU僅需要具有用于加法,乘法等的邏輯單元,以及用于處理數(shù)據(jù)傳輸?shù)南到y(tǒng)。這是因為我們的理論存儲系統(tǒng)可以立即發(fā)送和接收所需的所有編號;沒有一個邏輯單元會等待數(shù)據(jù)處理。

但是,眾所周知,實際上不存在任何上述魔術(shù)般的存儲技術(shù)。反之,我們擁有硬盤驅(qū)動器或固態(tài)驅(qū)動器,即使其中最好的驅(qū)動器也無法遠程處理典型 CPU 所需的所有數(shù)據(jù)傳輸。原因在于,現(xiàn)代 CPU 的運行速度非常快 - 它們僅需一個時鐘周期即可將兩個 64 位整數(shù)值相加,而對于以 4 GHz 運行的 CPU,則僅為 0.00000000025 秒或四分之一納秒。同時,旋轉(zhuǎn)硬盤驅(qū)動器僅需數(shù)千納秒即可在內(nèi)部磁盤上查找數(shù)據(jù),更不用說傳輸數(shù)據(jù)了,而固態(tài)驅(qū)動器仍需數(shù)十或數(shù)百納秒。

顯然,此類驅(qū)動器無法內(nèi)置在處理器中,因此這意味著兩者之間將存在物理隔離。這只會增加數(shù)據(jù)移動的時間,使情況變得更糟。因此,我們需要的是另一個數(shù)據(jù)存儲系統(tǒng),它位于處理器和主存儲之間。它需要比驅(qū)動器更快的速度,能夠同時處理大量數(shù)據(jù)傳輸,并且離處理器更近一些。

如今它已成為現(xiàn)實,叫做RAM。每個計算機系統(tǒng)都有一些用于上述目的的裝置。而幾乎所有這類存儲都是 DRAM(動態(tài)隨機存取存儲器),它能夠比任何驅(qū)動器更快地傳輸數(shù)據(jù)。但是,盡管 DRAM速度極快,但它無法存儲盡可能多的數(shù)據(jù)。

美光公司是 DRAM 的少數(shù)制造商之一,其中一些最大的 DDR4 存儲器芯片可容納 32 Gbit 或 4 GB 數(shù)據(jù)。最大的硬盤驅(qū)動器的容量是此容量的 4000 倍。因此,盡管我們提高了數(shù)據(jù)網(wǎng)絡(luò)的速度,但仍需要附加系統(tǒng)(硬件和軟件),以便確定應(yīng)將哪些數(shù)據(jù)保留在有限數(shù)量的 DRAM 中,以備 CPU 使用。或者至少可以將 DRAM 置于芯片封裝中(稱為嵌入式 DRAM)。不過,CPU 很小,所以您不能在其中塞太多。

絕大多數(shù) DRAM 位于處理器旁邊(插入主板)。在計算機系統(tǒng)中,它始終是最接近 CPU 的組件。然而,這還是不夠快。DRAM 仍需要約 100 納秒的時間才能找到數(shù)據(jù),但至少每秒可以傳輸數(shù)十億比特??磥砦覀冃枰硪患壌鎯ζ?,才能進入處理器單元和 DRAM 之間。

左級輸入:SRAM(靜態(tài)隨機存取存儲器)。在 DRAM 使用微觀電容器以電荷形式存儲數(shù)據(jù)的情況下,SRAM 使用晶體管做同樣的事情,并且它們的工作速度幾乎與處理器中的邏輯單元一樣快(大約比 DRAM 快 10 倍)。

當然,SRAM 有一個缺點,那就是空間。

基于晶體管的內(nèi)存比 DRAM 占用更多的空間:對于相同大小的 4 GB DDR4 芯片,您將獲得不到 100 MB 的 SRAM。但是,由于它是通過與創(chuàng)建 CPU 相同的過程制成的,因此 SRAM 可以直接在處理器內(nèi)部構(gòu)建,并盡可能靠近邏輯單元。每增加一個環(huán)節(jié),我們就增加了數(shù)據(jù)移動的速度,從而增加了存儲量。我們可以繼續(xù)添加更多的環(huán)節(jié),每個環(huán)節(jié)更快但簡潔。

因此,我們對高速緩存下了一個更為專業(yè)的定義:它是全部位于處理器內(nèi)部的多個 SRAM 塊,通過以超快的速度發(fā)送和存儲數(shù)據(jù)來確保邏輯單元保持盡可能繁忙。

對這個定義滿意嗎?很好 - 因為從現(xiàn)在開始它將變得更加復雜!

高速緩存:多層停車場

如上所述,需要緩存是因為沒有一種神奇的存儲系統(tǒng)可以滿足處理器中邏輯單元的數(shù)據(jù)需求。現(xiàn)代的 CPU 和圖形處理器包含許多 SRAM 塊,這些 SRAM 塊在內(nèi)部組織成一個層次結(jié)構(gòu),即一系列高速緩存,其順序如下:

在上圖中,CPU 由黑色虛線矩形表示。ALU(算術(shù)邏輯單元)在最左邊;這些是為處理器提供動力,處理芯片運算能力的結(jié)構(gòu)。從專業(yè)角度來講,它不是緩存,而最接近 ALU 的內(nèi)存級別是寄存器(它們組合在一起成為一個寄存器文件)。

其中的每一個都擁有一個數(shù)字,例如 64 位整數(shù)。該值本身可能是有關(guān)某物的一條數(shù)據(jù),一條特定指令的代碼或某些其他數(shù)據(jù)的內(nèi)存地址。

臺式機 CPU 中的寄存器文件非常小 - 例如,在 Intel 的 Core i9-9900K 中,每個內(nèi)核中有兩個存儲區(qū),而一個整數(shù)存儲區(qū)僅包含 180 個 64 位寄存器。另一個寄存器文件,用于向量(數(shù)字的小數(shù)組),具有 168 個 256 位條目。因此,每個內(nèi)核的總寄存器文件略低于 7 kB。相比之下,Nvidia GeForce RTX 2080 Ti 的流式多處理器(GPU 等效于 CPU 內(nèi)核)中的寄存器文件大小為 256 kB。

寄存器是 SRAM,就像高速緩存一樣,但是它們和它們所服務(wù)的 ALU 一樣快,可以在一個時鐘周期內(nèi)輸入和輸出數(shù)據(jù)。但是它們的設(shè)計并不是要容納太多數(shù)據(jù)(僅存儲其中的一部分),這就是為什么附近總是存在一些更大的內(nèi)存塊的原因:這是 1 級緩存。

可以在最左側(cè)看到 ALU 和寄存器文件(以綠色突出顯示)。圖片的頂部中間是白色的 1 級數(shù)據(jù)緩存。它容納的信息并不多,僅為 32 kB,但是與寄存器一樣,它非常靠近邏輯單元,并以與它們相同的速度運行。

另一個白色矩形表示 1 級指令高速緩存,大小也為 32 kB。顧名思義,該命令存儲了各種命令,這些命令可以分解成較小的所謂的微操作(通常標記為μop),以供 ALU 執(zhí)行。它們也有一個緩存,您可以將其歸類為 0 級,因為它比 L1 緩存?。▋H進行 1,500 次操作)并且更近。

您可能想知道為什么這些 SRAM 塊這么?。繛槭裁此鼈儾皇且徽鬃止?jié)大?。繑?shù)據(jù)和指令高速緩存一起占用的芯片空間幾乎與主要邏輯單元占用的空間相同,因此使其增大將增加芯片的整體尺寸。

但是它們僅保留幾 kB 的主要原因是,隨著內(nèi)存容量的增大,查找和檢索數(shù)據(jù)所需的時間也會增加。L1 高速緩存必須達到真正意義上的快,因此必須在大小和速度之間達成折衷 - 最多需要大約 5 個時鐘周期(較長的浮點值)才能從該高速緩存中獲取數(shù)據(jù),以備使用。

但是,如果這是處理器內(nèi)部唯一的緩存,則其性能將突然崩潰。這就是為什么它們都在內(nèi)核中內(nèi)置了另一級內(nèi)存的原因:二級緩存。這是一個通用的存儲塊,保存著指令和數(shù)據(jù)。

它總是比級別 1 大很多:AMD Zen 2 處理器的最大容量為 512 kB,因此可以保持較低級別的緩存的良好供應(yīng)。但是,這種額外的大小需要付出一定的代價,而與 1 級相比,從此緩存中查找和傳輸數(shù)據(jù)大約要花費兩倍的時間。

追溯到最初的 Intel Pentium 時代,Level 2 高速緩存是一個單獨的芯片,其位于小型插入式電路板上(例如RAMDIMM)或內(nèi)置在主板中。最終它像奔騰 III 和 AMD K6-III 處理器一樣,一直運用于 CPU 封裝本身,直到最終被集成到 CPU 裸片中。

由于多核芯片的興起,這項發(fā)展很快之后又有了另一個級別的緩存,以支持其他較低的級別。

上圖是 Intel Kaby Lake 芯片,其左中間有 4 個內(nèi)核(集成 GPU 占據(jù)了右側(cè)一半的裸片)。每個內(nèi)核都有其自己的“專用”組 1 級和 2 級緩存(白色和黃色高亮顯示),但它們也帶有第三組 SRAM 塊。

3 級高速緩存即使直接圍繞一個內(nèi)核也可以與其他內(nèi)核完全共享 - 每個都可以自由訪問另一個 L3 高速緩存的內(nèi)容。它 內(nèi)存更大(在 2 到 32 MB 之間),但也慢得多,平均超過 30 個周期(尤其是在內(nèi)核需要使用相距一定距離的緩存塊中的數(shù)據(jù)時)。

在下面,我們可以看到 AMD Zen 2 架構(gòu)中的單核:白色的 32 kB 1 級數(shù)據(jù)和指令緩存,黃色的 512 KB 2 級緩存和紅色的 4 MB 巨大塊 L3 緩存。

不只是一個數(shù)字:

高速緩存兩個環(huán)節(jié):其一是來提高性能通過加速向邏輯單元的數(shù)據(jù)傳輸,其二是保留常用指令和數(shù)據(jù)的副本。緩存中存儲的信息分為兩部分:數(shù)據(jù)本身以及它最初位于系統(tǒng)內(nèi)存 / 存儲中的位置。此地址稱為緩存標簽。

當 CPU 運行要從內(nèi)存讀取數(shù)據(jù)或向內(nèi)存寫入數(shù)據(jù)的操作時,它首先檢查 1 級緩存中的變量。如果存在所需的數(shù)據(jù)(緩存命中),則幾乎可以立即訪問該數(shù)據(jù)。當所需標簽不在最低緩存級別中時,即緩存未命中。

因此,在 L1 高速緩存中會有一個新標簽,其余的處理器體系結(jié)構(gòu)將接管,盡數(shù)瀏覽其他高速緩存級別(如有必要,一直返回主存儲驅(qū)動器)以查找該標簽的數(shù)據(jù)。但是要在 L1 緩存中為該新標簽騰出空間,必須將其他內(nèi)容始終引導到 L2 中。

這導致了幾乎恒定的數(shù)據(jù)改組,所有這些都只需要幾個時鐘周期即可實現(xiàn)。實現(xiàn)此目的的唯一方法是在 SRAM 周圍構(gòu)建一個復雜的結(jié)構(gòu),以處理數(shù)據(jù)管理。換句話說,如果一個 CPU 內(nèi)核僅由一個 ALU 組成,則 L1 緩存會簡單得多,但是由于 ALU 有數(shù)十個(其中許多將處理兩個指令線程),因此緩存需要多個連接來保持一切都在進行中。

您可以使用免費程序(例如 CPU-Z)來檢查為自己的計算機供電的處理器的緩存信息。但是所有這些信息意味著什么?一個重要的元素是關(guān)聯(lián)的標簽集。這與規(guī)則有關(guān),這些規(guī)則取決于由系統(tǒng)內(nèi)存中的數(shù)據(jù)塊復制到緩存的方式。

上面的緩存信息適用于 Intel Core i7-9700K。它的 1 級高速緩存每個都分成 64 個小塊,稱為集合,并且每個小塊進一步劃分為高速緩存行(大小為 64 字節(jié))。集相關(guān)意味著將來自系統(tǒng)內(nèi)存的數(shù)據(jù)塊映射到一個特定集合中的高速緩存行上,而不是自由地在任何地方進行映射。

8 向告訴我們,一個塊可以與一組中的 8 條緩存行關(guān)聯(lián)。關(guān)聯(lián)性級別越高(即“方式”越多),則當 CPU 搜尋數(shù)據(jù)時,命中高速緩存的機會就越大,并且減少由高速緩存未命中引起的損失。缺點是它增加了復雜性,增加了功耗,還可能降低性能,因為有更多的緩存行要處理一個數(shù)據(jù)塊。

高速緩存復雜性的另一方面在于如何在各個級別上保留數(shù)據(jù)。規(guī)則是在包含策略中設(shè)置的。例如,英特爾酷睿處理器具有完全包含的 L1 + L3 緩存。例如,這意味著第 1 級中的相同數(shù)據(jù)也可以在第 3 級中。這似乎在浪費寶貴的緩存空間,但是好處是,如果處理器在搜索低級標簽時出錯,數(shù)據(jù)就會丟失,而不需要遍歷更高的級別來找到它。

在同一處理器中,L2 緩存是非包含性的:存儲在其中的任何數(shù)據(jù)都不會復制到任何其他級別。這樣可以節(jié)省空間,但確實會導致芯片的存儲系統(tǒng)必須搜索 L3 以找到丟失的標簽(實際上總會比這個更大一些)。受害者緩存與此類似,但是它們習慣于存儲從較低級別推出的信息 - 例如,AMD 的 Zen 2 處理器使用 L3 受害者緩存,該緩存僅存儲來自 L2 的數(shù)據(jù)。

還有其他用于緩存的策略,例如何時將數(shù)據(jù)寫入緩存和主系統(tǒng)內(nèi)存。這些稱為寫策略,當今大多數(shù) CPU 使用回寫式緩存。這意味著,當將數(shù)據(jù)寫入高速緩存級別時,在使用其副本更新系統(tǒng)內(nèi)存之前會有一個延遲。在大多數(shù)情況下,只要數(shù)據(jù)保留在高速緩存中,此暫停就會一直運行。只有將其引導后,RAM 才會獲取信息。

對于處理器設(shè)計者而言,選擇高速緩存的數(shù)量,類型和策略都是為了平衡對更大處理器能力的需求與增加的復雜性和所需的芯片空間。如果有可能擁有 20 MB,1000 路完全關(guān)聯(lián)的 1 級高速緩存,而芯片又不大的離譜(并消耗相同的功率),那么我們都將擁有配備這種芯片的計算機!

在過去的十年中,當今 CPU 中最低的緩存級別并沒有太大變化。但是,級別 3 緩存的大小仍在繼續(xù)增長。十年前,如果您幸運地擁有一臺售價 999 美元的 Intel i7-980X,則可以獲得 12 MB 的內(nèi)存。如今,您只需花一半的錢就能得到 64 MB。

簡而言之,緩存是不可或缺的,也是尖端技術(shù)的體現(xiàn)之一。我們沒有研究過 CPU 和 GPU 中的其他緩存類型(例如轉(zhuǎn)換查找緩沖區(qū)或紋理緩存),但是由于它們都遵循我們在此介紹的簡單的級別結(jié)構(gòu)和模式,因此聽起來可能并不復雜。
責任編輯:pj

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    19100

    瀏覽量

    228814
  • 驅(qū)動器
    +關(guān)注

    關(guān)注

    52

    文章

    8099

    瀏覽量

    145816
  • 晶體管
    +關(guān)注

    關(guān)注

    77

    文章

    9609

    瀏覽量

    137655
收藏 人收藏

    評論

    相關(guān)推薦

    英特爾發(fā)布酷睿Ultra 200S系列臺式機處理器

    近日,英特爾正式推出了酷睿Ultra 200S系列處理器家族,為臺式機平臺帶來了全新的AI PC功能。此次發(fā)布的處理器家族涵蓋了5款未鎖頻的臺式機
    的頭像 發(fā)表于 10-11 17:36 ?437次閱讀

    已有超過500款AI模型在英特爾酷睿Ultra處理器上得以優(yōu)化運行

    近日,英特爾宣布在全新英特爾 酷睿 Ultra處理器上,有超過500款AI模型得以優(yōu)化運行。
    的頭像 發(fā)表于 05-11 09:31 ?640次閱讀

    英特爾酷睿Ultra處理器突破500個AI模型優(yōu)化

    英特爾在最新推出的英特爾? 酷睿? Ultra處理器上宣布,超過500款AI模型已得到優(yōu)化運行。這款處理器無疑是市場上領(lǐng)先的AI PC處理器
    的頭像 發(fā)表于 05-09 11:18 ?710次閱讀

    英特爾二季度對酷睿Ultra處理器供應(yīng)受限

    英特爾首席執(zhí)行官帕特·基辛格在最新的財報電話會議上透露,受晶圓級封裝產(chǎn)能限制,二季度酷睿Ultra處理器的供應(yīng)將面臨挑戰(zhàn)。隨著AI PC需求的激增和Windows更新周期的推動,客戶對英特爾
    的頭像 發(fā)表于 05-06 11:04 ?618次閱讀

    聯(lián)想將推MODT平臺臺式機,搭載英特爾酷睿HX55處理器

     聯(lián)想中國臺式規(guī)劃經(jīng)理 @WolStame 透露,將發(fā)布搭載英特爾酷睿 HX55 筆記本處理器的 MoDT (Mobile on DeskTop) 平臺臺式整機產(chǎn)品,這不是小型主機。新
    的頭像 發(fā)表于 04-29 16:53 ?1179次閱讀

    英特爾酷睿第14代處理器i9-14900KS正式發(fā)布

    近日,英特爾再次引領(lǐng)行業(yè)潮流,發(fā)布了備受矚目的英特爾?酷睿?第14代處理器i9-14900KS的完整規(guī)格和上市信息。這款臺式機處理器無疑為眾
    的頭像 發(fā)表于 03-16 09:29 ?1086次閱讀

    英特爾推出新款酷睿 Ultra和第14代處理器,助力企業(yè)升級vPro平臺

    英特爾在此次大會上宣布,將攜手眾多廠商如宏碁、華碩、戴爾、Dynabook、富士通、惠普、聯(lián)想、LG、微軟Surface、NEC、松下、三星和VAIO,共同推出超過百款基于英特爾最先進芯片的商用筆記本電腦、臺式機、一體
    的頭像 發(fā)表于 02-28 10:16 ?674次閱讀

    英特爾和AMD處理器的區(qū)別和特點

    。 性能是處理器最重要的特點之一。在過去的幾十年里,英特爾一直是處理器性能的主導者。他們的處理器單核和多核性能上表現(xiàn)出色,提供更好的速度和
    的頭像 發(fā)表于 01-30 14:28 ?2322次閱讀

    英特爾發(fā)布面向發(fā)燒友和主流用戶的移動、臺式機和邊緣處理器

    全新英特爾酷睿HX和U系列移動處理器為發(fā)燒友級和主流的移動系統(tǒng)帶來了強大的英特爾酷睿平臺,并為主流臺式機和邊緣系統(tǒng)擴展了產(chǎn)品組合。
    的頭像 發(fā)表于 01-13 10:17 ?864次閱讀

    AMD全新的銳龍8000G系列臺式機處理器介紹

    在PC芯片方面,AMD則帶來了全新的銳龍8000G系列臺式機處理器,它是AMD首款同時集成RDNA 3高性能圖形核心、Ryzen AI NPU,基于Zen 4架構(gòu)的新一代臺式機APU。
    發(fā)表于 01-12 10:12 ?1055次閱讀
    AMD全新的銳龍8000G系列<b class='flag-5'>臺式機</b><b class='flag-5'>處理器</b>介紹

    英特爾酷睿14代處理器系列發(fā)布,Arrowlake/LunarLake24年問世

    處理器英特爾
    looger123
    發(fā)布于 :2024年01月10日 17:44:38

    AMD發(fā)布全新Ryzen 8000G系列臺式機處理器

    AMD最近發(fā)布了全新的Ryzen 8000G系列臺式機處理器,這個系列包括Ryzen 7 8700G、Ryzen 5 8600G、Ryzen 5 8500G和Ryzen 3 8300G四款型號。這些處理器主要面向入門級用戶和預算
    的頭像 發(fā)表于 01-09 15:31 ?999次閱讀

    AI 無處不在,英特爾酷睿Ultra 和第五代英特爾至強可擴展處理器正式發(fā)布

    英特爾 ?酷睿?Ultra處理器和第五代英特爾 ? 至強 ? 可擴展處理器支持的AI產(chǎn)品亮相,展現(xiàn)了英特爾從云到端全方位的AI迅猛勢頭。在會
    的頭像 發(fā)表于 12-16 16:05 ?669次閱讀
    AI 無處不在,<b class='flag-5'>英特爾</b>酷睿Ultra 和第五代<b class='flag-5'>英特爾</b>至強可擴展<b class='flag-5'>處理器</b>正式發(fā)布

    英特爾處理器,掀AI PC戰(zhàn)火

    隨著ai時代的到來,英特爾正在構(gòu)想新的酷睿Ultra處理器(代號Meteor Lake),這是英特爾的第一個基于npu的處理器,旨在在pc上應(yīng)用ai加速和邊緣推理。meterlake采
    的頭像 發(fā)表于 12-11 11:26 ?905次閱讀

    第二代英特爾?奔騰?M處理器產(chǎn)品手冊

    采用90納米(nm)制程的英特爾?奔騰?M處理器使用優(yōu)化的微架構(gòu),以滿足當前和未來的高性能、低功耗的嵌入式計算技術(shù)的要求,使之成為大中型企業(yè)通信、交易終端、互動終端和工業(yè)自動化應(yīng)用的理想解決方案。該系列
    發(fā)表于 11-14 14:41 ?2次下載
    第二代<b class='flag-5'>英特爾</b>?奔騰?M<b class='flag-5'>處理器</b>產(chǎn)品手冊