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