溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

計(jì)算機(jī)中應(yīng)用程序指令可以分為哪幾類

發(fā)布時(shí)間:2021-02-08 13:57:11 來(lái)源:億速云 閱讀:1535 作者:小新 欄目:互聯(lián)網(wǎng)科技

這篇文章給大家分享的是有關(guān)計(jì)算機(jī)中應(yīng)用程序指令可以分為哪幾類的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。

應(yīng)用程序的指令可以分為中央處理器即CPU的指令集以及用于向操作系統(tǒng)請(qǐng)求特定的服務(wù)這兩類;中央處理器操作指令的處理流程大概分為取指、譯碼、執(zhí)行、訪存、寫(xiě)回和更新PC。

理論上說(shuō),應(yīng)用程序里的指令可以分成中央處理器(CPU)的指令集以及用于向操作系統(tǒng)請(qǐng)求特定的服務(wù)這兩類。

中央處理器(CPU,Central Processing Unit)是一塊超大規(guī)模的集成電路,是一臺(tái)計(jì)算機(jī)的運(yùn)算核心(Core)和控制核心( Control Unit)。它的功能主要是解釋計(jì)算機(jī)指令以及處理計(jì)算機(jī)軟件中的數(shù)據(jù)。

中央處理器主要包括運(yùn)算器(算術(shù)邏輯運(yùn)算單元,ALU,Arithmetic Logic Unit)和高速緩沖存儲(chǔ)器(Cache)及實(shí)現(xiàn)它們之間聯(lián)系的數(shù)據(jù)(Data)、控制及狀態(tài)的總線(Bus)。它與內(nèi)部存儲(chǔ)器(Memory)和輸入/輸出(I/O)設(shè)備合稱為電子計(jì)算機(jī)三大核心部件。

CPU操作指令的處理流程大概分為:取指、譯碼、執(zhí)行、訪存、寫(xiě)回等幾步。每條指令需要1~6個(gè)字節(jié)不等,這取決于需要哪些字段。每條指令的第一個(gè)字節(jié)表明指令的類型:高4位是代碼部分(例:6為整數(shù)類操作指令),低4位是功能部分(例:1為整數(shù)類中的減法指令) 61合起來(lái)即為sub指令。

處理指令流程

指令集的一個(gè)重要性質(zhì)就是字節(jié)編碼必須有唯一的解釋。任意一個(gè)字節(jié)序列要么是一個(gè)唯一的指令序列的編碼,要么就不是一個(gè)合法的字節(jié)序列。因?yàn)槊織l指令的第一個(gè)字節(jié)有唯一的代碼和功能組合,給定這個(gè)字節(jié),我們就可以決定所有其他附加字節(jié)的長(zhǎng)度和含義。

每條指令需要1~6個(gè)字節(jié)不等,這取決于需要哪些字段。每條指令的第一個(gè)字節(jié)表明指令的類型:高4位是代碼部分(例:6為整數(shù)類操作指令),低4位是功能部分(例:1為整數(shù)類中的減法指令) 61合起來(lái)即為sub指令。

下面是處理每條指令的流程圖:

取指(fetch)

取值階段從存儲(chǔ)器讀取指令字節(jié),放到指令存儲(chǔ)器(CPU中)中,地址為程序計(jì)數(shù)器(PC)的值。它按順序的方式計(jì)算當(dāng)前指令的下一條指令的地址(即PC的值加上已取出指令的長(zhǎng)度)。

譯碼(decode)

ALU從寄存器文件(通用寄存器的集合)讀入最多兩個(gè)操作數(shù)。(即一次最多讀取兩個(gè)寄存器中的內(nèi)容)

執(zhí)行(execute)

在執(zhí)行階段會(huì)根據(jù)指令的類型,將算數(shù)/邏輯單元(ALU)用于不同的目的。對(duì)其他指令,它會(huì)作為一個(gè)加法器來(lái)計(jì)算增加或減少棧指針,或者計(jì)算有效地址,或者只是簡(jiǎn)單地加0,將一個(gè)輸入傳遞到輸出。

條件碼寄存器(CC)有三個(gè)條件位。ALU負(fù)責(zé)計(jì)算條件碼新值。當(dāng)執(zhí)行一條跳轉(zhuǎn)指令時(shí),會(huì)根據(jù)條件碼和跳轉(zhuǎn)類型來(lái)計(jì)算分支信號(hào)cnd。

訪存(memory)

訪存階段,數(shù)據(jù)存儲(chǔ)器(CPU中)讀出或?qū)懭胍粋€(gè)存儲(chǔ)器字。指令和數(shù)據(jù)存儲(chǔ)器訪問(wèn)的是相同的存儲(chǔ)器位置,但是用于不同的目的。

寫(xiě)回(write back)

寫(xiě)回階段最多可以寫(xiě)兩個(gè)結(jié)果到寄存器文件。寄存器文件有兩個(gè)寫(xiě)端口。端口E用來(lái)寫(xiě)ALU計(jì)算出來(lái)的值,而端口M用來(lái)寫(xiě)從數(shù)據(jù)存儲(chǔ)器中讀出的值。

更新PC(PC update)

根據(jù)指令代碼和分支標(biāo)志,從前幾步得出的信號(hào)值中,選出下一個(gè)PC的值。

感謝各位的閱讀!關(guān)于“計(jì)算機(jī)中應(yīng)用程序指令可以分為哪幾類”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI