指令和指令系統

2021-09-23 13:25:06 字數 2385 閱讀 9223

第一部分,是指令的操作碼。操作碼用於指明本條指令的操作功能,例如,是算術加運算、減運算還是邏輯與、或運算功能,是否是讀、寫記憶體或讀、寫外設操作功能,是否是程式轉移和子程式呼叫或返回操作功能等,計算機需要為每條指令分配乙個確定的操作碼。

第二部分,是指令的運算元位址,用於給出被操作的資訊(指令或資料)的位址,包括參加運算的一或多個運算元所在的位址,運算結果的儲存位址,程式的轉移位址、被呼叫的子程式的入口位址等。

1.操作碼的組織與編碼

(1) 定長的操作碼的組織方案,當前常用的計算機,一般都在指令字的最高位部分分配固定的若干位(定長)用於表示操作碼,例如8位,它有256個編碼狀態,故最多可以表示256條指令

(2) 變長的操作碼的組織方案

(3) 操作碼欄位與運算元位址有所交叉的方案

2.定址方式

(1) 立即數定址

運算元直接給出在指令字中,即指令字中直接給出不再是運算元位址,而是運算元本身。它的主要用法是把乙個確定的資料傳送到乙個通用的暫存器中。當該資料占用的位數較少時(如小的整數、乙個西文字元),第乙個指令字的運算元位址欄位中存放得下,可把該資料安排在第乙個指令字中,則在讀出指令的同時也得到相關資料;否則只能將其存放在指令的第二個指令字中,這就構成了雙字指令。

(2) 直接定址

直接定址是指在指令的運算元位址字段直接給出運算元在儲存器中的位址,這也是計算機中常用的定址方式之一。與立即數定址方式類似的是,當該位址占用的位數較少時,第乙個指令字的運算元位址欄位中存放得下,可把該位址安排在第乙個指令字中,則在讀出指令的同時也得到相關位址。否則只能將其存放在指令的第二個字中,這就構成了雙字指令。

(3) 暫存器定址、暫存器間接定址

暫存器定址,在指令字中直接給出運算元所在的通用暫存器的編號(名字、位址),由於通用暫存器數目較少,表示乙個通用暫存器編號占用的位數就少,有利於縮短指令字的長度;再考慮到從通用暫存器取數參加運算、用通用暫存器臨時儲存運算結果都更迅速方便,故這是最基本最常用的定址方式。

暫存器間接定址,在暫存器中給出的不是乙個運算元,而是運算元位址時,就可以用這一位址去讀寫儲存器,這種用法被稱為暫存器間接定址,這也是最基本最常用的定址方式之一。

(4) 變址定址

變址定址,是指把在指令字中給出的乙個數值(稱為變址偏移量)與指定的乙個暫存器(稱為變址暫存器)的內容相加之和作為運算元的位址,用於讀寫儲存器。它特別適合於處理陣列型資料;有些計算機,更設定了自動對變址暫存器內容增1和減1的操作功能,在讀寫完乙個資料後,使變址定址得到的位址自動指向下乙個資料。與立即數定址類似,依據允許的變址偏移量的大小範圍,使用變址定址的指令可能為單字或雙字、甚至三字指令。

(5) 間接定址

間接定址,是指在指令字的位址字段給出的既不是乙個運算元的位址,也不是下一條指令的位址,而是乙個運算元位址的位址,或一條指令位址的位址。在介紹暫存器定址時,已經說到暫存器間接定址,這是間接定址的乙個例項,比較常用。如果是讀寫儲存器操作,則在指令字的位址字段給出的是乙個運算元的位址在儲存器中的位址,或一條指令的位址在儲存器中的位址。此時讀寫資料需兩次訪問儲存器,速度較慢。若執行多次間接定址才能得到一條指令或乙個資料,系統的執行效率會更低。

指令的執行步驟

從圖上可以看到,組合邏輯控制器是由4個主要部件組成的。

第乙個是程式計數器pc,儲存一條指令在記憶體中的位址,服務於讀取指令,通常有自行增量功能,並可以接收下條要執行指令的位址。

第二個是指令暫存器ir,儲存從記憶體讀來的指令內容,以便提供執行指令的過程中要用到的指令本身的主要資訊。

第三個組成成分,是脈衝源、啟停控制邏輯,節拍發生器;脈衝源和啟停控制邏輯用於向計算機個部件提供連續(單個)的主振脈衝,節拍發生器用於標記出每條指令的各執行步驟的相對次序關係。

第四個組成成分,是時序控制訊號的產生部件,它依據指令內容、指令的執行步驟(時刻),也許還有些別的什麼條件訊號,來形成並提供出計算機各部件當前時刻要用到的控制訊號。這是控制器設計中最費力的乙個組成成分。

指令系統1

指令的一般格式 操作碼 長度固定操作碼 便於硬體設計,指令解碼時間短 長度變化操作碼 採用擴充套件操作碼技術 位址碼 用一些硬體資源 如pc,acc 承擔指令字中需指明的位址碼可在不改變指令字長的前提下擴大指令運算元的直接定址範圍 指令字長 取決於操作碼的長度,運算元位址的長度,運算元位址的個數。不...

指令系統 CISC和RISC

1.什麼是指令系統 指令系統是計算機系統中的軟硬體介面,是計算機 處理器功能的直接表示。我們編寫的各類程式都將由編譯 彙編工具轉換為一條條的機器指令,驅動硬體系統完成算術 邏輯等運算功能。幾十年來,指令系統沒有什麼根本的改變,涉及的內容包括 資料表示 定址技術 實現方式等。總的來說,指令系統告訴我們...

SSE的指令系統

sse的指令系統 sse2和sse的指令系統非常相似,僅僅多了少量額外的浮點運算,64位浮點 整數運算支援 sse比傳統浮點運算要快,因為它使用128位儲存單元。在windows使用 include 在linux下使用 include 1.變數定義和使用 m128 s1 s1.m128 f32 2 ...