MIPS是衡量计算机CPU性能的指标。
MIPS是世界上很流行的一种RISC处理器。MIPS的意思“无内部互锁流水级的微处理器”(Microprocessor without interlocked piped stages)。
其机制是尽量利用软件办法避免流水线中的数据相关问题。它最早是在80年代初期由斯坦福(Stanford)大学Hennessy教授领导的研究小组研制出来的。
MIPS公司的R系列就是在此基础上开发的RISC工业产品的微处理器。这些系列产品为很多计算机公司采用构成各种工作站和计算机系统。
MIPS技术公司是美国著名的芯片设计公司,它采用精简指令系统计算结构(RISC)来设计芯片。和英特尔采用的复杂指令系统计算结构(CISC)相比,RISC具有设计更简单、设计周期更短等优点,并可以应用更多先进的技术,开发更快的下一代处理器。
用MIPS作为度量性能值存在的问题:
MIPS是指令执行的速率,规定了性能和执行时间成反比,越快的计算机具有越高的MIPS值。从表面看,MIPS既容易理解,又符合人的直觉。其实,用MIPS作为度量性能的指标存在三个问题。
1、MIPS规定了指令执行的速率,但没有考虑指令的能力。我们没有办法用MIPS比较不同指令集的计算机,因为指令数肯定是不同的。
2、在同一计算机上,不同的程序会有不同的MIPS,因而一台计算机不会只有一个MIPS值。
例如,将执行时间用MIPS、CPI、时钟频率代入之后可得:MIPS = 指令数/(执行时间 * 10^6) = 指令数 / (指令数 * CPI / 时钟频率 * 10^6) = 时钟频率 / (CPI * 10^6)。
3、也是最重要的一点,如果一个新程序执行的指令数更多,但每条指令的执行速度更快,则MIPS的变化是性能无关的。
Options>General>Disassembly>Auto comments √
Search>Text>输入字符串
ps:这时候找到的字符串在comment里面能看见,如果不开auto comment的话,可能会看的一头雾水。
IDA过程:Debugger>Attach to process>Debugger warning>Choose process to attach to>成功进入附加调试
IDA官方给出的处理器类型如下:
MIPS基本流水线中可以采用以下静态方法降低分支损失:
延迟分支(Delayed Branching):延迟分支是指在分支指令之后插入一条或多条指令,这样分支指令的结果可以在下一条指令中得到,并且如果分支不成立,那么这些指令会被抛弃。这样可以避免在分支指令处产生流水线清空的情况,从而提高流水线的效率。
静态预测(Static Prediction):静态预测是指在编译阶段对分支指令的执行结果进行预测,然后在运行时根据预测结果来决定是否进行分支 *** 作。通常静态预测的方法包括两种:总是预测分支成立(Always Taken)和总是预测分支不成立(Always Not Taken)。这种方法的缺点是无法适应程序执行过程中分支行为的变化。
分支目标缓存(Branch Target Buffer,BTB):BTB是一个高速缓存,存储分支指令的目标地址和是否分支的标志位。如果分支指令的目标地址在BTB中已经存在,那么就可以直接跳转到该地址,从而避免了流水线清空的情况。这种方法的缺点是需要占用一定的硬件资源,同时也可能出现缓存冲突的情况。
分支历史缓存(Branch History Buffer,BHB):BHB是一个缓存,存储程序中分支指令的历史信息,包括该分支指令的执行结果以及它之前的若干个分支指令的执行结果。根据这些信息,可以使用一些预测算法来判断当前分支指令的执行结果,从而避免流水线清空的情况。这种方法的缺点是需要占用更多的硬件资源,并且预测算法的准确性也可能受到程序执行行为的影响。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)