物理結(jié)構(gòu)
CPU包括運(yùn)算邏輯部件、寄存器部件和控制部件等。
邏輯部件
英文Logic components;運(yùn)算邏輯部件,可以執(zhí)行定點(diǎn)或浮點(diǎn)算術(shù)運(yùn)算操作、移位操作以及邏輯操作,也可執(zhí)行地址運(yùn)算和轉(zhuǎn)換。
寄存器
寄存器部件,包括通用寄存器、專用寄存器和控制寄存器。
通用寄存器又可分定點(diǎn)數(shù)和浮點(diǎn)數(shù)兩類,它們用來(lái)保存指令執(zhí)行過程中臨時(shí)存放的寄存器操作數(shù)和中間(或最終)的操作結(jié)果。
通用寄存器是中央處理器的重要組成部分,大多數(shù)指令都要訪問到通用寄存器。通用寄存器的寬度決定計(jì)算機(jī)內(nèi)部的數(shù)據(jù)通路寬度,其端口數(shù)目往往可影響內(nèi)部操作的并行性。
專用寄存器是為了執(zhí)行一些特殊操作所需用的寄存器。
控制寄存器(CR0~CR3)用于控制和確定處理器的操作模式以及當(dāng)前執(zhí)行任務(wù)的特性。CR0中含有控制處理器操作模式和狀態(tài)的系統(tǒng)控制標(biāo)志;CR1保留不用;CR2含有導(dǎo)致頁(yè)錯(cuò)誤的線性地址;CR3中含有頁(yè)目錄表物理內(nèi)存基地址,因此該寄存器也被稱為頁(yè)目錄基地址寄存器PDBR(Page-Directory Base address Register)。
控制部件
英文Control unit;控制部件,主要是負(fù)責(zé)對(duì)指令譯碼,并且發(fā)出為完成每條指令所要執(zhí)行的各個(gè)操作的控制信號(hào)。
其結(jié)構(gòu)有兩種:一種是以微存儲(chǔ)為核心的微程序控制方式;一種是以邏輯硬布線結(jié)構(gòu)為主的控制方式。
微存儲(chǔ)中保持微碼,每一個(gè)微碼對(duì)應(yīng)于一個(gè)最基本的微操作,又稱微指令;各條指令是由不同序列的微碼組成,這種微碼序列構(gòu)成微程序。中央處理器在對(duì)指令譯碼以后,即發(fā)出一定時(shí)序的控制信號(hào),按給定序列的順序以微周期為節(jié)拍執(zhí)行由這些微碼確定的若干個(gè)微操作,即可完成某條指令的執(zhí)行。
簡(jiǎn)單指令是由(3~5)個(gè)微操作組成,復(fù)雜指令則要由幾十個(gè)微操作甚至幾百個(gè)微操作組成。
主要功能
處理指令
英文Processing instructions;這是指控制程序中指令的執(zhí)行順序。程序中的各指令之間是有嚴(yán)格順序的,必須嚴(yán)格按程序規(guī)定的順序執(zhí)行,才能保證計(jì)算機(jī)系統(tǒng)工作的正確性。
執(zhí)行操作
英文Perform an action;一條指令的功能往往是由計(jì)算機(jī)中的部件執(zhí)行一序列的操作來(lái)實(shí)現(xiàn)的。CPU要根據(jù)指令的功能,產(chǎn)生相應(yīng)的操作控制信號(hào),發(fā)給相應(yīng)的部件,從而控制這些部件按指令的要求進(jìn)行動(dòng)作。
控制時(shí)間
英文Control time;時(shí)間控制就是對(duì)各種操作實(shí)施時(shí)間上的定時(shí)。在一條指令的執(zhí)行過程中,在什么時(shí)間做什么操作均應(yīng)受到嚴(yán)格的控制。只有這樣,計(jì)算機(jī)才能有條不紊地工作。
處理數(shù)據(jù)
即對(duì)數(shù)據(jù)進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算,或進(jìn)行其他的信息處理。
其功能主要是解釋計(jì)算機(jī)指令以及處理計(jì)算機(jī)軟件中的數(shù)據(jù), 并執(zhí)行指令。在微型計(jì)算機(jī)中又稱微處理器,計(jì)算機(jī)的所有操作都受CPU控制,CPU的性能指標(biāo)直接決定了微機(jī)系統(tǒng)的性能指標(biāo)。CPU具有以下4個(gè)方面的基本功能:數(shù)據(jù)通信,資源共享,分布式處理,提供系統(tǒng)可靠性。運(yùn)作原理可基本分為四個(gè)階段:提?。‵etch)、解碼(Decode)、執(zhí)行(Execute)和寫回(Writeback)。
工作過程
CPU從存儲(chǔ)器或高速緩沖存儲(chǔ)器中取出指令,放入指令寄存器,并對(duì)指令譯碼。它把指令分解成一系列的微操作,然后發(fā)出各種控制命令,執(zhí)行微操作系列,從而完成一條指令的執(zhí)行。指令是計(jì)算機(jī)規(guī)定執(zhí)行操作的類型和操作數(shù)的基本命令。指令是由一個(gè)字節(jié)或者多個(gè)字節(jié)組成,其中包括操作碼字段、一個(gè)或多個(gè)有關(guān)操作數(shù)地址的字段以及一些表征機(jī)器狀態(tài)的狀態(tài)字以及特征碼。有的指令中也直接包含操作數(shù)本身。
提取
第一階段,提取,從存儲(chǔ)器或高速緩沖存儲(chǔ)器中檢索指令(為數(shù)值或一系列數(shù)值)。由程序計(jì)數(shù)器(Program Counter)指定存儲(chǔ)器的位置。(程序計(jì)數(shù)器保存供識(shí)別程序位置的數(shù)值。換言之,程序計(jì)數(shù)器記錄了CPU在程序里的蹤跡。)
解碼
CPU根據(jù)存儲(chǔ)器提取到的指令來(lái)決定其執(zhí)行行為。在解碼階段,指令被拆解為有意義的片斷。根據(jù)CPU的指令集架構(gòu)(ISA)定義將數(shù)值解譯為指令。一部分的指令數(shù)值為運(yùn)算碼(Opcode),其指示要進(jìn)行哪些運(yùn)算。其它的數(shù)值通常供給指令必要的信息,諸如一個(gè)加法(Addition)運(yùn)算的運(yùn)算目標(biāo)。
執(zhí)行
在提取和解碼階段之后,緊接著進(jìn)入執(zhí)行階段。該階段中,連接到各種能夠進(jìn)行所需運(yùn)算的CPU部件。
例如,要求一個(gè)加法運(yùn)算,算術(shù)邏輯單元(ALU,Arithmetic Logic Unit)將會(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)志暫存器里可能會(huì)設(shè)置運(yùn)算溢出(Arithmetic Overflow)標(biāo)志。
寫回
最終階段,寫回,以一定格式將執(zhí)行階段的結(jié)果簡(jiǎn)單的寫回。運(yùn)算結(jié)果經(jīng)常被寫進(jìn)CPU內(nèi)部的暫存器,以供隨后指令快速存取。在其它案例中,運(yùn)算結(jié)果可能寫進(jìn)速度較慢,但容量較大且較便宜的主記憶體中。某些類型的指令會(huì)操作程序計(jì)數(shù)器,而不直接產(chǎn)生結(jié)果。這些一般稱作“跳轉(zhuǎn)”(Jumps),并在程式中帶來(lái)循環(huán)行為、條件性執(zhí)行(透過條件跳轉(zhuǎn))和函式。許多指令會(huì)改變標(biāo)志暫存器的狀態(tài)位元。這些標(biāo)志可用來(lái)影響程式行為,緣由于它們時(shí)常顯出各種運(yùn)算結(jié)果。例如,以一個(gè)“比較”指令判斷兩個(gè)值大小,根據(jù)比較結(jié)果在標(biāo)志暫存器上設(shè)置一個(gè)數(shù)值。這個(gè)標(biāo)志可藉由隨后跳轉(zhuǎn)指令來(lái)決定程式動(dòng)向。在執(zhí)行指令并寫回結(jié)果之后,程序計(jì)數(shù)器值會(huì)遞增,反覆整個(gè)過程,下一個(gè)指令周期正常的提取下一個(gè)順序指令。
內(nèi)容來(lái)自百科網(wǎng)