freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

[理學(xué)]第5章指令系統(tǒng)-在線瀏覽

2025-02-21 17:50本頁面
  

【正文】 整數(shù)倍。 表 指令出現(xiàn)概率與操作碼長度的選擇 指令 概率 Pi(%) 操作碼 操作碼長度 (位 ) I1 45 00 2 I2 28 01 2 I3 17 10 2 I4 5 1100 4 I5 3 1101 4 I6 1 1110 4 I7 1 1111 4 由此可見,操作碼擴展技術(shù)是一種重要的指令優(yōu)化技術(shù),它可以縮短指令的平均長度,減少程序的總位數(shù)以及增加指令字所能表示的操作信息。 3. 指令字長度 一個指令字中包含二進(jìn)制代碼的位數(shù) , 稱為指令字長度 。 它們之間關(guān)系如上:其中 L為指令字長度, N為機器字長度 ? 使用多字長指令 , 目的在于提供足夠的地址位來解決訪問內(nèi)存任何單元的尋址問題 。 ? 等長指令字結(jié)構(gòu) :各種指令字長度是相等的 。 ? 變長指令字結(jié)構(gòu) :各種指令字長度隨指令功能而異 。 為了便于處理字符數(shù)據(jù)和盡可能地充分利用存儲空間,一般機器的字長都是字節(jié)長度 (即 8位 )的 1, 2,4或 8倍,也就是 8, 16, 32或 64位。各指令的長度不是固定的,但也不是任意的。 指令的長度與機器的字長沒有固定的關(guān)系,它既可以小于或等于機器的字長,也可以大于機器的字長。在同一臺計算機中可能既有短格式指令又有長格式指令,但通常是把最常用的指令 (如算術(shù)邏輯運算指令、數(shù)據(jù)傳送指令 )設(shè)計成短格式指令,以便節(jié)省存儲空間和提高指令的執(zhí)行速度。對這些數(shù)據(jù)的運算可以設(shè)置專門的指令;也可以僅設(shè)置最簡單的算術(shù)邏輯運算指令,而通過程序的執(zhí)行實現(xiàn)其他類型數(shù)據(jù)的處理,但后者的速度下降很多。 圖 存儲器中數(shù)據(jù)的存放 (舉例 ) 目前計算機所用數(shù)據(jù)字長一般為 32位。計算機的指令系統(tǒng)可支持對字節(jié)、半字、字、雙字的運算,有些計算機有位處理指令。圖 字?jǐn)?shù)據(jù)的兩種字節(jié)次序: (1) 低字節(jié)為低地址,如圖 (a)所示; (2) 高字節(jié)為低地址,如圖 (b)所示。保證指令的地址碼字段盡可能縮短,而訪問的存儲空間盡可能地大。 尋址方式 尋址方式選用的依據(jù) ( 1)要與數(shù)據(jù)的表示方式相配合,對各種結(jié)構(gòu)的數(shù)據(jù)能方便地進(jìn)行存取和處理; ( 2)要與指令系統(tǒng)相匹配,依據(jù)對機器性能要求的高低來考慮選擇; ( 3)還要考慮硬件實現(xiàn)的可能性與復(fù)雜程度,成本高低,設(shè)備與價格增加的合理性。 1. 直接尋址 指令的地址碼部分給出操作數(shù)在存儲器中的地址,圖 (a)僅給出一個操作數(shù)地址;當(dāng)有多個地址時,情況類似,不再重復(fù),該指令的尋址方式由操作碼表示。 2. 寄存器尋址 計算機的中央處理器一般設(shè)置有一定數(shù)量的通用寄存器,用以存放操作數(shù)、操作數(shù)的地址或中間結(jié)果。 圖 直接尋址方式 3. 基址尋址 在計算機中設(shè)置一個專用的基址寄存器,或由指令指定一個通用寄存器為基址寄存器。 基址寄存器主要用于為程序或數(shù)據(jù)分配存儲區(qū),對多道程序或浮動程序很有用,實現(xiàn)從浮動程序的邏輯地址 (編寫程序時所使用的地址 )到存儲器的物理地址 (程序在存儲器中的實際地址,有時稱為有效地址 )的轉(zhuǎn)換。 圖 變址尋址過程 5. 間接尋址 在尋址時,有時根據(jù)指令的地址碼所取出的內(nèi)容既不是操作數(shù),也不是下一條要執(zhí)行的指令,而是操作數(shù)的地址或指令的地址,這種方式稱為間接尋址或間址。間接尋址有一次間址和多次間址兩種情況,大多數(shù)計算機只允許一次間址。 圖 (a)和圖 (b)分別為寄存器間址與存儲器間址的操作數(shù)尋址過程。 圖 確定 Jump指令的轉(zhuǎn)移地址 6. 相對尋址 把程序計數(shù)器 PC的內(nèi)容 (即當(dāng)前執(zhí)行指令的地址 )與指令的地址碼部分給出的位移量 (disp)之和作為操作數(shù)的地址或轉(zhuǎn)移地址,稱為相對尋址。相對尋址有兩個特點: (1) 轉(zhuǎn)移地址不是固定的,它隨著 PC值的變化而變化,并且總是與 PC相差一個固定值 disp,因此無論程序裝入存儲器的任何地方,均能正確運行,對浮動程序很適用。如果位移量為 n位,則這種方式的尋址范圍在 (PC)2(n1)到(PC)+2(n1)1之間。在程序與數(shù)據(jù)分區(qū)存放的情況下,不用相對尋址方式來確定操作數(shù)地址。這種方式的特點是取指時,操作碼和一個操作數(shù)同時被取出,不必再次訪問存儲器,提高了指令的執(zhí)行速度。通常用于給某一寄存器或存儲器單元賦初值或提供一個常數(shù)等。 以上這些尋址方式,在計算機中可以組合使用,例如在一條指令中可以同時實現(xiàn)基址尋址與變址尋址,其有效地址為: 基址寄存器內(nèi)容 +變址寄存器內(nèi)容 +指令地址碼 A 指令類型 指令系統(tǒng)決定了計算機的基本功能,因此指令系統(tǒng)的設(shè)計是計算機系統(tǒng)設(shè)計中的一個核心問題。因此設(shè)計一個合理而又有效的指令系統(tǒng)是至關(guān)重要的,它對機器的性能價格比有很大影響。 指令的分類及功能 1. 算術(shù)邏輯運算指令 一般計算機都具有這類指令。通常根據(jù)算術(shù)運算的結(jié)果置狀態(tài)位,一般有 Z(結(jié)果為 0)、 N(結(jié)果為負(fù) )、 V(結(jié)果溢出 )、 C(產(chǎn)生進(jìn)位或借位 )四個狀態(tài)位。 通常計算機具有對兩個數(shù)進(jìn)行與、或、非 (求反 )、異或 (按位加 )等操作的邏輯運算指令。 2. 移位操作指令 移位操作指令分為算術(shù)移位、邏輯移位和循環(huán)移位三種,可以將操作數(shù)左移或右移若干位,如圖 所示。算術(shù)左移或右移 n位,分別實現(xiàn)對帶符號數(shù)據(jù)乘以 2n或整除以 2n的運算;同樣,邏輯左移或右移 n位,分別實現(xiàn)對無符號數(shù)據(jù)乘以 2n或整除以 2n的運算。因此采用移位指令來實現(xiàn)上述乘法、除法運算可取得較高的速度。某些機器沒有設(shè)置浮點運算指令而用子程序?qū)崿F(xiàn),其速度較低。 4. 十進(jìn)制運算指令 在人機交互作用時,輸入輸出的數(shù)據(jù)都是以十進(jìn)制形式表示的。在不具有十進(jìn)制運算指令的計算機中,首先將十進(jìn)制數(shù)據(jù)轉(zhuǎn)換成二進(jìn)制數(shù),再在機器內(nèi)運算;爾后又轉(zhuǎn)換成十進(jìn)制數(shù)據(jù)輸出。 5. 字符串處理指令 字符串處理指令是一種非數(shù)值處理指令,一般包括字符串傳送、字符串比較、字符串查詢、字符串轉(zhuǎn)換等指令。例如,從 ASCII碼轉(zhuǎn)換成 EBCDIC碼 (擴充的 BCD碼 )。 6. 數(shù)據(jù)傳送指令 這類指令用以實現(xiàn)寄存器與寄存器,寄存器與存儲器單元,存儲器單元與存儲器單元之間的數(shù)據(jù)傳送。數(shù)據(jù)傳送時,數(shù)據(jù)從源地址傳送到目的地址,而源地址中的數(shù)據(jù)保持不變,因此實際上是數(shù)據(jù)復(fù)制。 有些機器設(shè)置了數(shù)據(jù)交換指令,完成源操作數(shù)與目的操作數(shù)互換,實現(xiàn)雙向數(shù)據(jù)傳送。在大多數(shù)情況下,計算機是按順序方式執(zhí)行程序的,但是也經(jīng)常會遇到離開原來的順序轉(zhuǎn)移到另一段程序或循環(huán)執(zhí)行某段程序的情況。 (1) 無條件轉(zhuǎn)移與條件轉(zhuǎn)移 無條件轉(zhuǎn)移指令不受任何條件約束,直接把程序轉(zhuǎn)移到指令所規(guī)定的目的地,在那里繼續(xù)執(zhí)行程序,在本書中以 jump表示無條件轉(zhuǎn)移指令。它先測試根據(jù)處理結(jié)果設(shè)置的條件碼,然后根據(jù)所測試的條件是否滿足來決定是否轉(zhuǎn)移,本書中用branch表示條件轉(zhuǎn)移指令。前者通常在轉(zhuǎn)移指令中先完成比較運算,然后根據(jù)比較的結(jié)果來判斷轉(zhuǎn)移的條件是否成立,如條件為 “ 真 ” 則轉(zhuǎn)移,如條件為“ 假 ” 則順序執(zhí)行下一條指令。 有的計算機還設(shè)置有奇偶標(biāo)志位 P。若采用相對尋址方式,則稱為相對轉(zhuǎn)移,轉(zhuǎn)移地址為當(dāng)前指令地址 (即當(dāng)前 PC的值 )和指令地址碼部分給出的位移量之和,即PC←(PC)+ 位移量;若采用直接尋址方式,則稱為絕對轉(zhuǎn)移,轉(zhuǎn)移地址由指令地址碼部分直接給出,即 PC← 目標(biāo)地址。這種程序段就稱為子程序或過程。需要時,可直接調(diào)用,而不必重新編寫。 call指令與 jump指令、 branch指令的主要差別是需要保留返回地址,也就是說當(dāng)執(zhí)行完被調(diào)用的程序后要回到原調(diào)用程序,繼續(xù)執(zhí)行 call指令的下一條指令。保留寄存器內(nèi)容有兩種方法: ① 由調(diào)用程序保留從被調(diào)用程序返回后要用到的那部分寄存器內(nèi)容,其步驟是先由調(diào)用程序?qū)⒓拇嫫鲀?nèi)容保存在堆棧中,當(dāng)執(zhí)行完被調(diào)用程序,返回到調(diào)用程序后,再從堆棧中取出并恢復(fù)寄存器內(nèi)容。這兩種方法的目的都是為了保證調(diào)用程序繼續(xù)執(zhí)行時寄存器內(nèi)容的正確性。 (3) 陷阱 (trap)與陷阱指令 在計算機運行過程中,有時可能出現(xiàn)電源電壓不穩(wěn)、存儲器校驗出錯、輸入輸出設(shè)備出現(xiàn)故障、用戶使用了未定義的指令或特權(quán)指令等種種意外情況,使得計算機不能正常工作。因此,一旦出現(xiàn)故障,計算機就發(fā)出陷阱信號,并暫停當(dāng)前程序的執(zhí)行 (稱為中斷 ),轉(zhuǎn)入故障處理程序進(jìn)行相應(yīng)的故障處理。 在一般計算機中,陷阱指令作為隱含指令 (即指令系統(tǒng)中不提供的指令,它所完成的功能是隱含的 )不提供給用戶使用,只有在出現(xiàn)故障時,才由 CPU自動產(chǎn)生并執(zhí)行。 8. 堆棧及堆棧操作指令 堆棧 (stack)是由若干個連續(xù)存儲單元組成的先進(jìn)后出(first in last out,簡稱 FILO)存儲區(qū),第一個送入堆棧中的數(shù)據(jù)存放在棧底,最近送入堆棧中的數(shù)據(jù)存放在棧頂。為了表示棧頂?shù)奈恢?,有一個寄存器或存儲器單元用于指出棧頂?shù)牡刂?,這個寄存器或存儲器單元就稱為堆棧指針 (stack pointer,簡稱 S
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1