91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

淺談多CPU、多核CPU、超線程技術(shù)、SMP

sanyue7758 ? 來源:處芯積律 ? 2024-01-06 10:38 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1 多 CPU

多CPU(multi-processor)指的是在計算機主板上有多個物理CPU,每一個物理CPU之間通過系統(tǒng)總線連接。

0a3ceb76-abe3-11ee-8b88-92fbcf53809c.png

Architectual State: 包括通用數(shù)據(jù)寄存器、段寄存器、控制寄存器等。

Execution Engine: 執(zhí)行引擎,用來執(zhí)行CPU指令,包括算數(shù)邏輯單元ALU等。

Local APIC: APIC全稱是Advanced Programmable Interrupt Controller,翻譯過來就是高級可編程中斷控制器,用來處理CPU中斷。

2 多核 CPU

多核(multi-core processor)指的是在一個物理CPU內(nèi)部,封裝了多個物理核心。這些物理核心可能位于同一個Die上,也可能位于多個Die上。

關(guān)于Die可以參看 《一文搞懂晶圓 Die CPU 之間的關(guān)系》。

無論使用哪種方式,多核CPU的架構(gòu)可以表示為下圖:

0a4106fc-abe3-11ee-8b88-92fbcf53809c.png

從上圖可以看到,每一個物理核心都有自己的Architectual State、Execution Engine、Local APIC。因此,每一個物理核心都可以看成是一個邏輯 CPU。

從并行性(Parallel)的角度看,多CPU和多核CPU都可以在同一時間,同時執(zhí)行多條指令流。

那既然這樣,為什么還要研究出多核CPU呢?

如果單從性能角度看,多核CPU內(nèi)部物理核心之間通過片內(nèi)總線通信,速度會快于系統(tǒng)總線。換句話說,多核 CPU 的性能要高于多 CPU。

有了多核CPU,那么要構(gòu)造處擁有4個邏輯CPU的系統(tǒng),那么就有2種方案:

第1種就是使用2個物理CPU,每個物理CPU內(nèi)部包含2個物理核心。

0a44a2bc-abe3-11ee-8b88-92fbcf53809c.png

第2中就是使用1個物理CPU,這個物理CPU內(nèi)部包含4個物理核心。

0a48e912-abe3-11ee-8b88-92fbcf53809c.png

3 超線程技術(shù)

超線程技術(shù)(Hyper-Threading Technology)簡稱HT或者HTT,它作用于物理CPU內(nèi)部的物理核心上。

為了實現(xiàn)超線程技術(shù),一個物理核心內(nèi)部,會同時包含2份Architectual State、Local APIC,但是只有1份Execution Engine。

0a4cb6d2-abe3-11ee-8b88-92fbcf53809c.png

在運行的時候,會同時有2條不同的CPU指令流送入物理核心:

0a5073b2-abe3-11ee-8b88-92fbcf53809c.png

因此,一個物理核心內(nèi)部,就好像有了2個邏輯核心或者邏輯 CPU:

0a54476c-abe3-11ee-8b88-92fbcf53809c.png

表面上看,超線程技術(shù)使得一個物理核心可以當成2個使用,與不支持超線程技術(shù)的單核CPU相比,并行性應該翻倍。

但是,從上圖看到,邏輯核心是共享Execution Engine的。

雖然同一時刻,有2條不同的CPU指令流送入了物理核,但同一時刻,Execution Engine只能執(zhí)行1條指令流上的指令。

比如,當Execution Engine在執(zhí)行指令流1的時候,需要等待指令需要的數(shù)據(jù)到達,那么,在這個等待的時間內(nèi),才可以切換到指令流2執(zhí)行,避免Execution Engine處于空閑狀態(tài)。

換句話說,超線程技術(shù)的并行性并不徹底,并行性并不能真正的翻倍。

上面Execution Engine的運行方式,和在不支持超線程的單核CPU上運行多線程非常相似,但是兩者有本質(zhì)的區(qū)別。

在不支持超線程的單核CPU上運行多線程,是操作系統(tǒng)進行時間片調(diào)度造成的假象,任何同一時刻,其實都只有1條指令流在物理核上執(zhí)行。

