CPU的主要運作原理,不論其外觀,都是執行儲存於被稱為程式里的一系列指令。在此討論的是遵循普遍的架構設計的裝置。程式以一系列數字儲存在電腦記憶體中。差不多所有的CPU的運作原理可分為四個階段:提取(Fetch)、解碼(Decode)、執行(Execute)和寫回(Writeback)。
第一階段,提取,從程式記憶體中檢索指令(為數值或一系列數值)。由程式計數器(Program Counter)指定程式記憶體的位置,程式計數器保存供識別目前程式位置的數值。換言之,程式計數器記錄了CPU在目前程式里的蹤跡。
提取指令之後,程式計數器根據指令式長度增加記憶體單元。指令的提取常常必須從相對較慢的記憶體尋找,導致CPU等候指令的送入。這個問題主要被論及在現代處理器的快取和管線化架構(見下)。
CPU根據從記憶體提取到的指令來決定其執行行為。在解碼階段,指令被拆解為有意義的片斷。根據CPU的指令集架構(ISA)定義將數值解譯為指令。
一部分的指令數值為運算碼(Opcode),其指示要進行哪些運算。其它的數值通常供給指令必要的資訊,諸如一個加法(Addition)運算的運算目標。這樣的運算目標也許提供一個常數值(即立即值),或是一個空間的定址值:暫存器或記憶體位址,以定址模式決定。
在舊的設計中,CPU里的指令解碼部分是無法改變的硬體裝置。不過在眾多抽象且複雜的CPU和指令集架構中,一個微程式時常用來幫助轉換指令為各種形態的訊號。這些微程式在已成品的CPU中往往可以重寫,方便變更解碼指令。
在提取和解碼階段之後,接著進入執行階段。該階段中,連線到各種能夠進行所需運算的CPU部件。
例如,要求一個加法運算,算數邏輯單元(ALU,Arithmetic Logic Unit)將會連線到一組輸入和一組輸出。輸入提供了要相加的數值,而且在輸出將含有總和結果。ALU內含電路系統,以於輸出端完成簡單的普通運算和邏輯運算(比如加法和位元運算)。如果加法運算產生一個對該CPU處理而言過大的結果,在標誌暫存器里,運算溢出(Arithmetic Overflow)標誌可能會被設定(參見以下的數值精度探討)。
最終階段,寫回,以一定格式將執行階段的結果簡單的寫回。運算結果經常被寫進CPU內部的暫存器,以供隨後指令快速存取。在其它案例中,運算結果可能寫進速度較慢,但容量較大且較便宜的主記憶體。某些類型的指令會操作程式計數器,而不直接產生結果資料。這些一般稱作“跳轉”(Jumps)並在程式中帶來循環行為、條件性執行(透過條件跳轉)和函式。
許多指令也會改變標誌暫存器的狀態位元。這些標誌可用來影響程式行為,緣由於它們時常顯出各種運算結果。
例如,以一個“比較”指令判斷兩個值的大小,根據比較結果在標誌暫存器上設定一個數值。這個標誌可藉由隨後的跳轉指令來決定程式動向。
在執行指令並寫回結果資料之後,程式計數器的值會遞增,反覆整個過程,下一個指令周期正常的提取下一個順序指令。如果完成的是跳轉指令,程式計數器將會修改成跳轉到的指令位址,且程式繼續正常執行。許多複雜的CPU可以一次提取多個指令、解碼,並且同時執行。這個部分一般涉及“經典RISC管線”,那些實際上是在眾多使用簡單CPU的電子裝置中快速普及(常稱為微控制(Microcontrollers))。
相關詞條
-
指令解碼:(Decode)
概要 指令解碼:(Decode)由於X86指令的長度不一致,必須用一個單元進行“翻譯”,真正的核心按翻譯後要求來工作。 相關條目網站 網址 網路 計算機 軟體 硬體 ...
概要 相關條目 -
指令快取
指令快取,運作原理是儲存裝置中所讀取數據且進行拷貝。
技術簡介 Intel二級快取 AMD雙二級快取 二級快取事項 指令快取和指令追蹤快取 -
PLC指令與梯形圖速查手冊
《PLC指令與梯形圖速查手冊》是2008年人民郵電出版社出版的圖書,作者是張高煜,屈明富。
內容簡介 書籍目錄 -
基因解碼
解讀和翻譯基因信息,將構成基因的、由A、G、C、T四個字母組成的基因字母順序轉變成為人的身體結構、組成、生理機能、生長發育過程的常規語言描述。基因解碼的...
定義 與基因測序、基因檢測的關係 套用 品牌 商標 -
軟體解碼
軟體解碼指的是在信息傳輸過程中,視頻等信號在通過編碼器的編碼後通過IP網路可以將碼流傳輸出去進行解碼然後傳輸至大屏的過程。
解碼器 繼電器 通信晶片 防雷系統 保險 -
指令管線化
指令管線化是為了讓計算機和其它數位電子裝置能夠加速指令的通過速度(單位時間內被執行的指令數量)而設計的技術。
-
指令糾錯技術
ECC( Error Checking and Correcting) 指令糾錯技術:ECC本身並不是一種記憶體型號,也不是一種記憶體專用技術,它是一種廣泛...
基本概念 工作原理 ECC指令糾錯技術的特點 實際意義 認識誤區 -
手機指令
所謂的手機指令,就是指在手機上輸入某些特定的組合鍵,而出現的某些功能。比如輸入 *#06# 則會出現 IMEI。也叫手機串號。根據手機的不同,指令也不同...
通用指令 三星手機指令 摩托羅拉手機指令 西門子手機指令 愛立信手機指令 -
Core微架構
。每個核心內建4組指令解碼單元,支持微指令融合與宏指令融合技術,每個時鐘周期最多可以解碼5條X86指令,並擁有改進 的分支預測功能。每個核心內建...四組指令編譯器,也就是四組解碼單元。這四組解碼單元由三組簡 ...
發展歷史 架構異同 命名方式 架構特點 技術規格