312 Pentium的原理结构(7) 3.重新设计的浮点运算部件 Pentium cPu内部的浮点运算部件在 80486的基础上进行了重新设计。如图3-1 所示。浮点运算部件内有专门用于浮点运算 的加法器、乘法器和除法器,还有80位宽的 8个寄存器构成了寄存器堆,内部的数据通 路为80位。浮点运算部件支持IEEE754标准 的单、双精度格式的浮点数,还可以使用 种临时实数的80位浮点数
3.1.2 Pentium的原理结构(7) 3.重新设计的浮点运算部件 Pentium CPU内部的浮点运算部件在 80486的基础上进行了重新设计。如图3-1 所示。浮点运算部件内有专门用于浮点运算 的加法器、乘法器和除法器,还有80位宽的 8个寄存器构成了寄存器堆,内部的数据通 路为80位。浮点运算部件支持IEEE754标准 的单、双精度格式的浮点数,还可以使用一 种临时实数的80位浮点数
312 Pentium的原理结构(8) Pentium对浮点数的一些常用指令,例如 加法指令ADD,乘法指令MUL等,都采用了 新的算法,并将新的算法用硬件来实现,使得 浮点数运算的速度大大提高,其速度相当于 80486的10多倍
3.1.2 Pentium的原理结构(8) Pentium对浮点数的一些常用指令,例如 加法指令ADD,乘法指令MUL等,都采用了 新的算法,并将新的算法用硬件来实现,使得 浮点数运算的速度大大提高,其速度相当于 80486的10多倍
3.1.2 Pentium的原理结构(9) 以BTB实现动态转换预测 Pentiu采用了分支目标缓冲器( branch arget buffer)实现动态转移预测,可以减 少指令流水作业中因分支转移指令而引起的流 水线断流。 引入了转移预测技术,不仅能预测转移是否发 生,而且能确定转移到何处去执行程序
3.1.2 Pentium的原理结构(9) 4.以BTB实现动态转换预测 Pentium采用了分支目标缓冲器(branch target buffer)实现动态转移预测,可以减 少指令流水作业中因分支转移指令而引起的流 水线断流。 引入了转移预测技术,不仅能预测转移是否发 生,而且能确定转移到何处去执行程序
【3-1】下面是连续传送100个字节的循环程序段 MOV SI,0200H;源数据区偏移地址给SI MOV DI,0500H;目的数据区偏移地址给DI MOV CX, 64H ;待传送字节数为100,赋给cX ABC: MOV AL,[S工 ;从源区取出一个字节 MOV[D工,AL ;存入目的数据区 INC SI ;源地址指针加1 INC DI ;目的地址指针加1 DEC CX CXECX-1 JNZ ABC ;若CX≠0,转ABc
例【3-1】下面是连续传送100个字节的循环程序段 MOV SI,0200H ;源数据区偏移地址给SI MOV DI,0500H ;目的数据区偏移地址给DI MOV CX,64H ;待传送字节数为100,赋给CX ABC:MOV AL,[SI] ;从源区取出一个字节 MOV [DI],AL ;存入目的数据区 INC SI ;源地址指针加1 INC DI ;目的地址指针加1 DEC CX ;CX=CX-1 JNZ ABC ;若CX≠0,转ABC ·······
从上述程序可以看出,许多分支转移指令转 向每个分支的机会不是均等的,而且大多数分 支转移指令排列在循环程序段中,除了一次跳 出循环体之外,其余转移的目标地址均在循环 体内。因此,分支转移指令的转移目标地址是 可以预测的,预测的依据就是前一次转移目标 地址的状况,即根据历史状态预测下一次转移 的目标地址。预测的准确率不可能为100%, 但是对于某些转移指令预测的准确率却非常高
从上述程序可以看出,许多分支转移指令转 向每个分支的机会不是均等的,而且大多数分 支转移指令排列在循环程序段中,除了一次跳 出循环体之外,其余转移的目标地址均在循环 体内。因此,分支转移指令的转移目标地址是 可以预测的,预测的依据就是前一次转移目标 地址的状况,即根据历史状态预测下一次转移 的目标地址。预测的准确率不可能为100%, 但是对于某些转移指令预测的准确率却非常高