Cycles
来源:互联网 发布:美国公开政府数据法案 编辑:程序博客网 时间:2024/04/30 05:37
HW Cycles
1) Clock Cycle
时钟周期, 即晶体振荡器周期, 是计算机的最小时间单位. CPU的主频的倒数, 即为该CPU时钟周期的长度. 例如1GHz主频的CPU, 其时钟周期为1/1G = 0.000000001s = 1ns (纳秒), 时钟周期也称为T周期, CPU所处的状态被称为T状态.
2) Bus Cycle
总线周期, 指CPU访问总线设备(存储器, IO端口)所消耗的时间. 通常一个总线周期包括多个时钟周期(一般是4个)
3) Machine Cycle/Processor Cycle/Instruction Cycle
机器周期, 又称处理器周期, 指令周期, 指CPU执行一条指令所消耗的时间, 通常分为三部分: Fetch instruction(包含一个Bus cycle), decode instruction, execute instruction
SW Cycles
4) Timer interrupt cycle/clock tick cycle
定时器中断周期, 即定时器两次向CPU发起的时钟中断信号的时长, 定时器中断周期是OS调度任务的基本时间单位,时长一般是毫秒级, 比如Linux, 一般配置为10ms (频率为100Hz). 对于一个1GHz主频的CPU来说, 如果配置定时器频率为100Hz, 则每一次定时器中断周期可包含10ms / 1ns = 10,000,000个时钟周期, 假设一条指令执行需要10个时钟周期, 那么对于该系统来说每个时钟中断周期可以执行1,000,000条指令.
5) Jiffies
Linux中用来记录自系统启动以来, 发生的时钟中断(时钟滴答)次数, 因为1s钟增加的时钟滴答数为100(Hz), 因此可以计算出系统自启动以来的运行时间为jiffies / 100 (s)
jiffies为32位unsigned int, 在HZ = 100的情况下, jiffies最大可以表示计算器live的时间是497天, 因此jiffies存在着溢出的可能性. 在Linux中, 使用宏来解决这个溢出:
#define time_after(a,b)\(typecheck(unsigned long, a) && \ typecheck(unsigned long, b) && \ ((long)(b) - (long)(a) < 0))
- Cycles
- Reciprocal cycles
- CF232A-cycles 构造,贪心
- poj3895 Cycles of Lanes
- poj3895 Cycles of Lanes
- No_26:Reciprocal cycles
- codechef Permutation Cycles 题解
- SPOJ 18393. Hamiltonian Cycles
- The cycles per degree
- PE 26 Reciprocal cycles
- Work in Cycles
- DE 32: Limit Cycles
- POJ 3895 Cycles of Lanes
- POJ 3895 Cycles of Lanes
- POJ3895 Cycles of Lanes,DFS
- poj 3895.Cycles of Lanes
- Blocks, Operations, and Retain Cycles
- Retain Cycles and Weak References
- QT中得到文件路径,获取文件名
- memcache(使用telnet操作)
- c中获取从lua脚本返回的table时栈的变化
- 多任务窗口 Win8应用程序切换操作方法
- Linux/Ubuntu下安装QQ2012
- Cycles
- c#异步编程
- 上市3个月Win8行情还不如Vista
- 盖茨表示Win8是未来微软操作系统的基础
- boost - 智能指针介绍
- 青蛙跳
- Android下修改hosts文件-重启有效 android开发adb命令的用法,开发包platform-tools中自带adb.exe
- BNF, ABNF, EBNF, TBNF
- 读取配置文件Ini文件