1. 程式人生 > >理解CU微操作命令(控制訊號)

理解CU微操作命令(控制訊號)

《計算機組成原理》 II – 唐朔飛老師

1 理解微操作命令

連通

假設觸發器1(D1)的輸出通過導線連線到觸發器2(D2)的輸入。在時鐘訊號同步下,當給D1一個輸入時,D2也將根據D1的輸出作為輸入產生一個對應的輸出。

資料傳輸

如果要求D2的輸出與D1輸出一致,則需要在D1與D2連線的線路上加一個轉換的電路T1。D1的輸出經T1後成為與D1的輸入一樣的訊號,那麼D2的輸出就跟D1一樣。此時,這個過程就可以看做是將D1的資料 傳輸給了D2。資料的傳輸就是一個連通的過程。

控制訊號 -- 微操作命令

在D1和D2實現資料傳輸的導線上再加一個門控電路M1,M1在預設狀態下不具備資料傳輸(連通導線)的功能(引腳Cin

的狀態為0),只有使Cin為1時才連通導線。當給M1的Cin給一個1訊號時,導線連通,D1的資料就通過導線傳輸給了D2。這裡給Cin的訊號就是一個控制導線連通的訊號(微操作命令)。CPU內的CU會根據指令的操作碼來產生一個或者一串這樣的控制訊號去作用在指定的門控電路的Cin之上,讓資料能得到傳輸。這樣的由CU產生的一個或者一串的訊號就是一個微操作命令

指令週期包含多個微操作命令

組成指令週期的每個階段(取指,間址,執行,中斷各階段)通常由多個微操作組成。這些微操作的執行由微操作命令來使能(驅動)。如完成取指過程,CU首先需要產生使能PC暫存器與MAR暫存器線路上的門控電路的控制訊號,使PC內容傳輸給MAR;CU還需要產生使能存器被讀的控制訊號……等等。

2 微操作命令例

未採用CPU內部匯流排方式的資料通路和控制訊號的關係如下圖。圖中未畫出每個暫存器的輸入或輸出控制門,只標出了控制這些閘電路的控制訊號Ci。也未畫出讀寫儲存器的控制訊號(涉及到時可認為CU與儲存器MM是連通的)。省去了IR到MAR的資料通路(可認為IR到MAR的資料通路是通的)。可認為ACC暫存器到MDR暫存器的通路是通的。

Figure1. 未採用CPU內部匯流排方式的資料通路和控制訊號

(1) 寫出取指週期的全部微操作。

(2) 寫出取數指令“LDA  M”、存數指令“STA  M”、加法指令“ADD  M”(M均為主存地址)在執行階段所需的全部微操作。

(3) 當上述指令均為間接定址時,寫出執行這些指令所需的全部微操作。

(4) 寫出無條件轉移指令“JMP  Y”和結果為0則轉指令“BAZ  Y”在執行階段所需的全部微操作。

CU輸出的控制訊號的目的地為Ci指向的閘電路。


(1) 取指階段的微操作

[1] PC --> MAR:控制訊號C0有效,打通PC暫存器與地址暫存器MAR的通路,PC內的資料傳輸到MAR中。

[2] 1 -- >R: CU向儲存器發一個讀訊號,儲存器處於可被讀狀態。

[3] MM(MAR) --> MDR :C1,C2控制訊號有效,儲存器之上的MAR地址的內容通過資料匯流排傳輸到MDR中。

[4] MDR-- >IR :  C3控制訊號有效,MDR傳輸給IR。

[5] OP(IR)-->CU:將IR中指令的操作碼欄位傳輸給CU。

[6] (PC) + 1--> PC:PC內容自動加1。

(2)“LDA M”,“ STA M”,“ADD M”指令執行階段的微操作

LDA              M:

[1] AD(IR) --> MAR:控制訊號C5有效,IR指令中的地址碼欄位送給MAR。

[2] 1 -- >R:使能存存器被讀狀態。

[3] MM(MAR) --> MDR :C1,C2控制訊號有效,儲存器之上的MAR地址的內容通過資料匯流排傳輸到MDR中。

[4] MDR -->ACC:控制訊號C12有效,將MDR中的資料存到ACC暫存器中。

STA        M:

[1] AD(IR) --> MAR:控制訊號C5有效,IR指令中的地址碼欄位送給MAR。

[2] 1 -- >W:使能存存器被寫狀態。

