當前位置:首頁 » 編程軟體 » 微指令怎麼編譯

微指令怎麼編譯

發布時間: 2022-05-14 05:00:32

❶ 微命令的方法

在計算機中的各個控制門,在任一微周期內,不可能同時被打開,而且大部分是關閉的(相應的控制位為0).所謂微周期,指的是一條微指令所需的執行時間.如果有若干個(一組)微命令,在每次選擇使用它們的微周期內,只有一個微命令起作用,那麼這若干個微命令是互斥的.
例如,向主存儲器發出的讀命令和寫命令是互斥的;又如在ALU部件中,送往ALU兩個輸入端的數據來源往往不是唯一的,而每個輸入端在任一微周期中只能輸入一個數據,因此控制該輸人門的微命令是互斥的.
選出互斥的微命令,並將這些微命令編成一組,成為微指令字的一個欄位,用二進制編碼來表示, 就是欄位直接編譯法.
例如,將7個互斥的微命令編成一組,用三位二進制碼分別表示每個微命令,那麼在微指令中,該欄位就從7位減成3位,縮短了微指令長度.而在微指令寄存器的輸出端,為該欄位增加一個解碼器,該解碼器的輸出即為原來的微命令.
欄位長度與所能表示的微命令數的關系如下:
欄位長度 微命令數
2位 2~3
3位 4~7
4位 8~15
一般每個欄位要留出一個代碼,表示本段不發出任何微命令,因此當欄位長度為3位時,最多隻能表示7個互斥的微命令,通常代碼000表示不發微命令. 欄位間接編譯法是在欄位直接編譯法的基礎上,進一步縮短微指令字長的一種編譯法.
如果在欄位直接編譯法中,還規定一個欄位的某些微命令,要兼由另一欄位中的某些微命令來解釋,稱為欄位間接編譯法.
本方法進一步減少了指令長度,但很可能會削弱微指令的並行控制能力,因此通常只作為直接編譯法的一種輔助手段.
欄位A(3位)的微命令還受欄位B控制,當欄位B發出b1微命令時,欄位A發出a1,1,a1,2,…,a1,7中的一個微命令;而當欄位B發出b2微命令時,欄位A發出a2,1,a2,2,…,a2,7中的一個微命令,僅當A為000時例外,此時什麼控制命令都不產生.
4.常數源欄位E
在微指令中,一般設有一個常數源欄位E就如指令中的直接操作數一樣.E欄位一般僅有幾位,用來給某些部件發送常數,故有時稱為發射欄位.
該常數有時作為操作數送入ALU運算;有時作為計算器初值,用來控制微程序的循環次數等.
當前正在執行的微指令,稱為現行微指令,現行微指令所在的控制存儲器單元的地址稱現行微地址,現行微指令執行完畢後,下一條要執行的微指令稱為後繼微指令,後繼微指令所在的控存單元地址稱為後繼微地址.
所謂微程序流的控制是指當前微指令執行完畢後,怎樣控制產生後繼微指令的微地址.
與程序設計相似,在微程序設計中除了順序執行微程序外還存在轉移功能和微循環程和微子程序等,這將影響下址的形成.
下面介紹幾種常見的產生後繼微指令地址的方法.
(1)以增量方式產生後繼微地址.
在順序執行微指令時,後繼微地址由現行微地址加上一個增量(通常為1)形成的;而在非順序執行時則要產生一個轉移微地址.
機器加電後執行的第一條微指令地址(微程序入口)來自專門的硬體電路,控制實現取令操作,然後由指令操作碼產生後繼微地址.接下去,若順序執行微指令,則將現行微地址主微程序計數器( PC中)+1產生後繼微地址;若遇到轉移類微指令,則由 PC與形成轉移微地址的邏輯電路組合成後繼微地址.
(2)增量與下址欄位結合產生後繼微地址
將微指令的下址欄位分成兩部分:轉移控制欄位BCF和轉移地址欄位BAF,當微程序實現轉移時,將BAF送 PC,否則順序執行下一條微指令( PC+1).
執行微程序條件轉移時,決定轉移與否的硬體條件有好幾種.例如,運算結果為零,溢出,已完成指定的循環次數等.
我們假設有八種轉移情況,定義了八個微命令(BCF取3位),在圖中設置計數器CT用來控制循環次數.如在執行乘(或除)法指令時,經常採用循環執行加,移位(或減,移位)的方法,指令開始執行時,在CT中置循環次數)每執行一次循環,計數器減1,當計數器為零時結束循環.又考慮到執行微子程序時,要保留返回微地址,因此圖中設置了一個返回寄存器RR.

