如果没有时钟滴答,那么你的代码就会出现严重问题.您是否编写了自己的rdtscl [或从某个不是很好的来源复制它?]

顺便说一句,现代英特尔(和AMD)处理器可能具有“恒定的TSC”,因此停止,睡眠,运行速度较慢的处理器仍将以与其他处理器相同的速率剔除 – 它可能不在同步仍然,但这是另一回事.

尝试只运行一个从计数器打印值的循环 – 只需要RDTSC指令本身需要大约30-50个时钟周期,所以你应该看到它在移动.

编辑:这是我的rdtsc功能:

void rdtscl(unsigned long long *ll)

{

unsigned int lo, hi;

__asm__ __volatile__ ("rdtsc" : "=a"(lo), "=d"(hi));

*ll = ( (unsigned long long)lo)|( ((unsigned long long)hi)<<32 );

}

alernatitvely,作为返回值的函数:

unsigned long long rdtscl(void)

{

unsigned int lo, hi;

__asm__ __volatile__ ("rdtsc" : "=a"(lo), "=d"(hi));

return ( (unsigned long long)lo)|( ((unsigned long long)hi)<<32 );

}

我注意到你的代码没有传递你的unsigned long的指针,这让我怀疑你实际上没有将时间戳计数器BACK传递给调用者,而只是保持它碰巧有的任何值 – 这可能是两个值都相同.

linux 时间戳计数器,使用TSC(时间戳计数器)计算时间相关推荐

  1. 【Linux 内核 内存管理】Linux 内核堆内存管理 ③ ( CPU 计数器瓶颈 | per-CPU 计数器 | Linux 内核 percpu_counter 结构体源码 )

    文章目录 一.CPU 计数器瓶颈 二.per-CPU 计数器及 percpu_counter 结构体源码 一.CPU 计数器瓶颈 如果 操作系统 中有 多个 CPU , 假设只有一个 CPU 计数器工 ...

  2. 面试题:根据Unix时间戳计算时间

    根据Unix时间戳计算时间,不分年月大小,每月三十天,每年按360天计算.开始时间1970/01/01 00:00:00,输入秒数,显示时间 思路一:进位,60秒进1分钟,60分进1小时,24小时进1 ...

  3. linux执行命令带时间戳,Linux查看History记录加时间戳的小技巧

    Linux查看History记录加时间戳小技巧 熟悉bash的都一定知道使用history可以输出你曾经输入过的历史命令,例如[root@servyou_web ~]# history | more ...

  4. php历法,Atitit.基于时间戳的农历日历历法日期计算

    Atitit.基于时间戳的农历日历历法日期计算 1.农历xx年的大小月份根据万年历查询1 2.农历xx年1月1日的时间戳获取1 3.计算当年的时间戳与农历日期的对应表,时间戳为key,日期为val1 ...

  5. HDLBITS笔记27:计数器(4位计数器、计算0-9/0-10计数器、具有控制信号的计数器)

    目录 题目1:4位二进制计数器(four-bit-binary counter) 题目2:计数器10(decade counter) 题目3:计数器10(dacade counter again) 题 ...

  6. 微信小程序之 js 时间戳/1000 转换 秒,六个小时后,一天后,本周五 选项计算时间

    1.js取当前时间的秒级时间戳 parseInt(new Date().getTime()/1000);, //或 Date.parse(new Date())/1000; 2.将当前日期转换为时间戳 ...

  7. linux shell取得秒级时间戳

    什么是时间戳 在类UNIX系统中,日期被存储为一个整数,其大小为自世界标准时间(UTC)1970年1月1日0时0分0秒起流逝的秒数.这个整数就是时间戳.在我们写脚本的时候经常使用到一些时间统计的工作, ...

  8. hive linux时间戳转换,Hive 中 时间戳,字符串转换

    13位时间戳装换为日期格式的字符串 select from_unixtime( cast(1597651229344/1000 as int),'yyyy-MM-dd HH:mm:ss') 时间字符串 ...

  9. linux输入命令怎么显示时间戳,linux时间戳查看:stat命令

    1.关于时间戳 每一个文件都有三种时间(称为时间戳timestamps),对这三种时间,很多时候容易混淆不清,因此这里要说明下: Access time(atime):是指取用文件的时间,所谓取用,常 ...

最新文章

  1. 爱好历史的程序员,不容错过!
  2. VMware静态地址上网
  3. PyTorch分布式训练
  4. webview检测html事件,在JavaFX WebView中检测HTML textarea onkeyup事件
  5. 迷失lost结局什么意思_沉默的真相结局是什么意思?严良为什么把球送给江阳儿子?...
  6. Java中如何实现每天定时对数据库的操作
  7. 打印出数字字符串的偶位数
  8. 把庞大的 npm script 拆到单独文件中
  9. Oracle学习笔记--导航
  10. linux rawsocket java_linux下RAW SOCKET--转
  11. 以孩子兄弟链表为存储结构,请设计递归算法求树的高度
  12. (十一)Hibernate 高级配置
  13. 4.2 前向和反向传播
  14. 单利计算与复利计算程序
  15. 【深入理解Nginx】Nginx的配置
  16. 【万字详解】cJSON解析
  17. 天正网络版修改服务器地址,修改天正网络版服务器地址
  18. iredmail mysql 配置_CentOS下iRedMail安装配置
  19. FreeCAD 乐高积木
  20. SparseLDA算法

热门文章

  1. python gui编程 自动化框架_使用Python进行GUI操作自动化
  2. macos 此服务器的证书无效_网易出现重大失误,忘记续费HTTPS证书导致大量用户受影响...
  3. 分类算法python程序_分类算法——k最近邻算法(Python实现)(文末附工程源代码)...
  4. python123蟒蛇代码_巨蟒python全栈开发-第3天
  5. ios 自己创建的动态frameworks 怎么发布_苹果 iOS 14 修复 2 年来的一个bug 果粉炸锅:原来不是自己手残...
  6. Idea下springboot+easyUI的下载与集成
  7. 解释python脚本程序的name变量及其作用_一些概念总结
  8. agaular 离线文档_Zeal 国外一款面向开发者的离线文档查看工具
  9. centos+gitlab+mysql_centos7安装配置gitlab(使用外部nginx)
  10. OpenShift 4 之 Idle Pod