成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

操作系統(tǒng)之CPU知識(shí)掃盲

商務(wù)辦公
CPU的英文全稱是(Central Processing Unit),中文意思翻譯中央處理器,是計(jì)算機(jī)的主要設(shè)備之一,功能主要是解釋計(jì)算機(jī)指令以及處理計(jì)算機(jī)軟件中的數(shù)據(jù)。計(jì)算機(jī)的可編程性主要是指對(duì)中央處理器的編程。

 前言

CPU的英文全稱是(Central Processing Unit),中文意思翻譯中央處理器,是計(jì)算機(jī)的主要設(shè)備之一,功能主要是解釋計(jì)算機(jī)指令以及處理計(jì)算機(jī)軟件中的數(shù)據(jù)。計(jì)算機(jī)的可編程性主要是指對(duì)中央處理器的編程。

[[256504]]

關(guān)于馮·諾依曼結(jié)構(gòu)

馮·諾依曼結(jié)構(gòu)(Von Neumann architecture)是一種將程序指令存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器合并在一起的計(jì)算機(jī)設(shè)計(jì)概念結(jié)構(gòu)。馮·諾依曼結(jié)構(gòu)隱約指導(dǎo)了將存儲(chǔ)設(shè)備與中央處理器分開ß的概念,因此依本結(jié)構(gòu)設(shè)計(jì)出的計(jì)算機(jī)又稱存儲(chǔ)程序計(jì)算機(jī),這也是目前大多數(shù)計(jì)算機(jī)設(shè)計(jì)的主要參考原則。

最早的計(jì)算機(jī)器僅內(nèi)含固定用途的程序。現(xiàn)代的某些計(jì)算機(jī)依然維持這樣的設(shè)計(jì)方式,通常是為了簡(jiǎn)化或教育目的。例如一個(gè)計(jì)算器僅有固定的數(shù)學(xué)計(jì)算程序,它不能拿來當(dāng)作文字處理軟件,更不能拿來玩游戲。若想要改變此機(jī)器的程序,你必須更改線路、更改結(jié)構(gòu)甚至重新設(shè)計(jì)此機(jī)器。當(dāng)然最早的計(jì)算機(jī)并沒有設(shè)計(jì)的那么可編程。當(dāng)時(shí)所謂的“重寫程序”很可能指的是紙筆設(shè)計(jì)程序步驟,接著制訂工程細(xì)節(jié),再施工將機(jī)器的電路配線或結(jié)構(gòu)改變。

 

而存儲(chǔ)程序型計(jì)算機(jī)的概念改變了這一切。借由創(chuàng)造一組指令集結(jié)構(gòu),并將所謂的運(yùn)算轉(zhuǎn)化成一串程序指令的運(yùn)行細(xì)節(jié),可讓程序運(yùn)行時(shí)自我修改程序的運(yùn)算內(nèi)容,讓此機(jī)器更有彈性。借著將指令當(dāng)成一種特別類型的靜態(tài)數(shù)據(jù),一臺(tái)存儲(chǔ)程序型計(jì)算機(jī)可輕易改變其程序,并在程控下改變其運(yùn)算內(nèi)容。 馮·諾伊曼結(jié)構(gòu)與存儲(chǔ)程序型計(jì)算機(jī)是互相通用的名詞。而哈佛結(jié)構(gòu)則是一種將程序數(shù)據(jù)與普通數(shù)據(jù)分開存儲(chǔ)的設(shè)計(jì)概念,但是它并未完全突破馮.諾伊曼架構(gòu)。

CPU執(zhí)行原理

CPU的主要運(yùn)作原理,不論其外觀,都是執(zhí)行儲(chǔ)存于被稱為程序里的一系列指令。在此討論的是遵循普遍的馮·諾伊曼結(jié)構(gòu)(von Neumann architecture)設(shè)計(jì)的裝置。程序以一系列數(shù)字儲(chǔ)存在計(jì)算機(jī)存儲(chǔ)器中。差不多所有的馮·諾伊曼CPU的運(yùn)作原理可分為四個(gè)階段:提取、解碼、執(zhí)行和寫回。