❷ 微指令採用分段直接編譯法,33個微命令分成5組,每組包含的微命令分別是7,3,12,5,6個,則控制欄位需幾

根據公式X=log2(N+1),帶入得3,2,3,2,2之和為12,即需要12位。
X得數取整,不採用四捨五入。

❸ 微指令的格式主要與哪些因素有關後續地址的選取有什麼限制

垂直型微指令。
微指令格式大體分成兩類:水平型微指令和垂直型微指令。
垂直型微指令微指令中設置微操作碼欄位,採用微操作碼編譯法,由微操作碼規定微指令的功能,稱為垂直型微指令。
微指令是指在微程序控制的計算機中,將由同時發出的控制信號所執行的一組微操作。所以微指令就是把同時發出的控制信號的有關信息匯集起來形成的。將一條指令分成若干條微指令,按次序執行就可以實現指令的功能。若干條微指令可以構回成一個微程序,而一個微程序就對應了一條機器指令。因此,一條機器指令的功能是若干條微指令組成的序列來實現的。簡言之,一條機器指令所完成的操作分成若答干條微指令來完成,由微指令進行解釋和執行。微指令的編譯方法是決定微指令格式的主要因素。

❹ 微指令的編譯方法有哪些

直接編碼(直接控制)方式、欄位直接編碼方式、欄位間接編碼方式、混合編碼、其他(常數欄位)。特點:直接編碼速度快,但控存容量極大;欄位直接編碼縮短了微指令的長度,但是增加了解碼電路。

微指令是指在機器的一個CPU周期中,一組實現一定操作功能的微命令的組合,描述微操作的語句。微命令是指控制部件通過控制線向執行部件發出各種控制命令。操作微指令是描述受控電路的操作語句 , 分支微指令是描述控制電路的分支語句。

一條機器指令的功能是若干條微指令組成的序列來實現的,即一條機器指令所完成的操作分成若干條微指令來完成,由微指令進行解釋和執行,這個微指令序列通常叫做微程序。

微指令的編譯方法是決定微指令格式的主要因素。考慮到速度,成本等原因,在設計計算機時採用不同的編譯法 。因此微指令的格式大體分成兩類:水平型微指令和垂直型微指令。

❺ 簡述什麼是微指令

在微程序控制的計算機中,將由同時發出的控制信號所執行的一組微操作稱為微指令。所以微指令就是把同時發出的控制信號的有關信息匯集起來形成的。將一條指令分成若干條微指令,按次序執行就可以實現指令的功能。若干條微指令可以構成一個微程序,而一個微程序就對應了一條機器指令。因此,一條機器指令的功能是若干條微指令組成的序列來實現的。簡言之,一條機器指令所完成的操作分成若干條微指令來完成,由微指令進行解釋和執行。微指令的編譯方法是決定微指令格式的主要因素。微指令格式大體分成兩類:水平型微指令和垂直型微指令。

❻ 微指令的格式可分為水平型微指令和什麼

垂直型微指令。

微指令格式大體分成兩類:水平型微指令和垂直型微指令。

垂直型微指令微指令中設置微操作碼欄位,採用微操作碼編譯法,由微操作碼規定微指令的功能,稱為垂直型微指令。

