avatar
问个时钟的问题# Programming - 葵花宝典
p*s
1
在linux底下, 怎么拿到系统当前master clock的周期? 单位ms, ns随意.
我隐隐约约觉得, 方法应该跟拿系统的总时间差不多. 因为我知道在linux下,
在#include 后可以拿到当前的timer, 单位s, ms, ns都可以做到.
比如:
struct timeval tv;
gettimeofday(&tv,NULL);
return tv.tv_sec;
syscall函数里应该有类似的一个struct也可以得到周期的,方法跟上面类似,
不过我查了查表, 找到一个getitimer, 但里面好像不大象计算周期.
avatar
c*g
2
rdtsc

【在 p****s 的大作中提到】
: 在linux底下, 怎么拿到系统当前master clock的周期? 单位ms, ns随意.
: 我隐隐约约觉得, 方法应该跟拿系统的总时间差不多. 因为我知道在linux下,
: 在#include 后可以拿到当前的timer, 单位s, ms, ns都可以做到.
: 比如:
: struct timeval tv;
: gettimeofday(&tv,NULL);
: return tv.tv_sec;
: syscall函数里应该有类似的一个struct也可以得到周期的,方法跟上面类似,
: 不过我查了查表, 找到一个getitimer, 但里面好像不大象计算周期.

avatar
p*s
3
这个是Linux标准的System Call函数吗? 好像没找到.

【在 c*****g 的大作中提到】
: rdtsc
avatar
c*g
4
不是,是x86 asm的一个instruction。
google或者wiki一下,你就知道了。

【在 p****s 的大作中提到】
: 这个是Linux标准的System Call函数吗? 好像没找到.
avatar
p*s
5
嗯, 我也看到了. 不行,我们现在要Linux 标准函数, 因为是灌到嵌入系统上.
难道syscall中间没有一个函数可以拿到时钟周期的? 不应该啊, 这是个重要参数啊.
Kernel space下简单,直接return jiffies就知道了,
但是我要user space!

【在 c*****g 的大作中提到】
: 不是,是x86 asm的一个instruction。
: google或者wiki一下,你就知道了。

avatar
t*t
6
不知道你要啥,时钟周期是啥东东?
jiffies不是时钟周期,那个是启动以来的时钟中断数
如果你要的是一秒钟之内时钟中断发生的次数,那个东西叫HZ,又名中断频率,在param.h>里.它的倒数是中断周期.
learn2askquestion!

【在 p****s 的大作中提到】
: 嗯, 我也看到了. 不行,我们现在要Linux 标准函数, 因为是灌到嵌入系统上.
: 难道syscall中间没有一个函数可以拿到时钟周期的? 不应该啊, 这是个重要参数啊.
: Kernel space下简单,直接return jiffies就知道了,
: 但是我要user space!

avatar
p*s
7
猪,typically 1 jiffies = 10 ms,
时钟周期 = master clock period = CPU cycle.
HZ和jiffies都是kernel参数, 我在user space不能直接call。

【在 t****t 的大作中提到】
: 不知道你要啥,时钟周期是啥东东?
: jiffies不是时钟周期,那个是启动以来的时钟中断数
: 如果你要的是一秒钟之内时钟中断发生的次数,那个东西叫HZ,又名中断频率,在: param.h>里.它的倒数是中断周期.
: learn2askquestion!

avatar
t*t
8
你自己看看linux/param.h,HZ就是个define而已,不管什么space都可以用.jiffies是拿
不到没错.你要是愿意的话也可以写个简单的驱动来拿它.
但是你要的是CPU的频率?这跟jiffies不相干嘛.直接读/proc/cpuinfo就好了.

【在 p****s 的大作中提到】
: 猪,typically 1 jiffies = 10 ms,
: 时钟周期 = master clock period = CPU cycle.
: HZ和jiffies都是kernel参数, 我在user space不能直接call。

avatar
t*t
9
对了,你对时钟周期的定义根本不通嘛.什么叫master clock period?跟CPU cycle也没
关系.
计算机系统里的时钟多了,你把哪个叫做master clock?难不成你要的是主板上那个晶体
的频率?好象没门...

【在 p****s 的大作中提到】
: 猪,typically 1 jiffies = 10 ms,
: 时钟周期 = master clock period = CPU cycle.
: HZ和jiffies都是kernel参数, 我在user space不能直接call。

avatar
p*s
10
还是那句老话,伊就是来消遣你的。。。

【在 t****t 的大作中提到】
: 对了,你对时钟周期的定义根本不通嘛.什么叫master clock period?跟CPU cycle也没
: 关系.
: 计算机系统里的时钟多了,你把哪个叫做master clock?难不成你要的是主板上那个晶体
: 的频率?好象没门...

avatar
t*t
11
我看也是...

【在 p**s 的大作中提到】
: 还是那句老话,伊就是来消遣你的。。。
avatar
S*g
12
必须对it收取咨询费
每行回答收费5g

【在 p**s 的大作中提到】
: 还是那句老话,伊就是来消遣你的。。。
avatar
t*t
13






【在 S*********g 的大作中提到】
: 必须对it收取咨询费
: 每行回答收费5g

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。