(1)提取

從程序內(nèi)存中檢索指令(為數(shù)值或一系列數(shù)值)。由程序計(jì)數(shù)器指定程序存儲(chǔ)器的位置,程序計(jì)數(shù)器保存供識(shí)別目前程序位置的數(shù)值。換言之,程序計(jì)數(shù)器記錄了CPU在目前程序里的蹤跡。提取指令之后,PC根據(jù)指令式長(zhǎng)度增加存儲(chǔ)器單元[iwordlength]。指令的提取常常必須從相對(duì)較慢的存儲(chǔ)器查找,導(dǎo)致CPU等候指令的送入。這個(gè)問題主要被論及在現(xiàn)代處理器的緩存和管線化架構(gòu)。

(2)解碼

CPU根據(jù)從存儲(chǔ)器提取到的指令來決定其執(zhí)行行為。在解碼階段,指令被拆解為有意義的片斷。根據(jù)CPU的指令集架構(gòu)(ISA)定義將數(shù)值解譯為指令[isa]。一部分的指令數(shù)值為運(yùn)算碼,其指示要進(jìn)行哪些運(yùn)算。其它的數(shù)值通常供給指令必要的信息

(3)執(zhí)行

在提取和解碼階段之后,接著進(jìn)入執(zhí)行階段。該階段中,連接到各種能夠進(jìn)行所需運(yùn)算的CPU部件。例如,要求一個(gè)加法運(yùn)算,算術(shù)邏輯單元將會(huì)連接到一組輸入和一組輸出。輸入提供了要相加的數(shù)值,而且在輸出將含有總和結(jié)果。ALU內(nèi)含電路系統(tǒng),以于輸出端完成簡(jiǎn)單的普通運(yùn)算和邏輯運(yùn)算(比如加法和比特運(yùn)算)。如果加法運(yùn)算產(chǎn)生一個(gè)對(duì)該CPU處理而言過大的結(jié)果,在標(biāo)志寄存器里,溢出標(biāo)志可能會(huì)被設(shè)置

(4)寫回

最終階段,寫回,以一定格式將執(zhí)行階段的結(jié)果簡(jiǎn)單的寫回。運(yùn)算結(jié)果經(jīng)常被寫進(jìn)CPU內(nèi)部的寄存器,以供隨后指令快速訪問。在其它案例中,運(yùn)算結(jié)果可能寫進(jìn)速度較慢,如容量較大且較便宜的主存

注意,這上面的4個(gè)階段與我們編寫程序是非常相關(guān)的,但編程語言里面可能會(huì)簡(jiǎn)化,并把2和3階段合并,分為:加載,處理,寫回。在多線程編程里面,了解這幾個(gè)概念至關(guān)重要,由此可以延伸,數(shù)據(jù)從哪里加載,在哪里執(zhí)行,***結(jié)果又寫回了哪里。指令數(shù)據(jù)一般從內(nèi)存里面加載,但是內(nèi)存的訪問時(shí)間,相比cpu慢了n多倍,所以為了加速處理,cpu一般把指令給加載到離cpu更近的寄存器里面,或者是L1,L2,L3的cache來提速,最終計(jì)算出來的結(jié)果,還要寫回內(nèi)存。正是因?yàn)閏pu執(zhí)行指令復(fù)雜,所以這里面其實(shí)牽扯到很多問題,比如多個(gè)線程如何協(xié)作處理任務(wù),以及如何保證程序數(shù)據(jù)的原子性,有序性,可見性。而這正是Java的內(nèi)存模型出現(xiàn)的意義。在其他不同的編程語言里面其實(shí)都有在操作系統(tǒng)之上抽象的內(nèi)存模型來應(yīng)對(duì)不同的cpu架構(gòu)的的差異,這一點(diǎn)需要注意。

多個(gè)單核CPU vs 單個(gè)多核CPU

多個(gè)單核CPU:

成本更高,因?yàn)槊總€(gè)CPU都需要一定的線路電路支持,這樣對(duì)主板上布局布線極為不便。并且當(dāng)運(yùn)行多線程任務(wù)時(shí),多線程間通信協(xié)同合作也是一個(gè)問題。依賴總線的傳輸,速度較慢,且每一個(gè)線程因?yàn)檫\(yùn)行在不同的CPU上。導(dǎo)致不同線程間各開一個(gè)Cache,會(huì)造成資源的浪費(fèi),同時(shí)如果線程間協(xié)作就會(huì)有冗余數(shù)據(jù)的產(chǎn)生,更加大了內(nèi)存的開銷。

單個(gè)多核CPU:

可以很好地規(guī)避基本上多個(gè)單核CPU提到的所有缺點(diǎn)。他不需要考慮硬件上的開銷以及復(fù)雜性問題,同時(shí)也可以很好地解決多線程間協(xié)同工作的問題,減少內(nèi)存的開銷,因?yàn)槎嗑€程程序在多核CPU中運(yùn)行是共用一塊內(nèi)存區(qū)的,數(shù)據(jù)的傳輸速度比總線來的要快同時(shí)不會(huì)有冗余數(shù)據(jù)的產(chǎn)生。單個(gè)多核CPU的問題也是顯而易見的,假設(shè)倆大程序,每一個(gè)程序都好多線程還幾乎用滿cache,它們分時(shí)使用CPU,那在程序間切換的時(shí)候,光指令和數(shù)據(jù)的替換就是個(gè)問題。

單個(gè)多核cpu已經(jīng)成為個(gè)人計(jì)算機(jī)的主流配置,多個(gè)多核的cpu在一些大型的服務(wù)器里面也很常見。

超線程

“超線程”(Hyperthreading Technology)技術(shù)就是通過采用特殊的硬件指令,可以把兩個(gè)邏輯內(nèi)核模擬成兩個(gè)物理超線程芯片,在單處理器中實(shí)現(xiàn)線程級(jí)的并行計(jì)算,同時(shí)在相應(yīng)的軟硬 件的支持下大幅度的提高運(yùn)行效能,從而使單處理器上模擬雙處理器的效能。其實(shí),從實(shí)質(zhì)上說,超線程是一種可以將CPU內(nèi)部暫時(shí)閑置處理資源充分“調(diào)動(dòng)”起來的技術(shù)。

每個(gè)單位時(shí)間內(nèi),CPU只能處理一個(gè)線程,以這樣的單位進(jìn)行,如果想要在單位時(shí)間內(nèi)處理超過一個(gè)的線程,是不可能的,除非是有兩個(gè)核心處理單元,英特爾的HT技術(shù)便是以單個(gè)核心處理單元,去整合兩個(gè)邏輯處理單元,也就是一個(gè)實(shí)體核心,兩個(gè)邏輯核心,在單位時(shí)間內(nèi)處理兩個(gè)線程,模擬雙核心運(yùn)作。

簡(jiǎn)單的說,超線程就是在單個(gè)core中,模擬出兩個(gè)邏輯處理單元,以此能夠提高程序執(zhí)行的并發(fā)能力,提高系統(tǒng)cpu資源的利用率。

至此,關(guān)于CPU的個(gè)數(shù),核數(shù),邏輯CPU的個(gè)數(shù)計(jì)算關(guān)系如下:

(1)總核數(shù) = 物理CPU個(gè)數(shù) X 每顆物理CPU的核數(shù)

(2)總邏輯CPU數(shù) = 物理CPU個(gè)數(shù) X 每顆物理CPU的核數(shù) X 超線程數(shù)