微指令是指在微程序控制的計算機中,將由同時發出的控制信號所執行的一組微操作。所以微指令就是把同時發出的控制信號的有關信息匯集起來形成的。將一條指令分成若干條微指令,按次序執行就可以實現指令的功能。若干條微指令可以構成一個微程序,而一個微程序就對應了一條機器指令。因此,一條機器指令的功能是若干條微指令組成的序列來實現的。簡言之,一條機器指令所完成的操作分成若干條微指令來完成,由微指令進行解釋和執行。微指令的編譯方法是決定微指令格式的主要因素。

❼ 微指令的垂直型微指令

微指令中設置微操作碼欄位,採用微操作碼編譯法,由微操作碼規定微指令的功能,稱為垂直型微指令。
垂直型微指令的結構類似於機器指令的結構.它有操作碼,在一條微指令中只有l-2個微操作命令,每條微指令的功能簡單,因此,實現一條機器指令的微程序要比水平型微指令編寫的微程序長得多 .它是採用較長的微程序結構去換取較短的微指令結構。

❽ 微指令的操作控制有幾種編碼方式

共5種:直接編碼(直接控制)方式、欄位直接編碼方式、欄位間接編碼方式、混合編碼、其他(常數欄位)。特點:直接編碼速度快,但控存容量極大;欄位直接編碼縮短了微指令的長度,但是增加了解碼電路,使執行速度減慢;欄位間接編碼進一步縮短指令字長,但削弱了微指令的並行控制能力;混合編碼綜合考慮微指令的字長、靈活性、執行速度等方面的要求;常數欄位用來提供常數、計數器初值等。照《計算機組成原理》手打的,求分分。樓上的是I/O設備控制方式,答非所問了。

❾ 學計算機多年的困惑......

計算機是分層抽象的,你應該學過編譯原理和匯編語言吧!

最底層的硬體只能識別機器語言,也就是010001010……

人們為了好記,設計一種助記符,如ADD A,B,C代表把A和B相加,結果存到C,機器會把ADD轉換成01101這樣的指令,這就是匯編語言。

再到最後,人們又閑匯編太麻煩,逐漸發展出了高級語言,像C,C++,JAVA等,像C++中的Cout命令,通過C++編譯器轉換成匯編語言,再通過匯編解釋器轉化成機器語言,得到執行。期間,最重要的就是編譯器,相當一個翻譯的工具,把高級語言翻譯成匯編語言。

其實計算機就是這么一層一層抽象的,都是為了更貼近人類的習慣,找本編譯原理看看就明白了。

補充:cout是C++里的,只能編譯成最基本的匯編語言,例如ADD,load,等等匯編指令,這些指令一般又可以分為微指令,像取地址,寫到寄存器等等微指令。這些微指令分別對應不同的機器編碼,例如011011。

微指令的編譯方法是決定微指令格式的主要因素.考慮到速度,成本等原因,在設計計算機時採用不同的編譯法 .因此微指令的格式大體分成兩類:水平型微指令和垂直型微指令 .
1.水平型微指令
一次能定義並執行多個並行操作微命令的微指令,叫做水平型微指令.例如5.4節中所講的微指令即為水平型微指令 .水平型微指令的一般格式如下:
控制欄位 判別測試欄位 下地址欄位
按照控制欄位的編碼方法不同,水平型微指令又分為三種:一種是全水平型(不譯法)微指令,第二種是欄位解碼法水平型微指令,第三種是直接和解碼相混合的水平型微指令 .

2.垂直型微指令
微指令中設置微操作碼欄位,採用微操作碼編譯法,由微操作碼規定微指令的功能,稱為垂直型微指令 .
垂直型微指令的結構類似於機器指令的結構.它有操作碼,在一條微指令中只有l-2個微操作命令,每條微指令的功能簡單,因此,實現一條機器指令的微程序要比水平型微指令編寫的微程序長得多 .它是採用較長的微程序結構去換取較短的微指令結構.
下面舉4條垂直型微指令的微指令格式加以說明.
設微指令字長為16位,做操作碼3位.
(1)寄存器-寄存器傳送型微指令
15 13 12 8 7 3 2 0
0 0 0 源寄存器編址 目標寄存器編址 其他
其功能是把源寄存器數據送目標寄存器 .13—15位為微操作碼(下同),源寄存器和目標寄存器編址各 5位,可指定31個寄存器.
(2)運算控制型微指令
_____________________________________________________________
其功能是選擇ALU的左,右兩輸入源信息,按ALU欄位所指定的運算功能(8種操作)進行處理,並將結果送入暫存器中.左,右輸入源編址可指定31種信息源之一.�
(3)訪問主存微指令�
_____________________________________________________________
其功能是將主存中一個單元的信息送入寄存器或者將寄存器的數據送往主存.存儲器編址是指按規定的定址方式進行編址.第1,2位指定讀操作或寫操作(取其之一).�
(4)條件轉移微指令�
_____________________________________________________________
其功能是根據測試對象的狀態決定是轉移到D所指定的微地址單元,還是順序執行下一條微指令.9位D欄位不足以表示一個完整的微地址,但可以用來替代現行μPC的低位地址. 測試條件欄位有4位,可規定16種測試條件.
3.水平型微指令與垂直型微指令的比較
(l)水平型微指令並行操作能力強.效率高,靈活性強,垂直型微指令則較差.
在一條水平型微指令中,設置有控制信息傳送通路(門)以及進行所有操作的微命令,因此在進行微程序設計時,可以同時定義比較多的並行操作的微命令,來控制盡可能多的並行信息傳送,從而使水平型微指令具有效率高及靈活性強的優點 .
在一條垂直型微指令中,一般只能完成一個操作,控制一兩個信息傳送通路,因此微指令的並行操作能力低,效率低 .
(2)水平型微指令執行一條指令的時間短,垂直型微指令執行時間長.
因為水平型微指令的並行操作能力強,因此與垂直型微指令相比,可以用較少的微指令數來實現一條指令的功能,從而縮短了指令的執行時間 .而且當執行一條微指令時,水平型微指令的微命令一般直接控制對象,而垂直型微指令要經過解碼也會影響速度 .
(3)由水平型微指令解釋指令的微程序,具有微指令字比較長,但微程序短的特點.垂直型微指令則相反,微指令字比較短而微程序長 .
(4)水平型微指令用戶難以掌握,而垂直型微指令與指令比較相似,相對來說.比較容易掌握 .
水平型微指令與機器指令差別很大,一般需要對機器的結構,數據通路,時序系統以及微命令很精通才能設計 .
5.5.4 動態微程序設計
微程序設計技術有靜態微程序設計和動態微程序設計之分.
1.靜態微程序設計
對應於一台計算機的機器指令只有一組微程序,而且這一組微程序設計好之後,一般無須改變而且也不好改變,這種微程序設計技術稱為靜態微程序設計.
2.動態微程序設計
當採用EPROM作為控制存儲器時,還可以通過改變微指令和微程序來改變機器的指令系統,這種微程序設計技術稱為動態微程序設計.採用動態微程序設計時,微指令和微程序可以根據需要加以改變,因而可在一台機器上實現不同類型的指令系統.這種技術又稱為模擬其他機器指令系統,以便擴大機器的功能.

熱點內容
app什麼情況下找不到伺服器 發布:2025-05-12 15:46:25 瀏覽:713
php跳過if 發布:2025-05-12 15:34:29 瀏覽:466
不定時演算法 發布:2025-05-12 15:30:16 瀏覽:129
c語言延時1ms程序 發布:2025-05-12 15:01:30 瀏覽:163
動物園靈長類動物配置什麼植物 發布:2025-05-12 14:49:59 瀏覽:732
wifi密碼設置什麼好 發布:2025-05-12 14:49:17 瀏覽:147
三位數乘兩位數速演算法 發布:2025-05-12 13:05:48 瀏覽:396
暴風影音緩存在哪裡 發布:2025-05-12 12:42:03 瀏覽:539
access資料庫exe 發布:2025-05-12 12:39:04 瀏覽:627
五開的配置是什麼 發布:2025-05-12 12:36:37 瀏覽:363