打印

什么是时钟节拍?

[复制链接]
12190|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
时钟节拍是特定的周期性的中断。这个中断可以看作是系统心脏的脉动。中断之间的时间间隔取决于不同应用,一般为10~200ms.时钟的节拍式中断使得内核可以将任务延时若干个整数时钟节拍,并且当任务等待事件发生时,提供等待超时的依据。时钟节拍率越快,则系统的额外开销就越大。

这句话是什么意思呀?研究了N多遍了还是不懂、
哪位大虾能给我举个简单的例子吗?非常感谢、

相关帖子

沙发
HWM| | 2011-1-3 19:50 | 只看该作者
re LZ:

这应该从两方面理解。

其一,作为系统的时基,通常间隔的长短对系统的影响不大,只是影响其定时的精度。为此,定时间隔一般较短,定时中断服务程序也较为简单(只是完成相应的时间累加)。

其二,是系统的调度时间片(典型的分时系统)。如此,时间间隔的长短就相对讲究些,因为这会影响系统效率和任务的响应时间。如果间隔过长,候选任务的等待时间将会较长,显得比较迟钝;而若间隔过短,系统切换过于频繁,系统效率也将明显减低。因此通常会根据不同的系统确定一个合适的时间片间隔。

使用特权

评论回复
板凳
老郑电子|  楼主 | 2011-1-3 20:18 | 只看该作者
re LZ:

这应该从两方面理解。

其一,作为系统的时基,通常间隔的长短对系统的影响不大,只是影响其定时的精度。为此,定时间隔一般较短,定时中断服务程序也较为简单(只是完成相应的时间累加)。

其二,是系统 ...
HWM 发表于 2011-1-3 19:50

谢谢你的回复、、
最基本的,时钟节拍 拿来做什么的我都不知道、
书上讲是一设为时钟节拍,来时就中断一次。。这个有什么用?时钟节拍拿来是干什么的?
能举个简单的例子说明一下吗?非常感谢、、

使用特权

评论回复
地板
HWM| | 2011-1-3 20:27 | 只看该作者
re 3L:

“时钟节拍”很简单,类比日常时钟的秒针,即时钟的最小单位。

系统中的(硬件)时钟频率通常非常高,因此一般需要采用分频(硬件)或中断(软件)的方法降低为实用的时基。

使用特权

评论回复
5
老郑电子|  楼主 | 2011-1-3 20:31 | 只看该作者
re 3L:

“时钟节拍”很简单,类比日常时钟的秒针,即时钟的最小单位。

系统中的(硬件)时钟频率通常非常高,因此一般需要采用分频(硬件)或中断(软件)的方法降低为实用的时基。 ...
HWM 发表于 2011-1-3 20:27

把时频率延迟来有什么用呢?在任务里面拿时钟节拍来干什么用呢?

使用特权

评论回复
6
HWM| | 2011-1-3 20:38 | 只看该作者
“任务”中时钟通常用作定时或延迟,类比日常使用的“钟表”功能应该能理解。

使用特权

评论回复
7
老郑电子|  楼主 | 2011-1-3 20:39 | 只看该作者
唉、不知道是我问题没问清楚还是你没理解我的意思、、

使用特权

评论回复
8
HWM| | 2011-1-3 20:53 | 只看该作者
应该没理解错。建议拿个具体的系统(如MCU),分析其中的时钟系统(包括计数器)。然后再结合实际的软件应用,如使用中断做个“钟表”(含秒、分和时)。如此理解起来也许更实在些。

使用特权

评论回复
9
老郑电子|  楼主 | 2011-1-3 22:45 | 只看该作者
正在学陈计明的 Small RTOS51操作系统,里面有这个 名词:时钟节拍、、不知道这个时钟节拍的意思?
这个时钟节拍有什么用?
你说的时钟 跟这个时钟节拍是两码事、你说的那个时钟是指令执行时的同步信号,而这个时钟节拍是与任务有关?
这个时钟节拍 不知道有什么用?书上那作者又没站来初学者的角度来 把这个概念引出来、让初学者们学起来很费劲、、

使用特权