一些概念解釋如下:

  1. ① 物理CPU 
  2.  實(shí)際Server中插槽上的CPU個(gè)數(shù) 
  3. 物理cpu數(shù)量,可以數(shù)不重復(fù)的 physical id 有幾個(gè) 
  4. ② 邏輯CPU 
  5.  Linux用戶對(duì) /proc/cpuinfo 這個(gè)文件肯定不陌生. 它是用來存儲(chǔ)cpu硬件信息的 
  6. 信息內(nèi)容分別列出了processor 0 – n 的規(guī)格。這里需要注意,如果你認(rèn)為n就是真實(shí)的cpu數(shù)的話, 就大錯(cuò)特錯(cuò)了 
  7. 一般情況,我們認(rèn)為一顆cpu可以有多核,加上intel的超線程技術(shù)(HT), 可以在邏輯上再分一倍數(shù)量的cpu core出來 
  8. 邏輯CPU數(shù)量=物理cpu數(shù)量 x cpu cores 這個(gè)規(guī)格值 x 2(如果支持并開啟ht) 
  9. 備注一下:Linux下top查看的CPU也是邏輯CPU個(gè)數(shù) 
  10. ③ CPU核數(shù) 
  11. 一塊CPU上面能處理數(shù)據(jù)的芯片組的數(shù)量、比如現(xiàn)在的i5 760,是雙核心四線程的CPU、而 i5 2250 是四核心四線程的CPU 
  12. 一般來說,物理CPU個(gè)數(shù)×每顆核數(shù)就應(yīng)該等于邏輯CPU的個(gè)數(shù),如果不相等的話,則表示服務(wù)器的CPU支持超線程技術(shù)    

(描述信息可滑動(dòng))

在linux上查看這些信息命令如下:

  1. # 查看物理CPU個(gè)數(shù) 
  2. cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l 
  3. # 查看每個(gè)物理CPU中core的個(gè)數(shù)(即核數(shù)) 
  4. cat /proc/cpuinfo| grep "cpu cores"| uniq 
  5. # 查看邏輯CPU的個(gè)數(shù) 
  6. cat /proc/cpuinfo| grep "processor"| wc -l 

舉例,在一個(gè)Mac Pro的機(jī)器上,可以通過關(guān)于本機(jī),系統(tǒng)報(bào)告選項(xiàng)中,看到當(dāng)前系統(tǒng)的基本配置情況,如下:

  1. 型號(hào)名稱:MacBook Pro 
  2. 型號(hào)標(biāo)識(shí)符:MacBookPro11,4 
  3. 處理器名稱:IntelCore i7 
  4. 處理器速度:2.2GHz 
  5. 處理器數(shù)目:1 
  6. 核總數(shù):4 
  7.   L2 緩存(每個(gè)核):256KB 
  8.   L3 緩存:6MB 
  9. 內(nèi)存:16GB 
  10. Boot ROM 版本:187.0.0.0.0 
  11. SMC 版本(系統(tǒng)):2.29f24 
  12. 序列號(hào)(系統(tǒng)):C02SK27CG8WN 
  13. 硬件 UUID:652D3965-1BF1-5614-AA0D-63DC5B6DD347 

比如上面的信息中,顯示了當(dāng)前的系統(tǒng)物理上只擁有一個(gè)cpu,但是這個(gè)cpu有4個(gè)核。然后,我們查詢其邏輯cpu的個(gè)數(shù),會(huì)發(fā)現(xiàn)顯示是8個(gè):(在Mac上打開活動(dòng)監(jiān)視器,然后雙擊最下面的中間的cpu負(fù)載的地方,就可以看到)

 

這就是因?yàn)槊總€(gè)核又有2個(gè)超線程,所以8個(gè)邏輯cpu個(gè)數(shù)=1物理cpu個(gè)數(shù) * 4核 * 2個(gè)超線程,最終也就是說如果我要編寫一個(gè)多線程計(jì)算密集型的程序任務(wù),起的線程數(shù)可以以邏輯cpu的個(gè)數(shù)作為參照。當(dāng)然如果是io密集型的任務(wù),可以開的更多一點(diǎn)。

CPU性能參數(shù)

