基礎知識 CPU指令週期

2022-09-09 22:27:24 字數 1732 閱讀 1584

完整執行一條指令所需要的時間

指令週期讀取-執行週期(fetch-and-execute cycle)是指cpu要執行指令經過的步驟。

計算機之所以能自動地工作,是因為cpu能從存放程式的記憶體裡取出一條指令並執行這條指令;緊接著又是取指令,執行指令,如此周而復始,構成了乙個封閉的迴圈。除非遇到停機指令,否則這個迴圈將一直繼續下去。

cpu執行完每條指令後,都會檢測是否有中斷資訊。

指令週期 :cpu從記憶體取出一條指令並執行這條指令的時間總和。

cpu週期 :又稱機器週期,cpu訪問一次記憶體所花的時間較長,因此用從記憶體讀取一條指令字的最短時間來定義。

時鐘週期: 通常稱為節拍脈衝或t週期。乙個cpu週期包含若干個時鐘週期。[1]

在取指令的階段,指令是放在儲存器(也就是記憶體)裡的,實際上,通過pc暫存器和指令暫存器取出指令的過程,是由控制器(control unit)操作的。指令的解碼過程,也是由控制器進行的。

一旦到了執行指令階段,無論是進行算術操作、邏輯操作的 r 型指令,還是進行資料傳輸、條件分支的 i 型指令,都是由算術邏輯單元(alu)操作的,也就是由運算器處理的。不過,如果是乙個簡單的無條件位址跳轉,那麼可以直接在控制器裡面完成,不需要用到運算器。

if(instruction fetch) 取指:從 instruction-memory 中讀取指令,並在下乙個時鐘上公升沿到來時把指令送

到 id 級的指令緩衝器 id_ir 中。該級控制訊號決定下乙個指令指標的 pc 訊號(即 instruction-memory 的指令位址 i_addr)

id(instruction

decode)指令解碼: 對 if 級的指令進行解碼,根據指令操作碼獲取運算元read reg_1、read reg_2 或者要

直接儲存的資料內容 smdr,並在下乙個時鐘上公升沿到來前把指令 id_ir(前 8 位,操作碼+operand1)送 到 ex 級的指令緩衝器

ex_ir 中

ex(execute)執行:該級進行算術運算(加、減)、簡單傳輸(jump 操作)、邏輯運算(與、或、異或)

或移位操作(邏輯左移、邏輯右移、算術左移、算術右移)。算術邏輯單元 alu 根據指令對兩個運算元 reg_a、 reg_b

進行操作,將獲得的結果 aluo 送到下一級的 reg_c,在此過程中,控制標誌訊號 cf、nf、zf 並將 其傳到相應的緩衝暫存器

;或者產生儲存資料的使能訊號 d_we,同時將要直接儲存的資料內容 smdr 傳到 mem 級的 smdr1。在下乙個時鐘上公升沿到來前把指令

ex_ir 送到 mem 級的指令緩衝器 mem_ir

中。總的來說就是拿到解碼後的資料在alu中進行計算,並將計算的結果放在mem中的緩衝區中。

mem(memory

access):資料儲存器訪問: 根據指令處理 reg_c 獲取需要的內容儲存到緩衝器 reg_c1,並在下 乙個時鐘上公升沿到來前把指令

mem_ir 送到 wb 級的指令緩衝器 wb_ir 中。只有在執行 load、store 指令

時才對儲存器進行讀、寫操作,對於此之外的其他指令,mem 級只起到乙個週期的作用。

wb(write back) 寫回:對於需要重新整理通用暫存器的操作,wb級把指令執行的結果回寫到通用暫存器中

cpu執行完每條指令後,都會檢測是否有中斷資訊。

基礎知識 CPU指令集

計算機指令就是指揮機器工作的指示和命令,程式就是一系列按一定順序排列的指令,執行程式的過程就是計算機的工作過程。指令集,就是cpu中用來計算和控制計算機系統的一套指令的集合,而每一種新型的cpu在設計時就規定了一系列與其他硬體電路相配合的指令系統。而指令集的先進與否,也關係到cpu的效能發揮,它也是...

彙編指令基礎知識

80x86中,常見的暫存器 32位 有16個,包括4個資料暫存器 2個變址暫存器 2個指標暫存器 6個段暫存器 1個指令暫存器和1個標誌暫存器。eax ebx ecx edx 作用 用於存放程式執行中間資料,其中ecx常用做計數器 特點 可分割訪問eax ax al and ah esi 源位址 e...

cpu相關的基礎知識

概念 cpu是什麼 做什麼用 一般cpu是接在 的,我們先來看看cpu是什麼,cpu既 處理器 電腦中乙個最重要,最核心的東西,市面上能買到的cpu只有兩種,一種是intel公司生產的,另一種是amd公司生產的。如圖1 1 上圖分別是intel和amd公司兩個廠家生產的cpu,cpu主要的工作就是處...