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

正文內(nèi)容

[計算機硬件及網(wǎng)絡(luò)]計算機組成原理第五章指令體系結(jié)構(gòu)(已修改)

2025-04-26 00:32 本頁面
 

【正文】 第五章 指令系統(tǒng)層 ?指令系統(tǒng)層是硬件和軟件之間的接口 。 ?指令系統(tǒng)層定義了硬件和編譯器之間的接口, 它是一種硬件和編譯器都能理解的語言 。 指令系統(tǒng)層概述 指令系統(tǒng)層的性質(zhì) 指令系統(tǒng)層定義計算機的 存儲模式、 寄存器組織、合法的數(shù)據(jù)類型和指令等信息 。 ISA層的另一個重要特性是 大多數(shù)機器 具有 2個模式:內(nèi)核模式和用戶模式。 所有計算機都把內(nèi)存分成具有連續(xù)地址 的單元 ? 目前單元長度多為 8位 (一個字節(jié)) ? 字節(jié)通常按照 4個一組( 32位)或 8個一組( 64位) 組成字 ,這樣指令就可以按照字對內(nèi)存進(jìn)行管理。 ? 許多體系結(jié)構(gòu) 要求字按照它們的自然邊界對齊 。 大多數(shù)計算機的指令系統(tǒng)層具有單一 的線性地址空間 ? 所有內(nèi)存請求都被串行執(zhí)行(一個操作完成以后再執(zhí)行下一個操作) ? 內(nèi)存不保證操作次序 ? 介于兩者之間的模式 , 硬件自動阻塞特定的內(nèi)存操作(如 RAW和 WAR)。 寄存器 ISA層的寄存器可以粗略地分成 2類: 專用寄存器和通用寄存器。 * 專用寄存器 包括: PC,SP和其他一些有專門用途的寄存器。 * 通用寄存器 用于 保存重要的局部變量和中間計算結(jié)果 ,它們的主要用途是提供快速的手段 來訪問哪些使用頻繁的數(shù)據(jù)(避免訪存) * 標(biāo)志寄存器( PSW): 是一個可以同時在內(nèi)核 狀態(tài)和用戶狀態(tài)下使用的 寄存器 .該 寄存器 保存 CPU需要的各種不同的狀態(tài)位,其 中最重要的是條件碼 。 * N— 當(dāng)結(jié)果是負(fù)數(shù)時設(shè)臵 * Z — 當(dāng)結(jié)果 為零 時設(shè)臵 * V— 當(dāng)結(jié)果產(chǎn)生溢出時設(shè)臵 * C — 當(dāng)結(jié)果產(chǎn)生了最高位進(jìn)位時設(shè)臵 * A— 當(dāng)結(jié)果在第 3位產(chǎn)生進(jìn)位(輔助進(jìn)位)時設(shè)臵 * P — 當(dāng)結(jié)果具有偶校驗時設(shè)臵 ISA層主要的特征是機器指令集,正是這 些指令在控制計算機的運行 。 Pentium 4 指令系統(tǒng)層概述 Pentium 4 有 3種操作模式: 實模式 :所有 8088之后增加的新特性都被 關(guān)閉,這時 Pentium 4 就像一臺簡單的 8088。 如果任何一個程序出錯,整臺計算機就會崩潰。 虛擬 8086模式: 用一種受保護的方式來運 行老的 8088程序。這時,有一個實際 OS在控制 整個計算機。為了運行老的 8088程序, OS會創(chuàng) 建一 個 特殊的獨立的 8088環(huán)境。與實際的 8088不同的是當(dāng)程序崩潰時,計算機不會崩潰 ,而只是通知 OS。 保護模式: Pentium 4才真的是一臺 Pentium 4。 在 保護 模式下,有 4種可用的特權(quán)級別,它 們由 PSW的對應(yīng)位控制。 第 0級相當(dāng)于 其他 計算機的內(nèi)核模式,它可 以完全控制計算機,因而只由 OS使用。 第 3級用于運行用戶程序,它阻塞用戶程 序?qū)δ承┨厥獾年P(guān)鍵指令和控制寄存器的訪問 ,以防止某些惡意的用戶程序搞垮整個計算機。 級別 1和 2很少使用。 Pentium 4具有很大的地址空間, 它的內(nèi) 存分為 16384個段,每個段都從地址 0 2321。 ? 按字節(jié)編址,地址長度 32位 。 ? 字節(jié)順序 小端形式。 The Pentium 4中主要寄存器 Ⅲ 指令系統(tǒng)層概述 ? UltraSPARCⅢ 的內(nèi)存結(jié)構(gòu)簡單而清晰,其 可尋址的地址空間是一個 264字節(jié)的線性數(shù)組 。 ? 默認(rèn)的字節(jié)順序 大端形式,通過 PSW中設(shè)臵一位可以轉(zhuǎn)換成小端形式。 UltraSPARCⅢ 有 2組寄存器: 32個 64位的通用寄存器和 32個浮點寄存器。 UltraSPARC III的通用寄存器 對程序員來說,任何時刻都只能看到 32個R,但 UltraSPARCⅢ 確實有不止 32個通用 R,這種著名的 寄存器窗口 特性 是為了有效地支持過程調(diào)用而設(shè)計的(圖 55) 。它的基本思想是用寄存器模擬棧,也就是說,就像一個棧有多個段一樣,在 UltraSPARC Ⅲ 中確實存在多個寄存器組。在任意時刻都只能精確地看到 32個寄存器。當(dāng)前窗口指針 CWP(current Window Pointer)記錄當(dāng)前使用的寄存器組。 UltraSPARC III寄存器窗口操作 UltraSPARC Ⅲ 體系結(jié)構(gòu)是一個加載 /存 儲體系結(jié)構(gòu)。也就是說,能夠直接訪問存儲 器的唯一操作只有加載( LOAD)和存儲 ( STORE) , 這類指令用于在寄存器和內(nèi)存之 間傳遞數(shù)據(jù)。所有的算術(shù)和邏輯運算指令的 操作數(shù)都應(yīng)該來自寄存器或者由指令本身提 供,所有結(jié)果都必須保存在寄存器中。 8051 指令系統(tǒng)層概述 (a) 8051芯片內(nèi)部存儲器組織 (b) 8051 的主要寄存器 8051的內(nèi)存模式非常簡單 ,具有一個 64KB的程序地址空間和一個 64KB的數(shù)據(jù)地址空間。 8051采用一種與眾不同的方式來處理寄存器。 寄存器有 4組, 但 在任何時刻只有一組是可見的。 PSW中有一個 2位的字段,決定哪個寄存器組當(dāng)前正在使用。 采用多寄存器組實際是為了實現(xiàn)快速的中斷處理 。 8051寄存器的另一特殊的性質(zhì)是它們出現(xiàn)在內(nèi)存空間中 。 位操作 數(shù)據(jù)類型 討論數(shù)據(jù)在計算機內(nèi)部的表示形式,即計算 機硬件能夠直接識別可以被指令系統(tǒng)直接調(diào)用的數(shù) 據(jù) ,包括數(shù)值數(shù)據(jù)和非數(shù)值數(shù)據(jù)兩大類 。 ( 大小、符號和小數(shù)點 ) 一、 進(jìn)位計數(shù)制及相互轉(zhuǎn)換 二、 數(shù)的符號表示 真值 :帶正 、 負(fù)號的數(shù)的實際值 , 如+ 3, - 5等 。 機器數(shù) :數(shù)在計算機中的二進(jìn)制表示形式 。 為了適合計算機存儲與處理 , 機器數(shù)通常采用將真值按某種方式進(jìn)行編碼的形式 。 (整數(shù)) 機器數(shù)的所有二進(jìn)位都用來表示數(shù)值,每一位的權(quán)值不同。 例 10111001=1 27+ 1 25+ 1 24+ 1 23+ 1 20=185 表示范圍 : n+ 1位無符號整數(shù)的表示范圍為 0- 2n+ 11。( 8位數(shù), 0— 255) ????? 102niii aA 0-正, 1-負(fù),放在二進(jìn)制數(shù)的最高位( 符號位 ),符號位和數(shù)值位一起編碼:原碼、反碼、補碼、移碼(浮點數(shù)的階碼) 由真值求原碼、補碼、反碼 正數(shù) : 原、反、補相同,都與真值相同 。 負(fù)數(shù): 原碼,負(fù)號用 1表示,數(shù)值部分不變 (注意小數(shù)的符號位在小數(shù)點 的左邊) 反碼,原碼除符號外求反 補碼,原碼除符號外求反加 1(簡便 方法) 例 x= x= x=+1011 x=1011 符號擴展 8位二進(jìn)制整數(shù)表示 1的補碼 [1]補 = 假定十進(jìn)制數(shù)- 66,按補碼形式存放在一 個 8位寄存器中,該寄存器的內(nèi)容用十六進(jìn)制表示為: 13( 12)、假定編譯器規(guī)定 int 和 short類型長度分別為 32位和 16位,執(zhí)行下列 C語言程序 Unsigned short x=65530 Unsigned int y=x 得到 y的機器數(shù)為 A 0000 7FFAH B 0000 FFFAH C FFFF 7FFFAH D FFFF FFFAH 移碼 : 現(xiàn)在計算機中浮點數(shù)的階碼常采用移碼表示。階碼之所以采用移碼表示是因為移碼有兩個重要性質(zhì):一是移碼值增大,對應(yīng)的數(shù)值也大,這樣便于浮點運算時的階碼比較;二是當(dāng)階碼用移碼表示時,浮點數(shù)的機器零和邏輯零表示相同。 例: 20 +22 如果 對每個階碼都加上一個足夠大的正常數(shù),使所有的階碼都轉(zhuǎn)化為正整數(shù),就可消除階碼符號的影響。 移碼定義 : [X]移 = 2n+ X, - 2n≤X≤2n- 1 0 128 255 [x]移 - 128 0 127 x 數(shù)軸上的移碼表示 #機器零 真值 x [x]補 [x]移 十進(jìn)制 二進(jìn)制 二進(jìn)制 十進(jìn)制 - 128 - 127 ┇ 1 0 1 ┇ 127 - 10000000 - 01111111 ┇ - 00000001 00000000 00000001 ┇ 01111111 1,0000000 1,0000001 ┇ 1,1111111 0,0000000 0,0000001 ┇ 0,1111111 00000000 00000001 ┇ 01111111 10000000 10000001 ┇ 11111111 0 1 ┇ 127 128 129 ┇ 255 移碼與真值、補碼的對應(yīng)關(guān)系 ★ 由原碼、補碼、反碼、移碼求真值 正數(shù) 負(fù)數(shù):原碼的符號位 1改用負(fù)號“-”表示 ,數(shù)值部分不變。 反碼,除符號位外求反得到原碼, 再由原碼得出真值。 補碼除符號位外求反加 1得到原碼, 然后由原碼得出真值。 ★移碼: 移碼和補碼除符號位相反 外,其余各位相同。 移碼 補碼 真值 二進(jìn)制數(shù) 表示 無 符號數(shù) 原 碼 補 碼 反 碼 移 碼 00000000 00000001 ︰ 01111111 10000000 10000001 ︰ 11111110 11111111 0 1 ︰ 127 128 129 ︰ 254 255 +0 +1 ︰ +127 0 1 ︰ 126 127 + 0 +1 ︰ +127 128 127 ︰ 2 1 + 0 +1 ︰ +127 127 126 ︰ 1 0 - 128 127 ︰ 1 0 +1 ︰ +126 +127 0的表示: 原碼和反碼有 2種,補碼和移碼只有一種。 12(09),一個 C 語言程序在一臺 32 位機器上運行。程序中定義了三個變量 x,y 和 z,其中 x 和 z為 int 型, y 為 short 型。當(dāng) x = 127,y = 9 時,執(zhí)行賦值語句 z = x+y 后,x,y 和 z 的值分別是 A. x = 0000007FH, y = FFF9H, z = 00000076H B. x = 0000007FH, y = FFF9H, z = FFFF0076H C. x = 0000007FH, y = FFF7H, z = FFFF0076H D. x = 0000007FH, y = FFF7H, z = 00000076H [x]補 0000007FH [Y]補 FFF7H 0000007FH+FFFFFFF7H=00000076H 13(10).假定有 4個整數(shù)用 8位補碼分別表示r1=FEH, r2=F2H, r3=90H, r4=F8H,若將運算結(jié)果存放在一個 8位寄存器中,則下列運算會發(fā)生溢出的是 () x r2 B. r2 x r3 C. r1 x r4 D. r2 x r4 三、數(shù)的小數(shù)點表示 定點數(shù)(整數(shù)) 浮點數(shù) 定點數(shù)的表示范圍 (假設(shè)計算機字長為n+1位) 原碼(反碼):小數(shù) 整數(shù) 補碼(移碼) : 小數(shù)
點擊復(fù)制文檔內(nèi)容
電大資料相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1