計(jì)算機(jī)的性能在很大程度上由CPU的性能決定,而CPU的性能主要體現(xiàn)在其運(yùn)行程序的速度上。影響運(yùn)行速度的性能指標(biāo)包括CPU的工作頻率、Cache容量、指令系統(tǒng)和邏輯結(jié)構(gòu)等參數(shù)。

大多數(shù)情況下,我們主要關(guān)注的是CPU的主頻,也稱時(shí)鐘頻率,是指同步電路中時(shí)鐘的基礎(chǔ)頻率,它以“每秒時(shí)鐘周期”(clock cycles per second)來度量,單位是兆赫(MHz)或千兆赫(GHz)用來表示CPU的運(yùn)算、處理數(shù)據(jù)的速度。通常,主頻越高,CPU處理數(shù)據(jù)的速度就越快。

在上面的mac的參數(shù)里面,我們能夠看到在Intel Core i7處理器下,主頻是2.2 GHz,當(dāng)前主頻高的處理器也在4 GHz之內(nèi),其主要原因主要在于散熱,提高主頻超過一定范圍后熱密度急速提高,很不經(jīng)濟(jì),也造成散熱困難。

總結(jié)

本文主要介紹了計(jì)算機(jī)操作系統(tǒng)中CPU有關(guān)的知識(shí),計(jì)算機(jī)的核心就在于CPU,了解CPU相關(guān)的知識(shí),可以讓我們更清楚我們的程序底層執(zhí)行的過程,從而寫出更健壯的代碼及調(diào)優(yōu)相關(guān)的程序。

責(zé)任編輯:武曉燕 來源: 我是攻城師
相關(guān)推薦

2010-04-19 10:54:33

Unix操作系統(tǒng)

2010-04-19 16:57:09

Unix操作系統(tǒng)

2010-04-19 17:39:50

Unix操作系統(tǒng)

2010-04-29 14:08:38

Unix操作系統(tǒng)

2010-04-19 17:06:18

2010-04-20 11:34:26

Unix操作系統(tǒng)

2010-04-20 17:11:33

Unix操作系統(tǒng)

2010-04-23 14:12:37

Aix操作系統(tǒng)

2010-04-27 16:52:52

AIX操作系統(tǒng)

2010-04-29 13:30:20

Unix操作系統(tǒng)

2020-06-28 09:40:58

操作系統(tǒng)GPUCPU

2010-04-16 09:27:36

2010-04-20 15:36:02

Unix操作系統(tǒng)

2009-12-11 15:32:05

2010-05-04 17:17:46

Unix類

2010-04-23 12:18:31

Aix操作系統(tǒng)

2010-04-13 18:24:14

Unix操作系統(tǒng)

2023-02-02 00:06:06

2010-04-07 16:15:04

Unix操作系統(tǒng)

2010-04-19 11:26:52

Unix操作系統(tǒng)
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 亚洲免费网站 | 午夜精品一区二区三区在线视 | 亚洲91| 狠狠干五月天 | 久久精品二区 | 日韩一级在线 | 欧美一级大片免费观看 | 亚洲高清成人 | 精品国产精品国产偷麻豆 | 欧美精品一区二区免费 | 日韩精品一区二区在线观看 | 在线免费看黄 | 自拍偷拍中文字幕 | 欧美日韩国产一区二区三区 | 国产高清在线精品一区二区三区 | 成人在线视频免费观看 | 欧美性video| 国产视频一区二区 | 久久美女网 | 国产japanhdxxxx麻豆 | 黑人精品欧美一区二区蜜桃 | 91在线看 | 91精品国产色综合久久 | 免费影视在线观看 | 亚洲区一区二 | 天天躁人人躁人人躁狂躁 | 午夜手机在线视频 | 日韩一二区 | 国产有码 | 综合久久av | 久久久青草 | 亚洲一二三区精品 | 国产高清视频在线 | 荷兰欧美一级毛片 | 久久一区二区视频 | 成人午夜影院 | 在线观看免费av网 | 精品国产91乱码一区二区三区 | 天天爽天天干 | 久久人人爽人人爽 | 国产成人精品久久 |