![指令和數據的尋址方式.ppt_第1頁](http://file.renrendoc.com/FileRoot1/2019-2/2/1daadc54-65eb-4e53-bab7-837d5fdc4aac/1daadc54-65eb-4e53-bab7-837d5fdc4aac1.gif)
![指令和數據的尋址方式.ppt_第2頁](http://file.renrendoc.com/FileRoot1/2019-2/2/1daadc54-65eb-4e53-bab7-837d5fdc4aac/1daadc54-65eb-4e53-bab7-837d5fdc4aac2.gif)
![指令和數據的尋址方式.ppt_第3頁](http://file.renrendoc.com/FileRoot1/2019-2/2/1daadc54-65eb-4e53-bab7-837d5fdc4aac/1daadc54-65eb-4e53-bab7-837d5fdc4aac3.gif)
![指令和數據的尋址方式.ppt_第4頁](http://file.renrendoc.com/FileRoot1/2019-2/2/1daadc54-65eb-4e53-bab7-837d5fdc4aac/1daadc54-65eb-4e53-bab7-837d5fdc4aac4.gif)
![指令和數據的尋址方式.ppt_第5頁](http://file.renrendoc.com/FileRoot1/2019-2/2/1daadc54-65eb-4e53-bab7-837d5fdc4aac/1daadc54-65eb-4e53-bab7-837d5fdc4aac5.gif)
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
43 指令和數據的尋址方式,操作數或指令在存儲器中的地址:某個操作數或某條指令存放在某個存儲單元時其存儲單元的編號。 在存儲器中,操作數或指令寫入或讀出的方式,有三種:地址指定方式、相聯存儲方式和 堆棧存儲方式。 當采用地址指定方式時,形成操作數或指令地址的方式,稱為尋址方式。尋址方式分為兩類,即指令尋址方式和數據尋址方式。 指令的尋址方式有兩種,一種是順序尋址方式,另一種是跳躍尋址方式。 4.3.1 指令的尋址方式 1. 順序尋址方式 指令地址在內存中按順序安排,當執(zhí)行一段程序時,通常是一條指令接一條指令的順序執(zhí)行。 為此,必須使用程序計數器(又稱指令指針寄存器)PC來計數指令的順序號,該順序號就是指令在內存中的地址。 2. 跳躍尋址方式 當程序轉移執(zhí)行的順序時,指令的尋址就采取跳躍尋址方式。所謂跳躍,是指下條指令的地址碼不是由程序計數器給出,而是由本條指令給出。程序跳躍后,按新的指令地址開始順序執(zhí)行。,4.3.2 操作數尋址方式,所謂操作數的尋址方式,就是形成操作數的有效地址的方法。 例如,一種單地址指令的結構如下所示,其中用X,I,D各字段組成該指令的操作數地址。 操作碼OP 變址X 間址I 形式地址D 指令中操作數字段的地址碼是由形式地址和尋址方式特征位等組合形成,因此,一般來說,指令中所給出的地址碼,并不是操作數的有效地址。 因此,尋址過程就是把操作數的形式地址,變換為操作數的有效地址的過程。 1. 隱含尋址 在指令中不明顯的給出而是隱含著操作數的地址。例如,單地址的指令格式,沒有在地址字段中指明第二操作數地址,而是規(guī)定累加寄存器AC作為第二操作數地址,AC對單地址指令格式來說是隱含地址。 2. 立即尋址 指令的地址字段指出的不是操作數的地址,而是操作數本身。這種方式的特點是指令執(zhí)行時間很短,不需要訪問內存取數。 例如:單地址的移位指令格式為 OP(移位) F D 這里D不是地址,而是一個操作數。F為標志位,當F1,操作數進行右移;當F0時,操作數進行左移。,432 操作數尋址方式,直接尋址:是一種基本的尋址方法,其特點是:在指令格式的地址字段中直接指出操作數在內存的地址D。 采用直接尋址方式時,指令字中的形式地址D就是操作數的有效地址E,既ED。因此通常把形式地址D又稱為直接地址。此時,由尋址模式給予指示。 如果用S表示操作數,那么直接尋址的邏輯表達式為 S(E)(D) 間接尋址:是相對于直接尋址而言的,在間接尋址的情況下,指令地址字段中的形式地址D不是操作數的真正地址,而是操作數地址的指示器,或者說D單元的內容才是操作數的有效地址。 如果把直接尋址和間接尋址結合起來,指令有如下形式: 操作碼 I D 尋址特征位I0,表示直接尋址,這時有效地址ED;I1,表示間接尋址,這時有效地址E(D)。 間接尋址方式是早期計算機中經常采用的方式,但由于兩次訪存,影響指令執(zhí)行速度,現在已不大使用。,432 操作數尋址方式,寄存器尋址方式和寄存器間接尋址方式:當操作數不放在內存中,而是放在CPU的通用寄存器中時,可采用寄存器尋址方式。此時指令中給出的 操作數地址不是內存的地址單元號,而是通用寄存器的編號。 寄存器尋址方式和寄存器間接尋址方式的區(qū)別在于:指令中的寄存器內容不是操作數,而是操作數的地址,該地址指明的操作數在內存中。 相對尋址:是把程序計數器PC的內容加上指令格式中的形式地址D而形成操作數的有效地址。 程序計數器的內容就是當前指令的地址?!跋鄬Α睂ぶ罚褪窍鄬τ诋斍暗闹噶畹刂范?。 采用相對尋址方式的好處是程序員無須用指令的絕對地址編程,所編程序可以放在內存任何地方。 此時形式地址D通常稱為偏移量,其值可正可負,相對于當前指令地址進行浮動。 基址尋址方式:將CPU中基址寄存器的內容加上指令格式中的形式地址而形成操作數的有效地址。 它的優(yōu)點是可以擴大尋址能力。同形式地址相比,基址寄存器的位數可以設置得很長,從而可以在較大的存儲空間中尋址。,432 操作數尋址方式,變址尋址方式:把CPU中某個變值寄存器的內容與偏移量D相加來形成操作數的有效地址。 使用變址尋址方式的目的不在于擴大尋址空間,而在于實現程序塊的規(guī)律性變化。 塊尋址方式:塊尋址方式經常用在輸入輸出指令中,以實現外存儲器或外圍設備同內存之間的數據塊傳送。塊尋址方式在內存中還可用于數據塊搬家。 塊尋址時,通常在指令中指出數據塊的起始地址(首地址)和數據塊的長度(字數或字節(jié)數)。 如果數據塊是變長的,可用三種方法指出它的長度: (1)指令中劃出字段指出長度; (2)指令格式中指出數據塊的首地址與末地址; (3)由塊結束字符指出數據塊長度。 操作碼 首地址 標志位 末地址 段尋址方式:微型機中采用了段尋址方式,例如它們可以給定一個20位的地址,從而有1M存儲空間的直接尋址能力。為此將整個1M空間存儲器以64K為單位劃分成若干段。在尋址一個內存具體單元時,由一個基地址再加上某些寄存器提供的16位偏移量來形成實際的20位物理地址。這個基地址就是CPU中的段寄存器。,433 尋址方式舉例,PDP/11系列機尋址方式 PDP/11系列機指令字長為16位,雖然指令系統(tǒng)中有單操作數指令和雙操作數指令,但操作數字段即地址部分均由6位二進制構成。例如雙操作數指令為: 15 12 11 9 8 7 6 5 4 3 2 1 0 操作碼 尋址方式 寄存器號 尋址方式 寄存器號 | 參閱表4.4PDP/11系列機的尋址方式,其主要特征是采用寄存器尋址 Pentium的尋址方式。 Pentium的外部地址總線寬度是36位,但它也支持32位的物理地址空間。其有效地址的尋址方式共有九種,參見表4.5 Pentium的尋址方式,例3 一種二地址RS型指令的結構如下所示: 6位 4位 1位 2位 16位 OP -通用寄存器 I X 偏移量D 其中I為間接尋址標志位,X為尋址模式字段,D位偏移量字段。通過I,X,D的組合,可構成下表所示的尋址方式。 請寫出六種尋址方式的名稱。 尋址方式 I X 有效地址E算法 說明 (1) 0 00 E=D (2) 0 01 E=(PC)+D PC為程序計數器 (3) 0 10 E=(R2)+D R2為變址寄存器 (4) 1 11 E=(R3) (5) 1 00 E=(D) (6) 0 11 E=(R1)+D R1為基址寄存器 解: 直接尋址 相對尋址 變址尋址 寄存器間接尋址 間接尋址 基址尋址,例4 某16位機器所使用的指令格式和尋址方式如下所示,該機有兩個20位基址寄存器,四個16位變址寄存器,十六個16位通用寄存器,指令匯編格式中的S(源),D(目標)都是通用寄存器,M是主存中的一個單元。三種指令的操作碼分別是MOV(OP)(A)H ,STA(OP)(1B)H ,LDA(OP)(3C)H。MOV是傳送指令,STA為寫數指令,LDA為讀數指令。,要求: 分析三種指令的指令格式與尋址方式特點。 CPU完成哪一種操作所花時間最短?哪一種操作所花時間最長?第二種指令的執(zhí)行時間有時會等于第三種指令的執(zhí)行時間嗎? 下列情況下每個十六進制指令字分別代表什么操作?其中如果有編碼不正確,如何改正才能成為合法指令? (F0F1)H (3CD2)H (2856)H (6FD6)H (1C2)H 解:第一種指令是單字長二地址指令,RR型;第二種指令是雙字長二地址指令,RS型,其中S采用基址尋址或變址尋址,R由源寄存器決定;第三種也是雙字長二地址指令,RS型,其中R由目標寄存器決定,S由20位地址(直接尋址)決定。 處理機完成第一種指令所花時間最短,因為是RR型指令,不需要訪問存儲器。第二種指令所花時間最長,因為是RS型指令,需要訪問存儲器,同時要進行尋址方式的變換運算(基址或變址),,這也需要時間。第二種指令的執(zhí)行時間不會等于第三種指令,因為第三種指令雖然也訪問存儲器,但節(jié)省了求有效地址運算的時間開銷。 根據已知條件:MOV(OP)001010,STA(OP)011011,LDA(OP)111100,將指令的十六進制格式轉換成二進制代碼且比較后可知:(F0F1)H (3CD2)H 指令代表LDA指令,編碼正確,其含義是把主存(13CD2)H 地址單元的內容取至15號寄存器。 (2856)H 指令代表MOV指令,編碼正確,含義是把6號源寄存器的內容傳送至5號目標寄存器。 (6FD6)H 是單字長指令,一定是MOV指令,但編碼錯誤,可改正為(28D6)H (1C2)H 是單字長指令,代表MOV指令,但編碼錯誤,可改正為(28C2)H 。,44 堆棧尋址方式,堆棧是一組能存儲和取出數據的暫時存儲單元。 堆棧和其他形式的存儲器之間的差別就在于,它們對數據的存取方法或尋址方法有所不同。 441 串聯堆棧 串行堆棧是由CPU當中的一組專門的寄存器構成。串行堆棧的最大優(yōu)點是速度快。 442 存儲器堆棧 串行堆棧存的容量有限,為了突破這種限制,使用了存儲器堆棧,其優(yōu)點在于: l 堆棧能夠具有程序員要求的任意長度; l 只要程序員喜歡,愿意建立多少堆棧,就能建立多少堆棧; l 可以用對存儲器尋址的任何一條指令來對堆棧中的數據進行尋址。 存儲器堆棧使用CPU中的一個特殊寄存器作為堆棧指示器。 串聯堆棧和存儲器堆棧的操作方式不同,在串聯堆棧中,移動的是數據,而在存儲器堆棧中,移動的是棧頂。這主要和兩種堆棧的速度有關。 堆棧兩種操作:進棧 、出棧,45 典型指令,451 指令的分類 一個較完善的指令系統(tǒng)應當包括數據傳送類
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度幼兒園兒童安全教育教材及課程開發(fā)協議
- 2025年度城市綜合體物業(yè)管理服務合同協議范本
- 2025年產品質量保證協議文本
- 2025年倉儲場地續(xù)租合同樣本
- 2025年市場擴張戰(zhàn)略策劃咨詢協議
- 市場調研與分析服務框架協議
- 2025年飲料酒項目規(guī)劃申請報告模范
- 2025年中藥材市場分析與采購服務合同
- 2025年滌綸短纖項目規(guī)劃申請報告模范
- 2025年鼻毛修剪器項目規(guī)劃申請報告模稿
- 醫(yī)院感染的中心靜脈導管相關血流感染預防
- 2025版茅臺酒出口業(yè)務代理及銷售合同模板4篇
- 新版《醫(yī)療器械經營質量管理規(guī)范》(2024)培訓試題及答案
- 2025年人教版數學五年級下冊教學計劃(含進度表)
- 2025年初級社會工作者綜合能力全國考試題庫(含答案)
- 復工復產安全培訓考試題
- 手術風險及醫(yī)療意外險告知流程
- 綜合實踐活動六年級下冊 飲料與健康課件 (共16張PPT)
- 《醫(yī)院重點??平ㄔO專項資金管理辦法》
- 最新短視頻運營績效考核表KPI(優(yōu)選.)
- 設備基礎隔振設計探討
評論
0/150
提交評論