CPU結構與指令執行過程簡介


CPU(Central Processing Unit)是計算機中進行算術和邏輯計算處理指令的主要部件.

CPU結構

CPU由通用寄存器組,運算器,控制器和數據通路等部件組成.

寄存器包括

  • 數據寄存器: AX,BX,CX,DX;

  • 指針與變址寄存器:SP, BP, SI,DI

  • 棧寄存器: CS,DS,SS,ES

詳情參見寄存器與尋址方式的介紹

運算器主要是指算術邏輯單元(arithmetic and logic unit, ALU).

上圖所示的CPU采用單總線結構, ALU通過兩個暫存器T,S與總線相連.

控制器的主要組成部分是微命令形成電路, 以及3個控制寄存器和時序邏輯部件.

  • 程序狀態字(Program Status Word,PSW): 存放結果狀態和標志

  • 程序計數器(Program Counter,PC): 記錄下一條指令的內存地址

  • 指令寄存器(Instruction Register,IR): 寄存正在執行的指令

為了與系統總線交互設置單向地址寄存器AR和雙向數據寄存器DR.

CPU為了IO等功能還設置了外部中斷INT,直接內存訪問(Direct Memory Access,DMA)等部件.

現代CPU通常還集成了高速緩存(Cache)和流水線等組件.

CPU時鍾

時鍾周期由時鍾部件提供,是CPU中原子計時單位.

一般把CPU對內存的一次訪問當作一個機器周期.

CPU執行一條指令的時間為一個指令周期,不同指令的指令周期不一樣.

指令執行過程

機器指令: 是CPU能直接識別並執行的指令,為二進制編碼的形式, 匯編指令是二進制機器指令的助記符.

微指令: 在微程序控制的計算機中,微指令是同時發出的控制信號的組合.

一次能定義並執行多個並行操作微命令的微指令,叫做水平型微指令.水平型微指令的一般格式為:
控制字段 判別測試字段 下地址字段

垂直型微指令的結構類似於機器指令的結構.它有操作碼,在一條微指令中只有l-2個微操作命令,每條微指令的功能簡單.

微操作是CPU的原子操作,以一個寄存器的數據讀寫操作為標志.

每一個微操作是控制器向相應部件發送控制信號(微命令)而觸發的.

一般在微操作的層面上研究指令的執行過程.

一般機器指令執行過程分為取指令(Fetch Instruction), 取數據(Fetch Data), 執行(Execute)等操作

FIC微操作

PC->AR
AR->MainMemory
Read ;將Memory中的數據傳到系統總線上
PC+1
M->DataBus
DastaBus->DR
DR->IR

FDC微操作

在進行取操作數之前先進行譯碼操作,首先根據16位指令編碼的形式分析指令類型:

  • 雙操作數指令: 0000 xxxx

  • 單操作數指令: 0000 1110 xxxx

  • 轉移指令: 0000 1111 xxxx

  • 無操作數指令: 0000 1111 1111 xxxx

EXEC微操作

轉移指令執行過程

PC->ALU
ADD PC Disp->T
T->PC

INC指令:

ALU: S+1->T
BX->MainMemory
T->DB
Write ;結果寫入內存

微程序控制器與硬布線控制器

微程序控制器

微程序控制器設計簡單,規范化;功能可編程,成本低,錯誤少但是速度較慢.

硬布線控制器

硬布線控制器用與或邏輯陣列將微指令轉換為控制信號,設計復雜,無法編程修改功能但是速度較快.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM