dos下获取cpu主频的问题

lg03291689 2007-07-11 04:05:09
我现在要写一个486cpu主频测试的程序
要求在dos下运行
谁能给个思路

奔腾以上的cpu才支持cpuid
rdstc指令也需要奔腾以上的cpu

所以这两个方法是不行的

现在没有思路了
谁能给个思路
谢谢
...全文
326 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
确信。
资料来自于Intel的文档。
而且我曾经用过i486dx4-100和AMD的5x86-133,都支持CPUID指令(只支持eax=0返回OEM string)。
zoologist 2007-07-12
  • 打赏
  • 举报
回复
http://www.begin.org.cn/other/CPUID.RAR
lg03291689 2007-07-12
  • 打赏
  • 举报
回复
to delphiguy()
为什么我在网上查的资料都说只有奔腾以上级别的cpu才支持cpuid啊
你确信吗
谢谢
lg03291689 2007-07-12
  • 打赏
  • 举报
回复
谢谢大家
试过之后给分
  • 打赏
  • 举报
回复
是不支持扩展信息。
频率可以通过测试NOP指令块执行时间获得,很多以前的测试程序都是这样做的(landmark speed 2.0~6.0)。
从8086到486,NOP指令都是2个时钟周期,不过我测试过386DX上是3个时钟周期,Intel文档中的数据是错的。
rockefeller8 2007-07-12
  • 打赏
  • 举报
回复
关注
  • 打赏
  • 举报
回复
93年开始的486也支持CPUID指令。
对于不支持CPUID的处理器,可以用普通方法确定类型:
8086/8088/80186/80188的flag寄存器高4位恒为1,286的flag高4位恒为0,否则就是386+了。
386的eflag寄存器的AC位(位18d)恒为0,可以设置为1的就是486+了。
之后的处理器可以用CPUID来确定。

mengshijie_1981 2007-07-11
  • 打赏
  • 举报
回复
关注!
acerl1916w 2007-07-11
  • 打赏
  • 举报
回复
C中有相应的接口函数吧~

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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