中央處理器(英語:Central Processing Unit,縮寫:CPU),是電子電腦的主要裝置之一。其功能主要是解釋電腦指令以及處理電腦軟體中的資料。電腦的可編程性主要是指對中央處理器的編程。中央處理器、記憶體和輸入/輸出裝置是現代電腦的三大核心部件。20世紀70年代以前,中央處理器是由多個獨立單元構成。後來發展出由積體電路製造的中央處理器,微處理器中央處理器複雜的電路可以做成單一微小功能強大的單元。
中央處理器廣義上指一系列可以執行複雜的電腦程式的邏輯機器。這個空泛的定義很容易地將在「中央處理器」這個名稱被普遍使用,之前的早期電腦也包括在內。無論如何,至少從20世紀60年代早期開始(Weik 1961),這個名稱及其縮寫已開始在電子電腦產業中得到廣泛應用。儘管與早期相比,「中央處理器」在物理形態、設計製造和具體任務的執行上有了戲劇性的發展,但是其基本的操作原理一直沒有改變。
早期的中央處理器通常是為大型及特定應用的電腦而客製。但是,這種昂貴的為特定應用客製中央處理器的方法很大程度上已經讓位於開發便宜、標準化、適用於一個或多個目的的處理器類。這個標準化趨勢始於由單個電晶體組成的大型電腦和微機年代,隨著積體電路的出現而加速。積體電路使得更為複雜的中央處理器可以在很小的空間中設計和製造(在微米的量級)。中央處理器的標準化和小型化都使得這一類數位裝置(港譯-電子零件)在現代生活中的出現頻率遠遠超過有限應用專用的電腦。現代微處理器出現在包括從汽車到手機到兒童玩具在內的各種物品中。
操作原理
中央處理器的主要運作原理,不論其外觀,都是執行儲存於被稱為程式裡的一系列指令。在此討論的是遵循普遍的馮·諾伊曼結構(von Neumann architecture)設計的裝置。程式以一系列數位儲存在電腦記憶體中。差不多所有的馮·紐曼中央處理器的運作原理可分為四個階段:提取、解碼、執行和寫回。
第一階段,提取,從程式記憶體中檢索指令(為數值或一系列數值)。由程式計數器指定程式記憶體的位置,程式計數器保存供識別目前程式位置的數值。換言之,程式計數器記錄了中央處理器在目前程式裡的蹤跡。提取指令之後,PC根據指令式長度增加記憶體單元[iwordlength]。指令的提取常常必須從相對較慢的記憶體尋找,導致中央處理器等候指令的送入。這個問題主要被論及在現代處理器的快取和管線化架構(見下)。
中央處理器根據從記憶體提取到的指令來決定其執行行為。在解碼階段,指令被拆解為有意義的片斷。根據中央處理器的指令集架構(ISA)定義將數值解譯為指令[isa]。一部分的指令數值為運算碼,其指示要進行哪些運算。其它的數值通常供給指令必要的資訊,諸如一個加法運算的運算標的。這樣的運算標的也許提供一個常數值(即立即值),或是一個空間的定址值:暫存器或記憶體位址,以定址模式決定。在舊的設計中,中央處理器裡的指令解碼部分是無法改變的硬體裝置。不過在眾多抽象且複雜的中央處理器和ISA中,一個微程式時常用來幫助轉換指令為各種形態的訊號。這些微程式在已成品的中央處理器中往往可以重寫,方便變更解碼指令。
在提取和解碼階段之後,接著進入執行階段。該階段中,連接到各種能夠進行所需運算的中央處理器部件。例如,要求一個加法運算,算術邏輯單元將會連接到一組輸入和一組輸出。輸入提供了要相加的數值,而且在輸出將含有總和結果。ALU內含電路系統,以於輸出端完成簡單的普通運算和邏輯運算(比如加法和位元運算)。如果加法運算產生一個對該中央處理器處理而言過大的結果,在標誌暫存器裡,溢位標誌可能會被設置(參見以下的數值精度探討)。
最終階段,寫回,以一定格式將執行階段的結果簡單的寫回。運算結果經常被寫進中央處理器內部的暫存器,以供隨後指令快速存取。在其它案例中,運算結果可能寫進速度較慢,如容量較大且較便宜的主記憶體。某些型別的指令會操作程式計數器,而不直接產生結果資料。這些一般稱作「跳轉」並在程式中帶來循環行為、條件性執行(透過條件跳轉)和函式[jumps]。許多指令也會改變標誌暫存器的狀態位元。這些標誌可用來影響程式行為,緣由於它們時常顯出各種運算結果。例如,以一個「比較」指令判斷兩個值的大小,根據比較結果在標誌暫存器上設置一個數值。這個標誌可藉由隨後的跳轉指令來決定程式動向。
在執行指令並寫回結果資料之後,程式計數器的值會遞增,反覆整個過程,下一個指令周期正常的提取下一個順序指令。如果完成的是跳轉指令,程式計數器將會修改成跳轉到的指令位址,且程式繼續正常執行。許多複雜的中央處理器可以一次提取多個指令、解碼,並且同時執行。這個部分一般涉及「經典RISC管線」,那些實際上是在眾多使用簡單中央處理器的電子裝置中快速普及(常稱為微控制器)
資料來源:維基百科
沒有留言:
張貼留言