CPU從存儲器或高速緩沖存儲器中取出指令,放入指令寄存器,并對指令譯碼,它把指令分解成一系列的微操作,然后發(fā)出各種控制命令,這里給大家分享一些關于CPU的工作原理,希望對大家能有所幫助。
提取
第一階段,提取,從存儲器或高速緩沖存儲器中檢索指令為數(shù)值或一系列數(shù)值。由程序計數(shù)器Program Counter指定存儲器的位置,程序計數(shù)器保存供識別目前程序位置的數(shù)值。換言之,程序計數(shù)器記錄了CPU在目前程序里的蹤跡。提取指令之后,程序計數(shù)器根據(jù)指令長度增加存儲器單元。指令的提取必須常常從相對較慢的存儲器尋找,因此導致CPU等候指令的送入。這個問題主要被論及在現(xiàn)代處理器的快取和管線化架構。
解碼
CPU根據(jù)存儲器提取到的指令來決定其執(zhí)行行為。在解碼階段,指令被拆解為有意義的片斷。根據(jù)CPU的指令集架構ISA定義將數(shù)值解譯為指令。一部分的指令數(shù)值為運算碼Opcode,其指示要進行哪些運算。其它的數(shù)值通常供給指令必要的信息,諸如一個加法Addition運算的運算目標。這樣的運算目標也許提供一個常數(shù)值即立即值,或是一個空間的定址值:暫存器或存儲器位址,以定址模式?jīng)Q定。在舊的設計中,CPU里的指令解碼部分是無法改變的硬件設備。不過在眾多抽象且復雜的CPU和指令集架構中,一個微程序時常用來幫助轉換指令為各種形態(tài)的訊號。這些微程序在已成品的CPU中往往可以重寫,方便變更解碼指令。
執(zhí)行
在提取和解碼階段之后,接著進入執(zhí)行階段。該階段中,連接到各種能夠進行所需運算的CPU部件。例如,要求一個加法運算,算數(shù)邏輯單元ALU,Arithmetic Logic Unit將會連接到一組輸入和一組輸出。輸入提供了要相加的數(shù)值,而輸出將含有總和的`結果。ALU內含電路系統(tǒng),易于輸出端完成簡單的普通運算和邏輯運算比如加法和位元運算。如果加法運算產(chǎn)生一個對該CPU處理而言過大的結果,在標志暫存器里,運算溢出Arithmetic Overflow標志可能會被設置。
寫回
最終階段,寫回,以一定格式將執(zhí)行階段的結果簡單的寫回。運算結果經(jīng)常被寫進CPU內部的暫存器,以供隨后指令快速存取。在其它案例中,運算結果可能寫進速度較慢,但容量較大且較便宜的主記憶體中。某些類型的指令會操作程序計數(shù)器,而不直接產(chǎn)生結果。這些一般稱作ldquo;跳轉Jumps,并在程式中帶來循環(huán)行為、條件性執(zhí)行透過條件跳轉和函式。許多指令也會改變標志暫存器的狀態(tài)位元。
這些標志可用來影響程式行為,緣由于它們時常顯出各種運算結果。例如,以一個比較指令判斷兩個值的大小,根據(jù)比較結果在標志暫存器上設置一個數(shù)值。這個標志可藉由隨后的跳轉指令來決定程式動向。在執(zhí)行指令并寫回結果之后,程序計數(shù)器的值會遞增,反覆整個過程,下一個指令周期正常的提取下一個順序指令。如果完成的是跳轉指令,程序計數(shù)器將會修改成跳轉到的指令位址,且程序繼續(xù)正常執(zhí)行。許多復雜的CPU可以一次提取多個指令、解碼,并且同時執(zhí)行。這個部分一般涉及經(jīng)典RISC管線,那些實際上是在眾多使用簡單CPU的電子裝置中快速普及常稱為微控制Microcontrollers。
電腦知識CPU篇_讓你看懂電腦參數(shù)
![](/skin/tiku/images/icon_star.png)
![](/skin/tiku/images/icon_star.png)
![](/skin/tiku/images/icon_star.png)
![](/skin/tiku/images/icon_star.png)
![](/skin/tiku/images/icon_star.png)
上一篇:CPU的工作原理
下一篇:分享電腦CPU知識詳解大全