计组—中央处理器(CPU)
cpu的功能
程序是一個指令序列 ,這個序列告訴計算機應該執行什么樣的操作,在什么地方找到用來操作的數據。一旦把程序裝入內存,就可以由計算機來自動完成取指令和執行指令操作。用來完成此項工作的部件稱為中央處理器即CPU。
1.數據緩沖寄存器(DR)
數據緩沖寄存器用來暫時存放由內存儲器讀出的一條指令或一個數據字或者來自外部接口的一個數據字;
作用:
(1)作為CPU和內存、外部設備之間信息傳送的中轉站
(2)補償CPU和內存、外圍設備之間在操作速度上的差別
2.指令寄存器(IR)
保存當前正在執行的一條指令;
說明:當執行一條指令時,先把它從內存取到緩沖寄存器中,然后在傳送至指令寄存器。指令劃分為操作碼和地址碼,由二進制數字組成;為了執行任何給定的指令,必須對操作碼進行測試,以便識別所要求的操作。指令譯碼器就是做這項工作的。指令寄存器中操作碼字段的 輸出就是指令譯碼器的輸入。操作碼一經譯碼后,即可向操作控制器發出具體操作的特定信號。(即將指令寄存器中操作碼字段送入譯碼器,決定接下來該做什么樣的操作)
3.程序計數器(PC)
用來存放下一條指令的地址
說明:在程序開始執行前,必須將它的起始地址,即程序的一條指令所在的內存單元地址送入PC,因此PC的內容即是從內存提取的第一條指令的地址。當執行指令時,CPU將自動修改PC的內容,以便使其保持的總是將要執行的下一條指令的地址(即PC+1)。
4.地址寄存器(AR)
用來保存當前CPU正在訪問的內存單元的地址。
說明:由于內存和CPU之間存在著操作速度 上的差別,所以必須使用地址寄存器來保存地址信息,直到內存的讀/寫操作完成。
同樣,如果我們把外圍設備的設備地址作為像內存的地址單元那樣來看待(外設與內存統一編址),那么當CPU和外圍設備交換信息時,我們同樣使用地址寄存器和數據緩沖寄存器。
5.通用寄存器(R)
通用寄存器最常用來做累加寄存器(AC)。
6.狀態條件寄存器(PSW)
狀態條件寄存器保存由算術指令和邏輯指令運行或測試的結果建立的各種條件碼內容,如運算結果進位標志(C),運算結果溢出標志(V),運算結果為零標志(Z)等;通常由1位二進制數表示。
?
指令執行過程
指令周期:CPU從內存取出一條指令并執行這條指令的時間總和。即取指+執行
CPU周期:又稱機器周期,用從內存讀取一條指令字的最短時間定義
時鐘周期:即 T周期,一個CPU周期包含若干個時鐘周期
注:指令周期包含若干CPU周期,一個CPU周期包含4個時鐘周期;指令的執行是以CPU周期為單位的(技術不需要一個周期仍然需要分配一個周期)
?
執行流程:
1.先把內存中指令序列的首地址送入PC
2.將地址送入地址寄存器,然后PC+1
3.通過地址總線將地址寄存器中的指令地址傳給內存,從內存中獲取該地址的內容
4.將內存中的指令地址的數據送入CPU中的緩存寄存器,然后將指令數據送入指令寄存器,操作碼段送入指令譯碼器進行譯碼(指令譯碼后取指令階段結束,進入執行階段;控制器向其他部件發出執行請求)
5.進入下一個取指操作(循環步驟1)
?
微命令和微操作
計算機中的部件分為控制部件和執行部件;
控制部件:控制器
執行部件:運算器、存儲器、外設
微命令:控制部件通過控制線向執行部件發出的各種控制命令
微操作:執行部件接受微命令后所進行的操作
執行部件通過反饋線向控制部件反映操作情況,以便控制部件根據執行部件的“狀態”來下達新的微命令,這叫做“狀態測試”。
相容性微操作:同時或在同一個CPU周期內可以并行執行的微操作。(操作之間沒有相互依賴關系)
互斥性微操作:不能同時或不能在同一個CPU周期內可以并行執行的微操作。
?
微指令和微程序
微指令:在機器的一個CPU周期中,一組實現一定操作功能的微命令的組合
微程序:實現一條機器指令功能的許多條微指令組成的序列
?
注:程序由指令構成,一個指令就是一個微程序,微程序由多條微指令組成,微指令是在一個CPU周期內,實現一組操作功能的微命令組合,一個微命令就是一根控制線(即一個二進制位);微操作是執行部件接收到微命令后執行的操作
?
微程序控制器
微程序控制器主要由控制存儲器(控存)、微指令寄存器和地址轉移 邏輯三大部分組成。
控制存儲器:用來?存放實現全部 指令系統的微程序?,是一種只讀存儲器。一旦微程序固化,機器運行時則只讀不寫。
微指令寄存器
微指令寄存器用來存放由控制存儲器讀出的一條微指令信息。
?
微指令具體得執行流程(多路轉移:根據P測試字段確定是否需要分支轉移):
?
1.指令寄存器中的微指令地址通過地址轉移 邏輯送入微地址寄存器
2.微地址寄存器將指令地址送入控制存儲器,從控制存儲器中讀出一條具體的微指令
3.將讀出的微指令中的P測試字段和控制字段送入微命令寄存器;然后將默認的下一條微指令的地址 送入微地址寄存器(讓下一條微指令做好執行準備)
4.根據 控制字段中微命令信號(0、1二進制微命令)向不同的 執行部件發送微命令
5.執行完后將反饋結果反饋給地址轉移邏輯
6.如果執行完后一切都正常(即P測試字段不進行測試或者P測試的結果為繼續執行下一條默認指令),那么將會從微地址寄存器中開始繼續執行已準備好的下一條微指令?
7.如果P測試 字段要測試且測試到有溢出等標志,需要處理該溢出等問題,則不能默認按順序執行下一條微指令;根據P測試反饋的情況地址轉移邏輯會形成新的微指令地址并將其送入微地址寄存器,替換掉 之前默認的下一條微指令地址,這樣 就打亂了原有的執行順序
?
微程序控制方式 下程序的完整執行過程
?
微命令編碼
微命令 編碼是指對微指令中的操作控制字段采用的表示 方法。
1.直接表示法?
其特點是操作控制字段中的每一位代表一個微命令。這種方法優點是簡單直觀,其輸出直接用于控制。缺點是微指令字較長,因而使控制存儲器容量較大。
2.編碼表示法
編碼表示法是把一組相斥性的微命令信號組成一個小組(即一個字段),然后通過小組(字段)譯碼器對每一個微命令信號進行譯碼,譯碼輸出作為操作控制信號。
注:n位二進制?編碼能表示2^n - 1條微指令;如采用3位 編碼則只能表示2^3 ?-1 =7條微指令?
總結
以上是生活随笔為你收集整理的计组—中央处理器(CPU)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: i2c总线的通信协议(i2c通信协议原理
- 下一篇: n卡eth挖矿设置_以太坊挖矿软件配置(