偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

物理 CPU vs 邏輯 CPU vs 核心 vs 線程 vs Socket

商務(wù)辦公
當(dāng)我們?cè)囍ㄟ^(guò) Linux 命令 nproc 和 lscpu 了解一臺(tái)計(jì)算機(jī) CPU 級(jí)的架構(gòu)和性能時(shí),我們總會(huì)發(fā)現(xiàn)無(wú)法正確地理解相應(yīng)的結(jié)果,因?yàn)槲覀儠?huì)被好幾個(gè)術(shù)語(yǔ)搞混淆:物理 CPU、邏輯 CPU、虛擬 CPU、核心、線程和 Socket 等等。

[[277275]]

當(dāng)我們?cè)囍ㄟ^(guò) Linux 命令 nproc 和 lscpu 了解一臺(tái)計(jì)算機(jī) CPU 級(jí)的架構(gòu)和性能時(shí),我們總會(huì)發(fā)現(xiàn)無(wú)法正確地理解相應(yīng)的結(jié)果,因?yàn)槲覀儠?huì)被好幾個(gè)術(shù)語(yǔ)搞混淆:物理 CPU、邏輯 CPU、虛擬 CPU、核心、線程和 Socket 等等。如果我們又增加了超線程(不同于多線程),我們就會(huì)開(kāi)始不知道計(jì)算機(jī)里面到底有多少核心,我們搞不明白為什么像 htop 這樣的命令會(huì)在我們認(rèn)為買(mǎi)的是一臺(tái)單核計(jì)算機(jī)上返回?fù)碛?8 個(gè) CPU 的結(jié)果。這樣的情況一片混亂。

物理 CPU vs 邏輯 CPU vs 核心 vs 線程 vs Socket

起源:單核CPU和超線程

在諸如多核、虛擬 CPU 和邏輯 CPU 這樣的概念誕生前,在奔騰系列處理器的年代,大部分計(jì)算機(jī)在它們的主板上裝備了一塊不大不小的芯片,我們把它叫做微處理器、處理器或直接叫 CPU。只有很少數(shù)需要更強(qiáng)處理能力的企業(yè)能夠負(fù)擔(dān)得起同一塊主板上安裝 2 塊以上的處理器的費(fèi)用:這些就是多處理器系統(tǒng)。這些處理器與主板上其它元件的通信通過(guò)一個(gè)連接器或 Socket 來(lái)完成。那我們很容易能計(jì)算得到一塊主板上有多少連接器或 Socket,那么這塊主板上最多就能有相同數(shù)量的 CPU。如果你需要更多的計(jì)算能力,你只需要尋找一塊能夠支持更多處理器的主板即可。

但是后來(lái) Intel 意識(shí)到多處理器系統(tǒng)里,處理器之間通過(guò)系統(tǒng)總線進(jìn)行通信是非常低效的,因?yàn)榭偩€傳輸速度較慢。這樣就會(huì)經(jīng)常發(fā)生的性能瓶頸,無(wú)法最大化利用 CPU 的計(jì)算能力。

物理 CPU vs 邏輯 CPU vs 核心 vs 線程 vs Socket

為了改善這個(gè)處境于是誕生了超線程技術(shù)。超線程的大意是復(fù)制一些 CPU 單元到同一塊芯片上,比如寄存器或者一級(jí)緩存,這樣可以在兩個(gè)執(zhí)行線程里共享這些數(shù)據(jù),而無(wú)需經(jīng)由系統(tǒng)總線和避免因?yàn)樵L問(wèn)速度導(dǎo)致的性能下降問(wèn)題。超線程還帶來(lái)另外一個(gè)好處是可以當(dāng)一個(gè)進(jìn)程在等待中斷的時(shí)候,另一進(jìn)程仍然可以使用同一個(gè) CPU 進(jìn)行執(zhí)行而且無(wú)需停止。

這種方式可以加速多個(gè)被處理的進(jìn)程,比傳統(tǒng)的單個(gè)核心(未開(kāi)啟超線程)提供更高的整體性能。操作系統(tǒng)有點(diǎn)像被欺騙的意思,因?yàn)樗惶峁┝藘蓚€(gè)虛擬 CPU或者邏輯 CPU 并且可以“同時(shí)”執(zhí)行兩個(gè)進(jìn)程。但是要非常注意的是,它并不能帶來(lái)兩倍的處理能力,也不提供完全并行計(jì)算能力。

這樣, 從 Linux 或者其他操作系統(tǒng)的視角來(lái)看,一個(gè)單核 CPU 計(jì)算機(jī)通過(guò)超線程技術(shù)呈現(xiàn)出雙核 CPU 的效果,但兩個(gè)邏輯 CPU 實(shí)際上在同一個(gè)物理 CPU 中執(zhí)行。