[3] ACC -- >MDR:控制訊號C12有效,將要寫入儲存器中M地址的資料寫入MDR。

[4] MDR -- > MM(MAR):C1,C2控制訊號有效,MDR中的資料寫往存存器M的M地址之上。

ADD       M:

[1] AD(IR) --> MAR:控制訊號C5有效,IR指令中的地址碼欄位送給MAR。

[2] 1 -- >R:使能存存器被讀狀態。

[3] MM(MAR) --> MDR :C1,C2控制訊號有效,儲存器之上的MAR地址的內容通過資料匯流排傳輸到MDR中。

[4] (ACC) + (MDR) -- > ACC:控制訊號C7,C6有效,將讀到的資料與ACC中的內容送到ALC相加,C8控制訊號有效,將ALU相加的結果送入ACC中。

(3) M為間址時“LDA M”,“ STA M”,“ADD M”指令執行階段的微操作

當M為間址時,需要增加間址週期的微操作。

[1] AD(IR) -- > MAR:控制訊號C5有效,IR指令中的地址碼欄位送給MAR。

[2] 1 -- >R:使能存存器被讀狀態。

[3] MM(MAR) --> MDR :C1,C2控制訊號有效,儲存器之上的MAR地址的內容通過資料匯流排傳輸到MDR中。

此後,3條指令的第一個微操作都是MDR -->MAR,其餘微操作不變。

(4) “JMP Y”,“BAZ Y”執行階段的微操作

JMP              Y:

AD(IR) --> PC:控制訊號C10有效,將IR內容中的地址碼送往PC。

BAZ              Y:

Z·AD(IR) --> PC:當Z=1(結果為0)則將地址給PC。

[2014.10.22 - 15:43] R《CC》Note Over.

相關推薦

理解CU操作命令控制訊號

《計算機組成原理》 II – 唐朔飛老師 1 理解微操作命令 連通 假設觸發器1(D1)的輸出通過導線連線到觸發器2(D2)的輸入。在時鐘訊號同步下,當給D1一個輸入時,D2也將根據D1的輸出作為輸

Linux常用命令———文件和目錄操作命令18個

系統/運維 Linux 文件和目錄操作命令(18個) ls(列出目錄內容和屬性) 全拼list,功能是列出目錄的內容及其內容屬性信息。-l(long) 長格式 註:-l 顯示的時間是mtime-d --directorys當遇到目錄時列出目錄本身而非目錄內的文件

Mac OS X終端的常用操作命令UNIX指令

mov 刪除 一級目錄 去哪兒 文件夾 刪除文件 結束 命名 什麽 用了十多年windows,終於換了個高配Mac,俗話說 無論前端還是後端最終還是走向了linux,無論是換了多少臺PC最終都會走向Mac。不學習命令行用什麽Mac? 幹就完了~ pwd 顯示現在的

Linux實用操作命令不斷更新

多使用多練習和操作就能不斷更加熟練Linux的東西。加油,小胖。 第一部分 基礎命令操作 1.複製指定目錄下所有的檔案到另一個目錄中 比如要把/home/usera拷貝到/mnt/temp, 採用cp -R /home/usera/. /mnt/temp 2.重新命名檔案或資料夾 m

Linux常用操作命令持續更新

1、Linux防火牆iptables的關閉與啟動 1) 重啟後生效 開啟: chkconfig iptables on 關閉: chkconfig iptables off 2) 即時生效,

Linux相關操作命令持續更新

1、刪除某一目錄下的所有檔案及資料夾,但是剔除某一特定檔案或者資料夾 find . -maxdepth 1 ! -name 特定檔案(夾)名 -exec rm -rf {} \; 2、查詢某一目錄佔用的磁碟空間 du -sh PATH

Redis系列學習客戶端操作命令基於Centos7

1. Redis命令 Redis命令用於在redis伺服器上執行某些操作。要在Redis伺服器上執行的命令,需要一個Redis客戶端。 1.1 語法 Redis客戶端的基本語法如下: # src/redis-cli 遠端伺服器上執行命令

Linux命令十一——Shell程序設計二循環控制語句

變量 while語句 邏輯 邏輯操作符 字符 內容 循環控制 bre case語句 1.if語句 (1)兩路分支的if語句 (2)多路條件判斷分支的if語句 2.測試語句 (1)文件測試 (2)字符串測試 (3)數值測試 (4)用邏輯操作符進行組合的測試語句 3.case語

