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

正文內(nèi)容

計(jì)算機(jī)組成原理--第5章指令系統(tǒng)(編輯修改稿)

2025-02-17 23:34 本頁面
 

【文章內(nèi)容簡(jiǎn)介】 O)存儲(chǔ)區(qū),第一個(gè)送入堆棧中的數(shù)據(jù)存放在棧底,最近送入堆棧中的數(shù)據(jù)存放在棧頂。棧底是固定不變的,而棧頂卻是隨著數(shù)據(jù)的入棧和出棧在不斷變化。為了表示棧頂?shù)奈恢?,有一個(gè)寄存器或存儲(chǔ)器單元用于指出棧頂?shù)牡刂罚@個(gè)寄存器或存儲(chǔ)器單元就稱為堆棧指針 SP(Stack Pointer)。任何堆棧操作只能在棧頂進(jìn)行。 指 令 類 型 壓入指令 PUSH OPR 把 OPR(長(zhǎng)度為兩個(gè)字節(jié) )壓入堆棧 操作是: (SP)2→SP , OPR→(SP) 彈出指令 POP OPR 彈出一個(gè)數(shù)據(jù) (長(zhǎng)度為兩個(gè)字節(jié) )送OPR 操作是: ((SP))→OPR , (SP)+2→SP 由于堆棧具有先進(jìn)后出的性質(zhì),因而在中斷、子程序調(diào)用過程中廣泛用于保存返回地址、狀態(tài)標(biāo)志及現(xiàn)場(chǎng)信息。 堆棧還有一個(gè)重要的作用,就是用于子程序調(diào)用時(shí)參數(shù)的傳遞,特別是在不同語言程序之間相互調(diào)用過程中,使用堆棧來傳遞數(shù)據(jù)更加普遍。 指 令 類 型 9. 輸入 /輸出 (I/O)指令 計(jì)算機(jī)所處理的一切原始數(shù)據(jù)和所執(zhí)行的程序 (除了固化在 ROM中的以外 )均來自外部設(shè)備的輸入,處理結(jié)果需要外部設(shè)備輸出。輸入 /輸出指令的一般格式是OP REG A。其中, OP是操作碼,表示 I/O指令。REG是寄存器名,用于指定與外部設(shè)備交換數(shù)據(jù)的CPU中的某寄存器。 A是外部設(shè)備接口中的寄存器地址或設(shè)備碼,其長(zhǎng)度一般為 8位或 16位,可以表示 256~ 64K個(gè)設(shè)備寄存器 (接口中有 3類寄存器,即輸入數(shù)據(jù)寄存器、輸出數(shù)據(jù)寄存器和控制寄存器 )。輸入指令用于從 A地址所指定的外部設(shè)備寄存器中讀入一個(gè)數(shù)據(jù)到 REG寄存器中;輸出指令剛好相反,把 REG寄存器中的數(shù) 指 令 類 型 據(jù)送到 A地址所指定的外部設(shè)備寄存器中。此外, I/O指令還可用來發(fā)送控制命令和接收回答信號(hào),用以控制外部設(shè)備的工作。 10. 特權(quán)指令 某些指令使用不當(dāng)會(huì)破壞系統(tǒng)或其他用戶信息,因此為了安全起見,這類指令只能用于操作系統(tǒng)或其他系統(tǒng)軟件,而不提供給用戶使用,稱為特權(quán)指令。 11. 其他指令 其他指令包括向量指令、多處理機(jī)指令和控制指令??刂浦噶畎ǖ却噶?,停機(jī)指令,空操作指令,開中斷、關(guān)中斷、置條件碼指令。 指令系統(tǒng)舉例 下面通過幾種類型計(jì)算機(jī)指令系統(tǒng)的介紹來增加認(rèn)識(shí) , 這些計(jì)算機(jī) (或處理器 )是 Sun微系統(tǒng)公司的SPARC90(RISC) 、 IBM 360/370 系列 (CISC) 、PDP 11/VAX 11(CISC) 系列 , Intel 公 司 的Pentium Ⅱ 系列 (基于 RISC的處理器內(nèi)核 )。 指令系統(tǒng)舉例 ? SPARC的指令系統(tǒng) ? IBM大型機(jī)指令系統(tǒng) ? PDP 11與 VAX 11基本指令格式 ? Pentium Ⅱ 的指令系統(tǒng) SPARC的指令系統(tǒng) SPARC指令字長(zhǎng) 32位,有 3種指令格式、 6種指令類型。 1. SPARC的指令類型 1)算術(shù)運(yùn)算 /邏輯運(yùn)算 /移位指令 ? 加法指令 4條: ADD、 ADDCC、 ADDX、ADDXCC。 ? 減法指令 4條: SUB、 SUBCC、 SUBX、 SUBXCC。 ? 檢查標(biāo)記的加法指令 2條: TADDCC、 TADDCCTV。 ? 檢查標(biāo)記的減法指令 2條: TSUBCC、 TSUBCCTV。 ? 邏輯運(yùn)算指令共 12條: AND、 ANDCC、 ANDN、ANDNCC; OR、 ORCC、 ORN、 ORNCC; XOR、XORCC、 XORN、 XORNCC。 SPARC的指令系統(tǒng) ? 移位指令 3條: SLL(邏輯左移 )、 SRL(邏輯右移 )、SRA(算術(shù)右移 )。 ? 其他還有乘法步、 SETHI、 SAVE、 RESTORE等。SAVE和 RESTORE兩條指令分別將現(xiàn)行窗口指針減1和加 1。 ? 現(xiàn)在對(duì) 4條加法指令進(jìn)行說明。以 CC結(jié)尾的加法指令表示除了進(jìn)行加法運(yùn)算以外還要根據(jù)運(yùn)算結(jié)果置狀態(tài)觸發(fā)器 N、 Z、 V、 C; X表示加進(jìn)位信號(hào); XCC表示加進(jìn)位信號(hào)并置 N、 Z、 V、 C。 2)LOAD/STORE指令 ? 取 /存字節(jié) (LDSB/STB)、半字、字、雙字共 20條指令,其中一半是特權(quán)指令。 SPARC的指令系統(tǒng) SPARC結(jié)構(gòu)將存儲(chǔ)器分成若干區(qū),其中有 4個(gè)區(qū)分別為用戶程序區(qū)、用戶數(shù)據(jù)區(qū)、系統(tǒng)程序區(qū)和系統(tǒng)數(shù)據(jù)區(qū)。并規(guī)定在執(zhí)行用戶程序時(shí),只能從用戶程序區(qū)取指令,在用戶數(shù)據(jù)區(qū)存取數(shù)據(jù);而執(zhí)行系統(tǒng)程序時(shí)則可以使用特權(quán)指令訪問任一區(qū)。 ? 另外還有兩條供多處理機(jī)系統(tǒng)使用的數(shù)據(jù)交換指令SWAP和讀后置字節(jié)指令 LDSTUB。 3)控制轉(zhuǎn)移類指令 5條。 4)讀 /寫專用寄存器指令 8條。 以上指令共計(jì) 66條。 5)浮點(diǎn)運(yùn)算指令。 6)協(xié)處理器指令。 SPARC的指令系統(tǒng) 由于 SPARC為整數(shù)運(yùn)算部件 (IU), 所以當(dāng)執(zhí)行浮點(diǎn)運(yùn)算指令或協(xié)處理器指令時(shí) , 將交給浮點(diǎn)運(yùn)算器或協(xié)處理器處理 , 當(dāng)機(jī)器沒有配置這種部件時(shí) , 將通過子程序?qū)崿F(xiàn) 。 2. SPARC的指令格式 3 1 3 0 2 9 0 OP D i s p30 ( 位移量, 30 位 ) 格式 1: CALL指令 格式 2: SETHI指令和 BRANCH指令 OP r d O P 2 i m m 22 ( 立即數(shù) ) 3 1 3 0 2 9 2 8 2 5 2 4 2 2 2 1 0 OP a Con d O P2 D i s p22 ( 位移量 ) SPARC的指令系統(tǒng) 格式 3:其他指令 3 1 3 0 2 9 2 5 2 4 1 9 1 8 14 1 3 1 2 5 4 0 OP r d O P3 r s 1 i as i r s 2 OP r d O P3 r s 1 i Si m m 13 OP r d O P3 r s 1 O P f r s 2 3. 各類指令的功能及尋址方式 下面簡(jiǎn)單介紹第一類至第四類指令。 1)算術(shù)邏輯運(yùn)算指令 功能: (rs1)OP(rs2)→ rd (當(dāng) i=0時(shí) ) (rs1) OP Simm13 → rd (當(dāng) i=1時(shí) ) RISC的特點(diǎn)之一是所有參與算術(shù)邏輯運(yùn)算的數(shù)均在寄存器中。 SPARC的指令系統(tǒng) 2)LOAD/STORE指令 (取數(shù) /存數(shù)指令 ) 功能: LOAD指令將存儲(chǔ)器中的數(shù)據(jù)送往 rd中;STORE指令將 rd的內(nèi)容送往存儲(chǔ)器中。 存儲(chǔ)器地址的計(jì)算 (寄存器間接尋址方式 ):當(dāng) i=0時(shí),存儲(chǔ)器地址 =(rs1)+(rs2);當(dāng) i=1時(shí),存儲(chǔ)器地址 =(rs1)+Simm13。在 RISC中,只有LOAD/STORE指令訪問存儲(chǔ)器。 3)控制轉(zhuǎn)移類指令 控制轉(zhuǎn)移類指令用于改變 PC值, SPARC有以下 5種控制轉(zhuǎn)移指令。 (1)條件轉(zhuǎn)移 (BRANCH):根據(jù)指令中的 Cond字段(條件碼 )決定程序是否轉(zhuǎn)移。轉(zhuǎn)移地址由相對(duì)尋址方式形成。 SPARC的指令系統(tǒng) (2)轉(zhuǎn)移并連接 (JMPL):采用寄存器間址方式形成轉(zhuǎn)移地址,并將本條指令的地址 (即 PC值 )保存在以 rd為地址的寄存器中,以備程序返回時(shí)用。 (3)調(diào)用 (CALL):采用相對(duì)尋址方式形成轉(zhuǎn)移地址。為了擴(kuò)大尋址范圍,本條指令的操作碼只取兩位,位移量有 30位。 (4)陷阱 (TRAP):采用寄存器間址方式形成轉(zhuǎn)移地址。 (5)從 TRAP程序返回 (RETT):采用寄存器間址方式形成返回地址。 4)讀 /寫專用寄存器指令 SPARC有 4個(gè)專用寄存器 (PSR、 Y、 WIM、 TBR),其中 PSR稱為程序狀態(tài)寄存器。 IBM大型機(jī)指令系統(tǒng) 現(xiàn)在簡(jiǎn)單介紹 IBM 360/370的結(jié)構(gòu)及指令系統(tǒng)。IBM 360是 32位機(jī)器,按字節(jié)尋址,支持的數(shù)據(jù)類型有字節(jié)、半字、字、雙字 (雙精度實(shí)數(shù) )、裝配的十進(jìn)制數(shù) (用 4位二進(jìn)制碼表示一個(gè)十進(jìn)制數(shù),一個(gè)字節(jié)放兩個(gè)十進(jìn)制數(shù)字 )和未經(jīng)裝配 (拆卸 )的字符串 (一個(gè)字節(jié)放一個(gè)字符 )。機(jī)內(nèi)有 16個(gè) 32位通用寄存器, 4個(gè)雙精度 (64位 )浮點(diǎn)寄存器。 IBM 360/370有 5種指令格式,如圖 510所示。 圖 510 IBM 360/370 指令格式 IBM大型機(jī)指令系統(tǒng) (1)RR(寄存器 寄存器 )格式:兩個(gè)源操作數(shù)都在寄存器中,結(jié)果放在第一個(gè)源寄存器中。 (2)RX(寄存器 變址 ):第一個(gè)源操作數(shù)與結(jié)果放在同一寄存器中,第二個(gè)源操作數(shù)在存儲(chǔ)器中,其地址為 (X2)+(B2)+D2, D2為 12位位移量 (無符號(hào) )。 (3)RS(寄存器 寄存器 ): R1是存放結(jié)果的目的寄存器, R3為源操作數(shù)寄存器,另一個(gè)操作數(shù)在存儲(chǔ)器中,其地址為 (B2)+D2。 RS與 RX的區(qū)別在于 RS是三地址格式,并取消了變址寄存器。 (4)SI(寄存器 立即數(shù) ):將立即數(shù) imm(8位 )送到存儲(chǔ)器,其地址為 (B1)+D1。 (5)SS(存儲(chǔ)器 存儲(chǔ)器 ):兩個(gè)操作數(shù)都在存儲(chǔ)器 IBM大型機(jī)指令系統(tǒng) 中,其地址分別為 (B1)+D1和 (B2)+D2, (B1)+ D1還是目的地址。 SS格式用于十進(jìn)制運(yùn)算與字符串處理,數(shù)據(jù)長(zhǎng)度 (Length
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1