请描述一下软件定时和硬件定时的区别

如题所述

软件定时就是直接利用CPU的时钟,用计算循环的方法计时。例如假设CPU执行一个指令需要10个时钟周期,那么循环执行1000次就是10000个时钟。因为CPU的时钟间隔是恒定的,那么假设一个时钟是1微秒,则10000个时钟就是0.01秒。这种循环测试时间长度的办法在单任务系统,例如DOS下,还是相对准确的。但是在Windows这种多任务系统下由于系统调度的原因程序会被不停滴中断(好让其它任务有机会运行),这样其实就不能精确知道1000次循环究竟用了多少个时钟(因为有些时段分给别的任务了),所以在多任务环境下软件定时误差很大。一般只能达到毫秒级的准确度
硬件定时则是基于硬件。例如定时/计数器,这个不受操作系统影响,由硬件提供时间,精度可以达到微秒级。如果更精确的时间可以使用天文台授时或者原子钟。其精度更高。
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答
大家正在搜