基本命令操作1java編譯

命令行操作 tps 變量 令行 .com .html 否則 註意 設置環境變量 1.  設置環境變量,具體:https://www.cnblogs.com/shinge/p/5500002.html   “cd + 文件名” 可進入指定文件,“cd..” 可返回上一級文件夾

Linux中常用操作命令

備份 並不會 使用方法 nts 系統 版本 不定 vim常用 相同 1、cd命令 這是一個非常基本,也是大家經常需要使用的命令,它用於切換當前目錄,它的參數是要切換到的目錄的路徑,可以是絕對路徑,也可以是相對路徑。如: [plain] view plain

Linux常用命令系列——文件和目錄操作命令ls

4.3 data 字段 符號鏈接 功能 數值 sdp 用戶 不同 文章目錄: 1.語法 2.選項 3.參數 4.實例 5.ls -F命令的擴展知識 6.ls 命令輸出內容的屬性 ls命令 ls(可以理解為list的縮寫)

《Linux學習並不難》Linux常用操作命令10:cal命令顯示日歷信息

Linux cal 日歷 8.10 《Linux學習並不難》Linux常用操作命令(10):cal命令顯示日歷信息 使用cal命令可以顯示計算機系統的日歷。 命令語法: cal [選項] [[[日] 月] 年] 命令中各選項的含義如表所示。 選項 選項含義 -j顯示

《Linux學習並不難》Linux常用操作命令6:uname命令顯示計算機和系統相關信息

Linux8.6 《Linux學習並不難》Linux常用操作命令(6):uname命令顯示計算機和系統相關信息 使用uname命令可以顯示計算機以及操作系統的相關信息,比如計算機硬件架構、內核發行號、操作系統名稱、計算機主機名等。 命令語法: uname [選項] 命令中各選項的

Linux常用操作命令7:date命令顯示或設置系統日期和時間

Linux 日期 date 8.7 《Linux學習並不難》Linux常用操作命令(7):date命令顯示或設置系統日期和時間 使用date命令可以顯示和設置計算機系統的日期和時間。只有超級用戶才有權限使用date命令設置 日期和時間,而一般用戶只能使用date命令顯示日期和時間。

《Linux學習並不難》Linux常用操作命令13:uptime命令顯示系統已經運行的時間

Linux uptime 8.13 《Linux學習並不難》Linux常用操作命令(13):uptime命令顯示系統已經運行的時間使用uptime命令可以顯示系統已經運行了多長時間,它依次顯示下列信息:現在時間、系統已經運行了多長時間、目前有多少登錄用戶、系統在過去的1分鐘、5分鐘和15分鐘內的平均

《Linux學習並不難》Linux常用操作命令1: cat命令顯示文本文件內容

Linux cat 8.1 《Linux學習並不難》Linux常用操作命令(1): cat命令顯示文本文件內容使用cat命令可以顯示文本文件的內容,也可以把幾個文件內容附加到另一個文件中。如果沒有指定文件,或者文件為“-”,那麽就從標準輸入讀取。命令語法:cat [選項] [文件]命令中各選項的含義

談談對Spring IOC控制反轉理解

學習過Spring框架的人一定都會聽過Spring的IoC(控制反轉) 、DI(依賴注入)這兩個概念,對於初學Spring的人來說,總覺得IoC 、DI這兩個概念是模糊不清的,是很難理解的,今天和大家分享網上的一些技術大牛們對Spring框架的IOC的理解以及談談我對Spring Ioc的理解。

Linux操作命令

本次實驗將介紹 Linux 命令中 mkdir、rm、mv、cp、cat、nl 命令的用法。  1.mkdir mkdir命令用來建立指定名稱的目錄,要求建立目錄的使用者在當前目錄中具有寫許可權,並且指定的目錄名不能是當前目錄中已有的目錄。 mkdir是make directory的縮寫。

Linux操作命令

重復 技術分享 href alt src 分頁顯示 continue img 搜索 本次實驗將介紹 Linux 命令中 more、less、head、tail 命令的用法。 more less head tail 1.more   ·mo

Linux操作命令

路徑 文本模式 反向 一個 linux 電話 影響 搜索 表示法 本次實驗將介紹 Linux 命令中 wc 和 grep 命令的用法。 wc grep 1.wc wc命令是一個統計的工具,主要用來顯示文件所包含的行、字和字節數。 wc命令是word co