1
38
http://computer.howstuffworks.com/question319.htm
|
2
9
您的电脑将有一个 hardware clock ,由电池供电,即使在电脑关机时,它也会一直滴答作响。PC知道它的时钟运行的有多快,所以它可以确定一秒钟过去的时间。 最初,PC不知道它是什么时间(即它只是从零开始计数),所以必须告诉它当前的时间是什么-这可以在 BIOS 设置并存储在 CMOS 或可通过互联网获取(例如通过与时钟同步 NIST ) |
3
7
一些概述,以及更多信息: 1)计算机在启动时读取实时时钟,并用它来设置内部时钟。 2)从那时起,计算机只使用它的CPU时钟-它不会重新读取RTC(正常情况下)。 3)由于热不稳定性、功率波动、在数秒内找不到精确的除数、中断延迟、宇宙射线和月球相位等原因,计算机的内部时钟会发生漂移。 4)时钟漂移的大小可以是每天几秒(每月几十或数百秒)的顺序。 5)大多数计算机能够(通过互联网)连接到时间服务器,定期重置时钟。 6)使用时间服务器可以将精度提高到几十毫秒(通常)。我的电脑每15分钟更新一次。 |
4
3
计算机知道时间是因为,像你一样,他们也有一个数字手表,他们不时地看。 当你买了一台新电脑或搬到了一个新的国家,你可以设置手表,或者你的电脑可以问互联网时间是多少,这有助于阻止它运行缓慢或快速。 作为计算机的用户,您可以询问当前时间,也可以要求计算机充当闹钟。有些电脑甚至可以在某个特定的时间打开自己的电源,让自己重新振作起来,或者用最喜欢的音乐唤醒你。 在内部,计算机能够以毫秒、微秒甚至纳秒来显示时间。然而,这并不是完全准确的,相邻的两台计算机对时间有不同的想法(以纳秒为单位)。但它仍然有用。 计算机可以在未来设置几毫秒的警报,通常这样做,它知道什么时候停止思考你的电子邮件程序和花一些时间思考你的网络浏览器。然后它会设置另一个警报,以便知道几毫秒后返回电子邮件。 作为一个程序员,你也可以使用这个工具,例如,你可以使用“计时器”在游戏中的某个关卡上设置一个时间限制。或者你可以用计时器来判断你应该什么时候把动画的下一帧放到显示器上——也许是每秒25次(即每40毫秒)。 |
5
2
为了回答这个主要问题,bios时钟在你的主板上有一个电池,就像Jian的答案所说的那样。当机器关闭时,它能保持时间。 要回答我认为您的第二个问题,您可以通过执行1000的整数除法从毫秒值中得到第二个值,如下所示:
如果你问我们怎样才能得到如此精确的时间,看看Esteban的答案…石英晶体在一定时间内振动,比如说0.00001秒。我们只是做一个计算振动的电路。当我们达到100000次振动时,我们宣布一秒钟过去并更新时钟。 我们可以通过这种方式计算振动来获得任何精度…任何比我们使用的晶体振动周期大的精度。 |
6
0
主板上有一个滴答作响的时钟。每一个刻度代表一个时间单位。 更准确地说,时钟通常是一个石英晶体,在给定的频率振荡;一些常见的CPU时钟频率是33.33和40兆赫。 |
7
0
绝对时间是从1970年开始用32位秒计数器测量的。这可能导致“2038年的问题”,在那里它只是溢出。因此,在现代Windows和Unix平台上使用的64位时间API(包括基于BSD的MacOS)。 通常,PC用户对时间间隔感兴趣,而不是发生重大事件后的绝对时间。计算机的一种常见实现有一种叫做计时器的东西,它允许这种情况发生。这些计时器甚至可以在电脑没有检测硬件唤醒状态、切换睡眠模式或睡眠不足的情况下运行。英特尔的处理器文档详细介绍了这些。 |
Vishesh Chanana · “上载草图时出错”Arduino 7 年前 |
Jeff Coe · 确定哪个应用程序正在使用音频设备 8 年前 |
Max Larionov · Arduino无人机项目 9 年前 |
Thomas · FMA指令集的硬件支持有多丰富 9 年前 |
Gaurav Saxena · 如何了解USB设备的支持功能? 9 年前 |
Joney · 计算机系统中的定时机制 10 年前 |