中央處理器的物理結(jié)構(gòu)
1、邏輯部件
英文Logic components;運算邏輯部件??梢詧?zhí)行定點或浮點算術(shù)運算操作、移位操作以及邏輯操作,也可執(zhí)行地址運算和轉(zhuǎn)換。
2、寄存器
寄存器部件,包括寄存器、專用寄存器和控制寄存器。通用寄存器又可分定點數(shù)和浮點數(shù)兩類,它們用來保存指令執(zhí)行過程中臨時存放的寄存器操作數(shù)和中間(或最終)的操作結(jié)果。通用寄存器是中央處理器的重要部件之一。
3、控制部件
英文Control unit,控制部件,主要是負(fù)責(zé)對指令譯碼,并且發(fā)出為完成每條指令所要執(zhí)行的各個操作的控制信號。
其結(jié)構(gòu)有兩種,一種是以微存儲為核心的微程序控制方式;一種是以邏輯硬布線結(jié)構(gòu)為主的控制方式。
微存儲中保持微碼,每一個微碼對應(yīng)于一個最基本的微操作,又稱微指令;各條指令是由不同序列的微碼組成,這種微碼序列構(gòu)成微程序。中央處理器在對指令譯碼以后,即發(fā)出一定時序的控制信號,按給定序列的順序以微周期為節(jié)拍執(zhí)行由這些微碼確定的若干個微操作,即可完成某條指令的執(zhí)行。
簡單指令是由(3~5)個微操作組成,復(fù)雜指令則要由幾十個微操作甚至幾百個微操作組成。
中央處理器的作用
CPU從存儲器或高速緩沖存儲器中取出指令,放入指令寄存器,并對指令譯碼。它把指令分解成一系列的微操作,然后發(fā)出各種控制命令,執(zhí)行微操作系列,從而完成一條指令的執(zhí)行。指令是計算機規(guī)定執(zhí)行操作的類型和操作數(shù)的基本命令。指令是由一個字節(jié)或者多個字節(jié)組成,其中包括操作碼字段、一個或多個有關(guān)操作數(shù)地址的字段以及一些表征機器狀態(tài)的狀態(tài)字以及特征碼。有的指令中也直接包含操作數(shù)本身。
1、提取
第一階段,提取,從存儲器或高速緩沖存儲器中檢索指令(為數(shù)值或一系列數(shù)值)。由程序計數(shù)器(Program Counter)指定存儲器的位置。(程序計數(shù)器保存供識別程序位置的數(shù)值。換言之,程序計數(shù)器記錄了CPU在程序里的蹤跡。)
2、解碼
CPU根據(jù)存儲器提取到的指令來決定其執(zhí)行行為。在解碼階段,指令被拆解為有意義的片段。根據(jù)CPU的指令集架構(gòu)(ISA)定義將數(shù)值解譯為指令。一部分的指令數(shù)值為運算碼(Opcode),其指示要進行哪些運算。其它的數(shù)值通常供給指令必要的信息,諸如一個加法(Addition)運算的運算目標(biāo)。
3、執(zhí)行
在提取和解碼階段之后,緊接著進入執(zhí)行階段。該階段中,連接到各種能夠進行所需運算的CPU部件。
例如,要求一個加法運算,算術(shù)邏輯單元(ALU,Arithmetic Logic Unit)將會連接到一組輸入和一組輸出。輸入提供了要相加的數(shù)值,而輸出將含有總和的結(jié)果。ALU內(nèi)含電路系統(tǒng),易于輸出端完成簡單的普通運算和邏輯運算(比如加法和位元運算)。如果加法運算產(chǎn)生一個對該CPU處理而言過大的結(jié)果,在標(biāo)志暫存器里可能會設(shè)置運算溢出(Arithmetic Overflow)標(biāo)志。
4、寫回
最終階段,寫回,以一定格式將執(zhí)行階段的結(jié)果簡單的寫回。運算結(jié)果經(jīng)常被寫進 CPU內(nèi)部的暫存器,以供隨后指令快速存取。在其它案例中,運算結(jié)果可能寫進速度較慢,但容量較大且較便宜的主記憶體中。某些類型的指令會操作程序計數(shù)器,而不直接產(chǎn)生結(jié)果。這些一般稱作“跳轉(zhuǎn)”(Jumps),并在程式中帶來循環(huán)行為、條件性執(zhí)行(透過條件跳轉(zhuǎn))和函式。許多指令會改變標(biāo)志暫存器的狀態(tài)位元。這些標(biāo)志可用來影響程式行為,緣由于它們時常顯出各種運算結(jié)果。例如,以一個“比較”指令判斷兩個值大小,根據(jù)比較結(jié)果在標(biāo)志暫存器上設(shè)置一個數(shù)值。這個標(biāo)志可藉由隨后跳轉(zhuǎn)指令來決定程式動向。在執(zhí)行指令并寫回結(jié)果之后,程序計數(shù)器值會遞增,反覆整個過程,下一個指令周期正常的提取下一個順序指令。