【廣告】
程序的運行過程,實際上是程序涉及到的、未涉及到的一大堆的指令的執(zhí)行過程。當程序要執(zhí)行的部分被裝載到內(nèi)存后,CPU要從內(nèi)存中取出指令,然后指令解了碼(以便知道類型和操作數(shù),簡單的理解為CPU要知道這是什么指令),然后執(zhí)行該指令。再然后取下一個指令、解了碼、執(zhí)行,以此類推直到程序退出。
CPU,是電子計算機的主要設備之一,電腦中的核心配件。其功能主要是解釋計算機指令以及處理計算機軟件中的數(shù)據(jù)。CPU是計算機中負責讀取指令,對指令譯碼并執(zhí)行指令的核心部件。每個CPU都有一套自己可以執(zhí)行的專門的指令集(注意,這部分指令是CPU提供的,CPU-Z軟件可查看)。正是因為不同CPU架構(gòu)的指令集不同,使得x86處理器不能執(zhí)行ARM程序,ARM程序也不能執(zhí)行x86程序。(Intel和AMD都使用x86指令集,手機絕大多數(shù)使用ARM指令集)。
在計算機體系結(jié)構(gòu)中,CPU 是對計算機的所有硬件資源(如存儲器、輸入輸出單元) 進行控制調(diào)配、執(zhí)行通用運算的核心硬件單元。CPU 是計算機的運算和控制核心。計算機系統(tǒng)中所有軟件層的操作,終都將通過指令集映射為CPU的操作。
由于CPU訪問內(nèi)存以得到指令或數(shù)據(jù)的時間要比執(zhí)行指令花費的時間長很多,因此在CPU內(nèi)部提供了一些用來保存關鍵變量、臨時數(shù)據(jù)等信息的通用寄存器。所以,CPU需要提供 一些特定的指令,使得可以從內(nèi)存中讀取數(shù)據(jù)存入寄存器以及可以將寄存器數(shù)據(jù)存入內(nèi)存。
關于CPU的多核和多線程
1、CPU的物理個數(shù)由主板上的插槽數(shù)量決定,每個CPU可以有多核心,每核心可能會有多線程。
2、多核CPU的每核(每核都是一個小芯片),在OS看來都是一個獨立的CPU。
3、對于超線程CPU來說,每核CPU可以有多個線程(數(shù)量是兩個,比如1核雙線程,2核4線程,4核8線程),每個線程都是一個虛擬的邏輯CPU(比如windows下是以邏輯處理器的名稱稱呼的),而每個線程在OS看來也是獨立的CPU。