上文:現(xiàn)代計算機系統(tǒng)
操作系統(tǒng)與運行操作系統(tǒng)的內(nèi)核硬件關(guān)系密切。操作系統(tǒng)擴展了計算機指令集并管理計算機的資源。因此,操作系統(tǒng)因此必須足夠了解硬件的運行,這里我們先簡要介紹一下現(xiàn)代計算機中的計算機硬件。
從概念上來看,一臺簡單的個人電腦可以被抽象為上面這種相似的模型,CPU、內(nèi)存、V/O 設(shè)備都和總線串聯(lián)起來并通過總線與其他設(shè)備進行通信。
CPU 是計算機的大腦,它主要和內(nèi)存進行交互,從內(nèi)存中提取指令并執(zhí)行它。
一個 CPU 的執(zhí)行周期是從內(nèi)存中提取第一條指令、解碼并決定它的類型和操作數(shù),執(zhí)行,然后再提取、解碼執(zhí)行后續(xù)的指令,重復(fù)該循環(huán)直到程序運行完畢。
每個 CPU 都有一組可以執(zhí)行的特定指令集。因此,x86 的 CPU 不能執(zhí)行 ARM 的程序并且 ARM 的 CPU 也不能執(zhí)行 x86 的程序。
由于訪問內(nèi)存獲取執(zhí)行或數(shù)據(jù)要比執(zhí)行指令花費的時間長,因此所有的 CPU 內(nèi)部都會包含一些寄存器來保存關(guān)鍵變量和臨時結(jié)果。因此,在指令集中通常會有一些指令用于把關(guān)鍵字從內(nèi)存中加載到寄存器中,以及把關(guān)鍵字從寄存器存入到內(nèi)存中。還有一些其他的指令會把來自寄存器和內(nèi)存的操作數(shù)進行組合,例如 add 操作就會把兩個操作數(shù)相加并把結(jié)果保存到內(nèi)存中。
除了用于保存變量和臨時結(jié)果的通用寄存器外,大多數(shù)計算機還具有幾個特殊的寄存器,這些寄存器對于程序員是可見的。其中之一就是程序計數(shù)器(program counter),程序計數(shù)器會指示下一條需要從內(nèi)存提取指令的地址。提取指令后,程序計數(shù)器將更新為下一條需要提取的地址。
另一個寄存器是堆棧指針(stack pointer),它指向內(nèi)存中當(dāng)前棧的頂端。堆棧指針會包含輸入過程中的有關(guān)參數(shù)、局部變量以及沒有保存在寄存器中的臨時變量。
還有一個寄存器是 PSWProgram Status Word)程序狀態(tài)字寄存器,這個寄存器是由操作系統(tǒng)維護的8個字節(jié)(64位) long 類型的數(shù)據(jù)集合。它會跟蹤當(dāng)前系統(tǒng)的狀態(tài)。除非發(fā)生系統(tǒng)結(jié)束,否則我們可以忽略 PSW。用戶程序通常可以讀取整個PSW,但通常只能寫入其某些字段。PSW 在系統(tǒng)調(diào)用和1/0 中起著重要作用。
操作系統(tǒng)必須了解所有的寄存器。在時間多路復(fù)用(time multiplexing)的 CPU 中,操作系統(tǒng)往往停止運行一個程序轉(zhuǎn)而運行另外一個。每次當(dāng)操作系統(tǒng)停止運行一個程序時,操作系統(tǒng)會保存所有寄存器的值,以便于后續(xù)重新運行該程序。
為了提升性能,CPU 設(shè)計人員早就放棄了同時去讀取、解碼和執(zhí)行一條簡單的指令。許多現(xiàn)代的 CPU 都具有同時讀取多條指令的機制。
例如,一個 CPU 可能會有單獨訪問、解碼和執(zhí)行單元,所以,當(dāng) CPU 執(zhí)行第 N 條指令時,還可以對N+1條指令解碼,還可以讀取 N+2 條指令。像這樣的組織形式被稱為流水線(pipeline):
比流水線更先進的設(shè)計是超標(biāo)量(superscalar)CPu,下面是超標(biāo)量 CPU的設(shè)計
在上面這個設(shè)計中,存在多個執(zhí)行單元,例如,一個用來進行整數(shù)運算、一個用來浮點數(shù)運算、一個用來布爾運算。兩個或者更多的指令被一次性取出、解碼并放入緩沖區(qū)中,直至它們執(zhí)行完畢。只要一個執(zhí)行單元空閑,就會去檢查緩沖區(qū)是否有可以執(zhí)行的指令。如果有,就把指令從緩沖區(qū)中取出并執(zhí)行。
這種設(shè)計的含義是應(yīng)用程序通常是無序執(zhí)行的。在大多數(shù)情況下,硬件負責(zé)保證這種運算的結(jié)果與順序執(zhí)行指令時的結(jié)果相同。
除了用在嵌入式系統(tǒng)中非常簡單的 CPU 之外,多數(shù) CPU 都有兩種模式,即前面已經(jīng)提到的內(nèi)核態(tài)和用戶態(tài)。
通常情況下,PSW 寄存器中的一個二進制位會控制當(dāng)前狀態(tài)是內(nèi)核態(tài)還是用戶態(tài)。當(dāng)運行在內(nèi)核態(tài)時,CPU 能夠執(zhí)行任何指令集中的指令并且能夠使用硬件的功能。在臺式機和服務(wù)器上,操作系統(tǒng)通常以內(nèi)核模式運行,從而可以訪問完整的硬件。在大多數(shù)嵌入式系統(tǒng)中,一部分運行在內(nèi)核態(tài)下,剩下的一部分運行在用戶態(tài)下。
用戶應(yīng)用程序通常運行在用戶態(tài)下,在用戶態(tài)下,CPU 只能執(zhí)行指令集中的一部分并且只能訪問硬件的一部分功能。一般情況下,在用戶態(tài)下,有關(guān) V/O 和內(nèi)存保護的所有指令是禁止執(zhí)行的。當(dāng)然,設(shè)置 PSW 模式的二進制位為內(nèi)核態(tài)也是禁止的。
為了獲取操作系統(tǒng)的服務(wù),用戶程序必須使用系統(tǒng)調(diào)用(system call),系統(tǒng)調(diào)用會轉(zhuǎn)換為內(nèi)核態(tài)并且調(diào)用操作系統(tǒng)。TRAP 指令用于把用戶態(tài)切換為內(nèi)核態(tài)并啟用操作系統(tǒng)。當(dāng)有關(guān)工作完成之后,在系統(tǒng)調(diào)用后面的指令會把控制權(quán)交給用戶程序。我們會在后面探討操作系統(tǒng)的調(diào)用細節(jié)。
腦在開機啟動以后,BIOS(Basic Input Output System)首先會檢測電腦的硬件,并檢測到的信息顯示在顯示屏幕上。因此在電腦開機時,仔細觀察就可以看到電腦CPU的型號和頻率等信息。
具體操作方法如下:打開電腦電源開關(guān),如果電腦顯示屏出現(xiàn)主板或電腦廠商的Logo畫面,此時按Tab鍵,即可看到電腦CPU的基本信息。
開機時,屏幕上會顯示電腦廠商的Logo信息,左下角會提示按Del鍵進入CMOS Setup,提示按Tab鍵顯示自檢信息。也可以看到BIOS版本等信息,CPU型號、CPU主頻信息、內(nèi)存容量信息,內(nèi)存容量1048576K,是1GB換算成字節(jié)表示出來的。
查看硬盤容量信息的方法有兩種,一種是開機進入BIOS可以進行查看,另一種電腦啟動以后,右鍵在桌面上打開我的電腦,選擇管理,然后選擇磁盤管理,也可以查看硬盤容量信息。
當(dāng)我們將電腦中各個分區(qū)的總?cè)萘肯嗉雍髸l(fā)現(xiàn),各個分區(qū)的總?cè)萘亢陀脖P標(biāo)注的容量不相符,如各個分區(qū)的總?cè)萘繛?31GB,而硬盤標(biāo)注的容量為100GB,因為硬盤的分區(qū)表占用了一部分容量,好比一本書前面的目錄一樣,占去了一部分頁數(shù)一樣,另外與硬盤廠商采用的換算方法不同也有關(guān)。
腦CPU相關(guān)知識一圖明了:
概念:是電腦的中央處理器,類似于人類大腦,用于執(zhí)行用戶操作過程中下達的程序指令和處理數(shù)據(jù),用戶發(fā)出指令,CPU進行整理再分發(fā)給對應(yīng)的部件執(zhí)行。
作用:作為計算機的核心部件,負責(zé)解釋和執(zhí)行程序中的指令。
主頻:CPU的工作頻率,單位是GHz,一般來說數(shù)值越大處理速度越快,但是也容易受到其它組件性能的局限,就類似于竹筒裝水的道理。
核心數(shù):CPU擁有的獨立處理核心數(shù)量,多核心可并行處理多任務(wù),多核就類似于多雙手同時工作。
緩存:CPU內(nèi)部的高速存儲區(qū),用于暫存指令和數(shù)據(jù),提高處理效率,緩存小的話容易卡。
超線程:允許單個核心同時處理多個線程的技術(shù)。
功耗:CPU運行時的能耗,單位通常為瓦特(W),同等情況下功耗越低越好,省點不易發(fā)熱。
X86框架:Intel和AMD的主要架構(gòu)。
ARM框架:ARM框架早期主要用于移動設(shè)備,現(xiàn)在也慢慢的使用到了桌面和服務(wù)器等設(shè)備。
C酷睿 i3:入門級,office簡單辦公夠用
酷睿 i5:中端 能滿足基本的用戶使用,包括LOL等簡單的游戲
酷睿 i7/i9:高端系列
Ryzen系列:桌面和移動處理器
Threadripper系列:高性能桌面處理器
注意:CPU也功耗也有標(biāo)壓和低壓的區(qū)別,而且兩者差距較大
根據(jù)用途:辦公、游戲、設(shè)計等不同用途對CPU性能要求不同。
根據(jù)預(yù)算:根據(jù)經(jīng)濟能力選擇合適的CPU。
根據(jù)兼容性:確保CPU與主板芯片、內(nèi)存等兼容。
根據(jù)升級空間:考慮未來升級的可能性。
(各個測試平臺數(shù)據(jù)不同,排名不分先后)
排名根據(jù)性能測試、用戶評價和市場動態(tài)整理。
-排名會隨時間和市場變化而更新
考慮綜合性能、價格和用戶需求選擇CPU
#電腦#?