計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)電子教案(課2)
《計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)電子教案(課2)》由會(huì)員分享,可在線閱讀,更多相關(guān)《計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)電子教案(課2)(45頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、2014.2.17計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)1第第2 2章章 指令系統(tǒng)的設(shè)計(jì)指令系統(tǒng)的設(shè)計(jì)本章主要內(nèi)容本章主要內(nèi)容(1) (1) 指令操作碼的優(yōu)化(不講)指令操作碼的優(yōu)化(不講)(2) (2) RISCRISC技術(shù)簡(jiǎn)介技術(shù)簡(jiǎn)介(3) (3) MIPSMIPS指令集指令集(4) (4) MIPSMIPS模擬器(補(bǔ)充)模擬器(補(bǔ)充)2014.2.17計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)22.4.2 2.4.2 RISCRISC技術(shù)簡(jiǎn)介(技術(shù)簡(jiǎn)介(P44P44)名詞:名詞:RISCRISCReduced Instruction Set ComputingReduced Instruction Set Computing,精簡(jiǎn)指令集計(jì)
2、算機(jī)精簡(jiǎn)指令集計(jì)算機(jī)(1)(1)RISCRISC產(chǎn)生的背景:產(chǎn)生的背景:20%20%與與80%80%規(guī)律規(guī)律(2)(2)RISCRISC設(shè)計(jì)的基本原則:設(shè)計(jì)的基本原則: 只設(shè)置最常用的簡(jiǎn)單指令,凡遇復(fù)雜操作均用多條簡(jiǎn)單指令實(shí)現(xiàn);只設(shè)置最常用的簡(jiǎn)單指令,凡遇復(fù)雜操作均用多條簡(jiǎn)單指令實(shí)現(xiàn); 指令長(zhǎng)度固定,操作碼與操作數(shù)長(zhǎng)度都盡量統(tǒng)一;指令長(zhǎng)度固定,操作碼與操作數(shù)長(zhǎng)度都盡量統(tǒng)一; 基本指令的啟動(dòng)時(shí)間間隔降低到基本指令的啟動(dòng)時(shí)間間隔降低到1 1個(gè)時(shí)鐘周期;個(gè)時(shí)鐘周期; 訪問(wèn)主存只有訪問(wèn)主存只有l(wèi)oadload和和storestore指令,用變址尋址;指令,用變址尋址; 盡量采用硬連邏輯對(duì)指令譯碼;盡量
3、采用硬連邏輯對(duì)指令譯碼; 為了加快執(zhí)行速度,在編譯過(guò)程中對(duì)目標(biāo)代碼結(jié)構(gòu)進(jìn)行優(yōu)化;為了加快執(zhí)行速度,在編譯過(guò)程中對(duì)目標(biāo)代碼結(jié)構(gòu)進(jìn)行優(yōu)化;(3)(3)RISCRISC性能優(yōu)勢(shì)的原因性能優(yōu)勢(shì)的原因采用采用RISCRISC技術(shù)的主要?jiǎng)訖C(jī)是使各條指令的執(zhí)行時(shí)序盡可能一致,技術(shù)的主要?jiǎng)訖C(jī)是使各條指令的執(zhí)行時(shí)序盡可能一致,CPUCPU在在執(zhí)行時(shí)間上可以把它們安排得更緊湊,就像許多大小相近的箱子容易被堆執(zhí)行時(shí)間上可以把它們安排得更緊湊,就像許多大小相近的箱子容易被堆放得更密集一樣。這樣機(jī)器內(nèi)的各種資源可以充分利用,單位時(shí)間內(nèi)能執(zhí)放得更密集一樣。這樣機(jī)器內(nèi)的各種資源可以充分利用,單位時(shí)間內(nèi)能執(zhí)行更多的指令,速度
4、更快。行更多的指令,速度更快。這方面的具體內(nèi)容,在第這方面的具體內(nèi)容,在第3 3章講流水線時(shí)會(huì)詳細(xì)介紹。章講流水線時(shí)會(huì)詳細(xì)介紹。2014.2.17計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)32.4.2 2.4.2 RISCRISC技術(shù)的發(fā)展技術(shù)的發(fā)展2020世紀(jì)世紀(jì)7070年代初,年代初,IBMIBM研究中心的研究中心的John John CockeCocke證明,計(jì)算機(jī)中約證明,計(jì)算機(jī)中約20%20%的的指令承擔(dān)了指令承擔(dān)了80%80%的工作,的工作,19741974年,他提出年,他提出RISCRISC的概念。的概念。在在RISCRISC的早期研究中,加州大學(xué)伯克利分校(的早期研究中,加州大學(xué)伯克利分校(UC Berk
5、eleyUC Berkeley)和斯坦福)和斯坦福大學(xué)(大學(xué)(StanfordStanford)提出了許多有創(chuàng)見(jiàn)的新思想。伯克利率先在提出了許多有創(chuàng)見(jiàn)的新思想。伯克利率先在19821982年完成年完成了了RISC IRISC I型型3232位芯片的設(shè)計(jì),斯坦福大學(xué)則在位芯片的設(shè)計(jì),斯坦福大學(xué)則在John HennessyJohn Hennessy(現(xiàn)任校長(zhǎng))現(xiàn)任校長(zhǎng))帶領(lǐng)下于帶領(lǐng)下于19831983年完成了第一個(gè)采用年完成了第一個(gè)采用RISCRISC理念的商用理念的商用MIPSMIPS微處理器。微處理器。19841984年年HennessyHennessy等人創(chuàng)建了等人創(chuàng)建了MIPSMIPS計(jì)
6、算機(jī)公司,計(jì)算機(jī)公司,19981998年改名為年改名為MIPSMIPS技術(shù)技術(shù)公司(美普思科技公司,公司(美普思科技公司,MIPS Technologies IncMIPS Technologies Inc),),目前是美國(guó)最著名的目前是美國(guó)最著名的芯片設(shè)計(jì)公司之一。芯片設(shè)計(jì)公司之一。MIPSMIPS技術(shù)公司本身不生產(chǎn)微處理器,它只設(shè)計(jì)高性能技術(shù)公司本身不生產(chǎn)微處理器,它只設(shè)計(jì)高性能工業(yè)級(jí)的工業(yè)級(jí)的3232位和位和6464位位CPUCPU的結(jié)構(gòu)體系,并且向其它半導(dǎo)體公司提供使用其內(nèi)的結(jié)構(gòu)體系,并且向其它半導(dǎo)體公司提供使用其內(nèi)核(核(IPIP)的授權(quán),用于生產(chǎn)基于的授權(quán),用于生產(chǎn)基于MIPSMI
7、PS而又各具特色的微處理器。而又各具特色的微處理器。19991999年年MIPSMIPS技術(shù)公司發(fā)布了技術(shù)公司發(fā)布了MIPS32MIPS32和和MIPS64MIPS64架構(gòu)標(biāo)準(zhǔn)。架構(gòu)標(biāo)準(zhǔn)。MIPSMIPS的通用微處理器主要用于構(gòu)建高性能工作站、服務(wù)器和超級(jí)計(jì)算的通用微處理器主要用于構(gòu)建高性能工作站、服務(wù)器和超級(jí)計(jì)算機(jī)系統(tǒng),其嵌入式產(chǎn)品在機(jī)系統(tǒng),其嵌入式產(chǎn)品在19991999年以前全球銷量第一,目前也僅次于年以前全球銷量第一,目前也僅次于ARMARM。2014.2.17計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)4 MIPS處理器處理器MIPSMIPS的意思是的意思是“無(wú)內(nèi)部互鎖流水級(jí)的微處理器無(wú)內(nèi)部互鎖流水級(jí)的微處理器”(
8、Microprocessor Microprocessor without interlocked piped stageswithout interlocked piped stages),),其機(jī)制是盡量利用軟件辦法避免流其機(jī)制是盡量利用軟件辦法避免流水線中的數(shù)據(jù)相關(guān)問(wèn)題。水線中的數(shù)據(jù)相關(guān)問(wèn)題。MIPSMIPS具有強(qiáng)大的應(yīng)用基礎(chǔ),能在具有強(qiáng)大的應(yīng)用基礎(chǔ),能在MIPSMIPS上運(yùn)行的操作系統(tǒng),包括上運(yùn)行的操作系統(tǒng),包括LinuxLinux、WindRiverWindRiver、WinCEWinCE、GNUGNU、和和MontaMonta Vista Vista等;支持等;支持1414種編譯器
9、,包括種編譯器,包括MIPSMIPS、SDESDE、Green HillsGreen Hills、GNUGNU和和WindRiverWindRiver等;支持等;支持1515種調(diào)試器,包括種調(diào)試器,包括GNUGNU、Green Green HillsHills、WindRiverWindRiver、ASHLINGASHLING和和FS2FS2等;支持等;支持1818種仿真工具,包括種仿真工具,包括Mentor Mentor GraphicsGraphics、SynopsysSynopsys、CoWareCoWare和和CandenceCandence等。等。中國(guó)科學(xué)院計(jì)算所的龍芯中國(guó)科學(xué)院計(jì)算
10、所的龍芯1 1和和2 2都采用都采用6464位位MIPSMIPS指令架構(gòu)。中國(guó)龍芯已與指令架構(gòu)。中國(guó)龍芯已與MIPSMIPS公司合作,購(gòu)買其指令系統(tǒng)授權(quán),以便批量生產(chǎn)與出口。公司合作,購(gòu)買其指令系統(tǒng)授權(quán),以便批量生產(chǎn)與出口。2014.2.17計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)52.6.1 MIPS的寄存器(的寄存器(P47) 32 32個(gè)個(gè)6464位通用寄存器(位通用寄存器(GPRsGPRs),),也稱為整數(shù)寄存器也稱為整數(shù)寄存器名稱是名稱是R0R0,R1R1,R31R31(也可寫為也可寫為$0$0,$ $1 1,$ $3131)R0R0的值永遠(yuǎn)是的值永遠(yuǎn)是0 0,可用作源寄存器,也可作為無(wú)用結(jié)果的目的寄存器;,
11、可用作源寄存器,也可作為無(wú)用結(jié)果的目的寄存器;R31R31用于存放跳轉(zhuǎn)并鏈接類指令的返回地址。用于存放跳轉(zhuǎn)并鏈接類指令的返回地址。 32 32個(gè)個(gè)6464位浮點(diǎn)數(shù)寄存器(位浮點(diǎn)數(shù)寄存器(FPRsFPRs)F0F0,F(xiàn)1F1,F(xiàn)31F31用來(lái)存放用來(lái)存放3232個(gè)單精度浮點(diǎn)數(shù)(個(gè)單精度浮點(diǎn)數(shù)(3232位),也可以用來(lái)存放位),也可以用來(lái)存放3232個(gè)雙精度浮個(gè)雙精度浮點(diǎn)數(shù)(點(diǎn)數(shù)(6464位)。位)。存儲(chǔ)單精度浮點(diǎn)數(shù)(存儲(chǔ)單精度浮點(diǎn)數(shù)(3232位)時(shí),只用到位)時(shí),只用到FPRFPR的一半,其另一半沒(méi)用。的一半,其另一半沒(méi)用。 特殊功能寄存器特殊功能寄存器PCPC(program counterp
12、rogram counter,程序計(jì)數(shù)寄存器)程序計(jì)數(shù)寄存器)HIHI(整數(shù)乘除結(jié)果高位寄存器,除法余數(shù))整數(shù)乘除結(jié)果高位寄存器,除法余數(shù))LOLO(整數(shù)乘除結(jié)果低位寄存器,除法的商整數(shù)乘除結(jié)果低位寄存器,除法的商)它們可以與通用寄存器交換數(shù)據(jù)。它們可以與通用寄存器交換數(shù)據(jù)。浮點(diǎn)狀態(tài)寄存器:用來(lái)保存有關(guān)浮點(diǎn)操作結(jié)果的信息。浮點(diǎn)狀態(tài)寄存器:用來(lái)保存有關(guān)浮點(diǎn)操作結(jié)果的信息。2014.2.17計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)6MIPS的寄存器別名(程序員習(xí)慣用法)的寄存器別名(程序員習(xí)慣用法)MIPSMIPS編譯器支持一些專業(yè)程序員對(duì)編譯器支持一些專業(yè)程序員對(duì)3232個(gè)個(gè)通用寄存器通用寄存器GPRGPR(GENERA
13、L GENERAL PURPOSE REGISTERPURPOSE REGISTER)約定的習(xí)慣性用法(非強(qiáng)制的):約定的習(xí)慣性用法(非強(qiáng)制的):REGISTER NAMEREGISTER NAMEUSAGE USAGE $0 $zero$0 $zero常量常量0(0(constant value 0) constant value 0) $2-$3 $v0-$v1$2-$3 $v0-$v1函數(shù)調(diào)用返回值函數(shù)調(diào)用返回值( (values for results and values for results and expression evaluation) expression evalua
14、tion) $4-$7 $a0-$a3$4-$7 $a0-$a3函數(shù)調(diào)用參數(shù)函數(shù)調(diào)用參數(shù)( (arguments) arguments) $8-$15 $t0-$t7$8-$15 $t0-$t7暫時(shí)的暫時(shí)的( (或隨便用的或隨便用的) ) $16-$23 $16-$23 $s0-$s7s0-$s7保存的保存的( (或如果用,需要或如果用,需要SAVE/RESTORESAVE/RESTORE的的)()(saved) saved) $24-$25 $t8-$t9$24-$25 $t8-$t9暫時(shí)的暫時(shí)的( (或隨便用的或隨便用的) ) $26-$27 $k0-$k1$26-$27 $k0-$k1由
15、操作系統(tǒng)的異?;蛑袛嗵幚沓绦蚴褂糜刹僮飨到y(tǒng)的異常或中斷處理程序使用 $28 $28 $gpgp全局指針全局指針( (Global Pointer) Global Pointer) $29 $sp$29 $sp堆棧指針堆棧指針( (Stack Pointer) Stack Pointer) $30 $30 $fpfp幀指針幀指針( (Frame Pointer) Frame Pointer) (BNN(BNN:fpfp is stale is stale acutallyacutally, and can be simply used as $t8) , and can be simply us
16、ed as $t8) $31 $31 $rara返回地址返回地址( (return address) return address) 2014.2.17計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)72.6.2 MIPS的數(shù)據(jù)表示的數(shù)據(jù)表示整數(shù)整數(shù)字節(jié)(字節(jié)(8 8位)位) 半字(半字(1616位)位)字(字(3232位)位) 雙字(雙字(6464位)位)浮點(diǎn)數(shù)浮點(diǎn)數(shù)單精度浮點(diǎn)數(shù)(單精度浮點(diǎn)數(shù)(3232位)位) 雙精度浮點(diǎn)數(shù)(雙精度浮點(diǎn)數(shù)(6464位)位) 字節(jié)、半字或者字在裝入字節(jié)、半字或者字在裝入6464位寄存器時(shí),用零擴(kuò)展或者用符號(hào)位擴(kuò)展來(lái)填位寄存器時(shí),用零擴(kuò)展或者用符號(hào)位擴(kuò)展來(lái)填充該寄存器的剩余部分。裝入以后,對(duì)它們
17、將按照充該寄存器的剩余部分。裝入以后,對(duì)它們將按照6464位整數(shù)的方式進(jìn)行運(yùn)算。位整數(shù)的方式進(jìn)行運(yùn)算。2014.2.17計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)82.6.3 MIPS的數(shù)據(jù)尋址方式(的數(shù)據(jù)尋址方式(P47) 立即數(shù)尋址與偏移量尋址;立即數(shù)尋址與偏移量尋址;立即數(shù)字段和偏移量字段都是立即數(shù)字段和偏移量字段都是1616位的。位的。 寄存器間接尋址是通過(guò)把寄存器間接尋址是通過(guò)把0 0作為偏移量來(lái)實(shí)現(xiàn)的;作為偏移量來(lái)實(shí)現(xiàn)的; 16 16位絕對(duì)尋址是通過(guò)把位絕對(duì)尋址是通過(guò)把R0R0(其值永遠(yuǎn)為其值永遠(yuǎn)為0 0)作為基址寄存器來(lái)完成的;)作為基址寄存器來(lái)完成的; MIPS MIPS的存儲(chǔ)器按字節(jié)尋址,地址為的存儲(chǔ)器
18、按字節(jié)尋址,地址為6464位;位; 所有存儲(chǔ)器訪問(wèn)必須是邊界對(duì)齊的,即訪問(wèn)地址必須是該數(shù)據(jù)長(zhǎng)度(字節(jié)所有存儲(chǔ)器訪問(wèn)必須是邊界對(duì)齊的,即訪問(wèn)地址必須是該數(shù)據(jù)長(zhǎng)度(字節(jié)數(shù))的整倍數(shù),又叫整數(shù)邊界原則;數(shù))的整倍數(shù),又叫整數(shù)邊界原則; MIPS MIPS的存儲(chǔ)器按字節(jié)編制;的存儲(chǔ)器按字節(jié)編制; 所有數(shù)據(jù)字、指令字從最高有效位開(kāi)始依次標(biāo)記為所有數(shù)據(jù)字、指令字從最高有效位開(kāi)始依次標(biāo)記為bit 0bit 0、1 1、2 2 ; MIPSMIPS處理器的存儲(chǔ)順序,可以設(shè)置為處理器的存儲(chǔ)順序,可以設(shè)置為“小端字節(jié)表示順序小端字節(jié)表示順序”( LittileLittile- -EndianEndian,低位字節(jié)
19、放在低地址低位字節(jié)放在低地址)或者或者“大端字節(jié)表示順序大端字節(jié)表示順序”(Big-Big-EndianEndian,高位字節(jié)放在低地址,以便適合網(wǎng)絡(luò)數(shù)據(jù)包內(nèi)順序高位字節(jié)放在低地址,以便適合網(wǎng)絡(luò)數(shù)據(jù)包內(nèi)順序)。)。在下文使用的在下文使用的MIPS64MIPS64模擬器中采用模擬器中采用“小端字節(jié)表示順序小端字節(jié)表示順序”。2014.2.17計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)92.6.4 MIPS指令格式(指令格式(P48) MIPS32 MIPS32和和MIPS64MIPS64體系結(jié)構(gòu)定義了兼容的體系結(jié)構(gòu)定義了兼容的3232位和位和6464位處理機(jī)指令位處理機(jī)指令 使用條件編譯或宏匯編指令能寫出可同時(shí)在使用條件編
20、譯或宏匯編指令能寫出可同時(shí)在MIPS32MIPS32和和MIPS64MIPS64上運(yùn)行的程序上運(yùn)行的程序 尋址方式編碼到操作碼中尋址方式編碼到操作碼中 所有的指令都是所有的指令都是3232位的位的 操作碼占操作碼占6 6位位 3 3種指令格式(種指令格式(3種格式中,同名字段的位置固定不變)種格式中,同名字段的位置固定不變) 6 5 5 16 oc 操操作作碼碼 rs 源源操操作作數(shù)數(shù)寄寄存存器器 rt 源源/目目的的操操作作數(shù)數(shù)寄寄存存器器 immediate 立立即即數(shù)數(shù) 0 5 6 10 11 15 16 31 6 5 5 5 5 6 oc 操操作作碼碼 rs 源源操操作作數(shù)數(shù)寄寄存存器
21、器 rt 源源/目目的的操操作作數(shù)數(shù)寄寄存存器器 rd 目目的的操操作作數(shù)數(shù)寄寄存存器器 shamt 移移位位位位數(shù)數(shù) funct 功功能能碼碼 0 5 6 10 11 15 16 20 21 25 26 31 6 26 oc 操操作作碼碼 offset 跳跳轉(zhuǎn)轉(zhuǎn)的的目目的的地地址址 0 5 6 31 2014.2.17計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)102.6.4 MIPS指令格式指令格式I I類指令類指令 包括所有的包括所有的loadload和和storestore指令,立即數(shù)指令,分支指令,寄存器跳轉(zhuǎn)指令,指令,立即數(shù)指令,分支指令,寄存器跳轉(zhuǎn)指令,寄存器鏈接跳轉(zhuǎn)指令。寄存器鏈接跳轉(zhuǎn)指令。 立即數(shù)字段為立
22、即數(shù)字段為1616位,用于提供立即數(shù)或偏移量。位,用于提供立即數(shù)或偏移量。 load load指令指令 訪存有效地址:訪存有效地址:RegsRegs rsrs immediateimmediate 從存儲(chǔ)器取來(lái)的數(shù)據(jù)放入寄存器從存儲(chǔ)器取來(lái)的數(shù)據(jù)放入寄存器rtrt storestore指令指令 訪存有效地址:訪存有效地址:RegsRegs rsrs immediateimmediate 要存入存儲(chǔ)器的數(shù)據(jù)放在寄存器要存入存儲(chǔ)器的數(shù)據(jù)放在寄存器rtrt中中 立即數(shù)指令立即數(shù)指令 RegsRegs rtrt RegsRegs rsrs op immediate op immediate 分支指令分支
23、指令 轉(zhuǎn)移目標(biāo)地址:轉(zhuǎn)移目標(biāo)地址:RegsRegs rsrs immediateimmediate,rtrt無(wú)用無(wú)用 寄存器跳轉(zhuǎn)、寄存器跳轉(zhuǎn)并鏈接寄存器跳轉(zhuǎn)、寄存器跳轉(zhuǎn)并鏈接 轉(zhuǎn)移目標(biāo)地址為轉(zhuǎn)移目標(biāo)地址為RegsRegs rsrs 6 5 5 16 oc 操操作作碼碼 rs 源源操操作作數(shù)數(shù)寄寄存存器器 rt 源源/目目的的操操作作數(shù)數(shù)寄寄存存器器 immediate 立立即即數(shù)數(shù) 0 5 6 10 11 15 16 31 2014.2.17計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)112.6.4 MIPS指令格式指令格式R R類指令類指令 包括包括ALUALU指令,專用寄存器讀指令,專用寄存器讀/ /寫指令,寫指令,m
24、ovemove指令等。指令等。 ALU ALU指令指令 RegsRegsrd rd RegsRegs rsrs funct Regsfunct Regs rtrt functfunct為具體的運(yùn)算操作編碼為具體的運(yùn)算操作編碼 6 5 5 5 5 6 oc 操操作作碼碼 rs 源源操操作作數(shù)數(shù)寄寄存存器器 rt 源源/目目的的操操作作數(shù)數(shù)寄寄存存器器 rd 目目的的操操作作數(shù)數(shù)寄寄存存器器 shamt 移移位位位位數(shù)數(shù) funct 功功能能碼碼 0 5 6 10 11 15 16 20 21 25 26 31 2014.2.17計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)122.6.4 MIPS指令格式指令格式J J類指令類
25、指令 包括跳轉(zhuǎn)指令,跳轉(zhuǎn)并鏈接指令,自陷指令,異常返回指令。包括跳轉(zhuǎn)指令,跳轉(zhuǎn)并鏈接指令,自陷指令,異常返回指令。 在這類指令中,指令字的低在這類指令中,指令字的低2626位是偏移量,它與位是偏移量,它與PCPC值相加形成跳轉(zhuǎn)的地址。值相加形成跳轉(zhuǎn)的地址。 6 26 oc 操操作作碼碼 offset 跳跳轉(zhuǎn)轉(zhuǎn)的的目目的的地地址址 0 5 6 31 2014.2.17計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)132.6.5 MIPS的操作(的操作(P49) MIPS MIPS指令可以分為四大類指令可以分為四大類 load load和和storestore ALU ALU操作操作 分支與跳轉(zhuǎn)分支與跳轉(zhuǎn) 浮點(diǎn)操作浮點(diǎn)操作 符號(hào)
26、的意義符號(hào)的意義 xxn ny y:從從y y傳送傳送n n位到位到x xx x,yzyz:把把z z傳送到傳送到x x和和y y下標(biāo):表示字段中具體的位;下標(biāo):表示字段中具體的位; 對(duì)于指令和數(shù)據(jù),按從最高位到最低位(即從左到右)的順序依對(duì)于指令和數(shù)據(jù),按從最高位到最低位(即從左到右)的順序依次進(jìn)行編號(hào),最高位為第次進(jìn)行編號(hào),最高位為第0 0位,次高位為第位,次高位為第1 1位,依此類推。位,依此類推。 下標(biāo)可以是一個(gè)數(shù)字,也可以是一個(gè)范圍。下標(biāo)可以是一個(gè)數(shù)字,也可以是一個(gè)范圍。例如:例如:RegsRegsR4R40 0:寄存器寄存器R4R4的符號(hào)位的符號(hào)位 RegsRegsR4R456-6
27、356-63:R4R4的最低字節(jié)的最低字節(jié) 2014.2.17計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)142.6.5 MIPS的操作(續(xù)的操作(續(xù))MemMem:表示主存;表示主存; 按字節(jié)尋址,可以傳輸任意個(gè)字節(jié)。按字節(jié)尋址,可以傳輸任意個(gè)字節(jié)。上標(biāo):用于表示對(duì)字段進(jìn)行復(fù)制的次數(shù)。上標(biāo):用于表示對(duì)字段進(jìn)行復(fù)制的次數(shù)。例如:例如:0 03232表示一個(gè)表示一個(gè)3232位長(zhǎng)的全位長(zhǎng)的全0 0字段字段符號(hào)符號(hào)#:用于兩個(gè)字段的拼接,并且可以出現(xiàn)在數(shù)據(jù)傳送的任何一邊。:用于兩個(gè)字段的拼接,并且可以出現(xiàn)在數(shù)據(jù)傳送的任何一邊。舉例舉例:R8R8、R6R6是是6464位的寄存器,下式位的寄存器,下式RegsRegsR8R832-6
28、332-63 3232(MemMem RegsRegsR6R60 0)2424 # # MemMem RegsRegsR6R6表示的意義是:以表示的意義是:以R6R6的內(nèi)容作為地址訪問(wèn)內(nèi)存,得到的字節(jié)按符號(hào)位擴(kuò)展為的內(nèi)容作為地址訪問(wèn)內(nèi)存,得到的字節(jié)按符號(hào)位擴(kuò)展為3232位后存入位后存入R8R8的低的低3232位,位,R8R8的高的高3232位(即位(即RegsRegsR80-31R80-31)不變。不變。2014.2.17計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)15 load和和store指令指令指令舉例指令舉例 指令名稱指令名稱 含含 義義 LD R2LD R2,20(R3) 20(R3) 裝入雙字裝入雙字 Regs
29、R2RegsR264 64 Mem20+RegsR3 Mem20+RegsR3 LW R2LW R2,40(R3) 40(R3) 裝入字裝入字 RegsR2RegsR264 64 (Mem40+RegsR3(Mem40+RegsR30 0) )32 32 # # Mem40+RegsR3 Mem40+RegsR3 LB R2LB R2,30(R3) 30(R3) 裝入字節(jié)裝入字節(jié) RegsR2RegsR264 64 (Mem30+RegsR3(Mem30+RegsR30 0) )5656 # # Mem30+RegsR3 Mem30+RegsR3 LBU R2LBU R2,40(R3) 40(
30、R3) 裝入無(wú)符號(hào)字節(jié)裝入無(wú)符號(hào)字節(jié) RegsR2RegsR264 64 0 05656 # Mem40+RegsR3 # Mem40+RegsR3 LH R2LH R2,30(R3) 30(R3) 裝入半字裝入半字 RegsR2RegsR264 64 (Mem30+RegsR3(Mem30+RegsR30 0) )4848 # #Mem30+RegsR3# Mem31+RegsR3 Mem30+RegsR3# Mem31+RegsR3 L.S F2L.S F2,60(R4) 60(R4) 裝入單精度浮點(diǎn)數(shù)裝入單精度浮點(diǎn)數(shù)RegsF2RegsF264 64 Mem60+RegsR4 # 0Me
31、m60+RegsR4 # 032 32 L.D F2L.D F2,40(R3) 40(R3) 裝入雙精度浮點(diǎn)數(shù)裝入雙精度浮點(diǎn)數(shù) RegsF2RegsF26464 Mem40+RegsR3 Mem40+RegsR3 SD R4SD R4,300(R5) 300(R5) 保存雙字保存雙字 Mem300+RegsR5Mem300+RegsR564 64 RegsR4 RegsR4 SW R4SW R4,300(R5) 300(R5) 保存字保存字 Mem300+RegsR5Mem300+RegsR53232 RegsR4 RegsR4 S.S F2S.S F2,40(R2) 40(R2) 保存單精度
32、浮點(diǎn)數(shù)保存單精度浮點(diǎn)數(shù)Mem40+RegsR2Mem40+RegsR232 32 RegsF2 RegsF2 0 03131 SH R5SH R5,502(R4)502(R4)保存半字保存半字Mem502+RegsR4Mem502+RegsR41616 RegsR5 RegsR5 4848.63.63 2014.2.17計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)16 ALU指令指令 寄存器寄存器型(寄存器寄存器型(RRRR型)指令或立即數(shù)型型)指令或立即數(shù)型 算術(shù)和邏輯操作:加、減、與、或、異或和移位等算術(shù)和邏輯操作:加、減、與、或、異或和移位等 R0 R0的值永遠(yuǎn)是的值永遠(yuǎn)是0 0,它可以用來(lái)合成一些常用的操作。,它可
33、以用來(lái)合成一些常用的操作。例如:例如:DADDIU R1DADDIU R1,R0R0,#100 #100 給寄存器給寄存器R1R1裝入常數(shù)裝入常數(shù)100100 DADD R1 DADD R1,R0R0,R2 R2 把寄存器把寄存器R2R2中的數(shù)據(jù)傳送到寄存器中的數(shù)據(jù)傳送到寄存器R1R1指令舉例指令舉例 指令名稱指令名稱 含義含義 DADDUDADDUR1R1,R2R2,R3 R3 無(wú)符號(hào)加無(wú)符號(hào)加 RegsR1 RegsR2+ RegsR3 RegsR1 RegsR2+ RegsR3 DADDIU DADDIU R4R4,R5R5,#6 #6 加無(wú)符號(hào)立即數(shù)加無(wú)符號(hào)立即數(shù) RegsR4 Reg
34、sR5+6 RegsR4 RegsR5+6 LUILUIR1R1,#4 #4 把立即數(shù)裝入到一個(gè)字把立即數(shù)裝入到一個(gè)字的高的高1616位位 RegsR1 0RegsR1 03232 # 4 # 0 # 4 # 01616DSLLDSLLR1R1,R2R2,#5 #5 邏輯左移邏輯左移 RegsR1 RegsR25 RegsR1 RegsR25 DSLT R1DSLT R1,R2R2,R3 R3 置小于置小于 If(RegsR2 RegsR3)If(RegsR2 RegsR3)RegsR1 1 else RegsR10 RegsR1 1 else RegsR10 2014.2.17計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)
35、172.6.6 MIPS的控制指令(的控制指令(P50) 由一組跳轉(zhuǎn)和一組分支指令來(lái)實(shí)現(xiàn)控制流的改變由一組跳轉(zhuǎn)和一組分支指令來(lái)實(shí)現(xiàn)控制流的改變 典型的典型的MIPSMIPS控制指令控制指令指令舉例指令舉例 指令名稱指令名稱 含義含義 J name J name 跳轉(zhuǎn)跳轉(zhuǎn) PC PC 36366363 name2 name2JAL name JAL name 跳轉(zhuǎn)并鏈接跳轉(zhuǎn)并鏈接 RegsR31PC+4RegsR31PC+4;PC PC 36366363namename22;(PC+4)(PC+4)2 22727)name)name(PC+4)+2(PC+4)+22727) ) JALR R3
36、JALR R3 寄存器跳轉(zhuǎn)并鏈接寄存器跳轉(zhuǎn)并鏈接 RegsR31PC+4RegsR31PC+4;PC RegsR3 PC RegsR3 JR R5 JR R5 寄存器跳轉(zhuǎn)寄存器跳轉(zhuǎn) PC PC RegsRegsR5 R5 BEQZ R4BEQZ R4,name name 等于零時(shí)分支等于零時(shí)分支 if(if(RegsRegsR4= 0) PCname R4= 0) PCname ;(PC+4)(PC+4)2 21717)name)name(PC+4)+2(PC+4)+21717) ) BNE R3BNE R3,R4R4,name name 不相等時(shí)分支不相等時(shí)分支 if(if(RegsRegs
37、R3!= R3!= RegsRegsR4) PCnameR4) PCname(PC+4)(PC+4)2 21717)name)name(PC+4)+2(PC+4)+21717) ) MOVZ R1MOVZ R1,R2R2,R3 R3 等于零時(shí)移動(dòng)等于零時(shí)移動(dòng) if(RegsR3=0) RegsR1if(RegsR3=0) RegsR1 RegsR2 RegsR2 2014.2.17計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)18 跳轉(zhuǎn)指令跳轉(zhuǎn)指令根據(jù)跳轉(zhuǎn)指令確定目標(biāo)地址的方式不同以及跳轉(zhuǎn)時(shí)是否鏈接,可以把跳根據(jù)跳轉(zhuǎn)指令確定目標(biāo)地址的方式不同以及跳轉(zhuǎn)時(shí)是否鏈接,可以把跳轉(zhuǎn)指令分成轉(zhuǎn)指令分成4 4種。種。確定目標(biāo)地址的方式確定
38、目標(biāo)地址的方式 把指令中的把指令中的2626位偏移量左移位偏移量左移2 2位(因?yàn)橹噶钭珠L(zhǎng)都是位(因?yàn)橹噶钭珠L(zhǎng)都是4 4個(gè)字節(jié))后,個(gè)字節(jié))后,替換程序計(jì)數(shù)器的低替換程序計(jì)數(shù)器的低2828位;位; 間接跳轉(zhuǎn):由指令中指定的一個(gè)寄存器來(lái)給出轉(zhuǎn)移目標(biāo)地址。間接跳轉(zhuǎn):由指令中指定的一個(gè)寄存器來(lái)給出轉(zhuǎn)移目標(biāo)地址。跳轉(zhuǎn)的兩種類型跳轉(zhuǎn)的兩種類型 簡(jiǎn)單跳轉(zhuǎn):把目標(biāo)地址送入程序計(jì)數(shù)器。簡(jiǎn)單跳轉(zhuǎn):把目標(biāo)地址送入程序計(jì)數(shù)器。 跳轉(zhuǎn)并鏈接:把目標(biāo)地址送入程序計(jì)數(shù)器,把返回地址(即順序下跳轉(zhuǎn)并鏈接:把目標(biāo)地址送入程序計(jì)數(shù)器,把返回地址(即順序下一條指令的地址)放入寄存器一條指令的地址)放入寄存器R31R31。2014
39、.2.17計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)19 分支指令(條件轉(zhuǎn)移)分支指令(條件轉(zhuǎn)移)分支條件由指令確定分支條件由指令確定例如:測(cè)試某個(gè)寄存器的值是否為零例如:測(cè)試某個(gè)寄存器的值是否為零提供一組比較指令,用于比較兩個(gè)寄存器的值。提供一組比較指令,用于比較兩個(gè)寄存器的值。例如:例如:“置小于置小于”指令指令有的分支指令可以直接判斷寄存器內(nèi)容是否為負(fù),或者比較兩個(gè)寄存器有的分支指令可以直接判斷寄存器內(nèi)容是否為負(fù),或者比較兩個(gè)寄存器是否相等。是否相等。分支的目標(biāo)地址分支的目標(biāo)地址由由1616位帶符號(hào)偏移量左移兩位后和位帶符號(hào)偏移量左移兩位后和PCPC相加的結(jié)果來(lái)決定相加的結(jié)果來(lái)決定一條浮點(diǎn)條件分支指令:通過(guò)測(cè)試浮點(diǎn)
40、狀態(tài)寄存器來(lái)決定是否進(jìn)行分支。一條浮點(diǎn)條件分支指令:通過(guò)測(cè)試浮點(diǎn)狀態(tài)寄存器來(lái)決定是否進(jìn)行分支。2014.2.17計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)202.6.7 MIPS的浮點(diǎn)操作(的浮點(diǎn)操作(P51) 由操作碼指出操作數(shù)是單精度(由操作碼指出操作數(shù)是單精度(SPSP)或雙精度(或雙精度(DPDP)后綴后綴S S:表示操作數(shù)是單精度浮點(diǎn)數(shù)表示操作數(shù)是單精度浮點(diǎn)數(shù)后綴后綴D D:表示是雙精度浮點(diǎn)數(shù)表示是雙精度浮點(diǎn)數(shù) 浮點(diǎn)操作浮點(diǎn)操作包括加、減、乘、除,分別有單精度和雙精度指令。包括加、減、乘、除,分別有單精度和雙精度指令。 浮點(diǎn)數(shù)比較指令浮點(diǎn)數(shù)比較指令根據(jù)比較結(jié)果設(shè)置浮點(diǎn)狀態(tài)寄存器中的某一位,以便于后面的分支指根據(jù)
41、比較結(jié)果設(shè)置浮點(diǎn)狀態(tài)寄存器中的某一位,以便于后面的分支指令令BC1TBC1T(若真則分支)或若真則分支)或BC1FBC1F(若假則分支)測(cè)試該位,以決定是否進(jìn)若假則分支)測(cè)試該位,以決定是否進(jìn)行分支。行分支。2014.2.17計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)21注意浮點(diǎn)數(shù)的存儲(chǔ)格式只有注意浮點(diǎn)數(shù)的存儲(chǔ)格式只有64位雙精度這一種,沒(méi)有位雙精度這一種,沒(méi)有32位單精度數(shù)。位單精度數(shù)。MIPS64偽指令偽指令序序號(hào)號(hào) 偽偽指指令令 功功能能 1 .data start of data segment 2 .text start of code segment 3 .code start of code segment
42、 (same as .text) 4 .org start address 5 .space leave n empty bytes 6 .asciiz enters zero terminated ascii string 7 .ascii enter ascii string 8 .align align to n-byte boundary 9 .byte ,. enter bytes 10 .word16 ,. enters 16 bit number(s) 11 .word32 ,. enters 32 bit number(s) 12 .word ,. enters word(s)
43、 of data (64-bits) 13 .double ,. enters floating-point number(s) 2014.2.17計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)22MIPS64指令集指令集1序號(hào)序號(hào) 指令指令 功能功能 訪存訪存 1 lb reg,imm(reg) load byte 2 lbu reg,imm(reg) load byte unsigned 3 lh reg,imm(reg) load 16-bit half-word 4 lhu reg,imm(reg) load 16-bit half word unsigned 5 lw reg,imm(reg) load 32-bi
44、t word 6 lwu reg,imm(reg) load 32-bit word unsigned 7 ld reg,imm(reg) load 64-bit double-word 8 l.s freg,imm(reg) load 32-bit floating-point(single FP ) 9 l.d freg,imm(reg) load 64-bit floating-point(double FP ) 10 sb reg,imm(reg) store byte 11 sh reg,imm(reg) store 16-bit half-word 12 sw reg,imm(re
45、g) store 32-bit word 13 sd reg,imm(reg) store 64-bit double-word 14 s.s freg,imm(reg) store 32-bit floating-point 15 s.d freg,imm(reg) store 64-bit floating-point 2014.2.17計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)23MIPS64指令集指令集2序號(hào)序號(hào) 指令指令 功能功能 傳送傳送 16 movz reg,reg,reg move if register equals zero 17 movn reg,reg,reg move if register
46、not equal to zero 18 mov.s freg,freg move floating-point(single FP ) 19 mov.d freg,freg move floating-point(double FP ) 20 mtc1 reg,freg move data from integer register to FP register 21 mfc1 reg,freg move data from FP register to integer register 22 lui reg,imm load upper half of register immediate
47、 算術(shù)算術(shù) 23 dadd reg,reg,reg add integers 24 daddu reg,reg,reg add integers unsigned 25 daddi reg,reg,imm add immediate 2014.2.17計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)24MIPS64指令集指令集3序號(hào)序號(hào) 指令指令 功能功能 26 daddui reg,reg,imm add immediate unsigned( WinMIPS64 格式格式 ) 27 daddiu reg,reg,imm add immediate unsigned( MIPSsim 格式格式 ) 28 add.s freg
48、,freg,freg add floating-point(single FP ) 29 add.d freg,freg,freg add floating-point(double FP ) 30 dsub reg,reg,reg subtract integers 31 dsubu reg,reg,reg subtract integers unsigned 32 sub.s freg,freg,freg subtract floating-point(single FP ) 33 sub.d freg,freg,freg subtract floating-point(double FP
49、 ) 34 dmul reg,reg,reg signed integer multiplication 35 dmulu reg,reg,reg unsigned integer multiplication 36 mul.d freg,freg,freg multiply floating-point 37 ddiv reg,reg,reg signed integer division 38 ddivu reg,reg,reg unsigned integer division 39 div.d freg,freg,freg divide floating-point 2014.2.17
50、計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)25MIPS64指令集指令集4序號(hào)序號(hào) 指令指令 功能功能 邏輯邏輯 40 and reg,reg,reg logical and 41 andi reg,reg,imm logical and immediate 42 or reg,reg,reg logical or 43 ori reg,reg,imm logical or immediate 44 xor reg,reg,reg logical xor 45 xori reg,reg,imm exclusive or immediate 46 dsll reg,reg,imm shift left logical 47
51、dsllv reg,reg,reg shift left logical by variable amount 48 dsrl reg,reg,imm shift right logical 49 dsra reg,reg,imm shift right arithmetic 50 dsrlv reg,reg,reg shift right logical by variable amount 51 dsrav reg,reg,reg shift right arithmetic by variable amount 2014.2.17計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)26MIPS64指令集指令集5序號(hào)序號(hào) 指令
52、指令 功能功能 轉(zhuǎn)換轉(zhuǎn)換 52 cvt.d.l freg,freg convert 64-bit integer to a double FP format 53 cvt.l.d freg,freg convert double FP to a 64-bit integer format 標(biāo)志標(biāo)志 54 slt reg,reg,reg set if less than 55 dslt reg,reg,reg set if less than( 教材寫錯(cuò),上條為正確格式教材寫錯(cuò),上條為正確格式 ) 56 sltu reg,reg,reg set if less than unsigned 57
53、slti reg,reg,imm set if less than immediate 58 sltiu reg,reg,imm set if less than immediate unsigned 59 c.lt.d freg,freg set FP flag if less than 60 c.eq.d freg,freg set FP flag if equal to 61 c.le.d freg,freg set FP flag if less than or equal to 2014.2.17計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)27MIPS64指令集指令集6序號(hào)序號(hào) 指令指令 功能功能 跳轉(zhuǎn)跳轉(zhuǎn) 62
54、 j imm jump to address 63 jr reg jump to address in register 64 jal imm jump and link to address (call subroutine) 65 jalr reg jump and link to address in register 66 beqz reg,imm branch if register is equal to zero 67 bnez reg,imm branch if register is not equal to zero 68 beq reg,reg,imm branch if
55、 pair of registers are equal 69 bne reg,reg,imm branch if pair of registers are not equal 70 bc1t imm branch to address if FP flag is TRUE 71 bc1f imm branch to address if FP flag is FALSE 控制控制 72 nop no operation 73 halt stops the program 2014.2.17計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)28MIPS64模擬器介紹模擬器介紹12014.2.17計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)29MIPS64模
56、擬器介紹模擬器介紹2Pipeline window This window shows a schematic representation of the five pipeline stages of the MIPS64 processor and the units for floating point operations (addition / subtraction, multiplication and division). It shows which instruction is in each stage of the pipeline. Code window This
57、window shows a three column representation of the code memory, showing from left to right 1) a byte address, 2) a hex number giving the 32-bit machine code representation of the instruction, and 3) the assembly language statement. Double-left-clicking on an instruction sets or clears break-points. D
58、ata window This window shows the contents of data memory, byte addressable, but displayed in 64-bit chunks, as appropriate for a 64-bit processor. To edit an integer value double-left-click. To display and edit as a floating-point number, double-right-click. Register window This window shows the val
59、ues stored in the registers. If the register is displayed in grey, then it is in the process of being written to by an instruction. If displayed using a colour, the colour indicates the stage in the pipeline from which this value is available for forwarding. This window allows you to interactively c
60、hange the contents of those 64-bit integer and floating-point registers that are not in the process of being written to, or being forwarded. To do this, double-left-click on the register you want to change and a pop-up window will ask you for new content. Press OK to confirm the change. 2014.2.17計(jì)算機(jī)
61、系統(tǒng)結(jié)構(gòu)30MIPS64模擬器介紹模擬器介紹3Clock Cycle diagram This window gives a representation of the timing behaviour of the pipeline. It records the history of instructions as they enter and emerge from the pipeline. An instruction that causes a stall is highlighted in blue: instructions held up as a result of a s
62、tall are grayed. Statistics This window provides statistics on the number of simulation cycles, instructions, the average Cycles Per Instruction (CPI), the types of stalls, and numbers of conditional branches and Load/Store-instructions. Terminal This window mimics a dumb terminal I/O device with so
63、me limited graphics capability. Status Line The status line at the bottom normally displays Ready, but will during program simulation provide useful information on the current status of the simulation. 2014.2.17計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)31MIPS64模擬器的存儲(chǔ)器映射模擬器的存儲(chǔ)器映射I/O地址與命令地址與命令CONTROL: .word32 0 x10000CONTROL: .word32 0
64、 x10000; ;控制寄存器(映射地址)控制寄存器(映射地址)DATA: .word32 0 x10008DATA: .word32 0 x10008; ;數(shù)據(jù)寄存器(映射地址)數(shù)據(jù)寄存器(映射地址)Set CONTROL = 1, Set CONTROL = 1, 將將DATADATA作為無(wú)符號(hào)整型數(shù)輸出作為無(wú)符號(hào)整型數(shù)輸出Set CONTROL = 2, Set CONTROL = 2, 將將DATADATA作為有符號(hào)整型數(shù)輸出作為有符號(hào)整型數(shù)輸出Set CONTROL = 3, Set CONTROL = 3, 將將DATADATA作為浮點(diǎn)數(shù)輸出作為浮點(diǎn)數(shù)輸出Set CONTROL =
65、 4, Set CONTROL = 4, 將將DATADATA作為輸出字串的首地址作為輸出字串的首地址Set CONTROL = 5, Set CONTROL = 5, 將將DATA+5 DATA+5 作為作為x x坐標(biāo),坐標(biāo),DATA+4DATA+4作為作為y y坐標(biāo),坐標(biāo),DATADATA作為作為RGBRGB彩色值輸出彩色值輸出Set CONTROL = 6, Set CONTROL = 6, 清除終端屏幕清除終端屏幕Set CONTROL = 7, Set CONTROL = 7, 清除圖形屏幕清除圖形屏幕Set CONTROL = 8, Set CONTROL = 8, 從鍵盤讀從鍵盤
66、讀DATADATA(整型數(shù)或浮點(diǎn)數(shù))整型數(shù)或浮點(diǎn)數(shù))Set CONTROL = 9, Set CONTROL = 9, 從從DATADATA讀讀1 1字節(jié),無(wú)字符回顯字節(jié),無(wú)字符回顯數(shù)據(jù)地址數(shù)據(jù)地址0 0 x00000 x00000程序存儲(chǔ)器程序存儲(chǔ)器程序起點(diǎn)程序起點(diǎn)lwulwu r24,DATA(r0) r24,DATA(r0)lwulwu r25,CONTROL(r0) r25,CONTROL(r0)指令地址指令地址0 0 x00000 x00000數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器常規(guī)數(shù)據(jù)區(qū)常規(guī)數(shù)據(jù)區(qū)0 0 x10000 x100000 0 x10008x10008sdsd r9,0(r24) r9,0(r24)sdsd r2,0(r25) r2,0(r25)控制寄存器控制寄存器數(shù)據(jù)寄存器數(shù)據(jù)寄存器仿真非智能終端仿真非智能終端2014.2.17計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)32MIPS64模擬器演示實(shí)驗(yàn)?zāi)M器演示實(shí)驗(yàn)1 整數(shù)加法整數(shù)加法文件名:文件名:sum.s .dataA: .word 10B: .word 8C: .word 0 .textmain: ld r4,A(r0);r4(A) ld r5,B(
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中西方家庭教育的對(duì)比ppt課件
- 《運(yùn)籌學(xué)教程》第五版運(yùn)籌學(xué)6對(duì)策論矩陣對(duì)策課件
- (部編版)統(tǒng)編版四年級(jí)語(yǔ)文下冊(cè)第2課《鄉(xiāng)下人家》ppt課件
- 全等三角形1--公開(kāi)課一等獎(jiǎng)ppt課件
- 《會(huì)跳舞樹葉娃娃》課件
- 9兒童詩(shī)兩首_人教版五年級(jí)的語(yǔ)文下冊(cè)課件
- 綠色植物是食物之源(我的課件)0
- 河南專版2022春八年級(jí)語(yǔ)文下冊(cè)第四單元16慶祝奧林匹克運(yùn)動(dòng)復(fù)興25周年習(xí)題課件新人教版
- 全國(guó)xx杯說(shuō)課大賽機(jī)械類一等獎(jiǎng)作品:鉗工車模的制作說(shuō)課ppt課件
- 六年級(jí)下冊(cè)數(shù)學(xué)ppt課件-總復(fù)習(xí)(1)數(shù)的認(rèn)識(shí)-整數(shù)∣北師大版
- 牛頓第二定律優(yōu)秀完整公開(kāi)課ppt課件
- 調(diào)脂與卒中防治課件
- 點(diǎn)到平面的距離課件
- 聚焦新醫(yī)改形勢(shì)下的醫(yī)院發(fā)展戰(zhàn)略
- 四肢血管超聲基礎(chǔ)