




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
指令系統(tǒng)-內(nèi)容提要指令集結(jié)構(gòu)概述指令集結(jié)構(gòu)的分類 尋址技術(shù)設(shè)計
指令集結(jié)構(gòu)的功能設(shè)計 操作數(shù)的類型、表示和大小指令集格式的設(shè)計DLX指令集MIPS指令集
操作數(shù)尋址方式寄存器尋址 AddR4,R3立即數(shù)尋址 AddR4,#3直接尋址 AddR1,(1001)寄存器間接尋址 AddR4,(R1)偏移尋址 AddR4,100(R1)索引尋址 AddR3,(R1+R2)存儲器間接尋址 AddR1,@(R3)自增尋址 AddR1,(R2)+自減尋址 AddR1,-(R2)縮放尋址 AddR1,100(R2)[R3]復(fù)習(xí)DLX指令集結(jié)構(gòu):指令格式LWR1,30(R2)DLX指令集結(jié)構(gòu):指令格式ADDR1,R2,R3DLX指令集結(jié)構(gòu):指令格式JnameDLX指令集結(jié)構(gòu):操作類型Regs[R10]16..3116(Mem[Regs[R8]]0)8##Mem[Regs[R8]]0000000000000000000000000000011110000101R81000010111111111111111111000010100000000000000001111111110000101R10DLX指令集結(jié)構(gòu):訪存指令指令實例指令名稱含義LWR1,30(R2)載入整型字Regs[R1]←32Mem[30+Regs[R2]]LWR1,1000(R0)載入整型字Regs[R1]←32Mem[1000+0]LBR1,40(R3)載入字節(jié)Regs[R1]←32(Mem[40+Regs[R3]]0)24##Mem[40+Regs[R3]]LBUR1,40(R3)載入無符號字節(jié)Regs[R1]←32024##Mem[40+Regs[R3]]LHR1,40(R3)載入整型半字Regs[R1]←32(Mem[40+Regs[R3]]0)16##Mem[40+Regs[R3]]##Mem[41+Regs[R3]]LFF0,50(R3)載入單精度浮點Regs[F0]←32Mem[50+Regs[R3]]LDF0,50(R2)載入雙精度浮點Regs[F0]##Regs[F1]←64Mem[50+Regs[R2]]SW500(R4),R3儲存整型字Mem[500+Regs[R4]]←32Regs[R3]SF40(R3),F0儲存單精度浮點Mem[40+Regs[R3]]←32Regs[F0]SD40(R3),F0儲存雙精度浮點Mem[40+Regs[R3]]←32Regs[F0]Mem[44+Regs[R3]]←32Regs[F1]SH502(R2),R31儲存整型半字Mem[502+Regs[R2]]←16Regs[R31]16..31SB41(R3),R2儲存整型字節(jié)Mem[41+Regs[R3]]←8Regs[R2]24..31DLX指令集結(jié)構(gòu):算數(shù)邏輯指令指令實例指令名稱含義AddR1,R2,R3加Regs[R1]←Regs[R2]+Regs[R3]ADDIR1,R2,#3和立即數(shù)相加Regs[R1]←Regs[R2]+3LHIR1,#42載入高位立即數(shù)Regs[R1]←42##016SLLIR1,R2,#5邏輯左移立即數(shù)形式Regs[R1]←Regs[R2]<<5SLTR1,R2,R3設(shè)置小于if(Regs[R2]<Regs[R3])Regs[R1]←1elseRegs[R1]←0DLX指令集結(jié)構(gòu):控制指令指令實例指令名稱含義Jname跳轉(zhuǎn)PC←name+PC+4;-225≤name≤225JALname跳轉(zhuǎn)并鏈接Regs[R31]←PC+4;PC←name+PC+4;-225≤name≤225JRR3寄存器型跳轉(zhuǎn)PC←Regs[R3];JALRR2寄存器型跳轉(zhuǎn)并鏈接Regs[R31]←PC+4;PC←Regs[R2];BEQZR4,name“等于0”分支if(Regs[R4]==0)PC←name+PC+4;-215≤name≤215BNEZR4,name“不等于0”分支if(Regs[R4]!=0)PC←name+PC+4;-215≤name≤215練習(xí)-寫出下面函數(shù)的匯編代碼cswap(intv[],intk,intl) k->$5{ l->$6
inttemp; v[0]->$4
if(v[k]!=v[l]) { temp=v[k];
v[k]=v[l];
v[l]=temp; }}1.計算地址V[K],V[L]的地址2.獲得V[K]和V[L]3.比較V[K]和V[L]4.交換V[K]和V[L]5.備用指令add$1,$2,$3sub$1,$2,$3LW$1,30($2)SW$3,500($4)multi$2,$5,4JRXXXbeq$s4,$s5,Lab1
k->$5l->$6v[0]->$4cswap(intv[],intk,intl) {
inttemp;
if(v[k]!=v[l]) { temp=v[k];
v[k]=v[l];
v[l]=temp; }}mult
$2,$5,4mult
$3,$6,4add$7,$2,$4add$8,$3,$4LW$9,($7)LW$10,($8)BEQ$9,$10,LabelSW$9,($8)SW$10,($7)Label:JR$31multR2,R5,4multR3,R6,4addR7,R2,R4addR8,R3,R4LWR9,(R7)LWR10,(R8)SubR11,R9,R10BEQZR11,LabelSW(R8),R9SW (R7),R10Label:JRR31MIPSDLX程序編譯的過程
GCCEmbeddedSystemLabFall2012程序編譯的過程很多人認(rèn)為GCC只是一個C編譯器,
其實GCC=GNUCompilerCollection目前,GCC可以支持多種高級語言,如C、C++ADAObjectCJAVAFortranPASCALGCC下的工具cpp—預(yù)處理器
GNUC編譯器在編譯前自動使用cpp對用戶程序進行預(yù)處理gcc—符合ISO等標(biāo)準(zhǔn)的C編譯器g++—基本符合ISO標(biāo)準(zhǔn)的C++編譯器gcj—GCC的java前端gnat—GCC的GNUADA95前端GNUTools—gccgcc是一個強大的工具集合,它包含了預(yù)處理器、編譯器、匯編器、鏈接器等組件。它會在需要的時候調(diào)用其他組件。
輸入文件的類型和傳遞給gcc的參數(shù)決定了gcc調(diào)用具體的哪些組件。對于開發(fā)者,它提供的足夠多的參數(shù),可以讓開發(fā)者全面控制代碼的生成,這對嵌入式系統(tǒng)級的軟件開發(fā)非常重要
gcc--helpLinuxgcc使用舉例(1)源程序gcc使用舉例(2)編譯和運行編譯運行g(shù)cc的編譯過程一般情況下,c程序的編譯過程為1、預(yù)處理2、編譯成匯編代碼3、匯編成目標(biāo)代碼4、鏈接1、預(yù)處理預(yù)處理:使用-E參數(shù)
輸出文件的后綴為“.cpp”
gcc–E–ogcctest.cpp
gcctest.c使用wc命令比較預(yù)處理后的文件與源文件,可以看到兩個文件的差異行數(shù)單詞數(shù)字節(jié)數(shù)預(yù)處理預(yù)處理文件匯編代碼
1)使用-x參數(shù)說明根據(jù)指定的步驟進行工作,cpp-output指明從預(yù)處理得到的文件開始編譯
2)使用-S說明生成匯編代碼后停止工作gcc-xcpp-output-S-ogcctest.s
gcctest.cpp也可以直接編譯到匯編代碼
gcc-Sgcctest.c2、編譯成匯編代碼預(yù)處理文件匯編代碼3、編譯成目標(biāo)代碼匯編代碼目標(biāo)代碼
gcc–xassembler–cgcctest.s直接編譯成目標(biāo)代碼
gcc–cgcctest.c使用匯編器生成目標(biāo)代碼as–ogcctest.o
gcctest.s匯編代碼目標(biāo)代碼直接編譯成目標(biāo)代碼使用匯編器testsse.oUltraEditObjdump4、編譯成執(zhí)行代碼目標(biāo)代碼執(zhí)行代碼
gcc–ogcctest
gcctest.o直接生成執(zhí)行代碼
gcc–ogcctest
gcctest.c目標(biāo)代碼執(zhí)行代碼直接生成執(zhí)行代碼testsse.oV.S.testssegcc的高級選項-Wall:打開所有的警告信息根據(jù)警告信息檢查源程序Main函數(shù)的返回值為int在函數(shù)的末尾應(yīng)當(dāng)返回一個值修改源程序優(yōu)化編譯優(yōu)化編譯選項有:-O0
缺省情況,不優(yōu)化-O1-O2-O3等等不同程度的優(yōu)化gcc的優(yōu)化編譯舉例(1)
考慮如下的源代碼不同的優(yōu)化編譯選項gcc的優(yōu)化編譯舉例(2)
使用time命令統(tǒng)計程序的運行GNUtoolsGNUtools和其他一些優(yōu)秀的開源軟件可以完全覆蓋上述類型的軟件開發(fā)工具。為了更好的開發(fā)嵌入式系統(tǒng),需要熟悉如下一些軟件GCCBinutils—輔助GCC的主要軟件Gdbmakecvs二、GNUbinutilsbinutils是一組二進制工具程序集,是輔助GCC的主要軟件,它主要包括addr2line
把程序地址轉(zhuǎn)換為文件名和行號。在命令行中給它一個地址和一個可執(zhí)行文件名,它就會使用這個可執(zhí)行文件的調(diào)試信息指出在給出的地址上是哪個文件以及行號。ar
建立、修改、提取歸檔文件。歸檔文件是包含多個文件內(nèi)容的一個大文件,其結(jié)構(gòu)保證了可以恢復(fù)原始文件內(nèi)容。as
是GNU匯編器,主要用來編譯GNUC編譯器gcc輸出的匯編文件,他將匯編代碼轉(zhuǎn)換成二進制代碼,并存放到一個object文件中,該目標(biāo)文件將由連接器ld連接C++filt解碼C++符號名,連接器使用它來過濾C++和Java符號,防止重載函數(shù)沖突。gprof
顯示程序調(diào)用段的各種數(shù)據(jù)。ld
是連接器,它把一些目標(biāo)和歸檔文件結(jié)合在一起,重定位數(shù)據(jù),并鏈接符號引用,最終形成一個可執(zhí)行文件。通常,建立一個新編譯程序的最后一步就是調(diào)用ld。nm
列出目標(biāo)文件中的符號。objcopy把一種目標(biāo)文件中的內(nèi)容復(fù)制到另一種類型的目標(biāo)文件中.objdump
顯示一個或者更多目標(biāo)文件的信息。使用選項來控制其顯示的信息。它所顯示的信息通常只有編寫編譯工具的人才感興趣。ranlib
產(chǎn)生歸檔文件索引,并將其保存到這個歸檔文件中。在索引中列出了歸檔文件各成員所定義的可重分配目標(biāo)文件。readelf
顯示elf格式可執(zhí)行文件的信息。size
列出目標(biāo)文件每一段的大小以及總體的大小。默認(rèn)情況下,對于每個目標(biāo)文件或者一個歸檔文件中的每個模塊只產(chǎn)生一行輸出。strings
打印某個文件的可打印字符串,這些字符串最少4個字符長,也可以使用選項-n設(shè)置字符串的最小長度。默認(rèn)情況下,它只打印目標(biāo)文件初始化和可加載段中的可打印字符;對于其它類型的文件它打印整個文件的可打印字符,這個程序?qū)τ诹私夥俏谋疚募膬?nèi)容很有幫助。strip
丟棄目標(biāo)文件中的全部或者特定符號。
libiberty
包含許多GNU程序都會用到的函數(shù),這些程序有:getopt,obstack,strerror,strtol
和strtoul.libbfd
二進制文件描述庫.libopcodes
用來處理opcodes的庫,在生成一些應(yīng)用程序的時候也會用到它,比如objdump.Opcodes是文本格式可讀的處理器操作指令.三、其他GNU工具Gdb—調(diào)試器GNUmake--軟件工程工具diff,patch--補丁工具CVS--版本控制系統(tǒng)參考《Linux操作系統(tǒng)分析》課程中的GNUToolsCh3流水線技術(shù)EmbeddedSystemLabFall20123.1流水線基本概念3.2DLX基本流水線3.3流水線中的相關(guān)3.4實例分析:MIPSR4000本章內(nèi)容流水線基本概念流水線分類DLX的一種簡單實現(xiàn)第一節(jié)3.1.1流水線基本概念1.產(chǎn)品生產(chǎn)流水線(1)一個問題
假設(shè)某產(chǎn)品的生產(chǎn)需要4道工序,該產(chǎn)品生產(chǎn)車間以前只有1個工人,1套生產(chǎn)該產(chǎn)品的機器。該工人工作8小時,可以生產(chǎn)120件(即每4分鐘生產(chǎn)1件)。 要將該產(chǎn)品日產(chǎn)量提高到480件,如何能實現(xiàn)目標(biāo)?
(2)兩種解決方案
方案一:增加3名工人、3套設(shè)備。 方案二:產(chǎn)品生產(chǎn)采用流水線方式,分為4道工序;增加3名工人,每人負(fù)責(zé)一道工序。(3)兩種方案的工作過程對比
兩種方案中,單件產(chǎn)品的生產(chǎn)時間均不變。 但在穩(wěn)定情況下, 方案一:每4分鐘,4件產(chǎn)品同時進入流水線,4件成品同時離開流水線,需要增加3套設(shè)備。 方案二:每分鐘,1件產(chǎn)品進入流水線,1件成品離開流水線,不需要增加任何設(shè)備。(4)方案二的主要特點 每件產(chǎn)品還是要經(jīng)過4道工序處理,單件產(chǎn)品的加工時間并沒有改變,但它將不同產(chǎn)品的不同步驟重疊在一起,使得每件產(chǎn)品的產(chǎn)出時間從表面上看是從原來的4分鐘縮減到1分鐘,提高了產(chǎn)品的產(chǎn)出率。2.洗衣店流水線——洗衣店XA,B,C,D
towash,dry,andfold;Washertakes30minutesDryertakes30minutesFoldertakes30minutesABCD(1)串行工作的洗衣店洗衣店用6小時完成了4個任務(wù)(洗衣店吞吐率0.67t/h);4個同學(xué)各等待了1.5小時;Washer使用2小時(0.33);Dryer使用2小時(0.33);Folder使用2小時(0.33);ABCD3030303030303030303030306PM7891011Midnight任務(wù)順序(2)流水工作的洗衣店X洗衣店用3小時完成了4個任務(wù)(1.33t/h);4個同學(xué)各等待了1.5小時;Washer使用2小時(0.66);Dryer使用2小時(0.66);Folder使用2小時(0.66);ABCD6PM78910Midnight任務(wù)順序3030303030302.洗衣店流水線——洗衣店YA,B,C,D
towash,dry,andfold;Washertakes30minutesDryertakes40minutesFoldertakes20minutesABCD(3)串行工作的洗衣店Y洗衣店用6小時完成了4個任務(wù)(0.67t/h);4個同學(xué)各等待了1.5小時;Washer使用2小時(0.33);Dryer使用2小時40分(0.44);Folder使用1小時20分(0.22);ABCD3040203040203040203040206PM7891011Midnight任務(wù)順序(4)流水工作的洗衣店Y洗衣店用3.5小時完成了4個任務(wù)(1.14t/h);4個同學(xué)各等待了1.5小時;Washer使用2小時(0.57);Dryer使用2小時40分(0.76);Folder使用1小時20分(0.38);ABCD6PM7891011Midnight任務(wù)順序304040404020流水線不能縮短單個任務(wù)的響應(yīng)時間,但可以提高吞吐率;流水線速度限制于最慢流水站的速度;流水線中多個任務(wù)是并行處理的;最大加速比=流水站數(shù)流水站速度不匹配流水線“填充”和“排空”時間304040404020(5)洗衣店的結(jié)論20世紀(jì)最大的發(fā)明之一流水線流水線之前,汽車工業(yè)完全是手工作坊型的.每裝配一輛汽車要728個人工小時,當(dāng)時汽車的年產(chǎn)量大約12輛.這一速度遠不能滿足巨大的消費市場的需求.所以使得汽車成為富人的象征. 1913年,福特提出在汽車組裝中的流水線,汽車底盤在傳送帶上前行.前行中,逐步裝上發(fā)動機,操控系統(tǒng),車廂,方向盤,儀表,車燈,車窗玻璃、車輪,一輛完整的車組裝成了.第一條流水線使每輛T型汽車的組裝時間由原來的12小時28分鐘縮短至10秒鐘,生產(chǎn)效率提高了4488倍!科學(xué)的管理科學(xué)管理之父弗雷德里克·溫斯洛·泰勒搬運生鐵塊試驗&鐵鍬試驗?3.計算機中的流水線指令流水線功能部件流水線(浮點)Godson3~9Pentium4~31 ARM7~3 MIPS/ARM9/PowerPC405~54.流水技術(shù)
將一重復(fù)的時序過程分解為若干子過程,每個子過程都可有效地在其專用功能段上與其它子過程同時執(zhí)行,這種技術(shù)稱為流水技術(shù)。5.時-空圖
從時間和空間兩個方面描述流水線的工作過程,橫坐標(biāo)表示時間,縱坐標(biāo)表示各流水段。6.流水線的特點
流水過程由多個相關(guān)的子過程組成,這些子過程稱為流水線的“級”或“段”。段的數(shù)目稱為流水線的“深度”。 每個子過程由專用的功能段實現(xiàn),各功能段的時間應(yīng)基本相等,通常為1個時鐘周期(1拍)。 流水線需要經(jīng)過一定的填充時間才能穩(wěn)定。 流水技術(shù)適合于大量重復(fù)的時序過程。1.單功能流水線和多功能流水線按流水線所完成的功能分類單功能流水線,是指只能完成一種固定功能的流水線。
多功能流水線,是指各段可以進行不同的連接,從而完成不同的功能。 例如:TIASC的多功能流水線3.1.2流水線的分類2.靜態(tài)流水線和動態(tài)流水線按同一時間內(nèi)流水段的連接方式劃分靜態(tài)流水線,是指在同一時間內(nèi),流水線的各段只能按同一種功能的連接方式工作。 動態(tài)流水線,是指在同一時間內(nèi),當(dāng)某些段正在實現(xiàn)某種運算時,另一些段卻在實現(xiàn)另一種運算。
動態(tài)流水線
動態(tài)流水線一定是多功能流水線3.部件級、處理機級及處理機間流水線
按流水的級別劃分部件級流水線,又叫運算操作流水線,是把處理機的算術(shù)邏輯部件分段,使得各種數(shù)據(jù)類型的操作能夠進行流水。處理機級流水線,又叫指令流水線,是把解釋指令的過程按照流水方式處理。處理機間流水線,又叫宏流水線,是由兩個以上的處理機串行地對同一數(shù)據(jù)流進行處理,每個處理機完成一項任務(wù)。
4.標(biāo)量流水處理機和向量流水處理機按照數(shù)據(jù)表示來進行分類標(biāo)量流水處理機,是指處理機不具有向量數(shù)據(jù)表示,僅對標(biāo)量數(shù)據(jù)進行流水處理。 例如IBM360/91,Amdahl470V/6等
向量流水處理機,是指處理機具有向量數(shù)據(jù)表示,并通過向量指令對向量的各元素進行處理。 例如TIASC、CRAY-1等5.線性流水線和非線性流水線按照是否有反饋回路來進行分類線性流水線是指流水線的各段串行連接,沒有反饋回路。非線性流水線是指流水線中除有串行連接的通路外,還有反饋回路。 存在流水線調(diào)度問題。6.順序流動流水線和亂序流動流水線按照輸出端任務(wù)流出順序與輸入端任務(wù)流入順序是否相同劃分亂序流動流水線也可稱為無序流水線、錯序流水線復(fù)習(xí)程序的編譯->執(zhí)行過程1、預(yù)處理2、編譯成匯編代碼3、匯編成目標(biāo)代碼4、鏈接深入理解計算機系統(tǒng)-第一章計算機系統(tǒng)漫游Makefile依賴關(guān)系一個“復(fù)雜”的例子Makefile定義多個文件在GCC參數(shù)較多(靈活)時、文件較多時極為有效源代碼優(yōu)化不同的優(yōu)化編譯選項自動優(yōu)化策略考慮如下源代碼iajia如何計算哪個更好?一層循環(huán)時,共100W條指令50Waddl+25Wcmp+25WJLE二層循環(huán)時內(nèi)層循環(huán)共100W條指令50Waddl+25Wcmp+25WJLE外層循環(huán)共2500條指令addl+cmp+JLE+movl+JMP與指令CPI有關(guān)復(fù)習(xí)程序的編譯->執(zhí)行過程1、預(yù)處理2、編譯成匯編代碼3、匯編成目標(biāo)代碼4、鏈接深入理解計算機系統(tǒng)-第一章計算機系統(tǒng)漫游Makefile定義多個文件復(fù)習(xí)DLX指令集結(jié)構(gòu):指令格式LWR1,30(R2)DLX指令集結(jié)構(gòu):指令格式ADDR1,R2,R3DLX指令集結(jié)構(gòu):指令格式JnameDLX的數(shù)據(jù)通路這是一種非流水方式將指令執(zhí)行劃分為5個階段取指令周期指令譯碼/讀寄存器周期執(zhí)行/有效地址計算周期存儲器訪問/分支完成周期寫回周期3.2.1DLX的一種簡單實現(xiàn)1.取指令周期(IR)
操作為: 根據(jù)PC值從存儲器中取出指令,并將指令送入指令寄存器IR;PC值增加4,指向順序的下一條指令,并將下一條指令的地址放入臨時寄存器NPC中。
IR←Mem[PC] NPC←PC+4圖示2.指令譯碼/讀寄存器周期(ID)
操作為: 進行指令譯碼,讀IR寄存器(指令寄存器),按照相應(yīng)寄存器號讀寄存器文件,并將讀出結(jié)果放入兩個臨時寄存器A和B中。同時對IR寄存器中內(nèi)容的低16位進行符號擴展,然后將符號擴展之后的32位立即值保存在臨時寄存器Imm中。
A←Regs[IR6..10] B←Regs[IR11..15] Imm←((IR16)16##IR16..31) DLX的固定字段譯碼技術(shù):圖示3.執(zhí)行/有效地址計算周期(EX)
存儲器訪問:
LWR1,100(R2)
ALUoutput←A+Imm
SW100(R2),R1
寄存器-寄存器ALU:
ADDR1,R2,R3
ALUoutput←AopB
寄存器-立即值A(chǔ)LU:
ADDIR1,R2,#3
ALUoutput←AopImm
分支操作: BEQZR1,#800
ALUoutput←NPC+Imm
Cond←(Aop0)4.訪存/分支操作完成周期(MEM)
操作為:訪存操作:Load: LMD←LMDMEM[ALUoutput]Store: Mem[ALUoutput]←B分支操作: if(Cond)
PC←ALUoutput else PC←NPC5.寫回周期(WB)
操作為:寄存器-寄存器型ALU指令: Reg[IR16..20]←ALUoutput寄存器-立即值型ALU指令: Reg[IR11..15]←ALUoutputLoad指令:
Reg[IR11..15]←LMD 6.性能分析在該數(shù)據(jù)通路上,分支指令需要4個時鐘周期,其它指令需要5個時鐘周期,假設(shè)分支指令占總指令數(shù)的12%,問CPI=?CPI=4×12%+5×(1-12%)=4.88結(jié)論:就性能和硬件開銷而言,上述實現(xiàn)不是一種 優(yōu)化實現(xiàn)!7.改進方法在Mem周期完成ALU指令 假設(shè)ALU指令數(shù)占指令總數(shù)的44%,則在時鐘周期時間不變的同時,CPI可以降低至4.4如要進一步降低CPI,可能會增加時鐘周期時間 采用單周期實現(xiàn),可以將CPI降低為1,但時鐘周期時間卻會增加為原來的5倍流水技術(shù)第二節(jié)基本DLX流水線和性能分析基本DLX流水線的操作基于DLX的性能分析1.一種簡單的DLX流水線
將DLX中的數(shù)據(jù)通路流水化,使得數(shù)據(jù)通路中的每一個周期就成為流水線的一段每個時鐘周期啟動一條指令
——得到了一條簡單的DLX流水線。
簡單DLX流水線的流水過程:時-空圖按時間錯開的數(shù)據(jù)通路3.2.2基本的DLX流水線3.實現(xiàn)流水技術(shù)應(yīng)解決的一些問題 (1)應(yīng)保證流水線各段不會在同一時鐘周期內(nèi)使用相同的寄存器通路資源。例如,不能要求一個ALU既做有效地址計算,又做減法操作IF與Mem兩個階段都要訪問存儲器,怎樣避免訪存沖突?ID和WB兩個階段都要訪問寄存器,是否存在沖突?怎樣避免?
(2)PC計算問題 為了能夠在每個時鐘周期啟動一條新的指令,流水線必須在IF段獲得下一條指令的地址,并將其保存在PC中。 但是,分支指令會改變PC的值,而且只有在Mem段結(jié)束時,這個新值才會被寫入PC,出現(xiàn)矛盾。
解決方法:
改變數(shù)據(jù)通路,在IF段完成PC計算,則需要分支指令計算地址操作已經(jīng)完成
(3)合理劃分流水段,每段內(nèi)的操作都必須在一個時鐘周期內(nèi)完成。 (4)流水線寄存器設(shè)計為防止寄存器中的值在為流水線中某條指令所用時被流水線中其它的指令所重寫,可在流水線各段之間設(shè)置流水線寄存器文件,也稱鎖存器。流水線寄存器文件的命名段A與B之間的流水線寄存器文件稱為A/B流水線寄存器的作用流水線寄存器文件的構(gòu)成3.DLX流水線的操作 在任一時刻,流水中的指令僅在流水線中的某一段內(nèi)執(zhí)行操作。
DLX流水線中每一段的操作4.DLX流水線中多路選擇器的控制
主要是確定如何控制四個多路選擇器:IF段的MUX由EX/MEM.Cond域的值控制EX段ALU輸入端的兩個MUX由ID/EX.IR所指出的指令類型控制WB段的MUX由當(dāng)前指令類型(Load/ALU)MEM/WB.IR控制
三項性能指標(biāo):吞吐率、加速比和效率1.吞吐率 是衡量流水線速度的重要指標(biāo)吞吐率是指單位時間內(nèi)流水線所完成的任務(wù)數(shù)或輸出結(jié)果的數(shù)量。最大吞吐率TPmax是指流水線在達到穩(wěn)定狀態(tài)后所得到的吞吐率。設(shè)流水線由m段組成,完成n個任務(wù)的吞吐率稱為實際吞吐率,記作TP。3.2.2流水線性能分析(1)最大吞吐率假設(shè)流水線各段的時間相等,均為△t0,則:TPmax=1/△t0假設(shè)流水線各段時間不等,第i段時間為△ti
,則:TPmax=1/max{△ti}最大吞吐率取決于流水線中最慢一段所需的時間,該段成為流水線的瓶頸消除瓶頸的方法細分瓶頸段重復(fù)設(shè)置瓶頸段 (時空圖)(2)實際吞吐率若各段時間相等(假設(shè)均為△t0),則完成時間T流水
=m△t0+(n-1)△t0
(說明)時空圖TP=───=──────────T流水nm·△t0+(n-1)△t0n(1+)△t0
=────────=─────m-11TPmaxn1+nm-1實際吞吐率若各段時間不等(假設(shè)第i段為△ti),則完成時間
時空圖T=∑△ti+(n-1)△tj
這里,△tj=max{△ti
}i=1mTP=──────────∑△ti+(n-1)△tjmi=1n實際吞吐率2.加速比加速比是指流水線速度與等功能的非流水線速度之比。根據(jù)定義可知,加速比S=T非流水/T流水若流水線為m段,每段時間均為△t0,則T非流水
=nm△t0,T流水
=m△t0
+(n-1)△t0 S=
──────
=───────mnm+n-1mn1+
m-13.效率效率指流水線的設(shè)備利用率。由于流水線有通過時間和排空時間,所以流水線的各段并非一直滿負(fù)荷工作,E<1若各段時間相等,則各段效率也相等 即e1=e2=e3=…=n△t0/T流水(解釋)整個流水線效率E
=───=──────=─────n△t0T流水nm+n-11n1+
m-1當(dāng)n>>m時,E≈13.效率從時-空圖上看,效率就是n個任務(wù)所占的時空區(qū)與m個段總的時空區(qū)之比E=(Σei)/m=Σ(Tei/T流水)/m=ΣTei/(T流水×m)根據(jù)這個定義,可以計算流水線各段時間不等時的流水線效率
n個任務(wù)占用的時空區(qū)
E=━━━━━━━━━━━
m個段總的時空區(qū)4.吞吐率、加速比和效率的關(guān)系
TP=n/T流水 S=T非流水/T流水最大加速比mE=n△t0/T流水=mn△t0/(T流水m)=S/m
效率是實際加速比S與最大加速比m之比。E=n△t0/T流水=(n/T流水)·△t0=TP△t0
當(dāng)△t0不變時,流水線的效率與吞吐率呈正比。為提高效率而采取的措施,也有助于提高吞吐率。例
在靜態(tài)流水線上計算,問吞吐率、加速比、效率各是多少?(m=4)解: (1)確定適合流水處理的計算過程
(2)畫時-空圖
(3)性能計算 吞吐率TP=7/20·△t0
加速比S=34·△t0/20·△t0=1.7
效率E=(4×4+3×6)/(8×20)=0.215.流水線性能分析實例
上述方案性能不高!靜態(tài)多功能流水線在對某種功能進行處理時,總有某些段處于空閑狀態(tài)功能切換增加了前一種功能的排空時間和后一種功能的通過時間需要把輸出回傳到輸入(相關(guān)) 能否通過動態(tài)流水線改進其性能?舉例I舉例II 這樣行不行?
正確方案例3.3在DLX的非流水實現(xiàn)和基本流水線中,5個功能單元的執(zhí)行時間:10/8/10/10/7ns。流水線額外開銷為1ns,求相對于非流水指令實現(xiàn)而言,基本DLX流水線的最大加速比是多少?解: T非流水
=10+8+10+10+7=45ns T流水
=10+1=11ns
加速比S=45/11≈4.16.有關(guān)流水線性能的若干問題流水線并不能減少(而且一般是增加)單條指令的執(zhí)行時間,但能夠提高吞吐率增加流水線的深度可以提高流水線性能指令之間存在的相關(guān),限制了流水線的性能1.什么是相關(guān)?流水線中的相關(guān)是指相鄰或相近的兩條指令因存在某種關(guān)聯(lián),后一條指令不能在既定的時鐘周期開始執(zhí)行。消除相關(guān)的基本方法——暫停暫停流水線中某條指令及其后面所有指令的執(zhí)行,該指令之前的所有指令繼續(xù)執(zhí)行。3.3流水線中的相關(guān)2.三種不同類型的相關(guān)結(jié)構(gòu)相關(guān):當(dāng)指令在重疊執(zhí)行過程中,硬件資源滿足不了指令重疊執(zhí)行的要求,發(fā)生資源沖突時將產(chǎn)生“結(jié)構(gòu)相關(guān)”。數(shù)據(jù)相關(guān):因一條指令需要用到前面指令的結(jié)果,而無法與產(chǎn)生結(jié)果的指令重疊執(zhí)行時,就發(fā)生了數(shù)據(jù)相關(guān)??刂葡嚓P(guān):當(dāng)流水線遇到分支指令和其它會改變PC值的指令時就發(fā)生控制相關(guān)。導(dǎo)致結(jié)構(gòu)相關(guān)的常見原因:功能部件沒有充分流水重復(fù)設(shè)置的資源數(shù)量不足實例:當(dāng)數(shù)據(jù)和指令存在同一存儲器中時,訪存指令會引起存儲器訪問沖突。解決方法:I.插入暫停周期(時空圖)II.將指令存儲器和數(shù)據(jù)存儲器分離3.3.1結(jié)構(gòu)相關(guān)1.數(shù)據(jù)相關(guān)簡介
實例: ADD R1,R2,R3 SUB R4,R1,R5 AND R6,R1,R7 OR R8,R1,R9 XOR R10,R1,R11
產(chǎn)生原因:當(dāng)指令在流水線中重疊執(zhí)行時,流水線有可能改變指令讀/寫操作數(shù)的順序,使之不同于它們在非流水實現(xiàn)時的順序,這將導(dǎo)致數(shù)據(jù)相關(guān)。3.3.2數(shù)據(jù)相關(guān)2.數(shù)據(jù)相關(guān)的分類
兩條指令i和j,都會訪問同一寄存器R,假設(shè)i先進入流水線,則它們對R有四種不同的訪問順序:
(1)寫后讀(RAW)——i寫j讀如果j在i完成寫之前從R中讀出數(shù)據(jù),將得到錯誤的結(jié)果!最常見的數(shù)據(jù)相關(guān),嚴(yán)重制約了CPU的性能,是程序最重要的特征之一!2.數(shù)據(jù)相關(guān)的分類
(2)寫后寫(WAW)——i寫j寫如果j在i之前完成寫操作,R中將保存錯誤的結(jié)果!
DLX流水線不會出現(xiàn)這種相關(guān)!當(dāng)流水線中有多個段可以寫回,而且當(dāng)流水線暫停某條指令的執(zhí)行時,其后的指令可以繼續(xù)前進時,可能引起這種類型的相關(guān)。
舉例2.數(shù)據(jù)相關(guān)的分類
(3)讀后寫(WAR)——i讀j寫如果j先將數(shù)據(jù)寫入R,i將讀出錯誤的結(jié)果!
DLX流水線不會出現(xiàn)這種類型的相關(guān)!當(dāng)有些指令在流水段后半部分讀源操作數(shù),另一些指令在流水線前半部分寫結(jié)果,可能引起這種類型的相關(guān)。
(4)讀后讀(RAR)——i讀j讀不引起數(shù)據(jù)相關(guān)!小結(jié)兩條指令i和j3.通過定向技術(shù)減少數(shù)據(jù)相關(guān)帶來的暫停
定向(forwarding),也稱為旁路/直通(bypassing)
工作過程 主要思路:將計算結(jié)果從其產(chǎn)生的地方直接送到真正需要它的地方,就可以避免暫停。寄存器文件EX/MEM中的ALU運算結(jié)果總是回送到ALU的輸入寄存器寄存器文件MEM/WB中的ALU運算結(jié)果總是回送到ALU的輸入寄存器從定向通路得到輸入數(shù)據(jù)的ALU操作不必從源寄存器中讀取操作數(shù)4.需要暫停的數(shù)據(jù)相關(guān)并非所有數(shù)據(jù)相關(guān)都可以通過定向技術(shù)解決。例: LW R1,0(R2)SUB R4,R1,R5AND R6,R1,R7OR R8,R1,R9增加流水線“流水線互鎖”部件,當(dāng)互鎖硬件發(fā)現(xiàn)這種相關(guān)后,暫停流水線,直到相關(guān)消除。這種情況下,暫停的時鐘周期數(shù)稱為“載入延遲”。
例1
5.DLX流水線中數(shù)據(jù)相關(guān)的檢測檢測數(shù)據(jù)相關(guān)ID段可以檢測所有數(shù)據(jù)相關(guān)在使用一個操作數(shù)的時鐘周期的開始(EX和MEM段的開始)檢測相關(guān),并確定必需的定向流水線相關(guān)硬件可以檢測到的各種相關(guān)情況(盡早檢測相關(guān)、指導(dǎo)決策)例:Load互鎖的檢測與實現(xiàn)在ID段檢測是否需要啟動Load互鎖,必須進行三種比較對DLX流水線控制的實現(xiàn)5.對DLX流水線控制的實現(xiàn)定向邏輯的實現(xiàn)所有的定向都是從ALU/DM的輸出到ALU、DM或0檢測單元的輸入 (圖示)形成了一個旁路網(wǎng)絡(luò)6.對數(shù)據(jù)相關(guān)的編譯調(diào)度方法流水線中常常會遇到多種類型的暫停 例如,計算表達式A=B+C時會出現(xiàn)暫停編譯器可以通過重新排列代碼的順序來消除這種暫停,這種技術(shù)就是“流水線調(diào)度”或“指令調(diào)度”例請為下列表達式生成沒有暫停的DLX指令序列
a=b–c;
d=e–f;
假設(shè)載入延遲為1個時鐘周期。題解1.分支指令的實現(xiàn)一旦分支轉(zhuǎn)移成功,正確的地址要在Mem段的末尾才會被寫入PC一旦ID段檢測到分支指令,就暫停執(zhí)行其后的指令,直到分支指令達到Mem段,確定新的PC為止分支轉(zhuǎn)移成功將導(dǎo)致DLX流水線暫停3個周期3.3.3控制相關(guān)2.減少分支開銷的途徑兩個基本途徑:在流水線中盡早判斷分支轉(zhuǎn)移是否成功轉(zhuǎn)移成功時,盡早計算出轉(zhuǎn)移目標(biāo)地址經(jīng)改進,DLX流水線可以將分支開銷減少1拍將“=0?”測試提前到ID段在ID段增加一個加法器,計算分支目標(biāo)地址表列出了改進后流水線的分支操作再改進,DLX流水線可以將分支開銷再減少1拍將分支判斷結(jié)果和目標(biāo)地址提前到ID/EX站前3.程序中分支指令的行為特點
各種能改變PC值的指令的執(zhí)行頻度條件分支:整數(shù)程序:14-15%浮點程序:3-12%
其中,向前分支與向后分支的比:3:1無條件分支:≤4%(絕大多數(shù))4.減少流水線分支損失的方法(1)凍結(jié)或排空流水線思路:在流水線中停住或刪除分支后的指令,直到知道轉(zhuǎn)移目標(biāo)地址優(yōu)點:簡單(2)預(yù)測分支轉(zhuǎn)移失敗思路:流水線繼續(xù)照常流動,如果分支轉(zhuǎn)移成功,將分支指令后的指令轉(zhuǎn)換為空操作,并從分支目標(biāo)處開始取指令執(zhí)行;否則照常執(zhí)行DLX流水線的處理過程4.減少流水線分支損失的方法(3)預(yù)測分支轉(zhuǎn)移成功思路:始終假設(shè)分支成功,直接從分支目標(biāo)處取指令執(zhí)行對DLX流水線沒有任何好處!(4)延遲分支(delayedbranch)思路:分支開銷為n的分支指令后緊跟有n個延遲槽,流水線遇到分支指令時,按正常方式處理,順帶執(zhí)行延遲槽中的指令,從而減少分支開銷。
延遲分支及指令的執(zhí)行順序4.減少流水線分支損失的方法具有一個分支延遲槽的DLX流水線的執(zhí)行過程什么樣的指令能否放入分支延遲槽?三種調(diào)度方法:從前調(diào)度;從目標(biāo)處調(diào)度;從失敗處調(diào)度三種方法的要求與效果,存在限制因素編譯器預(yù)測分支是否成功的能力放入延遲槽中的指令5.各種分支處理方法的性能(1)假設(shè)理想CPI=1,則加速比S=D/(1+C)=D/(1+f×p分支)
這里,D為流水線的深度,p分支為分支開銷,C為分支引起的流水線暫停時鐘周期數(shù)(每條指令的平均值),f為分支的出現(xiàn)頻度。(2)表3.7列出了流水線中各種處理方法的開銷公司的領(lǐng)導(dǎo)者腳踩兩只船,既無后顧之憂,便打算放手一搏。……整個公司都像沒頭蒼蠅一樣到處亂撞。先是倒賣電子表、旱冰鞋,還有運動褲衩和電冰箱,然后又籌劃著倒賣彩色電視機。那時候彩色電視機是緊俏商品,人人想要。國家規(guī)定了出廠價格,可是你若拿到市場上去,就是給每臺加上1000元,也能轉(zhuǎn)瞬賣出。所以,當(dāng)他們知道江西省婦聯(lián)的一個女人手里有大批彩電的時候,都相信賺錢的機會終于到來。20世紀(jì)80年代中期商業(yè)的信譽已經(jīng)出了問題,有個挺流行的說法就是“騙子比彩電還多”,柳傳志知道這是夸張之辭,但多留一個心眼總是沒錯,于是囑咐屬下一定要親眼看到電視才能匯款。那一天手下人興致勃勃地告訴他,說自己親眼見到大批彩電,一點不假。卻不料他們還是遇到了騙子:彩電的確有,只等他們的錢匯過去,立即無影無蹤。--凌志軍《聯(lián)想風(fēng)云》
1985年12月,也即公司成立一年之后,他還一一歷數(shù)公司一年來的業(yè)績 —KT8920大型計算機。本由計算所單獨承擔(dān),計算所將其中存儲器、擴存、應(yīng)用軟件的部分轉(zhuǎn)交公司,又以公司名義對外簽訂25個合同,獲得利潤60萬元。
—中國科學(xué)院購買500臺IBM的計算機,把其中驗收、維修和培訓(xùn)的環(huán)節(jié)交給公司,公司得以收取服務(wù)費70萬元。
—為IBM北京中心代理若干項目,獲毛利7萬美元。
—最后也是最重要的一件事,副研究員倪光南兼任公司總工程師,并把計算所的研究成果“漢字系統(tǒng)”帶到公司。BeforeComputerwasBornIBM于1911年6月15日在賓厄姆頓西幾英里處的紐約恩迪科特作為CTR公司注冊AT&T1877HP1939Lenovo1985DELL1987公司合并成CTR制造各種產(chǎn)品,包括員工計時系統(tǒng)、磅秤、自動切肉機,而且最重要的是發(fā)展計算機、穿孔卡片設(shè)備.一段時間CTR集中精力專做穿孔卡片,不再參與其他活動.第二世界大戰(zhàn)期間,IBM生產(chǎn)了M1卡賓槍和勃朗寧自動步槍
在曼哈頓計劃中發(fā)展原子彈頭廣泛使用IBM穿孔卡片機做計算
IBMCPU:PowerPCPowerOS:OS/2DB:DB/2Software:Lotus
WebSphereIODRationalTivoli硬盤技術(shù),掃描隧道顯微鏡(STM),銅布線技術(shù),原子蝕刻技術(shù)PWC定向路徑確定數(shù)據(jù)相關(guān)根據(jù)指令序列關(guān)系獲得段間寄存器文件確定源和目標(biāo)寄存器確定定向路徑需要掌握每個指令在每個階段的輸入和輸出寄存器控制相關(guān)凍結(jié)或排空流水線(2)預(yù)測分支轉(zhuǎn)移失敗(3)預(yù)測分支轉(zhuǎn)移成功(4)延遲分支(delayedbranch) 從前調(diào)度、從目標(biāo)處調(diào)度、從失敗處調(diào)度1.指令集:64位MIPS指令集(實際的64-bit機器)2.MIPSR4000流水線結(jié)構(gòu)較深的流水線(superpipelining)訪存操作流水化主頻100MHz~200MHz主要應(yīng)用領(lǐng)域Nintendo(Xbox,WII,PS3)HighendColorlaserPrintersNetworkRouters(Cisco)3.4.1MIPSR4000的整型流水線MIPSR4000的8級整數(shù)流水線IF–取指階段的前半部分;選擇PC值,初始化指令cache的訪問IS–取指階段的后半部分,主要完成訪問指令cache的操作RF–指令譯碼,寄存器讀取,相關(guān)檢測以及指令cache命中檢測EX–執(zhí)行,包括:計算有效地址,進行ALU操作,計算分支目標(biāo)地址和檢測分支條件MIPSR4000的8級整數(shù)流水線DF–取數(shù)據(jù),訪問數(shù)據(jù)cache的前半部分DS–訪問數(shù)據(jù)cache的后半部分TC–tag檢測,確定數(shù)據(jù)cache是否命中WB–Load操作和R-R操作的結(jié)果寫回4.指令序列在流水線中的重疊執(zhí)行過程定向+插入暫停周期5.指令序列在流水線中的執(zhí)行時空圖6.R4000流水線的定向路徑遠多于DLX流水線
ALU輸入端的定向源有4個:EX/DF,DF/DS,DS/TC,TC/WB7.分支處理在EX段完成分支條件的計算,基本分支延遲為3個時鐘周期分支處理策略單周期延遲分支從失敗處調(diào)度時-空圖包括浮點除法器、浮點乘法器和浮點加法器各1個分為8段(表3.9)雙精度浮點操作指令延遲、初始化間隔和流水段的使用情況(
表3.10)3.4.2MIPSR4000的浮點流水線浮點流水線例子浮點流水線例子浮點流水線例子1.引起流水線暫停的四個主要原因載入暫停分支暫停浮點結(jié)果暫停浮點結(jié)構(gòu)性暫停2.暫停對MIPSR4000流水線CPI的影響表3.113.4.3MIPSR4000流水線性能分析總結(jié)流水線基本概念能夠流水的前提條件流水線的評價指標(biāo)DLX基本流水線五個階段,各階段的功能不同數(shù)據(jù)通路的作用段間寄存器的設(shè)置和作用總結(jié)流水線中的相關(guān)結(jié)構(gòu)相關(guān)數(shù)據(jù)相關(guān)控制相關(guān)如何構(gòu)造,如何避免實例分析:MIPSR4000特點一些結(jié)論流水線提高的是指令帶寬(吞吐率),而不是單條指令的執(zhí)行速度相關(guān)限制了流水線性能的發(fā)揮結(jié)構(gòu)相關(guān):需要更多的硬件資源數(shù)據(jù)相關(guān):需要定向,編譯器調(diào)度控制相關(guān):盡早檢測條件,計算目標(biāo)地址,延遲轉(zhuǎn)移,預(yù)測浮點運算使得流水線控制更加復(fù)雜編譯器可降低數(shù)據(jù)相關(guān)和控制相關(guān)的開銷Load延遲槽Branch延遲槽課堂練習(xí)TP=n/T流水S=T非流水/T流水
E=n△t0/T流水(1)在如圖所示的流水線上實現(xiàn)m=4(2)若分別采用靜態(tài)和動態(tài)的方法,畫出流水線時空圖(3)在兩種情況下分別求吞吐率、加速比和效率。例
在靜態(tài)流水線上計算,問吞吐率、加速比、效率各是多少?(m=4)解: (1)確定適合流水處理的計算過程
(2)畫時-空圖
(3)性能計算 吞吐率TP=7/20·△t0
加速比S=34·△t0/20·△t0=1.7
效率E=(4×4+3×6)/(8×20)=0.215.流水線性能分析實例靜態(tài)動態(tài)作業(yè)如果采用DLX流水線計算(m=4)寫出匯編代碼分析流水線中的Load互鎖,計算執(zhí)行周期數(shù)及CPI.調(diào)度代碼,消除流水線的Load等待,寫出匯編代碼,計算優(yōu)化后的CPI,消除互鎖前后的加速比。AcknowledgementsTheseslidescontainmaterialdevelopedandcopyrightby:Prof.ZhiyingWang(NUDT)Dr.Xianglan
Chen(USTC)Prof.XuehaiZhou(USTC)Prof.Krste
Asanovic(MIT/UCB)NUDTmaterialComputerArchitectureUCBmaterialderivedfromcourseCS152
“Themorewestudy,themorewediscoverourignorance."byPercyByssheShelleySUNUltraSPARCIIICu(框圖)
HPPA-8700(版圖布局)IntelItanium2(結(jié)構(gòu)框圖)IntelItanium2(版圖布局)DECAlpha21364(版圖布局)流水線時空圖TIASC的多功能流水線動、靜態(tài)流水線時空圖JPEG編碼的例子一種簡單的DLX流水線指令編號時鐘周期123456789指令iIFIDEXMEMWB指令i+1IFIDEXMEMWB指令i+2IFIDEXMEMWB指令i+3IFIDEXMEMWB指令i+4IFIDEXMEMWB流水段表3.1DLX流水線的每個流水段的操作任何指令類型ALU指令Load/Store指令分支指令I(lǐng)FIDEXIF/ID.IR←
Mem[PC]IF/ID.NPC,PC←(ifEX/MEM.cond{EX/MEM.ALUOutput}else{PC+4});ID/EX.A←Regs[IF/ID.IR6...10];ID/EX.B←Regs[IF/ID.IR11...15];ID/EX.NPC←IF/ID.NPC;ID/EX.IR←IF/ID.IR;ID/EX.Imm
←(IR16)16##IR16...31;EX/MEM.IR←ID/EX.IR;EX/MEM.ALUOutput←
ID/EX.AopID/EX.B
或
EX/MEM.ALUOutput←
ID/EX.AopID/EX.Imm;
EX/MEM.cond←0;EX/MEM.IR←ID/EX.IR;EX/MEM.B←ID/EX.BEX/MEM.ALUOutput←
ID/EX.A+ID/EX.Imm;EX/MEM.cond←0;EX/MEM.ALUOutput←
ID/EX.NPC+ID/EX.Imm;
EX/MEM.cond←(ID/EX.Aop0);流水段 DLX流水線的每個流水段的操作(續(xù))任何指令類型ALU指令Load/Store指令分支指令MEMWBMEM/WB.IR←EX/MEM.IR;MEM/WB.ALUOutput←
EX/MEM.ALUOutput;MEM/WB.IR←EX/MEM.IR;MEM/WB.LMD←
Mem[EX/MEM.ALUOutput];
或
Mem[EX/MEM.ALUOutput]←EX/MEM.B;Regs[MEM/WB.IR16...20]
←MEM/WB.ALUOutput;
或
Regs[MEM/WB.IR11...15]
←MEM/WB.ALUOutput;Regs[MEM/WB.IR11...15]
←MEM/WB.LMD;ADDR1,R2,R3IFIDEX
ME
WBSUBR5,R1,R7IFIDEXMEWBXORR6,R1,R7IFIDEXMEWBORR7,R1,R7IFIDEXMEWBLWR1,45(R2)IFIDEXME
WBSUBR8,R6,R7
IFIDEXMEWB
ADDR5,R1,R7IFIDEXMEWBADDR1,R2,R3IFIDEXME
WBSUBR8,R6,R7
IFIDEXMEWB
LWR5,45(R1)IFIDEXMEWBLWR1,30(R2)IFIDEXME
WBSUBR8,R6,R7
IFIDEXMEWB
LWR5,45(R1)IFIDEXMEWBADDR1,R2,R3IFIDEX
ME
WBSWR5,30(R1)IFIDEXMEWB
SWR6,45(R1)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 環(huán)境壓力對微生物種群多樣性的影響-洞察闡釋
- 2024年宜昌市事業(yè)單位專項招聘真題
- 2024年湄潭縣城鎮(zhèn)公益性崗位招聘真題
- 2024年貴州事業(yè)單位招聘真題
- 貴陽市農(nóng)村義務(wù)教育階段學(xué)校教師特設(shè)崗位招聘筆試真題2024
- 集體備課教學(xué)設(shè)計表
- 智慧安全+城市應(yīng)急-洞察闡釋
- 整車制造企業(yè)經(jīng)營管理方案
- 民營企業(yè)產(chǎn)業(yè)升級的機遇與瓶頸
- 數(shù)據(jù)驅(qū)動的戰(zhàn)略決策閉環(huán)-數(shù)字化經(jīng)營分析會
- 2025電子產(chǎn)品供銷合同
- 2025中考英語閱讀考點專項突破訓(xùn)練:旅游(學(xué)生版+解析)
- 安全月考試試題及答案
- 專利培訓(xùn)試題及答案
- 國際工程投標(biāo)管理制度
- 2025河南濮陽市南樂縣紀(jì)委監(jiān)委招聘編外看護隊員筆試易考易錯模擬試題(共500題)試卷后附參考答案
- java高級程序員面試題及答案
- T/BCEA 003-2022數(shù)字工程裝配式混凝土結(jié)構(gòu)智慧工地建設(shè)導(dǎo)則
- 納米技術(shù)在靶向藥物delivery中的創(chuàng)新應(yīng)用-洞察闡釋
- 2025-2030中國反芻飼料行業(yè)市場現(xiàn)狀分析及競爭格局與投資發(fā)展研究報告
- 四川省綿陽市三臺縣2023-2024學(xué)年八年級下學(xué)期語文期末試卷(含答案)
評論
0/150
提交評論