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

正文內(nèi)容

[理學(xué)]第5章 指令系統(tǒng)-文庫吧

2024-12-20 17:50 本頁面


【正文】 展到 A2,即從 8位擴(kuò)展到 12位; (3) 15條一地址指令的操作碼由 12位操作碼從111111110000~ 111111111110給出,剩下一個(gè)碼點(diǎn)111111111111用于把操作碼擴(kuò)展到 A3,即從 12位擴(kuò)展到 16位; (4) 16條零地址指令的操作碼由 16位操作碼從1111111111110000~ 1111111111111111給出。 除了這種方法以外,還有其他多種擴(kuò)展方法。在可變長度的指令系統(tǒng)的設(shè)計(jì)中,到底使用何種擴(kuò)展方法有一個(gè)重要的原則,就是使用頻度 (即指令在程序中的出現(xiàn)概率 )高的指令應(yīng)分配短的操作碼;使用頻度低的指令相應(yīng)地分配較長的操作碼。這樣不僅可以有效地縮短操作碼在程序中的平均長度,節(jié)省存儲器空間,而且縮短了經(jīng)常使用的指令的譯碼時(shí)間,因而可以提高程序的運(yùn)行速度。 假如某計(jì)算機(jī)模型有 7條指令 (I1~ I7),它們在程序中出現(xiàn)的概率用 Pi表示,則可考慮表 ,這就是擴(kuò)展操作碼,使用頻率高的指令的操作碼為2位,低的用 4位。這不是壓縮到最小代碼的方案,因?yàn)樵谟?jì)算機(jī)中的操作碼還是希望有一定的規(guī)整性,否則會引起硬件實(shí)現(xiàn)的復(fù)雜化。另外在計(jì)算機(jī)內(nèi)存放的指令長度一般是字節(jié)的整數(shù)倍,所以操作碼與地址碼兩部分長度之和是字節(jié)的整數(shù)倍。在考慮操作碼長度時(shí)還應(yīng)考慮地址碼的要求。 表 指令出現(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 由此可見,操作碼擴(kuò)展技術(shù)是一種重要的指令優(yōu)化技術(shù),它可以縮短指令的平均長度,減少程序的總位數(shù)以及增加指令字所能表示的操作信息。當(dāng)然,擴(kuò)展操作碼比固定操作碼譯碼復(fù)雜,使控制器的設(shè)計(jì)難度增大,且需更多的硬件來支持。 3. 指令字長度 一個(gè)指令字中包含二進(jìn)制代碼的位數(shù) , 稱為指令字長度 。 而機(jī)器字長是指計(jì)算機(jī)能直接處理的二進(jìn)制數(shù)據(jù)的位數(shù) , 與主存單元的位數(shù)一致 , 它決定了計(jì)算機(jī)的運(yùn)算精度 。 它們之間關(guān)系如上:其中 L為指令字長度, N為機(jī)器字長度 ? 使用多字長指令 , 目的在于提供足夠的地址位來解決訪問內(nèi)存任何單元的尋址問題 。 其主要缺點(diǎn)是必須兩次或多次訪問內(nèi)存以取出一整條指令 , 降低了CPU的運(yùn)算速度 , 又占用了更多的存儲空間 。 ? 等長指令字結(jié)構(gòu) :各種指令字長度是相等的 。 這種指令字結(jié)構(gòu)簡單 , 且指令字長度是不變的 。 ? 變長指令字結(jié)構(gòu) :各種指令字長度隨指令功能而異 。結(jié)構(gòu)靈活 , 能充分利用指令程度 , 但指令的控制較復(fù)雜 。 為了便于處理字符數(shù)據(jù)和盡可能地充分利用存儲空間,一般機(jī)器的字長都是字節(jié)長度 (即 8位 )的 1, 2,4或 8倍,也就是 8, 16, 32或 64位。 指令的長度主要取決于操作碼的長度、操作數(shù)地址的長度和操作數(shù)地址的個(gè)數(shù)。各指令的長度不是固定的,但也不是任意的。為了充分地利用存儲空間,指令的長度通常為字節(jié)的整數(shù)倍。 指令的長度與機(jī)器的字長沒有固定的關(guān)系,它既可以小于或等于機(jī)器的字長,也可以大于機(jī)器的字長。前者稱為短格式指令,后者稱為長格式指令,一條指令存放在地址連續(xù)的存儲單元中。在同一臺計(jì)算機(jī)中可能既有短格式指令又有長格式指令,但通常是把最常用的指令 (如算術(shù)邏輯運(yùn)算指令、數(shù)據(jù)傳送指令 )設(shè)計(jì)成短格式指令,以便節(jié)省存儲空間和提高指令的執(zhí)行速度。 數(shù)據(jù)表示 在計(jì)算機(jī)中的基本數(shù)據(jù)有邏輯 (布爾 )數(shù)、定點(diǎn)數(shù) (整數(shù) )、浮點(diǎn)數(shù) (實(shí)數(shù) )、十進(jìn)制數(shù)、字符串、數(shù)組等。對這些數(shù)據(jù)的運(yùn)算可以設(shè)置專門的指令;也可以僅設(shè)置最簡單的算術(shù)邏輯運(yùn)算指令,而通過程序的執(zhí)行實(shí)現(xiàn)其他類型數(shù)據(jù)的處理,但后者的速度下降很多。在機(jī)器中若設(shè)置能直接對矩陣向量數(shù)據(jù) (數(shù)組 )進(jìn)行運(yùn)算的指令及硬件,可以大大提高對向量、數(shù)組的處理速度,這一般在巨型機(jī)中才采用。 圖 存儲器中數(shù)據(jù)的存放 (舉例 ) 目前計(jì)算機(jī)所用數(shù)據(jù)字長一般為 32位。存儲器的地址,一般按字節(jié)表示。計(jì)算機(jī)的指令系統(tǒng)可支持對字節(jié)、半字、字、雙字的運(yùn)算,有些計(jì)算機(jī)有位處理指令。為便于硬件實(shí)現(xiàn),一般要求多字節(jié)數(shù)據(jù)對準(zhǔn)邊界,如圖 (a)所示 。圖 字?jǐn)?shù)據(jù)的兩種字節(jié)次序: (1) 低字節(jié)為低地址,如圖 (a)所示; (2) 高字節(jié)為低地址,如圖 (b)所示。 圖 兩種字節(jié)次序 尋址方式 一、尋址方式的設(shè)計(jì) 目的 (1)豐富程序設(shè)計(jì)手段,提高程序質(zhì)量; (2)減少訪問主存的次數(shù),壓縮程序占用的存儲空間。保證指令的地址碼字段盡可能縮短,而訪問的存儲空間盡可能地大。 概念 ( 1)形式地址:指令中直接給出的地址; ( 2)有效地址:操作數(shù)所在的真實(shí)地址; ( 3)尋址方式:從形式地址生成有效地址的各種方式稱為尋址方式。 尋址方式 尋址方式選用的依據(jù) ( 1)要與數(shù)據(jù)的表示方式相配合,對各種結(jié)構(gòu)的數(shù)據(jù)能方便地進(jìn)行存取和處理; ( 2)要與指令系統(tǒng)相匹配,依據(jù)對機(jī)器性能要求的高低來考慮選擇; ( 3)還要考慮硬件實(shí)現(xiàn)的可能性與復(fù)雜程度,成本高低,設(shè)備與價(jià)格增加的合理性。 區(qū)分尋址方式的方法 ( 1) 在指令中劃出一個(gè)字段,用二進(jìn)制編碼來標(biāo)志所采用的類型,此編碼稱尋址方式碼; ( 2)使用隱含尋址方式,用操作碼隱含尋址方式。 1. 直接尋址 指令的地址碼部分給出操作數(shù)在存儲器中的地址,圖 (a)僅給出一個(gè)操作數(shù)地址;當(dāng)有多個(gè)地址時(shí),情況類似,不再重復(fù),該指令的尋址方式由操作碼表示。圖 (b)增加了一個(gè)尋址方式字段 M。 2. 寄存器尋址 計(jì)算機(jī)的中央處理器一般設(shè)置有一定數(shù)量的通用寄存器,用以存放操作數(shù)、操作數(shù)的地址或中間結(jié)果。假如指令地址碼部分給出某一通用寄存器地址,而且所需的操作數(shù)就在這一寄存器中,則稱為寄存器尋址。 圖 直接尋址方式 3. 基址尋址 在計(jì)算機(jī)中設(shè)置一個(gè)專用的基址寄存器,或由指令指定一個(gè)通用寄存器為基址寄存器。操作數(shù)的地址由基址寄存器的內(nèi)容和指令的地址碼 A相加得到,如圖 。 基址寄存器主要用于為程序或數(shù)據(jù)分配存儲區(qū),對多道程序或浮動程序很有用,實(shí)現(xiàn)從浮動程序的邏輯地址 (編寫程序時(shí)所使用的地址 )到存儲器的物理地址 (程序在存儲器中的實(shí)際地址,有時(shí)稱為有效地址 )的轉(zhuǎn)換。 圖 基址尋址過程 4. 變址尋址 變址尋址的過程如圖 。 圖 變址尋址過程 5. 間接尋址 在尋址時(shí),有時(shí)根據(jù)指令的地址碼所取出的內(nèi)容既不是操作數(shù),也不是下一條要執(zhí)行的指令,而是操作數(shù)的地址或指令的地址,這種方式稱為間接尋址或間址。根據(jù)地址碼指的是寄存器地址還是存儲器地址,間接尋址又可分為寄存器間接尋址和存儲器間接尋址兩種方式。間接尋址有一次間址和多次間址兩種情況,大多數(shù)計(jì)算機(jī)只允許一次間址。對于存儲器一次間址情況,需訪問兩次存儲器才能取得數(shù)據(jù),第一次從存儲器讀出操作數(shù)地址,第二次讀出操作數(shù)。 圖 (a)和圖 (b)分別為寄存器間址與存儲器間址的操作數(shù)尋址過程。 圖 間址尋址過程 圖 Jump為例,來說明在直接尋址和間接尋址方式下如何確定下一條要執(zhí)行的指令的地址。 圖 確定 Jump指令的轉(zhuǎn)移地址 6. 相對尋址 把程序計(jì)數(shù)器 PC的內(nèi)容 (即當(dāng)前執(zhí)行指令的地址 )與指令的地址碼部分給出的位移量 (disp)之和作為操作數(shù)的地址或轉(zhuǎn)移地址,稱為相對尋址。主要用于轉(zhuǎn)移指令,執(zhí)行本條指令后,將轉(zhuǎn)移到 (PC)+disp,(PC)為程序計(jì)數(shù)器的內(nèi)容。相對尋址有兩個(gè)特點(diǎn): (1) 轉(zhuǎn)移地址不是固定的,它隨著 PC值的變化而變化,并且總是與 PC相差一個(gè)固定值 disp,因此無論程序裝入存儲器的任何地方,均能正確運(yùn)行,對浮動程序很適用。 (2) 位移量可正、可負(fù),通常用補(bǔ)碼表示。如果位移量為 n位,則這種方式的尋址范圍在 (PC)2(n1)到(PC)+2(n1)1之間。 計(jì)算機(jī)的程序和數(shù)據(jù)一般是分開存放的,程序區(qū)在程序執(zhí)行過程中不允許修改。在程序與數(shù)據(jù)分區(qū)存放的情況下,不用相對尋址方式來確定操作數(shù)地址。 7. 立即數(shù) 所需的操作數(shù)由指令的地址碼部分直接給出,就稱為立即數(shù) (或直接數(shù) )尋址方式。這種方式的特點(diǎn)是取指時(shí),操作碼和一個(gè)操作數(shù)同時(shí)被取出,不必再次訪問存儲器,提高了指令的執(zhí)行速度。但是由于這一操作數(shù)是指令的一部分,不能修改,而一般情況下,指令所處理的數(shù)據(jù)都是在不斷變化的 (如上條指令的執(zhí)行結(jié)果作為下條指令的操作數(shù) ),故這種方式只能適用于操作數(shù)固定的情況。通常用于給某一寄存器或存儲器單元賦初值或提供一個(gè)常數(shù)等。 8. 堆棧尋址 見 。 以上這些尋址方式,在計(jì)算機(jī)中可以組合使用,例如在一
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1