Ⅰ 描述計算機CPU執行程序過程
CPU的工作流程
由晶體管組成的CPU是作為處理數據和執行程序的核心,其英文全稱是:Central Processing Unit,即中央處理器。首先,CPU的內部結構可以分為控制單元,邏輯運算單元和存儲單元(包括內部匯流排及緩沖器)三大部分。CPU的工作原理就像一個工廠對產品的加工過程:進入工廠的原料(程序指令),經過物資分配部門(控制單元)的調度分配,被送往生產線(邏輯運算單元),生產出成品(處理後的數據)後,再存儲在倉庫(存儲單元)中,最後等著拿到市場上去賣(交由應用程序使用)。在這個過程中,我們注意到從控制單元開始,CPU就開始了正式的工作,中間的過程是通過邏輯運算單元來進行運算處理,交到存儲單元代表工作的結束。
數據與指令在CPU中的運行
剛才已經為大家介紹了CPU的部件及基本原理情況,現在,我們來看看數據是怎樣在CPU中運行的。我們知道,數據從輸入設備流經內存,等待CPU的處理,這些將要處理的信息是按位元組存儲的,也就是以8位二進制數或8比特為1個單元存儲,這些信息可以是數據或指令。數據可以是二進製表示的字元、數字或顏色等等。而指令告訴CPU對數據執行哪些操作,比如完成加法、減法或移位運算。
我們假設在內存中的數據是最簡單的原始數據。首先,指令指針(Instruction Pointer)會通知CPU,將要執行的指令放置在內存中的存儲位置。因為內存中的每個存儲單元都有編號(稱為地址),可以根據這些地址把數據取出,通過地址匯流排送到控制單元中,指令解碼器從指令寄存器IR中拿來指令,翻譯成CPU可以執行的形式,然後決定完成該指令需要哪些必要的操作,它將告訴算術邏輯單元(ALU)什麼時候計算,告訴指令讀取器什麼時候獲取數值,告訴指令解碼器什麼時候翻譯指令等等。
假如數據被送往算術邏輯單元,數據將會執行指令中規定的算術運算和其他各種運算。當數據處理完畢後,將回到寄存器中,通過不同的指令將數據繼續運行或者通過DB匯流排送到數據緩存器中。
基本上,CPU就是這樣去執行讀出數據、處理數據和往內存寫數據3項基本工作。但在通常情況下,一條指令可以包含按明確順序執行的許多操作,CPU的工作就是執行這些指令,完成一條指令後,CPU的控制單元又將告訴指令讀取器從內存中讀取下一條指令來執行。這個過程不斷快速地重復,快速地執行一條又一條指令,產生你在顯示器上所看到的結果。我們很容易想到,在處理這么多指令和數據的同時,由於數據轉移時差和CPU處理時差,肯定會出現混亂處理的情況。為了保證每個操作準時發生,CPU需要一個時鍾,時鍾控制著CPU所執行的每一個動作。時鍾就像一個節拍器,它不停地發出脈沖,決定CPU的步調和處理時間,這就是我們所熟悉的CPU的標稱速度,也稱為主頻。主頻數值越高,表明CPU的工作速度越快。
Ⅱ cpu是用來幹嘛的,主要工作是什麼
CPU的主要功能有四種,分別是順序控制、操作控制、時間控制、數據加工。主要工作是把程序裝入主存儲器(簡稱主存)中,由CPU自動地完成從主存取指令和執行指令的任務。程序是由指令構成的序列,執行程序就是按指令序列逐條執行指令。
1、順序控制:這是指控製程序中指令的執行順序。程序中的各指令之間是有嚴格順序的,必須嚴格按程序規定的順序執行,才能保證計算機工作的正確性。
2、操作控制:一條指令的功能往往是由計算機中的部件執行一系列的操作來實現的。CPU要根據指令的功能,產生相應的操作控制信號,發給相應的部件,從而控制這些部件按指令的要求進行動作。
3、時間控制:時間控制就是對各種操作實施時間上的定時。在一條指令的執行過程中,在什麼時間做什麼操作均應受到嚴格的控制。只有這樣,計算機才能有條不紊地自動工作。
4、數據加工:即對數據進行算術運算和邏輯運算,或進行其他的信息處理。
拓展資料:
中央處理器(CPU,英語:Central Processing Unit / Processor),是電子計算機的主要設備之一,電腦中的核心配件。其功能主要是解釋計算機指令以及處理計算機軟體中的數據。電腦中所有操作都由CPU負責讀取指令,對指令解碼並執行指令的核心部件。
Ⅲ 程序如何控制cpu
CPU從存儲器或高速緩沖存儲器中取出指令,放入指令寄存器,並對指令解碼。它把指令分解成一系列的微操作,然後發出各種控制命令,執行微操作系列,從而完成一條指令的執行。
指令是計算機規定執行操作的類型和操作數的基本命令。指令是由一個位元組或者多個位元組組成,其中包括操作碼欄位、一個或多個有關操作數地址的欄位以及一些表徵機器狀態的狀態字以及特徵碼。有的指令中也直接包含操作數本身。
提取
第一階段,提取,從存儲器或高速緩沖存儲器中檢索指令(為數值或一系列數值)。由程序計數器(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))。