IT世界/横竖横
Intel对CPU内部结构进行秘密改造
据x86-secret消息,他们发现了Intel对处理器的内部结构进行了秘密的改造,导致测试软件显示错误信息。要理解这条消息,必须具备一些基础知识,首先是了解CPU的内部时钟记数器的概念,或者被称为TSC。TSC首先在奔腾时代被引入Intel的处理器,其作用就是在一个固定的时间里计算CPU的时钟数。开机时TSC的记数器清零,然后每过一个时钟周期加一。它的数值可以被一个MSR读出,或者使用一条rdtsc的指令读出。在一秒钟时间里,一块200MHz的奔腾处理器在这个记数器里会增加200,000,000次,而P4 3.8GHz会增加38亿次。这个记数器使用一个64位的寄存器来存储,它的长度可以允许一块4GHz的处理器连续使用146年而不溢出。
TSC有许多用途,首先,它被用于计算处理器的主频。读取主频的程序首先读取TSC的值,等待一个固定时间后再次读取TSC的值,从两者的差值中计算出处理器的真实主频。我们通过它可以实时的计算处理器主频,比如移动处理器中时钟是不停改变的,只有通过这样的方法才能实时显示主频。另外TSC可以被用来估计机器的性能,因为通过它可以知道执行一段代码这台机器到底用了多少时钟周期。许多测试软件使用这种方法计算FLOPS,共识是FLOPS=操作数/从TSC得到的时间。这段时间是通过系统主频和TSC得到的数值计算出来的。
那么Intel如今采取了什么改变?简单来说,TSC可能不再和主频同步增加了。