




已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
43 指令和數(shù)據(jù)的尋址方式,操作數(shù)或指令在存儲器中的地址:某個操作數(shù)或某條指令存放在某個存儲單元時其存儲單元的編號。 在存儲器中,操作數(shù)或指令寫入或讀出的方式,有三種:地址指定方式、相聯(lián)存儲方式和 堆棧存儲方式。 當采用地址指定方式時,形成操作數(shù)或指令地址的方式,稱為尋址方式。尋址方式分為兩類,即指令尋址方式和數(shù)據(jù)尋址方式。 指令的尋址方式有兩種,一種是順序?qū)ぶ贩绞?,另一種是跳躍尋址方式。 4.3.1 指令的尋址方式 1. 順序?qū)ぶ贩绞?指令地址在內(nèi)存中按順序安排,當執(zhí)行一段程序時,通常是一條指令接一條指令的順序執(zhí)行。 為此,必須使用程序計數(shù)器(又稱指令指針寄存器)PC來計數(shù)指令的順序號,該順序號就是指令在內(nèi)存中的地址。 2. 跳躍尋址方式 當程序轉(zhuǎn)移執(zhí)行的順序時,指令的尋址就采取跳躍尋址方式。所謂跳躍,是指下條指令的地址碼不是由程序計數(shù)器給出,而是由本條指令給出。程序跳躍后,按新的指令地址開始順序執(zhí)行。,4.3.2 操作數(shù)尋址方式,所謂操作數(shù)的尋址方式,就是形成操作數(shù)的有效地址的方法。 例如,一種單地址指令的結(jié)構(gòu)如下所示,其中用X,I,D各字段組成該指令的操作數(shù)地址。 操作碼OP 變址X 間址I 形式地址D 指令中操作數(shù)字段的地址碼是由形式地址和尋址方式特征位等組合形成,因此,一般來說,指令中所給出的地址碼,并不是操作數(shù)的有效地址。 因此,尋址過程就是把操作數(shù)的形式地址,變換為操作數(shù)的有效地址的過程。 1. 隱含尋址 在指令中不明顯的給出而是隱含著操作數(shù)的地址。例如,單地址的指令格式,沒有在地址字段中指明第二操作數(shù)地址,而是規(guī)定累加寄存器AC作為第二操作數(shù)地址,AC對單地址指令格式來說是隱含地址。 2. 立即尋址 指令的地址字段指出的不是操作數(shù)的地址,而是操作數(shù)本身。這種方式的特點是指令執(zhí)行時間很短,不需要訪問內(nèi)存取數(shù)。 例如:單地址的移位指令格式為 OP(移位) F D 這里D不是地址,而是一個操作數(shù)。F為標志位,當F1,操作數(shù)進行右移;當F0時,操作數(shù)進行左移。,432 操作數(shù)尋址方式,直接尋址:是一種基本的尋址方法,其特點是:在指令格式的地址字段中直接指出操作數(shù)在內(nèi)存的地址D。 采用直接尋址方式時,指令字中的形式地址D就是操作數(shù)的有效地址E,既ED。因此通常把形式地址D又稱為直接地址。此時,由尋址模式給予指示。 如果用S表示操作數(shù),那么直接尋址的邏輯表達式為 S(E)(D) 間接尋址:是相對于直接尋址而言的,在間接尋址的情況下,指令地址字段中的形式地址D不是操作數(shù)的真正地址,而是操作數(shù)地址的指示器,或者說D單元的內(nèi)容才是操作數(shù)的有效地址。 如果把直接尋址和間接尋址結(jié)合起來,指令有如下形式: 操作碼 I D 尋址特征位I0,表示直接尋址,這時有效地址ED;I1,表示間接尋址,這時有效地址E(D)。 間接尋址方式是早期計算機中經(jīng)常采用的方式,但由于兩次訪存,影響指令執(zhí)行速度,現(xiàn)在已不大使用。,432 操作數(shù)尋址方式,寄存器尋址方式和寄存器間接尋址方式:當操作數(shù)不放在內(nèi)存中,而是放在CPU的通用寄存器中時,可采用寄存器尋址方式。此時指令中給出的 操作數(shù)地址不是內(nèi)存的地址單元號,而是通用寄存器的編號。 寄存器尋址方式和寄存器間接尋址方式的區(qū)別在于:指令中的寄存器內(nèi)容不是操作數(shù),而是操作數(shù)的地址,該地址指明的操作數(shù)在內(nèi)存中。 相對尋址:是把程序計數(shù)器PC的內(nèi)容加上指令格式中的形式地址D而形成操作數(shù)的有效地址。 程序計數(shù)器的內(nèi)容就是當前指令的地址?!跋鄬Α睂ぶ罚褪窍鄬τ诋斍暗闹噶畹刂范?。 采用相對尋址方式的好處是程序員無須用指令的絕對地址編程,所編程序可以放在內(nèi)存任何地方。 此時形式地址D通常稱為偏移量,其值可正可負,相對于當前指令地址進行浮動。 基址尋址方式:將CPU中基址寄存器的內(nèi)容加上指令格式中的形式地址而形成操作數(shù)的有效地址。 它的優(yōu)點是可以擴大尋址能力。同形式地址相比,基址寄存器的位數(shù)可以設(shè)置得很長,從而可以在較大的存儲空間中尋址。,432 操作數(shù)尋址方式,變址尋址方式:把CPU中某個變值寄存器的內(nèi)容與偏移量D相加來形成操作數(shù)的有效地址。 使用變址尋址方式的目的不在于擴大尋址空間,而在于實現(xiàn)程序塊的規(guī)律性變化。 塊尋址方式:塊尋址方式經(jīng)常用在輸入輸出指令中,以實現(xiàn)外存儲器或外圍設(shè)備同內(nèi)存之間的數(shù)據(jù)塊傳送。塊尋址方式在內(nèi)存中還可用于數(shù)據(jù)塊搬家。 塊尋址時,通常在指令中指出數(shù)據(jù)塊的起始地址(首地址)和數(shù)據(jù)塊的長度(字數(shù)或字節(jié)數(shù))。 如果數(shù)據(jù)塊是變長的,可用三種方法指出它的長度: (1)指令中劃出字段指出長度; (2)指令格式中指出數(shù)據(jù)塊的首地址與末地址; (3)由塊結(jié)束字符指出數(shù)據(jù)塊長度。 操作碼 首地址 標志位 末地址 段尋址方式:微型機中采用了段尋址方式,例如它們可以給定一個20位的地址,從而有1M存儲空間的直接尋址能力。為此將整個1M空間存儲器以64K為單位劃分成若干段。在尋址一個內(nèi)存具體單元時,由一個基地址再加上某些寄存器提供的16位偏移量來形成實際的20位物理地址。這個基地址就是CPU中的段寄存器。,433 尋址方式舉例,PDP/11系列機尋址方式 PDP/11系列機指令字長為16位,雖然指令系統(tǒng)中有單操作數(shù)指令和雙操作數(shù)指令,但操作數(shù)字段即地址部分均由6位二進制構(gòu)成。例如雙操作數(shù)指令為: 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型指令的結(jié)構(gòu)如下所示: 6位 4位 1位 2位 16位 OP -通用寄存器 I X 偏移量D 其中I為間接尋址標志位,X為尋址模式字段,D位偏移量字段。通過I,X,D的組合,可構(gòu)成下表所示的尋址方式。 請寫出六種尋址方式的名稱。 尋址方式 I X 有效地址E算法 說明 (1) 0 00 E=D (2) 0 01 E=(PC)+D PC為程序計數(shù)器 (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為寫數(shù)指令,LDA為讀數(shù)指令。,要求: 分析三種指令的指令格式與尋址方式特點。 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é)省了求有效地址運算的時間開銷。 根據(jù)已知條件:MOV(OP)001010,STA(OP)011011,LDA(OP)111100,將指令的十六進制格式轉(zhuǎn)換成二進制代碼且比較后可知:(F0F1)H (3CD2)H 指令代表LDA指令,編碼正確,其含義是把主存(13CD2)H 地址單元的內(nèi)容取至15號寄存器。 (2856)H 指令代表MOV指令,編碼正確,含義是把6號源寄存器的內(nèi)容傳送至5號目標寄存器。 (6FD6)H 是單字長指令,一定是MOV指令,但編碼錯誤,可改正為(28D6)H (1C2)H 是單字長指令,代表MOV指令,但編碼錯誤,可改正為(28C2)H 。,44 堆棧尋址方式,堆棧是一組能存儲和取出數(shù)據(jù)的暫時存儲單元。 堆棧和其他形式的存儲器之間的差別就在于,它們對數(shù)據(jù)的存取方法或?qū)ぶ贩椒ㄓ兴煌?441 串聯(lián)堆棧 串行堆棧是由CPU當中的一組專門的寄存器構(gòu)成。串行堆棧的最大優(yōu)點是速度快。 442 存儲器堆棧 串行堆棧存的容量有限,為了突破這種限制,使用了存儲器堆棧,其優(yōu)點在于: l 堆棧能夠具有程序員要求的任意長度; l 只要程序員喜歡,愿意建立多少堆棧,就能建立多少堆棧; l 可以用對存儲器尋址的任何一條指令來對堆棧中的數(shù)據(jù)進行尋址。 存儲器堆棧使用CPU中的一個特殊寄存器作為堆棧指示器。 串聯(lián)堆棧和存儲器堆棧的操作方式不同,在串聯(lián)堆棧中,移動的是數(shù)據(jù),而在存儲器堆棧中,移動的是棧頂。這主要和兩種堆棧的速度有關(guān)。 堆棧兩種操作:進棧 、出棧,45 典型指令,451 指令的分類 一個較完善的指令系統(tǒng)應(yīng)當包括數(shù)據(jù)傳送類
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年的苗木購銷合同范本
- 2025梨子購銷合同書范文
- 2025版權(quán)轉(zhuǎn)讓合同協(xié)議書范本
- 全民國家安全教育日十周年P(guān)T增強安全意識維護國家安全課件下載
- 2025員工勞動合同續(xù)簽申請書范文
- 2025保險公司外匯借款合同借款合同
- 2025水泥買賣合同范本水泥買賣合同樣本
- 2025標準商品交易合同范本
- 8.2《做中華傳統(tǒng)美德的踐行者》 課件 2024-2025學年統(tǒng)編版道德與法治七年級下冊
- 2025貸款合同模板
- YY-T 0954-2015 無源外科植入物-I型膠原蛋白植入劑
- 12-2017-2021年陜西中考數(shù)學真題分類匯編之統(tǒng)計與概率
- 膿毒血癥課件
- 2024年時事政治熱點題庫200道含完整答案(必刷)
- 2024年北京亦莊國際投資發(fā)展有限公司招聘筆試沖刺題(帶答案解析)
- 對方當事人送達地址及相關(guān)信息確認書
- 屈光性白內(nèi)障手術(shù)發(fā)展
- 基于物聯(lián)網(wǎng)的智能衣柜
- 醫(yī)院政工查房
- 緩和醫(yī)療-以死觀生的生活智慧智慧樹知到期末考試答案2024年
- 拔河比賽技巧知識講座
評論
0/150
提交評論