0a57c518-abe3-11ee-8b88-92fbcf53809c.png

在支持超線程的單核CPU上運行多線程,硬件層面支持同一時刻送入2條不同指令流到物理核心,只是在Execution Engine內(nèi)執(zhí)行的時候需要輪轉(zhuǎn)調(diào)度。

0a5b378e-abe3-11ee-8b88-92fbcf53809c.png

既然超線程技術(shù)本質(zhì)上和多核CPU一樣,增加了核心數(shù)(邏輯核心),但是并行性卻不及多核CPU,那為什么還要設(shè)計出超線程技術(shù)呢?

答案是超線程技術(shù)可以提升CPU核心的利用率。

在多核CPU上,如果某個物理核心在執(zhí)行指令流時需要等待指令數(shù)據(jù),那么該核心就有一段時間處于空閑狀態(tài)(雖然可能很短暫)。但是如果支持超線程技術(shù),那么該核心可以用來處理另外的指令流。

綜上所述,結(jié)合多核技術(shù)與超線程技術(shù),邏輯CPU的計算公式為:

4 SMP

SMP全稱是 Symmetric Multi-Processing,翻譯過來是對稱多處理器,是一種多處理器架構(gòu)。

對稱多處理器中的對稱,是指任何程序,不管運行在內(nèi)核空間,還是用戶空間,都可以運行在任意一個處理器上。

與之相反,ASMP,Asymmetric Multi-Processing,非對稱多處理器,指某些處理器用來運行特殊的程序,比如操作系統(tǒng),而另外的處理器用來運行非特殊程序,比如用戶程序。

現(xiàn)代計算機系統(tǒng)都使用的是SMP架構(gòu),ASMP架構(gòu)已經(jīng)幾乎絕跡了。

早期的時候,SMP專指多個物理CPU的場景。后續(xù)由于多核與超線程技術(shù)的出現(xiàn),SMP在多個邏輯CPU下也同樣適用。

Symmetric Multi-Proccessing Wikipedia

In the case of multi-core processors, the SMP architecture applies to the cores, treating them as separate processors

Hyper-Threading Wikipedia

The minimum that is required to take advantage of hyper-threading is symmetric multiprocessing (SMP) support in the operating system, as the logical processors appear as standard separate processors.

審核編輯:黃飛

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

    關(guān)注

    68

    文章

    11281

    瀏覽量

    225100
  • SMP
    SMP
    +關(guān)注

    關(guān)注

    0

    文章

    81

    瀏覽量

    20838
  • 超線程
    +關(guān)注

    關(guān)注

    0

    文章

    16

    瀏覽量

    7805
  • 中斷控制器
    +關(guān)注

    關(guān)注

    0

    文章

    63

    瀏覽量

    9821

原文標題:一文搞懂多 CPU、多核 CPU、超線程技術(shù)、SMP

文章出處:【微信號:處芯積律,微信公眾號:處芯積律】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    什么是超線程?超線程是如何工作的?

    什么是超線程?超線程是如何工作的?
    發(fā)表于 10-26 07:22

    CPU超線程技術(shù)

    CPU超線程技術(shù) CPU生產(chǎn)商為了提高CPU的性能,通常做法是提高CPU的時鐘頻率和增加緩存
    發(fā)表于 04-26 09:12 ?1006次閱讀

    CPU超線程技術(shù)

    CPU超線程技術(shù)            CPU生產(chǎn)商為了提高CPU的性
    發(fā)表于 12-24 10:57 ?672次閱讀

    什么是超線程技術(shù)

    什么是超線程技術(shù)        &nb
    發(fā)表于 12-24 14:01 ?519次閱讀

    什么是超線程

    什么是超線程 超線程: 即Hyperthreading Technology。HT技術(shù)就是利用特殊的硬件指令,把兩個邏輯內(nèi)核模擬
    發(fā)表于 02-04 12:00 ?1098次閱讀

    基于Windows 操作系統(tǒng)內(nèi)核驅(qū)動的多核CPU 線程管理

    1 引言 本文分析了Windows 系統(tǒng)的進程調(diào)度機制,并設(shè)計了一種基于Windows 操作系統(tǒng)內(nèi)核驅(qū)動的多核CPU 線程管理方法,實現(xiàn)了一個基于Windows 內(nèi)核驅(qū)動的線程管理服務
    發(fā)表于 10-31 11:02 ?0次下載
    基于Windows 操作系統(tǒng)內(nèi)核驅(qū)動的<b class='flag-5'>多核</b><b class='flag-5'>CPU</b> <b class='flag-5'>線程</b>管理

    多核CPU、多進程、多線程之間的聯(lián)系解析

    多核cpu主要分原生多核和封裝多核。Windows 應用程序中消息有兩種送出途徑;直接和排隊。Windows或某些運行的應用程序可直接發(fā)布消息給窗口過程。
    發(fā)表于 12-01 09:37 ?1w次閱讀
    <b class='flag-5'>多核</b><b class='flag-5'>CPU</b>、多進程、多<b class='flag-5'>線程</b>之間的聯(lián)系解析

    Linux:QEMU的CPU配置

    根據(jù)前面描述 CPU 的基本知識, 可以知道 CPU 有物理 CPU, 多核 CPU超線程
    的頭像 發(fā)表于 06-22 18:01 ?6828次閱讀
    Linux:QEMU的<b class='flag-5'>CPU</b>配置

    處理器開啟/關(guān)閉超線程后,游戲幀數(shù)將發(fā)生什么變化?

    CPU處理器的核心數(shù)在不斷提升,如今桌面端消費級市場基本起步都是4核心,高端一些的都達到了8核心,AMD甚至在去年還推出了16核心32線程的處理器。多核線程
    的頭像 發(fā)表于 09-13 09:16 ?2.4w次閱讀
    處理器開啟/關(guān)閉<b class='flag-5'>超線程</b>后,游戲幀數(shù)將發(fā)生什么變化?

    CPU溫度過高?教你如何關(guān)閉超線程功能

    CPU散熱是很多玩家極為關(guān)注的問題,溫度高了不僅對CPU性能不利,還會影響使用壽命等。如果發(fā)覺自己的CPU溫度過高了,不妨試試微星的方法——關(guān)閉沒什么用的超線程功能。
    發(fā)表于 11-25 11:12 ?1.3w次閱讀

    講講線程、進程和CPU中的超線程

    因此,超線程簡單來講就是把這些不能公用的資源加倍。而那些流水線上的操作邏輯電路、ALU單元等則可以不用復制。以此實現(xiàn)多個線程同時在一個CPU的核心中進行處理。
    的頭像 發(fā)表于 08-05 16:38 ?3658次閱讀

    CPU 拓撲中的SMP架構(gòu)

    CPU 拓撲用來表示 CPU 在硬件層面的組合方式,本文主要講解 CPU 拓撲中的 SMP(Symmetric Multi-Processor,對稱多處理器系統(tǒng))架構(gòu),
    的頭像 發(fā)表于 08-29 11:02 ?5884次閱讀

    超線程是什么意思?

    超線程技術(shù)就是利用特殊的硬件指令,把兩個邏輯內(nèi)核模擬成兩個物理芯片,讓單個處理器都能使用線程級并行計算。 超線程(HT, Hyper-Threading)是英特爾研發(fā)的一種
    的頭像 發(fā)表于 09-01 19:28 ?1.3w次閱讀

    SMP多核啟動cpu操作函數(shù)

    其中spin-table啟動方式的回調(diào)如下: const struct cpu_operations smp_spin_table_ops = {.name= "spin-table
    的頭像 發(fā)表于 12-05 16:04 ?1784次閱讀
    <b class='flag-5'>SMP</b><b class='flag-5'>多核</b>啟動<b class='flag-5'>cpu</b>操作函數(shù)

    SMP多核secondary cpu啟動流程

    ,詳細分析可以參考上篇博文。其中以下流程執(zhí)行secondary cpu啟動相關(guān)的一些初始化工作: 在初始化完成且hotplug線程創(chuàng)建完成后,就可通過以下流程喚醒cpu hotplug線程
    的頭像 發(fā)表于 12-05 17:41 ?1731次閱讀
    <b class='flag-5'>SMP</b><b class='flag-5'>多核</b>secondary <b class='flag-5'>cpu</b>啟動流程