CPU的工作過程是怎樣的你知道嗎?
CPU的工作過程
CPU從存儲器或高速緩沖存儲器中取出指令,放入指令寄存器,并對指令譯碼。它把指令分解成一系列的微操作,然后發出各種控制命令,執行微操作系列,從而完成一條指令的執行。指令是計算機規定執行操作的類型和操作數的基本命令。指令是由一個字節或者多個字節組成,其中包括操作碼字段、一個或多個有關操作數地址的字段以及一些表征機器狀態的狀態字以及特征碼。有的指令中也直接包含操作數本身。
提取
第一階段,提取,從存儲器或高速緩沖存儲器中檢索指令(為數值或一系列數值)。由程序計數器(program counter)指定存儲器的位置。(程序計數器保存供識別程序位置的數值。換言之,程序計數器記錄了cpu在程序里的蹤跡。)
解碼
cpu根據存儲器提取到的指令來決定其執行行為。在解碼階段,指令被拆解為有意義的片段。根據cpu的指令集架構(isa)定義將數值解譯為指令。一部分的指令數值為運算碼(opcode),其指示要進行哪些運算。其它的數值通常供給指令必要的信息,諸如一個加法(addition)運算的運算目標。
執行
在提取和解碼階段之后,緊接著進入執行階段。該階段中,連接到各種能夠進行所需運算的cpu部件。
例如,要求一個加法運算,算術邏輯單元(alu,arithmetic logic unit)將會連接到一組輸入和一組輸出。輸入提供了要相加的數值,而輸出將含有總和的結果。alu內含電路系統,易于輸出端完成簡單的普通運算和邏輯運算(比如加法和位元運算)。如果加法運算產生一個對該cpu處理而言過大的結果,在標志暫存器里可能會設置運算溢出(arithmetic overflow)標志。
寫回
最終階段,寫回,以一定格式將執行階段的結果簡單的寫回。運算結果經常被寫進cpu內部的暫存器,以供隨后指令快速存取。在其它案例中,運算結果可能寫進速度較慢,但容量較大且較便宜的主記憶體中。某些類型的指令會操作程序計數器,而不直接產生結果。這些一般稱作“跳轉”(jumps),并在程式中帶來循環行為、條件性執行(透過條件跳轉)和函式。許多指令會改變標志暫存器的狀態位元。這些標志可用來影響程式行為,緣由于它們時常顯出各種運算結果。例如,以一個“比較”指令判斷兩個值大小,根據比較結果在標志暫存器上設置一個數值。這個標志可藉由隨后跳轉指令來決定程式動向。在執行指令并寫回結果之后,程序計數器值會遞增,反覆整個過程,下一個指令周期正常的提取下一個順序指令。
-
存儲器
+關注
關注
38文章
7453瀏覽量
163608 -
cpu
+關注
關注
68文章
10826瀏覽量
211160
原文標題:CPU的工作過程是怎樣的?
文章出處:【微信號:Imgtec,微信公眾號:Imagination Tech】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論