版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、ComputerArchitectureSpring指令集作用ComputerArchitectureSpring指令集作用和设计考反映计算机的基本功能R1R1-R2,则有R1R2-则有4ComputerArchitectureSpring指令集设计的演SingleComputerArchitectureSpring指令集设计的演Single Accumulator (EDSAC Accumulator + Index Registers (ManchesterMarkI,IBM700series1953)SeparationofProgrammingM from ImplemenHigh-l
2、evel Language Based (B5000 1963)GeneralPur ComplexInstructionSets(IBM 360 1964)e Register Load/Store Architecture (CDC 6600, Cray 1 1963-76)el 432 1977-(Mips,Sparc,HP-PA,IBM RS6000,el x86 1980-(C(IA-64. . .1999)5ComputerArchitectureSpringComputerArchitectureSpring6ComputerArchitectureSpringComputerA
3、rchitectureSpring7ComputerArchitectureComputerArchitectureSpring8ComputerArchitectureSpring有效地使用寄存器。这不仅体现在表达式求值方面,更重要的ComputerArchitectureSpring有效地使用寄存器。这不仅体现在表达式求值方面,更重要的9ComputerArchitectureSpring四种典型指令Accumulator-累加(1 ComputerArchitectureSpring四种典型指令Accumulator-累加(1 add acc acc+acc+memA+11+xaddre
4、ssaddxA accStack-堆栈tos tos+0 address GeneralPur 2 address3eRegister通用寄存器(canbeadd Aadd AB EAA EAA+EAA EAB+Load/Store(asloadd RaRbload Ra Rb storeRaRa Rb+Ra memRb memRb Ra3ComputerArchitectureSpring指令集结构类优缺ComputerArchitectureSpring指令集结构类优缺ComputerArchitectureSpring指令数量比分别采用四种指令集实现ComputerArchitectur
5、eSpring指令数量比分别采用四种指令集实现同样的功(C = 列的比+ B),其指令代(load-(register-PushA PushB Pop Load Load BStoreStoreC,StoreComputerArchitectureSpring地址码的优化ComputerArchitectureSpring地址码的优化表地址码个数通常有3个、2个、1个及个等4种况评价指令中地址码个数应该取多少的标准(1) 程容量,包括操作码和地址通过一个典型例子来分析主ComputerArchitectureSpringComputerArchitectureSpringX,A,X,X,X,X
6、,X,X,x a b c e ComputerArchitectureSpringMOVEX,;ComputerArchitectureSpringMOVEX,;X,X,X,;X,ComputerArchitectureSpringMOVER1,ComputerArchitectureSpringMOVER1,R1,R1, MOVER2,R2,R1,MOVEX,ComputerArchitectureSpringEComputerArchitectureSpringESTORELOAD XSTOREComputerArchitectureSpringComputerArchitectureSp
7、ringCDEFXComputerArchitectureSpring的P 表示操作码长度,A 表示地址码长度,D 表示数据长度表示通寄ComputerArchitectureSpring的P 表示操作码长度,A 表示地址码长度,D 表示数据长度表示通寄存器的地址码长度表示字节数。并地址数指令条访存次程执行速度(访存信三地5二地7一地99P9P9A零地寄存器88P+7A+9R+7DComputerArchitectureSpring不同地址个数指令的特点及适用场地址数的长程量ComputerArchitectureSpring不同地址个数指令的特点及适用场地址数的长程量行速适用场三地最最一向量
8、,矩阵运算二地较很很一般不宜采一地较较较连续运算,硬件结构简零地最最最嵌套,递归,变量较寄存器一最最多累加器,数据传送较ComputerArchitectureSpring通用寄存器指令集的主导1975-大多数处理器采用了GPR寄ComputerArchitectureSpring通用寄存器指令集的主导1975-大多数处理器采用了GPR寄存寄存器寄存器便于-e.gA*BC*D(E*F)可以任意顺序完成3个乘法,寄存器可以-减少器,从而提高了-较少的比特进行索器相比寄存器可以用ComputerArchitectureSpringMIPS可编程机232ComputerArchitectureSpr
9、ingMIPS可编程机232x31x32-bitGPRs(R0=32x32-bitFPregs HI, LO, PC HILO PC(Program0ComputerArchitectureSpringMIPS的通用寄存器$0-012345678. zeroconstantComputerArchitectureSpringMIPS的通用寄存器$0-012345678. zeroconstantcalleefor . (calleemustfunction temporaryforOSertoglobaltemporary:caller(calleecanStack frameComputer
10、ArchitectureSpring内容提指令集的基本类2. 指令的寻址3.指令的格式4.指令的数据类型与大小(ComputerArchitectureSpring内容提指令集的基本类2. 指令的寻址3.指令的格式4.指令的数据类型与大小(Type&5.指令操作6.指令的后继(jumps,conditionsComputerArchitectureSpring地址的大端小端及对BigEndian: byte(xx00BigEndofIBM360/370,Motorola68k,MIPS,ComputerArchitectureSpring地址的大端小端及对BigEndian: byte(xx0
11、0BigEndofIBM360/370,Motorola68k,MIPS,Sparc,HPLittleEndianbyte(xx00LittleEndofel80 x86,DECVax,DECAlpha(Windowslittleendianbyte0321012330bigendianbyte12对对齐: 数据在内存中的地址应被该数的大小(如1个word=4 bytes)未对ComputerArchitectureSpring设主存字长64位(8字节),程序字长32以字节编址的器各方ComputerArchitectureSpring设主存字长64位(8字节),程序字长32以字节编址的器各方
12、从一字的起始位置开从程序地址的整数倍位置开/ / / ComputerArchitectureSpring寻址模R4R4Register(寄存器ComputerArchitectureSpring寻址模R4R4Register(寄存器AddImmediate(立即数AddAddR4,100(R1) R4Displacement (偏移R4Register indirect(寄存器间接)Add AddR3,(R1+R2) R3IndexedBase(基址R1R1AddMemory器间接)AddR1R1+MemR2;R2R2+d R2R2d;R1R1 t-increment(变址加Pre-decr
13、ement(变址减1)Add Scaled(比例变址AddComputerArchitectureSpring寻址模式的使用频-ComputerArchitectureSpring寻址模式的使用频-42%avg,32%to33%avg,17%toMemory 7%avg,0%to3%avg,1%to-2%avg,0%to75% displacement & 85% displacement, immediate & register ComputerArchitectureSpring地址偏移范AddressComputerArchitectureSpring地址偏移范Address基于592
14、programs和5SPECfp92programs的分析结1% 的地 16-12 - 16 bits 的偏移量是需要0123456789. FP ComputerArchitectureSpring立即数寻址50to60%处于8bits75to80%处于16bits048Number ComputerArchitectureSpring立即数寻址50to60%处于8bits75to80%处于16bits048Number 围ComputerArchitectureSpringComputerArchitectureSpring程序的主存物理地址在什么时间确采用什么方式来实现程序需要定位的主要
15、原因程序的独立性程序的模块化设计有些程序本身很大,大于分配给它的物理空间因此,程序员编程时使用逻辑地址ComputerArchitectureSpring1)直接定位:程序装入主存以前,其指令和数据的物理地址已定。如单任务ComputerArchitectureSpring1)直接定位:程序装入主存以前,其指令和数据的物理地址已定。如单任务个程序可占有计算机的全部资源。任务、多用户系统,物理空间分区采用“覆盖”技术2)静态定位:由定位装入程序在程序装入时集中一次完成地址变换。程序本身可以重定位,但一旦装入则不能再在中移动,(在重新装入时可变动在主存中的位置)优点:无需增加硬设备,完成,实现简单
16、缺点:.程序执行期间不能在主存中移动,不利于提.各ComputerArchitectureSpring3)。(与变址寻址方式相类似物理ComputerArchitectureSpring3)。(与变址寻址方式相类似物理地址=(基址寄存器)+逻辑地址优点射,以硬件形成的物理地址,程序可以方便地分段映放于不连续空间,主存分可以分小,提主存利用率程序段可被若干程序共享支持虚器,程序的调度由系统管理程序现缺点:.需要硬件支持.实管理算法比较复杂ComputerArchitectureSpring内容提指令集的基本类2.指令的寻址3. 指令的格式4.指令的数据类型与大小(TypeComputerArch
17、itectureSpring内容提指令集的基本类2.指令的寻址3. 指令的格式4.指令的数据类型与大小(Type&5.指令操作6.指令的后继(jumps,conditionsComputerArchitectureSpring指令格式-Variable(变长Fixed(定长ComputerArchitectureSpring指令格式-Variable(变长Fixed(定长Hybrid(混合ComputerArchitectureSpring指令长度的ComputerArchitectureSpring指令长度的选处理器(ARM, MIPS) 提供了不同的指令模式,户可选择16-bit指令集(T
18、humbComputerArchitectureSpring指令的组ComputerArchitectureSpring指令的组操作码和地址寻址方式:直接寻址、间接寻址、立即数寻址、变址寻址、相对寻址、寄存器寻址操作码地址码ComputerArchitectureSpring指令地址码与寻址+PC-ComputerArchitectureSpring指令地址码与寻址+PC-+ComputerArchitectureSpring操作码的优化表操作码用来指定:加、减、乘、除、数据传送、移位、转移、输入输出、程序控制、处理机控制等操作固定长度ComputerArchitectureSpring操作码
19、的优化表操作码用来指定:加、减、乘、除、数据传送、移位、转移、输入输出、程序控制、处理机控制等操作固定长度、Huffman编码、扩展编优化操作码编码的目的:节省程空例如:Burroughs公司的B-1700操作码编码方指令的操作码总改进的百分8位固定长编04-6-10扩展编HuffmanComputerArchitectureSpring固定长ComputerArchitectureSpring固定长操作定长定域 规浪费信息量(操作码的总长位数增加ComputerArchitectureSpring熵ComputerArchitectureSpring熵熵ComputerArchitectur
20、eSpringComputerArchitectureSpring熵-ComputerArchitectureSpringHuffman编码1952年由HuffmanComputerArchitectureSpringHuffman编码1952年由Huffmanpi表示第i固定长编n pi lo g pR 1 i lo g 2 n nH pi log2 iComputerArchitectureSpringHuffman编码原,cd,eComputerArchitectureSpringHuffman编码原,cd,eAx=Px=0.25,0.25,0.2,0.15,0101ComputerAr
21、chitectureSpringHuffman编码实例假设一台模型计算机共有7种不长操作码需要3位ComputerArchitectureSpringHuffman编码实例假设一台模型计算机共有7种不长操作码需要3位。已码在程序中出现的概率下表,计算采用Huffman编码法的操作码平均长度,并计固定长操作码和Huffman操作码的信息冗余量指令序号出现的概率0.450.300.150.050.03ComputerArchitectureSpring例ComputerArchitectureSpring例题解答利用Huffman(又称最小概率合并法顺序排列结点,并把这个新结点与其它还没有合并的结
22、点一起形成个新的结点集合ComputerArchitectureSpring例ComputerArchitectureSpring例题解答在新结点集合中选取两个概率最小的结点进行合并,如此继续进行下去,直至全部结点合并完毕。最后得到的根结点的概率值为1别用一位代码“0”和“1”标注点的最短路径,把沿线所经过的代码排列起来就得到了这指令的操作码编码ComputerArchitectureSpring利用HuffmanComputerArchitectureSpring利用HuffmanComputerArchitectureSpring利用HuffmanComputerArchitectureS
23、pring利用HuffmanComputerArchitectureSpring利用HuffmanComputerArchitectureSpring利用HuffmanComputerArchitectureSpring利用HuffmanComputerArchitectureSpring利用HuffmanComputerArchitectureSpring利用HuffmanComputerArchitectureSpring利用HuffmanComputerArchitectureSpring利用HuffmanComputerArchitectureSpring利用HuffmanComput
24、erArchitectureSpring利用HuffmanComputerArchitectureSpring利用HuffmanComputerArchitectureSpring利用Huffman(这不是一个典型的例子ComputerArchitectureSpring利用Huffman(这不是一个典型的例子ComputerArchitectureSpringHuffman操作码编码结Huffman编码011 2ComputerArchitectureSpringHuffman操作码编码结Huffman编码011 21 1 31 1 1 41 1 1 1 51 1 1 1 1 61 1 1
25、1 1 6ComputerArchitectureSpring例题解答解:采用Huffman编码法的操作码平均长度为7pi ComputerArchitectureSpring例题解答解:采用Huffman编码法的操作码平均长度为7pi l0.45 1+ 0.30 2+ 0.15 3i0.05 4+ 0.03 5+ 0.01 6+ 0.01 6= 1.97Hii 2ComputerArchitectureSpring例题解答ComputerArchitectureSpring例题解答采用3Huffman与3位固定长操作码的信息冗余量35相比要小得R 1 1.95 1.01.95R 1 1 35
26、log2 ComputerArchitectureSpring扩展编码法ComputerArchitectureSpring扩展编码法扩展编码法:由固定长操作码与Huffman将上例改为1-2-3-5R 1 ComputerArchitectureSpring扩展编码ComputerArchitectureSpring扩展编码法将上例改为2-42-4R 1 1.95 11.4%2.2ComputerArchitectureSpring扩展编码法7条指令的操作码扩展编1-2-3-5 2-4 00 ComputerArchitectureSpring扩展编码法7条指令的操作码扩展编1-2-3-5
27、2-4 00 1 0 1 1 1 1 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ComputerArchitectureSpring对称性:所有的寄存器同等对待;操作码的设置等都要对ComputerArchitectureSpring对称性:所有的寄存器同等对待;操作码的设置等都要对均匀性:不同的数据类型、字长、ComputerArchitectureSpring指令ComputerArchitectureSpring指令系统的优化设优化指令系统设计的3(关于VLIW可参考09年讲义关键在软硬件的功能分配,系统的综合性时间与空间
28、;执行、编译、编写时间ComputerArchitectureSpringCISC 设计风*ComputerArchitectureSpringCISC 设计风*CISC程序所需CPU时间: TCPU程序中的指令条数: IN每个时钟的周期: 为减少TCPU,希望尽量减少IN此需增强指令的功能,使指令变得复杂(以硬件代替一的实现)* * 机器的向上/新的指令的CISC的思路由IBM公司提出,并以1964年IBM研制的IBM360系统进一步增强原有指令的功能,并设置更为复杂ComputerArchitectureSpring*ComputerArchitectureSpring*. 统计表明:通常
29、MOV,PUSH,POP等传送指令的使用频*. IBM370机有D28444ComputerArchitectureSpring*.(B2)+D2 (B1)+D1 L数据块长度(最大完成:从主存内数据块的传送 *.ComputerArchitectureSpring*.(B2)+D2 (B1)+D1 L数据块长度(最大完成:从主存内数据块的传送 *.完成计算其中变量X的值tbladdr:系数表C(0),C(1)put 如循环程虚线框内通常以三put 如循环程虚线框内通常以三条指令完成、加法、比较、转现以一条“大于转移”指令完(R1):循环变量(R3+1):隐含,存(R3):结束的终值(B2)+
30、D2:转移地8444ComputerArchitectureSpring指令系统复杂通常指令类型4种指令集 200,寻址方式 4种ComputerArchitectureSpring指令系统复杂通常指令类型4种指令集 200,寻址方式 4种4VAX机300多条指令,10多种寻址方式,指令器有*.器及控制逻辑日趋复杂,庞大,硬件的资源ComputerArchitectureSpringComputerArchitectureSpringComputerArchitectureSpringTop-9x86TheParetoprinciple(alsoknownasthe80-20rule,thel
31、awofthefew,ComputerArchitectureSpringTop-9x86TheParetoprinciple(alsoknownasthe80-20rule,thelawofthefew,andtheprinciplectorsparsity)t,formany1848-1923roughly80%oftheeffectscomefrom20%ofthe1Load22%2Conditional branch20%3Compare16%412%5Add6And7Sub5%8Move register-register9Call格格e *.20%与80%简单复杂占占占占简单复杂*
32、.复杂指令硬件开销大,*.对高级语言的适用性不能普适,*.1981ComputerArchitectureSpring2)RISC指令ComputerArchitectureSpring2)RISC指令种数少( 128),译码简单,加快速度寻址方式少( 4 种)指令格式少( 80286:约80486: 4ComputerArchitectureSpringRISCComputerArchitectureSpringRISCComputerArchitectureSpringRISCRISC对编译器带来的方便(3)ComputerArchitectureSpringRISCRISC对编译器带来的
33、方便(3)因为采用LOAD/STORE方式,省去了是否生器RISC(1)主ComputerArchitectureSpringCISC与RISCComputerArchitectureSpringCISC与RISC一般不固 固定仅相差较绝大多数采线控可访方较绝大多数用微ComputerArchitectureSpring内容提指令集的基本类2.指令的寻址3.指令的格式4. 指令的数据类型与大小(TypeComputerArchitectureSpring内容提指令集的基本类2.指令的寻址3.指令的格式4. 指令的数据类型与大小(Type & Size 5.指令操作6.指令的后继(jumps,c
34、onditionsComputerArchitectureSpring操作数类Bit(比特): 0,BitComputerArchitectureSpring操作数类Bit(比特): 0,BitString(比特串): sequenceofbitsofaparticularlength 4 bits is a nibble8bits isa16bitsisahalf-word 32 bits is a word64bitsisadouble-ASCII 7 bit code UNICODE16bitcodeDecimal(10进制数digits 0-9 encoded as 0000b thr
35、u 1001b twodecimaldigitspackedper8bitbyteHow many +/- #s? Where is decimal pt?Howare+/-exponents (浮点数SingleEMxDouble Preci ComputerArchitectureSpring操作数的使用频Frequencyofreferenceby数据类型与大小8-bitComputerArchitectureSpring操作数的使用频Frequencyofreferenceby数据类型与大小8-bit16-bit32-bit32-bitand64-bitIEEE754浮点FPCompu
36、terArchitectureSpring内容提指令集的基本类2.指令的寻址3.指令的格式4.指令的数据类型与大小(TypeComputerArchitectureSpring内容提指令集的基本类2.指令的寻址3.指令的格式4.指令的数据类型与大小(Type&Size5. 指令操作6.指令的后继(jumps,conditionsComputerArchitectureSpring典型的指令操Load (from memory) Store (to memory) register-to-register move input (from I/O device) output (to I/O d
37、evice) push, pop (to/from stack)DataegerComputerArchitectureSpring典型的指令操Load (from memory) Store (to memory) register-to-register move input (from I/O device) output (to I/O device) push, pop (to/from stack)Dataeger(binary+decimal)orFP Add, Subtract, Multiply, Divideshiftleft/right,eGraphicsnot, and
38、, or, set, clear unconditional,conditional call, returntrap,test&setsearch,-parallelsubwordops(416bitComputerArchitectureSpring使用最频繁的ComputerArchitectureSpring使用最频繁的X86123456789RegerAveragePercenttotalexecuted SimpleinstructionsdominateinstructionComputerArchitectureSpringMIPS的算术逻辑与ComputerArchitect
39、ureSpringMIPS的算术逻辑与访存操作指令算术逻辑Add, AddU, SubU,AddI,AddIU,SLTI,SLTIU,AndI,OrI,XorI,访存LB,LBU,LH,LHU,SB,SH,SW,SWL,ComputerArchitectureSpringMIPS的乘除法MULTrs,MULTUrs,ComputerArchitectureSpringMIPS的乘除法MULTrs,MULTUrs,DIV rs, DIVUrs, MFHI MFLO HI LOMTLO ComputerArchitectureSpringMIPS的算术addaddaddsubComputerArc
40、hitectureSpringMIPS的算术addaddaddsub$1=$2+$1=$23operands;+constant;addi$1,$2,100$1=$2+addu$1,$2,$3 $1=$2+3operands;no3operands;nosubtractunsignedsubu$1,$2,$3$1=$2addimm.unsign.addiu$1,$2,100$1=$2+100+constant;nomult$2,$3 Hi,Lo=$2x64-bit unsigned multiply unsigned Hi,Lo=$2xdiv$2,$3 Lo=$2Lo=quotient,Hi=
41、Hi=$2moddivu$2,$3Lo=$2$3,Unsignedquotient&remainder Hi = $2 mod $3mfhi$1$1=HiUsedtogetcopyofmflo$1$1=LoUsedtogetcopyofMovefromMovefromComputerArchitectureSpringMIPS的逻辑ComputerArchitectureSpringMIPS的逻辑or immediatexorand$1,$2,$3$1=$2&3reg.operands;LogicalAND 3 reg. operands; Logical OR3reg.operands;Lo
42、gicalor$1=$2|xor$1,$2,$3 $1=$2nor$1,$2,$3$1=($2|$3)3reg.operands;Logicalandi$1,$2,10$1=$2&10 LogicalANDreg,ori$1=$2|LogicalORreg,xori$1,$2,10 $1=$2LogicalXORreg,shift left logicalsll $1=$2shiftrightarithm.sra$1,$2,10$1=$2ShiftrightbyShiftright(signshift left logicalsllv $1,$2,$3 $1 = $2 $3 Shiftrigh
43、tbyvariableshiftrightarithm.srav$1,$2,$3 $1=$2$3Shiftrightarith.byComputerArchitectureSpringMIPS的数据传递ComputerArchitectureSpringMIPS的数据传递500(R4), 502(R2), 41(R3), Store halfStoreLW R1, 30(R2) LH R1, 40(R3) LHU R1,40(R3) LB R1, 40(R3)LBUR1,Load word Loadhalfwordunsigned Load byteLoadbyteLUIR1,LoadUppe
44、rImmediate(16bitsshiftedleftby0000ComputerArchitectureSpring内容提指令集的基本类2.指令的寻址3.指令的格式4.ComputerArchitectureSpring内容提指令集的基本类2.指令的寻址3.指令的格式4.指令的数据类型与大小(Type&Size5.指令操作6. 指令的后继(jumps, conditions, ComputerArchitectureSpring指令转移范ComputerArchitectureSpring指令转移范BitsofBranch对于整数运算,25%的转移是24 指令左右的范0123456789.
45、FPComputerArchitectureSpring条件转移寻大多数的转移都相对接近当前的 建议采用8bits(128instructions) Equal/NotEqual是最为重要的比较操作,对于 programs (86%)ComputerArchitectureSpring条件转移寻大多数的转移都相对接近当前的 建议采用8bits(128instructions) Equal/NotEqual是最为重要的比较操作,对于 programs (86%)types in branchesFPComputerArchitectureSpringMIPS条件转移条件转移(寄存器与寄存器比较B
46、EQComputerArchitectureSpringMIPS条件转移条件转移(寄存器与寄存器比较BEQrs,rt,ifRrs=Rrt-relativeBNErs,rt,条件转移(寄存器与零比较BLEZrs,BGTZrs,BLTZALrs, ifRrs=0relative条件转移指令,当寄存器中内容为0时转BEQZrs,offset 条件转移指令,当寄存器中内容不为0时转移发BNEZrs,ComputerArchitectureSpringMIPS转移,比较,跳转指令branchonbeqif($1=$2)goComputerArchitectureSpringMIPS转移,比较,跳转指令b
47、ranchonbeqif($1=$2)gotoEqualtest;PCrelativebranchonnoteq. bneif($1!=$2)gotoNotequaltest;PCsetonnsltCompareif($2$3)$1=1;elsen;2ssetnimm.slti$1,$2,100if($2100)$1=1;elseCompareconstant;2ssetnuns.sltuCompareif($2$3)$1=1;elsen;naturalsetl.t.imm.uns.sltiu$1,$2,100if($2100)$1=1;elseCompareconstant;naturalj
48、10000gotoJumpjrgotojumpForswitch,procedurejumpandjal$31=PC+4;gotoForprocedureComputerArchitectureSpring有符号数、无符号数的比较ComputerArchitectureSpring有符号数、无符号数的比较R1=R2=R3=执行下列指令后;if(r2r1)r4=1;else;if(r3r1)r5=1;else;if(r2r1)r6=1;else;if(r3r1)r7=1;elser4r7的值是多少为什么r4;r5;r6;r7;ComputerArchitectureSpring堆栈的作CALLA
49、BComputerArchitectureSpring堆栈的作CALLABABCABA有些计算机提供了实现堆栈的专门结构 来实现堆栈有些计算机必须通AComputerArchitectureSpring器中的堆向上vs.向下生长0 inf. ComputerArchitectureSpring器中的堆向上vs.向下生长0 inf. inf. 0LittleBig/LastFull(堆栈指针指向 LittleBig/NextEmpty(堆栈指针 ReadfromIncrement SPReadfromMem(SP) Decrement SPIncrement SP ComputerArchite
50、ctureSpringComputerArchitectureSpringMIPS的栈帧ComputerArchitectureComputerArchitectureSpring堆栈是程序的活ComputerArchitectureSpringMIPS 的子程序调addiu $sp,ComputerArchitectureSpringMIPS 的子程序调addiu $sp,$sp,-$ra,$fp,addiu $fp,$sp,.old$a0,$31,$fp,addiu $sp,$sp,oldComputerArchitectureSpring延迟转ComputerArchitectureSp
51、ring延迟转LL:112在MIPS架构中ComputerArchitectureSpring流水线中的指令延迟r3,subr4,r4,r4,ComputerArchitectureSpring流水线中的指令延迟r3,subr4,r4,r4,addir5,r3,DelayLL:r1,r3,在结束转移指令的执行时候,CPUComputerArchitectureSpring指令延迟槽的填充利DcdComputerArchitectureSpring指令延迟槽的填充利Dcd&OpFetch InstexecuteDcd&OpInstevenifbranchor continueInstSingle
52、 delay slot impactsthecriticalpathaddr3,r1, subr4,r4, bz r4, LL 1可以填充NOP50%addrd,ComputerArchitectureSpring延迟槽优化ComputerArchitectureSpring延迟槽优化实1:MOVER1,R3;(R3)与(R4);如果(R3)=(R4)1:CMPR3,;(R3)与(R4)2:BEQ;如果(R3)=(R4)3:MOVENEXT:MOVE R4,ComputerArchitectureSpring比较特殊的MIPSComputerArchitectureSpring比较特殊的MIP
53、Sbreak断点发生,将处理器的控制交给异常处理机制系统陷阱(trap)发生,将处理器的控制交给异常处理机制sor instrs. : 协处理器指令,比如浮点协处TLBrestorefromexception:loadwordstoreword支持恢复关键数据位到状态寄存器位用于非对准数据的用于非对准ComputerArchitectureSpringMIPS指ComputerArchitectureSpringMIPS指令集特点32-bit 固定格式指令(3 3232-bit通用寄存器GPR(R0=0) and32FP浮点寄存器(andHI功能划分完3地址, reg-reg 算术逻辑指令单一
54、寻址方式load/store: 16-bit 立即数,以及LUI简单的转移条与零比或者比较两个寄存没有整数比较条延迟ComputerArchitectureSpringMIPS指令集特点load-storeComputerArchitectureSpringMIPS指令集特点load-store使用通用寄提供至少16个通用寄存器和独立的浮点寄存器: 31 GPR & 32 支持基本寻址模式偏移(12to16bits),立即数(size8to16bits)寄存器:使用性能优先的固定指令支持操作数格式:8-bit,16-bit,32-bit整数,32-bit,64-bitIEEE754浮点简单而关
55、键的指令: load, store, add, subtract, move register-and,shift,compareequal,comparenotequal,branchrelativeeast8-bitslong),jump,call,and是一个极其精简的指令ComputerArchitectureSpring“IFTHENComputerArchitectureSpring“IFTHENELSE”Controlif($t8 or=zero)branchto#$s0getsthenegativeof$t8 # increment $t1 by 1#brancharoundtheelseori $s0, $t8, 0 addi$t2,$t2,#$s0getsacopyof#increment$t2byComputerArchitectureSpring“WHILE”ControlComputerArchitectureSpring“WHILE”Control$v0 = While($a1=$a2)Branchto#LoadaByte:$t1=mem$a1+0 #LoadaByte:$t2=mem$a2+0 # If ($t1 !=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理中的法律诉讼与辩护
- 音乐硕士就业方向前景
- 餐桌服务话术指南
- 安全培训规章制定程序课件
- 机器安全作业培训内容课件
- 安全培训覆盖面课件
- 医患关系微观原因分析
- 经营岗位就业前景怎么样
- 安全培训要常抓不懈
- 护理与信息技术融合
- 智能水杯行业状况分析报告
- 电力部门春节安全生产培训
- 公司财务部门工作职责
- 原辅材料领料申请单
- 人教版九年级数学上册22 3 3拱桥问题和运动中的抛物线 一课一练 (含答案)
- 2023年个税工资表
- 网球运动基本知识及规则课件
- 2023新青年新机遇新职业发展趋势白皮书-人民数据研究院
- 管理学原理教材-大学适用
- 变电站一次侧设备温度在线监测系统设计
- GB/T 6579-2007实验室玻璃仪器热冲击和热冲击强度试验方法
评论
0/150
提交评论