评论回复
10
john_lee| | 2011-1-3 23:22 | 只看该作者
系统节拍这个东西说穿了,就是为任务切换提供一个机会,实际上属于一种任务同步机制。
楼主如果对任务以及任务同步的概念还不清楚的话,可以先把“系统节拍”的概念放一放。把前面的概念搞清楚后,这个概念理解起来就很容易了。

使用特权

评论回复
11
jack_shine| | 2011-1-4 09:18 | 只看该作者
就是时钟信号每动一下或几下,CPU执行一个动作,不动不执行

使用特权

评论回复
12
老郑电子|  楼主 | 2011-1-4 14:34 | 只看该作者
系统节拍这个东西说穿了,就是为任务切换提供一个机会,实际上属于一种任务同步机制。
楼主如果对任务以及任务同步的概念还不清楚的话,可以先把“系统节拍”的概念放一放。把前面的概念搞清楚后,这个概念理解起来 ...
john_lee 发表于 2011-1-3 23:22

这个操作系统上说不支持时间轮片法、这个不相当于时间轮片法了吗?

使用特权

评论回复
13
Quentin| | 2011-1-4 15:52 | 只看该作者
就是做任务切换的,没有这个时钟节拍,系统就不知道何时把寄存器等资源从一个任务转交到另一个任务。
要知道时钟节拍的作用,关键还是要看它的“中断处理函数”的内容

使用特权

评论回复
14
xiaovwei| | 2011-1-4 15:59 | 只看该作者
路过,学习一下

使用特权

评论回复
15
老郑电子|  楼主 | 2011-1-4 16:14 | 只看该作者
就是做任务切换的,没有这个时钟节拍,系统就不知道何时把寄存器等资源从一个任务转交到另一个任务。
要知道时钟节拍的作用,关键还是要看它的“中断处理函数”的内容 ...
Quentin 发表于 2011-1-4 15:52

谢谢给了我一个学习的方向、、

使用特权

评论回复
16
dj狂人| | 2014-3-31 17:26 | 只看该作者
jack_shine 发表于 2011-1-4 09:18
就是时钟信号每动一下或几下,CPU执行一个动作,不动不执行

系统节拍是用于提高系统执行指令的效率吗。如果是那非节拍时间内系统又会有什么动作呢

使用特权

评论回复
17
WingCuengRay| | 2015-2-21 00:44 | 只看该作者
时钟节拍:
     时钟节拍是特定的周期性中断,这个中断可以看做是系统心脏的脉动,中断之间的时间间隔取决于不同的应用。
     各种实时内核都有将任务延时若干个时钟节拍的功能,然而这并不意味着延时的精度是1个时钟节拍,只是在每个时钟节拍中断到来时,对任务延时进行一次裁决而已。以下图为例分析时钟节拍与任务延时:

     时钟节拍中断实质上是给了可剥夺型内核一个任务切换的机会,在时钟节拍中断结束之后,内核会根据就绪态中的优先级高低决定中断返回后执行的任务。而延时的任务只有当所有更高优先级的任务都完成(或进入等待状态)后,延时的任务才会被调度执行。当延时的任务延时1个时钟节拍后,则进入延时状态。在这期间,若下一个时钟节拍中断到来时,内核执行中断服务程序,中断结束后执行更高优先级的任务,然后再调度到延时的任务执行。而从上一次延时状态开始至这一次延时的任务开始的间隔,精度不一定是1个时钟节拍。因为具有较高优先级的任务,所以每次节拍中断服务子程序结束后执行的都不是延时的任务,而是更高优先级的任务。只有当更高优先级的任务完成或被挂起后,延时状态才会结束,下一次延时的任务才会开始。而因为每次节拍中断后调度的更高优先级的任务的执行时间并不相同,所以每次延时1个时钟节拍的实际时间都不尽相同。

Image.png (10.88 KB )

Image.png

使用特权

评论回复
18
dzlyxzy| | 2017-4-24 20:34 | 只看该作者
WingCuengRay 发表于 2015-2-21 00:44
时钟节拍:
     时钟节拍是特定的周期性中断,这个中断可以看做是系统心脏的脉动,中断之间的时间间隔取决 ...

这个层主讲的跟我们陈老师讲的一样,freeRtos

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

56

帖子

1

粉丝