又一點(diǎn)復(fù)雜:多核架構(gòu)的出現(xiàn)

正如我在前面部分所說(shuō)的,盡管開(kāi)啟了超線程的 CPU 能夠提供更強(qiáng)的計(jì)算能力,但并不能提供 2 倍的處理能力和 2 個(gè)獨(dú)立的 CPU,所以我打算進(jìn)一步縮小 CPU 元件的視角,并且把它們都安裝到統(tǒng)一塊芯片上。如此一來(lái)每個(gè)被壓縮的處理器都叫做核心,并且允許使用同一塊硅晶的內(nèi)部共享總線進(jìn)行更快的通信。從那一刻開(kāi)始再也不需要較慢的系統(tǒng)總線了。

物理 CPU vs 邏輯 CPU vs 核心 vs 線程 vs Socket

不同于超線程技術(shù),我們現(xiàn)在擁有多個(gè)完全獨(dú)立的 CPU 服務(wù)于任何任務(wù),每個(gè)任務(wù)可以分配一個(gè)核心。確實(shí),從性能的角度來(lái)看,擁有單個(gè)多核芯片要比同一個(gè)主板上擁有多個(gè)單核芯片提供更好的性能。當(dāng)然,擁有一個(gè)雙數(shù)核心要比單數(shù)核心更好。

在操作系統(tǒng)層,一個(gè)物理的四核處理器可以看做是四個(gè) CPU。但這些可能是四個(gè)邏輯 CPU 或者非物理的 LCPU。如果處理器還提供了超線程支持,那么像htop 和 nproc 的命令會(huì)看到系統(tǒng)里有八個(gè) CPU,但是可能在一個(gè)八核 CPU上看到少于八核的結(jié)果。

1LCPU = 1線程

最后我們通常發(fā)現(xiàn)支持四線程的處理器,每個(gè)核心兩個(gè)線程這樣,這僅僅表示同時(shí)可以執(zhí)行任務(wù)的線程,并且與一個(gè) LCPU 能夠提供的處理能力等價(jià)。如果一個(gè)處理器每個(gè)核心能夠支持兩個(gè)線程說(shuō)明它啟用了超線程,否則正常來(lái)說(shuō)線程數(shù)與核心數(shù)一致。

物理 CPU vs 邏輯 CPU vs 核心 vs 線程 vs Socket

邏輯CPU vs 虛擬CPU

虛擬 CPU 這個(gè)術(shù)語(yǔ)通常會(huì)被與邏輯 CPU 進(jìn)行比較,但是有一點(diǎn)細(xì)微的差別:虛擬CPU 更加被局限在計(jì)算虛擬化的領(lǐng)域里,它表示那些與從底層硬件(可以是物理CPU 也可以是邏輯 CPU、開(kāi)啟超線程與否)映射到虛擬機(jī)的處理器。一般情況下,宿主機(jī)上一個(gè)邏輯 CPU 映射到虛擬機(jī)里的一個(gè)虛擬 CPU,所以它們可以看做是相同含義的術(shù)語(yǔ)。

責(zé)任編輯:武曉燕 來(lái)源: 今日頭條
相關(guān)推薦

2024-09-12 22:45:47

2012-06-07 10:22:48

架構(gòu)設(shè)計(jì)邏輯層物理層

2017-11-23 22:32:18

框架ScrumXP

2021-01-13 16:04:07

網(wǎng)絡(luò)On-Prem托管

2020-05-18 07:00:00

性能測(cè)試壓力測(cè)試負(fù)載測(cè)試

2011-11-08 09:08:51

私有云公有云混合云

2011-06-08 16:59:04

性能測(cè)試載測(cè)試壓力測(cè)試

2022-06-15 09:48:05

VS CodeVS Codium開(kāi)源

2017-09-11 10:55:22

PythonWeb框架

2024-09-09 04:00:00

GPU人工智能

2019-05-24 08:48:33

JSONJacksonJSONP

2017-02-24 19:08:48

PythonPHPRuby

2024-06-24 07:00:00

C++RustGo

2022-02-13 23:04:28

RedisRabbitMQKafka

2023-09-25 10:29:21

CPUAArch64x86_64

2009-02-06 14:26:37

UbuntuVistaWindows7

2022-04-07 13:56:17

Azure谷歌云AWS

2023-05-22 19:49:30

命令Linux

2019-06-11 12:05:42

SaaSPaaSIaaS

2020-08-25 09:14:17

對(duì)象存儲(chǔ)文件存儲(chǔ)塊存儲(chǔ)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)