1挂谍、CPU個數(shù)
看得見摸得著的芯片個數(shù)掏觉,也就是主板上的插CPU的插槽個數(shù)
2酝惧、核數(shù)
說清核數(shù)榴鼎,先要理解一個概念:原生多核和封裝多核
多核心cpu主要分原生多核和封裝多核:
原生多核指的是真正意義上的多核,最早由AMD提出晚唇,每個核心之間都是完全獨立的巫财,都擁有自己的前端總線,不會造成沖突哩陕,即使在高負載狀況下平项,每個核心都能保證自己的性能不受太大的影響赫舒,通俗的說,原生多核的抗壓能力強闽瓢,但是需要先進的工藝接癌,每擴展一個核心都需要很多的研發(fā)時間。
? ? ? ? 封裝多核是只把多個核心直接封裝在一起扣讼,比如Intel早期的PD雙核系列缺猛,就是把兩個單核直接封裝在一起,但兩核心只能共同擁有一條前端總線椭符,在兩個核心滿載時荔燎,兩個核心會爭搶前端總線,導致性能大幅度下降销钝,所以早期的PD被扣上了“高頻低能”的帽子有咨,要提高封裝多核的性能,在多任務的高壓下盡量減少性能損失蒸健,只能不斷的擴大前端總線的總體大小座享,來彌補多核心爭搶資源帶來的性能損失,但這樣做只能在一定程度上彌補性能的不足似忧,和原生的比起來還是差了很多征讲,而且后者成本比較高,優(yōu)點在于多核心的發(fā)展要比原生快的多橡娄。
CPU核心數(shù)是物理上的東西诗箍,也就是在CPU下的核心芯片,比如挽唉,1核就是包括1個相對獨立的核心單元組滤祖,雙核就是包括2個相對獨立的CPU核心單元組,四核就包含4個相對獨立的CPU核心單元組瓶籽,為什么這么做匠童,這個是設計決定的;在基于制造成本的考量塑顺,當今CPU的架構(gòu)上很多是封裝多核汤求;
核心(Die)又稱為內(nèi)核 ,是CPU最重要的組成部分严拒。CPU中心那塊隆起的芯片就是核心扬绪,是由單晶硅 以一定的生產(chǎn)工藝制造出來的,CPU所有的計算裤唠、接受/存儲命令挤牛、處理數(shù)據(jù)都由核心執(zhí)行。各種CPU核心都具有固定的邏輯結(jié)構(gòu) 种蘸,一級緩存 墓赴、二級緩存 竞膳、執(zhí)行單元、指令級單元和總線接口 等邏輯單元 都會有科學的布局
3诫硕、線程數(shù)
????是一種邏輯的概念坦辟,簡單地說,就是模擬出的CPU核心數(shù)章办,一個核心最少對應一個線程锉走,但通過超線程(HT, Hyper-Threading)技術,一個核心可以有兩個線程或多個線程纲菌,也就是說它可以同時運行兩個或多個線程。
????雖然采用超線程技術能夠同時執(zhí)行兩個線程疮绷,但是當兩個線程同時需要某個資源時翰舌,其中一個線程必須讓出資源暫時掛起,直到這些資源空閑以后才能繼續(xù)冬骚。因此椅贱,超線程的性能并不等于兩個CPU的性能,而且只冻,超線程技術的CPU需要芯片組庇麦、操作系統(tǒng)和應用軟件的支持,才能比較理想地發(fā)揮該項技術的優(yōu)勢喜德。
????CPU之所以要增加線程數(shù)山橄,是源于多任務處理的需要。線程數(shù)越多舍悯,越有利于同時運行多個程序航棱,因為線程數(shù)等同于在某個瞬間CPU能同時并行處理的任務數(shù)
????CPU的線程數(shù)概念僅僅只針對Intel的CPU才有用,因為它是通過Intel超線程技術來實現(xiàn)的萌衬,最早應用在Pentium4上饮醇。如果沒有超線程技術,一個CPU核心對應一個線程秕豫。所以朴艰,對于AMD的CPU來說,只有核心數(shù)的概念混移,沒有線程數(shù)的概念祠墅。
4、Windows中查看
? ? ? ? 在Windows中歌径,在cmd命令中輸入“wmic”饵隙,然后在出現(xiàn)的新窗口中分別輸入“cpu get Name”,“cpu get NumberOfCores”,“cpu get NumberOfLogicalProcessors”即可查看物理CPU數(shù)、CPU核心數(shù)沮脖、線程數(shù)金矛。
Name:表示物理CPU數(shù)?
NumberOfCores:表示CPU核心數(shù)?----》這個是真正的核數(shù)芯急,這里1個CPU下有2個核,應該是封裝多核(封裝在一個CPU下)驶俊,下面任務管理器和設備管理器看是到是使用ht技術模擬的娶耍!
NumberOfLogicalProcessors:表示CPU線程數(shù)
注釋:VM虛擬機中的CPU選擇的核心數(shù)實際是代表線程數(shù)。
輸入“cpu get *”也可
任務管理器和和設備管理器上看到的是線程數(shù)
5饼酿、Java多線程
? 在當代操作系統(tǒng)中榕酒,線程是調(diào)度的最小單位、進程是分配資源的最小單位
? 并發(fā)與并行
a) 并發(fā)(concurrent)指兩個或多個事件在同一時間段發(fā)生故俐,這個時間段通常很小想鹰,納秒級計算
b) 并行(parallel)指兩個或多個事件在同一時間點發(fā)生
? io阻塞,線程會釋放CPU資源嗎药版?
當線程處于IO操作時辑舷,線程是阻塞的,線程由運行狀態(tài)切換到等待狀態(tài)槽片。此時CPU會做上下文切換何缓,以便處理其他程序;當IO操作完成后还栓,cpu會收到一個來自硬盤的中斷信號碌廓,CPU正在執(zhí)行的線程因此會被打斷,回到ready隊列剩盒。而先前因I/O而waiting的線程隨著I/O的完成也再次回到就緒隊列谷婆,此時CPU可能會選擇他執(zhí)行。
? JAVA線程可以同時在多個核上運行嗎
操作系統(tǒng)是基于線程調(diào)度的辽聊,在同一時刻波材,JAVA進程中不同的線程可能會在不同的核上并行運行