計(jì)算機(jī)組成原理指令系統(tǒng)(part3).ppt
《計(jì)算機(jī)組成原理指令系統(tǒng)(part3).ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《計(jì)算機(jī)組成原理指令系統(tǒng)(part3).ppt(74頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
計(jì)算機(jī)組成原理與匯編語(yǔ)言(2006級(jí)),北航計(jì)算機(jī)學(xué)院劉旭東Tel:82316285Mail:liuxd@liuxd@,第三部分指令系統(tǒng),一、指令格式二、指令系統(tǒng)舉例三、指令系統(tǒng)設(shè)計(jì),1.1指令系統(tǒng)概述,指令系統(tǒng)的基本問(wèn)題操作類(lèi)型:應(yīng)該提供那些(多少)操作?用LD/ST/INC/BRN已經(jīng)足夠編寫(xiě)任何計(jì)算程序,但不實(shí)用,程序太長(zhǎng)。操作對(duì)象:如何表示?可以表示多少?大多數(shù)是雙值運(yùn)算(如A?B+C)存在單值運(yùn)算(如A?~B)指令格式:如何將這些內(nèi)容編碼成一致的格式?指令長(zhǎng)度、字段、編碼等問(wèn)題,1.1指令系統(tǒng)概述,機(jī)器指令的要素操作碼(OperationCode):指明進(jìn)行的何種操作(如ADD,MOV,I/O)源操作數(shù)地址(SourceOperandReference):參加操作的操作數(shù)的地址,可能有多個(gè)。目的操作數(shù)地址(DestinationOperandReference):保存操作結(jié)果的地址。下一條指令的地址(NextInstructionReference):指明下一條要運(yùn)行的指令的位置,一般指令是按順序依次執(zhí)行的,所以絕大多數(shù)指令中并不顯示的指明下一條指令的地址,也就是說(shuō),指令格式中并不包含這部分信息。只有少數(shù)指令需要顯示指明下一條指令的地址。,1.1指令概述,操作數(shù)的位置存儲(chǔ)器(存儲(chǔ)器地址)寄存器(寄存器地址)輸入輸出端口(輸入輸出端口地址),1.1指令系統(tǒng)概述,Applications,OS,Compiler,InstructionSetArchitecture(ISA),InstructionProcessing,Input/Output,Hardwarelayersfordesignabstraction,Datapath&Control,DigitalDesign,CircuitDesign,Softwarelayersofabstraction,指令集系統(tǒng)結(jié)構(gòu)(ISA),1.1指令系統(tǒng)概述,指令集系統(tǒng)結(jié)構(gòu)(ISA)種類(lèi)大部分ISA都可歸類(lèi)為通用寄存器系統(tǒng)結(jié)構(gòu)Register-Memory式ISA(如80X86)多種指令可以訪問(wèn)內(nèi)存;存在寄存器操作數(shù)和內(nèi)存操作數(shù)直接運(yùn)行的指令;Load-Store式ISA(如MIPS)只有裝載(LOAD)和存儲(chǔ)(STORE)指令可以訪問(wèn)內(nèi)存運(yùn)算指令操作數(shù)全部為寄存器操作數(shù);Load-Store是ISA的一種趨勢(shì),1.1指令系統(tǒng)概述,寄存器—寄存器簡(jiǎn)單、固定長(zhǎng)度編碼、指令執(zhí)行時(shí)鐘數(shù)基本一致與可以訪問(wèn)存儲(chǔ)單元的結(jié)構(gòu)相比,需要更多指令總數(shù)寄存器—存儲(chǔ)器數(shù)據(jù)無(wú)需預(yù)先裝入就可用,可產(chǎn)生較好的指令密度二元操作源操作數(shù)被破壞操作數(shù)的位置可能使指令執(zhí)行時(shí)鐘數(shù)多樣化存儲(chǔ)器—存儲(chǔ)器最緊湊,不會(huì)因?yàn)橹虚g存儲(chǔ)浪費(fèi)寄存器指令系統(tǒng)長(zhǎng)度變化大(考慮3操作數(shù)指令)存儲(chǔ)器訪問(wèn)成為瓶頸,1.1指令系統(tǒng)概述,通用寄存器的優(yōu)勢(shì)寄存器比存儲(chǔ)器快寄存器便于編譯器使用寄存器可以保存變量減少存儲(chǔ)器訪問(wèn),提高速度提高代碼密度,寄存器地址比存儲(chǔ)器地址短,1.1指令系統(tǒng)概述,指令類(lèi)型數(shù)據(jù)傳輸指令:寄存器與存儲(chǔ)器之間,寄存器之間傳遞數(shù)據(jù);算術(shù)/邏輯運(yùn)算指令:寄存器(或存儲(chǔ)器)中整型數(shù)或邏輯型數(shù)據(jù)的運(yùn)算操作。程序控制指令:控制程序執(zhí)行順序,條件轉(zhuǎn)移或跳轉(zhuǎn),子程序調(diào)用和返回等;浮點(diǎn)運(yùn)算指令:處理浮點(diǎn)數(shù)的運(yùn)算。,1.2指令格式,操作數(shù)的類(lèi)型地址(操作數(shù)地址,指令地址)數(shù)值(整型數(shù)或定點(diǎn)數(shù),浮點(diǎn)數(shù),十進(jìn)制數(shù))字符邏輯型數(shù),1.2指令格式,地址的數(shù)目三地址:Des?(Sur1)OP(Sur2),雙地址:Des?(Sur)OP(Des),單地址:累加器作為其中一個(gè)操作數(shù)的雙操作數(shù)型,或單操作數(shù)型,無(wú)地址:隱含操作數(shù)型,或無(wú)操作數(shù)型,OP,1.2指令格式,操作碼結(jié)構(gòu)固定長(zhǎng)度操作碼:操作碼長(zhǎng)度(占二進(jìn)制位數(shù))固定不變。硬件設(shè)計(jì)簡(jiǎn)單指令譯碼時(shí)間開(kāi)銷(xiāo)較小指令空間效率較低可變長(zhǎng)度操作碼:操作碼長(zhǎng)度隨指令地址數(shù)目的不同而不同。硬件設(shè)計(jì)相對(duì)復(fù)雜指令譯碼時(shí)間開(kāi)銷(xiāo)較大指令空間利用率較高指令長(zhǎng)度定長(zhǎng)指令系統(tǒng)變長(zhǎng)指令系統(tǒng):一般為字節(jié)的整數(shù)倍,1.2指令格式,關(guān)于指令擴(kuò)展操作碼的舉例1.設(shè)某機(jī)器采用固定長(zhǎng)度指令系統(tǒng),指令長(zhǎng)度為16位,包括3地址指令15條、雙地址指令10條和若干單地址指令,假定每個(gè)地址占4位,請(qǐng)問(wèn),該指令系統(tǒng)最多可以容納多少單地址指令,并設(shè)計(jì)該指令系統(tǒng)的操作碼編碼方案。,基本思路1.每一條指令需要一個(gè)唯一的操作碼編碼。2.不同類(lèi)型的指令應(yīng)該具有不同的標(biāo)識(shí)。3.采用擴(kuò)展操作碼方案。,1.3尋址方式,尋址:根據(jù)形式地址查找到操作數(shù)的過(guò)程。,形式地址與有效地址形式地址:指令中直接給出的地址編碼。有效地址:根據(jù)形式地址和尋址方式計(jì)算出來(lái)的操作數(shù)在內(nèi)存單元中的地址。,有效地址:操作數(shù)Data的內(nèi)存單元地址Add,1.3尋址方式,尋址方式定義:指令代碼中地址字段的一部分,指明操作數(shù)的獲取方式或操作數(shù)地址的計(jì)算方式。指令中每一個(gè)地址字段均有其尋址方式編碼(或隱含尋址方式),目的地址,源地址,1.3尋址方式,指令代碼和尋址描述中有關(guān)縮寫(xiě)的約定OP:操作碼Des:目的操作數(shù)地址Sur:源操作數(shù)地址A或Add:形式地址(內(nèi)存地址)Mod:尋址方式Rn:通用寄存器Rx:變址寄存器Rb:基址寄存器SP:堆棧指針(寄存器)EA:有效地址Data:操作數(shù)Operand:操作數(shù)(X):表示對(duì)象X的內(nèi)容(值),如(Rn)表示寄存器Rn的內(nèi)容(值),(A):內(nèi)存中地址為A的單元的內(nèi)容。Imme.Data:立即數(shù)XXH:16進(jìn)制數(shù)XX,1.3尋址方式,立即尋址操作數(shù)直接在指令代碼中給出。,說(shuō)明立即尋址只能作為雙操作數(shù)指令的源操作數(shù)。Operand=Imme.Data例:MOVAX,1000H,思考立即尋址的操作數(shù)在什么地方,存儲(chǔ)器or寄存器?立即數(shù)的地址?,1.3尋址方式,寄存器直接尋址操作數(shù)在寄存器中,指令地址字段給出寄存器的地址(編碼)EA=Rn,Operand=(Rn)例:MOV[BX],AX,Data,1.3尋址方式,存儲(chǔ)器直接尋址操作數(shù)在存儲(chǔ)器中,指令地址字段直接給出操作數(shù)在存儲(chǔ)器中的地址EA=A,Operand=(A)例:MOVAX,[1000H],Data,1.3尋址方式,寄存器間接尋址操作數(shù)在存儲(chǔ)器中,指令地址字段中給出的寄存器的內(nèi)容是操作數(shù)在存儲(chǔ)器中的地址。EA=(Rn),Operand=((Rn))例:MOVAX,[BX],Data,,,1.3尋址方式,存儲(chǔ)器間接尋址操作數(shù)在存儲(chǔ)器中,指令地址字段中給出的存儲(chǔ)器地址的單元內(nèi)容是操作數(shù)在存儲(chǔ)器中的地址。EA=(A1),Operand=((A1))例:MOVR1,@(1000H)PDP-11的指令,Data,1.3尋址方式,基址尋址操作數(shù)在存儲(chǔ)器中,指令地址字段給出一基址寄存器和一形式地址,基變址寄存器的內(nèi)容與形式地址之和是操作數(shù)的內(nèi)存地址。EA=(Rb)+A,Operand=((Rb)+A)例:MOVAX,1000H[BX],,Data,基址尋址的作用:較短的形式地址長(zhǎng)度可以實(shí)現(xiàn)較大的存儲(chǔ)空間的尋址。,1.3尋址方式,變址尋址操作數(shù)在存儲(chǔ)器中,指令地址字段給出一變址寄存器和一形式地址,變址寄存器的內(nèi)容與形式地址之和是操作數(shù)的內(nèi)存地址。EA=(Rx)+A,Operand=((Rx)+A)有的系統(tǒng)中,變址尋址完成后,變址寄存器的內(nèi)容將自動(dòng)進(jìn)行調(diào)整。Rx?(Rx)+?(操作數(shù)Data的字節(jié)數(shù))例:MOVAX,1000H[DI],,Data,變址尋址的作用:數(shù)組操作,串操作,1.3尋址方式,相對(duì)尋址基址尋址的特例,由程序計(jì)數(shù)器PC作為基址寄存器,指令中給出的形式地址作為位移量,二者之和是操作數(shù)的內(nèi)存地址。EA=(PC)+A,Operand=((PC)+A)例:JNEA,Data,1.3尋址方式,堆棧尋址堆棧的結(jié)構(gòu):一段內(nèi)存區(qū)域。棧底,棧頂,堆棧指針(SP):是一個(gè)特殊寄存器部件,指向棧頂堆棧操作:PUSH(從寄存器到堆棧),POP(從堆棧到寄存器),1.3尋址方式,堆棧尋址壓棧操作:PUSHRn,假定寄存器Rn為16位寄存器(SP)?(Rn),SP?(SP)-2,,Data,1.3尋址方式,堆棧尋址出棧操作:POPRn,假定寄存器Rn為16位寄存器SP?(SP)+2,Rn?((SP)),Data,,1.3尋址方式,頁(yè)面尋址將程序計(jì)算器PC的高位部分與形式地址拼接形成操作數(shù)的有效地址。EA=(PC)H,拼接A內(nèi)存分位若干頁(yè),(PC)H,指明頁(yè)地址,形式地址A表明頁(yè)內(nèi)的位移量,Data,1.3尋址方式,AddressingModeUsage3programsmeasuredonmachinewithalladdressingmodes---Displacement(基址)42%avg,32%to66%---Immediate(立即)33%avg,17%to43%---Registerindirect:13%avg,3%to24%---Scaled(基址變址)7%avg,0%to16%---Memoryindirect:3%avg,1%to6%---Misc:2%avg,0%to3%75%displacement&immediate88%displacement,immediate®isterindirect,1.3尋址方式,關(guān)于立即數(shù)(Immediate)50%~60%:小于等于8位75%~80%:小于等于16位關(guān)于位移量(Displacement)大部分情況為:12~16位,1.3指令類(lèi)型,數(shù)據(jù)傳送指令:Move,Store,Load,Set,Clear,Exchange算術(shù)運(yùn)算指令:包括定點(diǎn)數(shù)、浮點(diǎn)數(shù)運(yùn)算和十進(jìn)制數(shù)運(yùn)算邏輯運(yùn)算指令:And,Or,Not,Xor,Compare,Test移位指令算術(shù)移位,邏輯移位,循環(huán)移位程序控制類(lèi)指令幾個(gè)重要的寄存器:程序計(jì)數(shù)器PC,程序狀態(tài)字PSW(或標(biāo)志寄存器),堆棧指針SP轉(zhuǎn)移指令:無(wú)條件轉(zhuǎn)移指令,有條件轉(zhuǎn)移指令循環(huán)控制指令(LOOP)子程序調(diào)用與返回指令(CALL,RET)程序中斷指令及返回(INT,IRET)串操作指令(MOVSB,MOVSW)I/O指令:IN,OUT堆棧指令:PUSH,POP,1.3指令類(lèi)型,80X86使用最多的10條指令,一、指令格式二、指令系統(tǒng)舉例三、指令系統(tǒng)設(shè)計(jì),2.18086/8088指令系統(tǒng):CPU與存儲(chǔ)器結(jié)構(gòu),8086/8088CPU寄存器結(jié)構(gòu),2.18086/8088指令系統(tǒng):CPU與存儲(chǔ)器結(jié)構(gòu),存儲(chǔ)器及其存儲(chǔ)器地址結(jié)構(gòu)主存容量為1M(220),可直接訪問(wèn)的主存物理地址為20位。超過(guò)1M的存儲(chǔ)空間通過(guò)其他方式訪問(wèn)。8086/8088機(jī)器字長(zhǎng)16位,所有寄存器長(zhǎng)度位16位,數(shù)據(jù)總線16位。主存采用分段的結(jié)構(gòu)主存存儲(chǔ)單元的地址構(gòu)成:段基址(16bits):段內(nèi)偏移(16bits)可執(zhí)行程序(.EXE)的存儲(chǔ)結(jié)構(gòu):代碼段(CodeSegment),數(shù)據(jù)段(DataSegment),堆棧段(StackSegment),擴(kuò)展數(shù)據(jù)段(可選)命令程序(.COM)的存儲(chǔ)結(jié)構(gòu):代碼段,數(shù)據(jù)段和堆棧段必須是同一個(gè)段。所以命令程序最大為64KB存儲(chǔ)空間。,2.18086/8088指令系統(tǒng):CPU與存儲(chǔ)器結(jié)構(gòu),存儲(chǔ)器地址結(jié)構(gòu)與計(jì)算,2.18086/8088指令系統(tǒng):CPU與存儲(chǔ)器結(jié)構(gòu),存儲(chǔ)器單元結(jié)構(gòu)按字節(jié)單元編址,字節(jié)單元(2000H)=20H(2001H)=10H,字單元(2000H)=1020H(2004H)=5060H,雙字單元(2000H)=30401020H,2.28086/8088指令系統(tǒng):寄存器,通用寄存器:數(shù)據(jù)寄存器(DataRegister)AX,BX,CX,DX(16位);AH,AL,BH,BL,CH,CL,DH,DL(8位)各寄存器原則上沒(méi)有固定的應(yīng)用AX:累加器BX:基址寄存器CX:計(jì)數(shù)器DX:數(shù)據(jù)寄存器,2.28086/8088指令系統(tǒng):寄存器,通用寄存器:指針寄存器(PointerRegister)堆棧指針:SP(16位)基址指針:BP(16位),默認(rèn)指向堆棧段,通用寄存器:變址寄存器(IndexRegister)SI,DI:16位一般情況下,二者使用上無(wú)差異,在串操作中,SI對(duì)應(yīng)源操作數(shù),DI對(duì)應(yīng)目的操作數(shù),2.28086/8088指令系統(tǒng):寄存器,通用寄存器:段寄存器(SegmentRegister)代碼段(CodeSegment),數(shù)據(jù)段(DataSegment),堆棧段(StackSegment),擴(kuò)展數(shù)據(jù)段(ExtenddataSegment)代碼段寄存器:CS(16bits)數(shù)據(jù)段寄存器:DS(16bits)堆棧段寄存器:SS(16bits)擴(kuò)展段寄存器:ES(16bits),2.28086/8088指令系統(tǒng):寄存器,指令指針I(yè)P(InstructionPointer)IP(16bits)指向代碼段中下一條要執(zhí)行的指令。CS:IP形成下一次要執(zhí)行的指令的內(nèi)存地址。,標(biāo)志寄存器FLAGS(FlagsRegister)16位,記錄當(dāng)前CPU運(yùn)行程序的各種狀態(tài)進(jìn)位標(biāo)志位CF(CarryFlag)奇偶標(biāo)志位PF(ParityFlag)輔助進(jìn)位標(biāo)志位AF(AuxitiaryFlag)零值標(biāo)志位ZF(ZeroFlag)符號(hào)標(biāo)志位SF(SignFlag)溢出標(biāo)志位OF(OverflowFlag)單步跟蹤標(biāo)志位TF(TraceFlag)中斷允許標(biāo)志位IF(Interrupt-enableFlag)方向標(biāo)志位DF(DirectionFlag),2.38086/8088指令系統(tǒng):尋址方式,立即尋址MOVAX,1234H(指令代碼:B83412H),2.38086/8088指令系統(tǒng):尋址方式,寄存器(直接)尋址MOVAX,BX(指令代碼:89D8H),2.38086/8088指令系統(tǒng):尋址方式,(存儲(chǔ)器)直接尋址MOVAX,[0100H](指令代碼:A10001H)等價(jià)于MOVAX,DS:[0100H]EA=DS:0100H,2.38086/8088指令系統(tǒng):尋址方式,寄存器間接尋址MOVAX,[BX](指令代碼:8B07H)等價(jià)于MOVAX,DS:[BX]EA=DS:(BX),MOVBH,[BP]==MOVBH,SS:[BP]MOVCX,[SI]==MOVCX,DS:[SI]MOV[DI],BX==MOVDS:[DI],BX,2.38086/8088指令系統(tǒng):尋址方式,基址(變址)尋址MOVAX,1000H[BX](指令代碼:8B870001H)等價(jià)于MOVAX,DS:[BX+1000H]EA=DS:(BX)+1000H,2.38086/8088指令系統(tǒng):尋址方式,基址變址尋址MOVAX,1000H[BX][SI](指令代碼:8B800001H)等價(jià)于MOVAX,DS:[BX+SI+1000H]EA=DS:(BX)+(SI)+1000H基址寄存器只能選:BX,BP變址寄存器只能選:SI,DI基址寄存器BX:默認(rèn)DS段基址寄存器BP:默認(rèn)SS段,MOVAX,10H[BX][DI]==MOVAX,DS:[BX+DI+10H]MOVAL,20H[BP][SI]==MOVAL,SS:[BP+SI+20H],2.38086/8088指令系統(tǒng):尋址方式,串操作尋址串操作指令(MOVSB/MOVSW)隱含的尋址方式源操作數(shù)地址DS:(SI)目的操作數(shù)地址ES:(DI)尋址完成后SI,DI自動(dòng)調(diào)整(根據(jù)方向標(biāo)志位DF調(diào)整),MOVSI,1000HMOVDI,3000HMOVCX,0100HCLDREPMOVSB,,,2.38086/8088指令系統(tǒng):尋址方式,I/O尋址I/O指令特有的尋址方式INAL,DXOUTDX,ALI/O端口地址:12位端口地址I/O端口:I/O接口部件中可訪問(wèn)的空間(寄存器),向COM1口發(fā)送字符‘A’MOVDX,3F8HMOVAL,41HOUTDX,AL,2.48086/8088指令系統(tǒng):指令格式與編碼,一般雙操作數(shù)指令格式與編碼RR型或RS型,必有一個(gè)操作數(shù)在寄存器中(寄存器直接尋址)長(zhǎng)度2~6個(gè)字節(jié)(前2個(gè)字節(jié)必須)Opcode:操作碼(6位)d:方向字段(1位)。在第二個(gè)字節(jié)中,REG確定一個(gè)操作數(shù)(寄存器直接尋址),MOD和R/M確定另一個(gè)操作數(shù)的尋址方式。方向字段d表明REG確定的是源操作數(shù)還是目的操作數(shù)。d=1,REG確定目的操作數(shù),MOD+R/M確定源操作數(shù)d=0,REG確定源操作數(shù),MOD+R/M確定目的操作數(shù)W:字/字節(jié)字段(1位):操作數(shù)是字節(jié)(8位)還是字(16位)W=1,字(16位)W=0,字節(jié)(8位),2.48086/8088指令系統(tǒng):指令格式與編碼,一般雙操作數(shù)指令格式與編碼(續(xù))REG:寄存器字段,指明兩個(gè)操作數(shù)中寄存器直接尋址的那個(gè)操作數(shù)。與W字段配合使用。,2.48086/8088指令系統(tǒng):指令格式與編碼,一般雙操作數(shù)指令格式與編碼(續(xù))MOD和R/M:確定另外一個(gè)操作數(shù)。,2.48086/8088指令系統(tǒng):指令格式與編碼,一般雙操作數(shù)指令格式與編碼(續(xù))位移量部分:8位或16位,或者無(wú)。立即數(shù):8位或16位,或者無(wú)。,2.48086/8088指令系統(tǒng):指令格式與編碼,指令編碼舉例MOVAX,1000H[BX][SI]MOV的操作碼Opcdoe=100010d=1:目的操作數(shù)是寄存器直接尋址W=1:16位字操作REG=000:表示AXMOD=10,R/M=000:另一個(gè)操作數(shù)EA=(BX)+(SI)+1000H指令前兩個(gè)字節(jié)=1000101110000000(8B80H)4字節(jié)指令編碼:8B800010H,2.48086/8088指令系統(tǒng):指令格式與編碼,與累加器(AX或AL)相關(guān)雙操作數(shù)的指令A(yù)X(AL):寄存器直接尋址另一操作數(shù):存儲(chǔ)器直接/立即數(shù)指令代碼中省略累加器編碼字段,采用特定的操作碼以區(qū)別于其他雙操作數(shù)指令。1010001:Mem?Acc1010000:Acc?Mem,指令:MOVAX,[1000H]指令代碼:101000010000000000010000,2.48086/8088指令系統(tǒng):指令格式與編碼,其他指令格式單操作數(shù)指令編碼格式與立即數(shù)相關(guān)的指令的特定格式,單操作數(shù)指令,2.58086/8088指令系統(tǒng):指令類(lèi)型,指令類(lèi)型傳送指令:MOV,XCHG,LDS,LEA算術(shù)運(yùn)算指令:ADD,INC,SUB,CMP等邏輯運(yùn)算指令:AND,OR,NOT,TEST等處理器控制指令:CLC,STC,CLI,STI,CLD,NOP等程序控制指令:CALL,RET,JMP,JNE,INT,IRET等串指令:MOVSB,MOVSW等I/O指令:IN,OUT,2.6MIPS指令格式簡(jiǎn)介,MIPSR系列寄存器RISC處理器2328bitBytes3232bitGPRs3232bitFPRsHI,LO,PC,2.6MIPS指令格式簡(jiǎn)介,MIPS寄存器使用的約定,2.6MIPS指令格式簡(jiǎn)介,MIPS指令格式32位固定長(zhǎng)度指令格式(3種格式類(lèi)型)最多3地址指令:add$t0,$s1,$S2($t0?$s1+$s2)對(duì)于Load/Store指令,單一尋址模式:Base+Displacement沒(méi)有間接尋址16位立即數(shù)簡(jiǎn)單轉(zhuǎn)移條件(與0比較,或者比較兩個(gè)寄存器是否相等)無(wú)條件碼,2.6MIPS指令格式簡(jiǎn)介,MIPS指令格式Op:6bits,OpcdoeRs:5bits,ThefirstregistersourceoperandRt:5bits,ThesecondregistersourceoperandRd:5bits,TheregisterdestinationoperandShamt:5bits,Shiftamount(shiftinstruction)Func:6bits,functioncode(anotherOpcode),2.6MIPS指令格式簡(jiǎn)介,MIPS尋址方式,2.6MIPS指令格式簡(jiǎn)介,MIPS指令類(lèi)型,2.6MIPS指令格式簡(jiǎn)介,2.6MIPS指令格式簡(jiǎn)介,RSIC的指令系統(tǒng)的特點(diǎn)處理器通用寄存器數(shù)量較多由使用頻率較高的簡(jiǎn)單指令構(gòu)成;指令字長(zhǎng)固定,操作碼固定;指令格式種類(lèi)少,尋址方式種類(lèi)少;訪問(wèn)內(nèi)存僅限Load/Store指令,其他操作針對(duì)寄存器;指令采用流水技術(shù),2.7PDP-11指令格式簡(jiǎn)介,PDP-11寄存器機(jī)器字長(zhǎng)16位816bitsGPRs,(一個(gè)作SP,一個(gè)作PC)指令字長(zhǎng):16位、32位和48位三種;采用擴(kuò)展操作碼13類(lèi)指令,零地址、單地址和雙地址包括RR型、RS型和SS型雙操作數(shù)指令(R:寄存器,S:存儲(chǔ)器)指令格式比較復(fù)雜尋址方式:立即、寄存器直接、寄存器間接、存儲(chǔ)器直接、存儲(chǔ)器間接、基址、自增變址、自減變址、基址變址、基址變址間接等,2.7PDP-11指令格式簡(jiǎn)介,PDP-11指令格式,一、指令格式二、指令系統(tǒng)舉例三、指令系統(tǒng)設(shè)計(jì),3.1指令系統(tǒng)的設(shè)計(jì),設(shè)計(jì)依據(jù)操作特性:不同操作的數(shù)量,具體是些什么操作,復(fù)雜程度等。數(shù)據(jù)類(lèi)型:各種操作所處理的數(shù)據(jù)的類(lèi)型。指令格式:指令長(zhǎng)度,地址數(shù)目,指令中不同域的大小等。寄存器數(shù)目:CPU中可以直接訪問(wèn)的寄存器的數(shù)目及使用方法。尋址(Addressing):操作數(shù)的尋址方式。,3.1指令系統(tǒng)的設(shè)計(jì),指令設(shè)計(jì)的相關(guān)因素操作類(lèi)型的數(shù)量:決定操作碼的位數(shù)。操作數(shù)的數(shù)量:采用幾個(gè)操作數(shù),每個(gè)操作數(shù)均應(yīng)包括尋址模式編碼。有時(shí)操作數(shù)是隱含的。尋址方式數(shù)量:有時(shí)尋址方式可以是隱含的(由操作碼決定)。寄存器數(shù)量:確定寄存器編碼的位數(shù)。地址范圍:存儲(chǔ)器直接尋址很少見(jiàn),但變址(或基址)尋址時(shí),較大的尋址范圍必須以較多的displacement位數(shù)為前提。編址粒度(AddressGranularity):字節(jié)編址或字編址。字節(jié)編址方便,但要以更多的地址位數(shù)為代價(jià)。,3.1指令系統(tǒng)的設(shè)計(jì),指令設(shè)計(jì)指令編碼設(shè)計(jì)首先考慮指令編碼中的固定不變的部分,然后考慮可變的部分。指令編碼中的固定部分:指令系統(tǒng)方案確定后不可能發(fā)生變化的部分。操作碼(數(shù)量,位數(shù),編碼)尋址方式(數(shù)量,位數(shù),編碼)寄存器(數(shù)量,位數(shù),編碼)不同指令所涉及的地址數(shù)量如果代碼大小至關(guān)重要:使用可變長(zhǎng)度指令格式如果性能至關(guān)重要:使用固定長(zhǎng)度指令格式,3.1指令系統(tǒng)的設(shè)計(jì),指令系統(tǒng)設(shè)計(jì)舉例某機(jī)字長(zhǎng)為16位,數(shù)據(jù)總線16位,內(nèi)存容量64KB,8個(gè)16位通用寄存器R0~R7。指令系統(tǒng)基本要求是:四種尋址方式:立即尋址,寄存器直接尋址,寄存器間接尋址,變址尋址;立即數(shù)和變址尋址時(shí)位移量disp均可達(dá)16位。32條雙操作數(shù)指令(其中必有一操作數(shù)是寄存器直接尋址)。128條單操作數(shù)指令。,3.1指令系統(tǒng)的設(shè)計(jì),指令系統(tǒng)設(shè)計(jì)舉例(續(xù))雙操作數(shù)指令格式,- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
14.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開(kāi)word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 計(jì)算機(jī) 組成 原理 指令系統(tǒng) part3
鏈接地址:http://www.szxfmmzy.com/p-3592957.html