双核CPU时间戳不一致怎么解决?

skinny 2006-10-28 08:30:45
不久前买了个本,Intel T2300E的CPU,刚写代码的时候发现个问题
代码是这样的
unsigned __int64 GetCycleCount()
{
__asm _emit 0x0F
__asm _emit 0x31
}
我之间一直用这个获取CPU时间戳来计时作些性能测试的工作,刚在自己机器上写了段代码用这个代码测试了下性能,就发现这段代码返回的时间居然会后取的比先取的还小一些......最后发现是双核的问题,手动在任务管理器里把程序的CPU改成一个就好了....这个问题挺严重啊,如果返回CPU的时钟周期都有问题,那很多代码都没法用了....
不知道还有那位兄弟遇到过这个问题?
...全文
514 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
我的板子是技嘉的 GA-6BXD,PCB 版本号 1.6,BIOS 更新到最新。跳线在 100MHz/5.0X,装上 2 只原装 OEM PIII500 CPU,Solt1 接口,开机能够认到 2 个 CPU,显示

INTEL 440BX CHIPSET
VCORE1=2.00V VCORE2=2.00V
INTEL PENTIUM III-MMX CPU 500MHz , 2 Processor(2)
<CPU2 ID=0636><PATCH ID=0035><CPU1 ID=0636><PATCH ID=0035>
Memory Testing... 1048576KB OK.

但是无论安装 WinNT 4.0 Win2000 Pro/Server WinXP 都不能识别 2 个 CPU,任务管理器只有 1 个,任务管理器的图表菜单中也没有每个CPU一个图表的选项。

请教这是怎么回事?
fangzhe 2006-10-29
  • 打赏
  • 举报
回复
SMP系统就这样,CPU1要比CPU0启动的晚……而且这个方法在不同版本的核心(虽然可以混用)上也不一样,不推荐使用

568

社区成员

发帖
与我相关
我的任务
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
  • 英特尔技术社区
  • shere_lin
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