正文内容 评论(0

Win8因它被封杀:RTC Bug深究、解决之道
2013-08-26 15:35:10  出处:快科技 作者:上方文Q 编辑:上方文Q     评论(0)点击可以复制本篇文章的标题和链接

Windows 8 RTC Bug被确认之后,超频平台HWBot封杀了所有基于它的跑分成绩,智利网站ocaholic.ch则研究发现似乎只有Intel平台才受影响

那么,这个Bug究竟是怎么回事儿?Windows 8到底在使用什么计时器?AMD平台真的那么“清白”么?能否不等微软而自己解决这个问题?ocaholic.ch这些天又对此做了更详尽的研究,还找来了CPU-Z的作者Franck D.合作,利用了他提供的计时器和频率读取工具。

【背景知识】

ACPI计时器(ACPI Timer):也叫PM计时器,是一种外部硬件计时器,固定频率3.579545MHz。

HPET计时器(HPET Timer):高精度事件计时器,也是外部硬件计时器,固定频率14.31818MHz。

RTC计时器(RTC Timer):实时时钟计时器,是软件计时器,需要读取硬件计时器来计算。它是Windows和据大多数软件衡量时间的参考时钟。

TSC计时器(TSC Timer):时间戳计数计时器,是基于硬件的计时器,但频率可变。以前它就等于处理器频率,在早些年不是问题,但后来处理器不断加入会降低频率的扩展频谱、电源管理等功能,就有问题了,于是后来设计的时候将其改为和处理器频率相独立。

QPC计时器(QPC Timer):查询性能计数计数器,是一个可访问高分辨率计时器的原生Windows API,用来计算已流逝时间。换言之,它也是读取硬件计时器的软件计时器。它最初使用TSC计时器,但后来改成了使用ACPI、HPET之类的固定频率计时器。

DMI频率:也叫总线频率,Intel平台上的BCLK,AMD平台的HTT,俗称外频。也是固定的频率,但是可以在BIOS、Windows里自行更改。

Win8因它被封杀:RTC Bug深究、解决之道

【Intel Windows 8平台实测】

Win8因它被封杀:RTC Bug深究、解决之道

不改变总线频率,所有计时器都表现正常,给出了各自的频率和时间。

Win8因它被封杀:RTC Bug深究、解决之道

在Windows 8系统中,将总线频率从100MHz降至95MHz,ACPI、HEPT计时器不变,但是RTC、QPC计时器都不正常了。

Win8因它被封杀:RTC Bug深究、解决之道

接下来在BIOS里将总线频率改为95MHz并启动,所有计时器的时间都是正常的,但是注意QPC计时器的频率从3.42MHz降低到了3.25MHz,简单计算可知其变化幅度就是总线频率的5%。

这不但证明RTC计时器的变化仅仅是在Windows里改变频率才受影响,也说明QPC计时器是以DMI频率为计时源的。

在转向AMD平台之前,我们不妨猜测:

1、RTC、QPC计时器使用相同的硬件源(计时器或者频率)。

2、硬件源对总线频率的变化很敏感。换言之,Windows 8则似乎使用的是内部硬件计时器或者直接用DMI频率,而不是用外部计时器。

责任编辑:

  • 支持打赏
  • 支持0

  • 反对

  • 打赏

文章价值打分

当前文章打分0 分,共有0人打分
  • 分享好友:
  • |

  • 热门文章
  • 换一波

  • 好物推荐
  • 换一波

  • 关注我们

  • 微博

    微博:快科技官方

    快科技官方微博
  • 今日头条

    今日头条:快科技

    带来硬件软件、手机数码最快资讯!
  • 抖音

    抖音:kkjcn

    科技快讯、手机开箱、产品体验、应用推荐...