中央處理器的物理結構
1、邏輯部件
英文Logic components;運算邏輯部件。可以執行(xing)定點或(huo)浮點算術(shu)運算操(cao)作(zuo)、移位操(cao)作(zuo)以及邏輯操(cao)作(zuo),也可執行(xing)地(di)址運算和(he)轉換。
2、寄存器
寄存(cun)(cun)器(qi)部件,包括寄存(cun)(cun)器(qi)、專用寄存(cun)(cun)器(qi)和控(kong)制寄存(cun)(cun)器(qi)。 通用(yong)寄存器又(you)可(ke)分定點(dian)數和浮點(dian)數兩類,它們用(yong)來保存指令執行過程中臨時存放的寄存器操(cao)(cao)作數和中間(或(huo)最(zui)終(zhong))的操(cao)(cao)作結果。 通用寄存器是中央處理器的重要部件之(zhi)一。
3、控制部件
英文Control unit,控制部件,主要(yao)是負責對(dui)指令譯(yi)碼(ma),并且發出為完成每條指令所(suo)要(yao)執行的各個(ge)操作的控制信號。
其結構(gou)有兩(liang)種,一種是(shi)以(yi)微(wei)存儲為核心的微(wei)程序控制方式;一種是(shi)以(yi)邏(luo)輯硬布線(xian)結構(gou)為主的控制方式。
微(wei)存儲中保持微(wei)碼,每一(yi)(yi)(yi)個(ge)微(wei)碼對應于(yu)一(yi)(yi)(yi)個(ge)最基本的(de)微(wei)操(cao)作,又(you)稱(cheng)微(wei)指(zhi)令;各條(tiao)指(zhi)令是由(you)(you)不(bu)同序(xu)(xu)列(lie)的(de)微(wei)碼組成,這(zhe)(zhe)種微(wei)碼序(xu)(xu)列(lie)構成微(wei)程序(xu)(xu)。中央處理器在對指(zhi)令譯碼以后,即發(fa)出一(yi)(yi)(yi)定時序(xu)(xu)的(de)控制信號,按給定序(xu)(xu)列(lie)的(de)順序(xu)(xu)以微(wei)周期為(wei)節拍執行由(you)(you)這(zhe)(zhe)些微(wei)碼確定的(de)若干個(ge)微(wei)操(cao)作,即可完成某條(tiao)指(zhi)令的(de)執行。
簡單指令是由(3~5)個微(wei)操(cao)作(zuo)組成(cheng),復雜指令(ling)則要由幾(ji)十個微(wei)操(cao)作(zuo)甚至幾(ji)百個微(wei)操(cao)作(zuo)組成(cheng)。
中央處理器的作用
CPU從(cong)存(cun)儲(chu)器或(huo)高速緩沖存(cun)儲(chu)器中取出指(zhi)(zhi)令(ling),放入指(zhi)(zhi)令(ling)寄存(cun)器,并對指(zhi)(zhi)令(ling)譯碼(ma)。它把指(zhi)(zhi)令(ling)分(fen)解成(cheng)(cheng)一(yi)系列的(de)微操(cao)(cao)(cao)作(zuo)(zuo),然后發出各種控制命令(ling),執行(xing)微操(cao)(cao)(cao)作(zuo)(zuo)系列,從(cong)而完成(cheng)(cheng)一(yi)條指(zhi)(zhi)令(ling)的(de)執行(xing)。指(zhi)(zhi)令(ling)是計(ji)算機(ji)(ji)規定(ding)執行(xing)操(cao)(cao)(cao)作(zuo)(zuo)的(de)類型和操(cao)(cao)(cao)作(zuo)(zuo)數(shu)的(de)基本命令(ling)。指(zhi)(zhi)令(ling)是由一(yi)個(ge)(ge)(ge)字(zi)(zi)節或(huo)者多(duo)個(ge)(ge)(ge)字(zi)(zi)節組(zu)成(cheng)(cheng),其中包(bao)(bao)括操(cao)(cao)(cao)作(zuo)(zuo)碼(ma)字(zi)(zi)段、一(yi)個(ge)(ge)(ge)或(huo)多(duo)個(ge)(ge)(ge)有關操(cao)(cao)(cao)作(zuo)(zuo)數(shu)地址的(de)字(zi)(zi)段以及一(yi)些表征(zheng)機(ji)(ji)器狀態的(de)狀態字(zi)(zi)以及特征(zheng)碼(ma)。有的(de)指(zhi)(zhi)令(ling)中也直接包(bao)(bao)含操(cao)(cao)(cao)作(zuo)(zuo)數(shu)本身。
1、提取
第一階段(duan),提取,從存(cun)儲器或(huo)高速緩沖存(cun)儲器中檢索(suo)指(zhi)令(為數(shu)值或(huo)一系列(lie)數(shu)值)。由程序計數(shu)器(Program Counter)指定存儲器(qi)的位(wei)置(zhi)。(程(cheng)(cheng)序(xu)(xu)計數(shu)器保存供識(shi)別(bie)程(cheng)(cheng)序(xu)(xu)位置的數(shu)值。換言之,程(cheng)(cheng)序(xu)(xu)計數(shu)器記(ji)錄了(le)CPU在(zai)程序(xu)里(li)的蹤(zong)跡。)
2、解碼
CPU根據(ju)存(cun)儲器提取到的(de)指令(ling)來(lai)決定其(qi)執行行為(wei)。在(zai)解碼階段,指令(ling)被(bei)拆解為(wei)有意義的(de)片段。根據(ju)CPU的指(zhi)令集架(jia)構(ISA)定義將數(shu)值(zhi)解譯為指令(ling)。一部分(fen)的指令(ling)數(shu)值(zhi)為運算碼(Opcode),其指(zhi)示要進行哪些運算(suan)。其它的(de)數值通常供給指(zhi)令必要的(de)信(xin)息,諸如一個(ge)加(jia)法(Addition)運算的運算目標。
3、執行
在提取和解碼階段(duan)之后,緊接著進入執(zhi)行(xing)(xing)階段(duan)。該階段(duan)中,連接到(dao)各種能夠進行(xing)(xing)所(suo)需運算的(de)CPU部件。
例如,要(yao)求一個加(jia)法運算(suan),算(suan)術邏輯(ji)單元(ALU,Arithmetic Logic Unit)將會連接到一(yi)組輸(shu)(shu)入和一(yi)組輸(shu)(shu)出。輸(shu)(shu)入提(ti)供了(le)要相加的數值,而輸(shu)(shu)出將含有(you)總和的結(jie)果(guo)。ALU內含電(dian)路系統(tong),易(yi)于(yu)輸(shu)出端完成(cheng)簡單的普通運(yun)算(suan)和(he)邏輯運(yun)算(suan)(比如加(jia)法和(he)位元運(yun)算(suan))。如果加(jia)法運(yun)算(suan)產生一個對該(gai)CPU處理而言過(guo)大的結果,在標志暫存器里可能會設置(zhi)運算(suan)溢出(Arithmetic Overflow)標(biao)志。
4、寫回
最終(zhong)階段,寫回,以一(yi)定格(ge)式(shi)將執行(xing)階段的結果(guo)簡單(dan)的寫回。運算結果(guo)經常被寫進CPU內部的暫存器,以供隨后(hou)指(zhi)令(ling)快(kuai)速存取。在其(qi)它(ta)案例中,運算(suan)結果可能(neng)寫進速度較慢,但容量較大且較便(bian)宜的主記(ji)憶體(ti)中。某些類型的指(zhi)令(ling)會(hui)操作(zuo)(zuo)程(cheng)序計數器,而不直接產生結果。這些一般稱作(zuo)(zuo)“跳轉”(Jumps),并在程(cheng)式(shi)中帶(dai)來循環行(xing)為、條件性執(zhi)行(xing)(透過條件跳轉(zhuan))和函式(shi)。許(xu)多(duo)指(zhi)(zhi)令(ling)(ling)(ling)會改變(bian)標志(zhi)暫存器(qi)的狀態位元。這(zhe)些標志(zhi)可用來影響(xiang)程(cheng)式(shi)行(xing)為,緣由于(yu)它們時常顯(xian)出各種運算結(jie)果。例如,以一(yi)個(ge)(ge)“比(bi)較(jiao)”指(zhi)(zhi)令(ling)(ling)(ling)判斷兩個(ge)(ge)值大小,根據比(bi)較(jiao)結(jie)果在標志(zhi)暫存器(qi)上(shang)設置一(yi)個(ge)(ge)數(shu)值。這(zhe)個(ge)(ge)標志(zhi)可藉由隨后跳轉(zhuan)指(zhi)(zhi)令(ling)(ling)(ling)來決定程(cheng)式(shi)動(dong)向。在執(zhi)行(xing)指(zhi)(zhi)令(ling)(ling)(ling)并寫(xie)回結(jie)果之(zhi)后,程(cheng)序計數(shu)器(qi)值會遞增,反覆(fu)整個(ge)(ge)過程(cheng),下(xia)一(yi)個(ge)(ge)指(zhi)(zhi)令(ling)(ling)(ling)周(zhou)期正(zheng)常的提取下(xia)一(yi)個(ge)(ge)順(shun)序指(zhi)(zhi)令(ling)(ling)(ling)。
申明:以上內容源于程序系統索引或網民分享提供,僅供您參考使用,不代表本網站的研究觀點,請注意甄別內容來源的真實性和權威性。