CN100456201C - 事件时间标记 - Google Patents
事件时间标记 Download PDFInfo
- Publication number
- CN100456201C CN100456201C CNB2004800283804A CN200480028380A CN100456201C CN 100456201 C CN100456201 C CN 100456201C CN B2004800283804 A CNB2004800283804 A CN B2004800283804A CN 200480028380 A CN200480028380 A CN 200480028380A CN 100456201 C CN100456201 C CN 100456201C
- Authority
- CN
- China
- Prior art keywords
- time mark
- incident
- detected
- mark
- event
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/14—Time supervision arrangements, e.g. real time clock
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Electric Clocks (AREA)
- Debugging And Monitoring (AREA)
- Computer And Data Communications (AREA)
- Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
- Plural Heterocyclic Compounds (AREA)
- Chemical And Physical Treatments For Wood And The Like (AREA)
- Quinoline Compounds (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
给事件加时间标记的机器可读介质、方法和装置。在一个实施方案中,时间标记电路可以检测关心的事件,例如中断信号、仲裁信号等。响应检测到这样的事件,时间标记电路可以为该事件储存时间标记。例如处理器的请求者稍后可以向时间标记电路请求该事件的时间标记。然后,请求者可以基于取回的时间标记来调整和这些事件的产生相关联的处理速率。
Description
背景
计算设备正从通用、非实时的数字处理机器演化为包括执行数字处理任务的主处理器的实时处理设备。在现代计算设备中,诸如缓存(cache)存储器、延时中断处理(delayedinterrup thandling)和共享资源的因素的组合总的来说使得这些设备中的处理时间高度可变并且不可预测。例如,由于缓存填充周期所致,第一次通过典型程序循环花费的时间可能比随后通过同样的程序循环长10到50倍。但是,为了获得高质量的结果,常规的流处理一般要求可预测且基本不变的处理时间。
附图说明
在附图中通过举例而非限制来说明这里所描述的本发明。为了说明简洁而清晰,在图中示出的元件不一定按比例绘制。例如,为了清晰,可能把某些元件的尺寸相对于其他元件夸大。此外,在认为适当的地方,在这些图中重复了参考标号以便指示对应或者类似的元件。
图1示出了包括时间标记电路的计算设备的实施方案。
图2示出了图1的时间标记电路的实施方案。
图3示出了包括服务器和图1的计算设备的流系统(streaming system)的实施方案。
图4示出了可以用图3的流式系统实施的处理流的方法的实施方案。
具体实施方案
下面的描述描述了至少对于处理诸如音频流、视频流和/或数据流的流来说可能有用的事件处理技术。在下面的描述中,为了提供对本发明更透彻的理解,给出了许多具体细节,例如逻辑实现方案、编码、指定操作数的方法、资源分割/共享/复制实现方案、系统组件的类型和相互关系,以及逻辑分割/综合选择。但是本领域技术人员将理解,无需这些具体细节就可实践本发明。在其他的实例中,为了不模糊本发明,没有详细地示出控制结构、门级电路以及完整的软件指令序列。本领域普通技术人员利用所包括的描述,无需非常规(undue)实验就将能够实施适当的功能。
在说明书中对“一个实施方案”、“实施方案”、“示范性实施方案”等的引用指示所描述的实施方案可能包括特定特征、结构或特性,但是不一定每一个实施方案均包括所述特定特征、结构或特性。而且,这些短语不一定指同一实施方案。此外,当结合实施方案描述了特定特征、结构或特性时,认为结合其他无论是否被明确地描述的实施方案来实现这些特征、结构或特性都在本领域技术人员的学识之内的。
本发明的实施方案可以以硬件、固件、软件或其任意组合来实施。本发明的实施方案也可以被实施为储存在机器可读介质上的指令,所述指令可被一个或更多个处理器读和执行。机器可读介质可以包括任何用于以机器(例如计算设备)可读形式来储存或传送信息的机制。例如,机器可读介质可以包括只读存储器(ROM);随机访问存储器(RAM);磁盘储存介质;光储存介质;闪存(flash memory)器件;被传播信号(例如载波、红外信号、数字信号等)的电、光、声或其他形式;以及其他。此外,这里固件、软件、例程、指令可以被描述为执行某种操作。但是应该理解,这些描述仅仅是为了方便,并且这些操作事实上由执行所述固件、软件、例程、指令等的计算设备、处理器、控制器或其他设备所产生。
图1中示出了包括时间标记电路102的计算设备100的实施方案。如图所示,计算设备100可以包括一个或更多个处理器104。处理器104可以响应执行操作系统106、应用程序108、设备驱动器110、基本输入/输出系统(BIOS)固件112和/或某些其他的软件或固件模块的指令来执行操作。
计算设备100还可以包括通过处理器总线耦合到处理器104的芯片组114。芯片组114可以包括一个或更多个将处理器104耦合到计算设备100的其他组件(component)(例如存储器116)的集成电路封装或芯片组件。存储器116可以包括具有可被读和/或写的可寻址储存位置的存储器器件(未示出)。存储器器件可以包括一个或更多个易失性存储器类型,例如RAM(随机访问存储器)器件、SRAM(静态RAM)器件、DRAM(动态RAM)器件、SDRAM(同步DRAM)器件、DDR(双数据率)SDRAM器件等。存储器器件还可以包括一个或更多个非易失性存储器类型,例如闪存器件、ROM(只读存储器)器件、PROM(可编程只读存储器)器件、EPROM(可擦除PROM)器件、EEPROM(电可擦除PROM)器件、铁电存储器器件、电池支持的存储器(battery-backed memory)器件等。
芯片组114还可以将处理器104耦合到BIOS固件112。BIOS固件可以包括计算设备100在系统启动期间可以执行以便初始化处理器104、芯片组114和计算设备100的其他组件的例程。而且,BIOS固件112可以包括例程或驱动程序,计算设备100可以执行所述例程或驱动程序,以便与计算设备100的一个或更多个组件进行通讯。
芯片组114还可以通过一个或更多个总线124将处理器104耦合到一个或更多个媒体设备(media device)118、网络接口120,和/或其他的I/O设备122。媒体设备可以包括视频/音频回放设备、视频/音频捕获设备、视频/音频传输设备等。网络接口120可以包括LAN(局域网)控制器、调制解调器,和/或无线网络控制器,上述这些设备给计算设备100提供了到其他的计算设备、服务器,和/或其他有网络功能的设备的通讯链路。此外,I/O设备122可以包括鼠标、键盘、视频控制器、硬盘驱动器、软盘驱动器等。
如图所示,总线124可以在一个或更多个媒体设备118、网络接口120,和/或其他的I/O设备122之间被共享。因此,计算设备100可以包括仲裁方案,以便分配对共享总线124的访问权。在一个实施方案中,计算设备100可以包括仲裁器(arbiter)126,仲裁器126从共享总线的设备118、120、122接收请求信号或消息,并产生准许信号或消息以准许请求设备118、120、122其中之一对共享总线124的访问或者所有权。如所示那样,芯片组114可以包括用于共享总线124的仲裁器126。但是,在其他的实施方案中,仲裁器126可以在芯片组114外部。此外,没有用于共享总线124的中央仲裁器126可以实施计算设备100。在这样的实施方案中,设备118、120、122可以产生导致设备118、120、122在它们自身之间仲裁以便获得共享总线124的所有权。
此外,芯片组114可以包括中断控制器127,用于从设备118、120、122接收中断事件(例如信号、消息),并将所述中断事件传递到处理器104供处理。具体来说,中断控制器127可以检测一个或更多个中断事件的发生,并且可以将被检测到的中断事件按照基于和每一个被检测到的中断事件相关联的优先权的顺序传递到处理器104。
现在参考图1和图2,芯片组114还可以包括事件时间标记电路102;但是,在其他实施方案中,时间标记电路可以被包含在仲裁器126中、包含在中断控制器127中,或包含在与芯片组114分离的组件中。时间标记电路102可以从参考时钟128接收参考时钟信号,并且可以响应所述参考时钟信号来周期性地更新本地计数(count)130。时间标记电路102可以进一步用基于所述本地计数130的时间标记132来标记(stamp)事件。稍后,请求者(例如处理器104)可以从时间标记电路102请求该事件的时间标记132,以便取得关于该事件在何时发生的相对准确的指示。通过把时间标记电路102靠近事件源(例如设备118、120、122和仲裁器126)放置,在事件发生时刻和事件被检测到并被时间标记电路102标记的时刻之间几乎不引入延时。此外,在事件源和时间标记电路102之间的组件和共享资源越少,则所引入的延时在事件之间的可能改变越少。因此,计算设备100可以被实施,其中,处理器104可以确定在两个或更多个事件发生之间的非常准确的时间差。
如图2中所示,时间标记电路102可以包括计数器(counter)134、控制器136、事件储存器138,以及接口140。计数器134可以耦合到参考时钟128,以接收具有例如27MHz的参考频率的参考时钟信号。此外,计数器134可以被实施为32位滚动计数器(roll overcounter),该计数器响应参考时钟信号的每一个周期而更新其计数130。
控制器136可以从媒体设备118、网络接口120、I/O设备122和/或仲裁器126接收例如中断请求信号、中断请求消息、仲裁准许信号等的事件。控制器136还可以被编程为标记某些关心的事件,并基本上忽略其他事件。例如,控制器136可以被编程或者配置为标记在来自媒体设备118音频接口的中断请求之后的第一个仲裁准许信号。类似地,可以指派媒体设备118在特定中断线(例如中断信号线INT_5)上产生中断请求,并且控制器136可以被编程或配置为标记在被指派给媒体设备118的中断线上接收到的所有中断请求。
响应于检测到关心的事件,控制器136可以将被检测到的事件的时间标记132储存在事件储存器138中。在一个实施方案中,控制器136可以简单地储存计数器134的当前计数130作为被检测到的事件的时间标记132。在另一个实施方案中,控制器136可以基于计数器134的计数130产生时间标记132。例如,控制器136可以通过对计数130编码以使时间标记132包括比计数130更少的位和/或通过以适合请求者(例如处理器104)或请求者所预期的形式放置时间标记132来产生时间标记132。
响应于检测到关心的事件,控制器136还可以将事件标识符142与时间标记132一起储存在事件储存器138中。事件标识符142可以指示事件源(例如特定的媒体设备118)或事件类型(例如中断信号INT_5或者仲裁准许GNT_1)。可以使用事件标识符142从事件储存器138取回特定事件的时间标记132。在一个实施方案中,事件储存器138可以储存多个事件和多个同一类型的事件。事件储存器138还可以基于事件标识符142,按照先入先出(FIFO)的顺序取回所储存的时间标记132。
在一个实施方案中,事件储存器138可以被实施为如图2中所示的单标记(singletagged)FIFO队列状结构。在这种实施方案中,当检测到事件时,控制器136可以将事件标识符142以及相关联的时间标记132压入FIFO结构的尾部144。稍后,接口140向FIFO结构请求事件标识符142的时间标记132。响应于所述请求,FIFO结构可以给接口140提供具有相关联的事件标识符142的时间标记132。如果FIFO结构具有多个具有相关联的事件标识符142的时间标记132,则FIFO结构返回最靠近FIFO结构的头部146的那一个。
例如,图2示出了控制器136将具有为EID_0、EID_2和EID_5的事件标识符142的几个事件及其相关联的时间标记132压入FIFO结构的尾部144之后的FIFO结构。响应于针对与事件标识符EID_0相关联的时间标记132的请求,FIFO结构通过返回最靠近FIFO结构的头部146的时间标记TS_0,可以返回和最老的事件标识符EID_0相关联的时间标记TS_0。类似地,响应针对与事件标识符EID_5相关联的时间标记132的请求,FIFO结构通过返回最靠近FIFO结构的头部146的时间标记TS_5,可以返回和最老的事件标识符EID_0相关联的时间标记TS_5。
但是,可以使用其他的储存结构来实施事件储存器138。例如,事件储存器138可以包括用于每一个被支持的事件类型/源的单独的FIFO结构,并且,控制器136可以把时间标记132压入适当的FIFO结构中。在这样的实施方案中,事件标识符142可以不储存在事件储存器138中,因为时间标记132可以简单地从适当的FIFO结构的头部146拉出。还应该理解,可以用各种方式来实施FIFO结构。例如,FIFO结构可以被实施为环形缓冲器,所述环形缓冲器具有头部和尾部指针,以便跟踪每一个FIFO结构的头部146和尾部144。
现在参考图3,示出了流系统148的实施方案。如所示那样,流系统148可以包括服务器150,用于将诸如音频流、视频流、音频/视频流、数据流等的流152通过网络154传送到计算设备100。如所示那样,服务器150可以包括程序时钟156,程序时钟156产生具有PCR(程序时钟速率)的程序时钟信号。响应于所述程序时钟信号,服务器150可以以程序时钟156的PCR来传送流152。在一个实施方案中,服务器150可以将流152作为具有散置的(interspersed)PCR标记160的数据块序列来传送,所述PCR标记160从程序时钟156产生。PCR标记160一般提供用于流152的回放或处理的参考时基(time base)。
计算设备100的一个或更多个处理器104可以准备接收到的流152的数据块158,以将数据块158以适于由媒体设备118处理的形式放置。然后,处理器104可以使所准备的数据块158被转移到媒体设备118(例如音频多媒体数字信号编解码器)供处理。媒体设备118可以将数据块158转换为音频样本和/或视频帧,并且可以以基于计算设备100的参考时钟128的处理速率来回放和/或处理所述音频样本和/或视频帧。
在理想情况下,参考时钟128的频率和程序时钟156的频率将匹配。在这种情况下,媒体设备118通过简单地以参考时钟128所设定的处理速率来处理数据块158,可以保持与服务器150同步。但是实际上,参考时钟128的频率和程序时钟156的频率并非精确匹配。结果,除非采取校正操作,否则将很可能发生过载(over-run)或者欠载(under-run)的状况,从而在流152的回放或处理中引入假象(artifact)。具体来说,如果程序时钟156比参考时钟128快,则作为以快于其被处理的速率来接收数据块158的结果,计算设备100的缓冲器将很可能过载。类似地,如果程序时钟156比参考时钟128慢,则作为以慢于其被处理的速率来接收数据块158的结果,计算设备100的一个或更多个缓冲器将很可能欠载。
在一个实施方案中,每一次媒体设备118准备好接收更多的供处理的数据块158时,媒体设备118可以产生中断信号。在这样的实施方案中,中断信号可以准确地反映媒体设备118的实际处理速率。因此,如果处理器104可以准确地确定这样的中断信号被产生的时间,则处理器104可以准确地确定媒体设备118的实际处理速率。为了使得处理器104能够准确地确定这些中断信号的时间,时间标记电路102可以检测并标记这些中断信号,而在事件发生和事件标记之间没有可察觉的等待时间(latency)和/或等待时间的变化。
在另一个实施方案中,每一次数据块158被转移到媒体设备118供处理时,仲裁器126可以产生准许信号,所述准许信号准许媒体设备118访问总线124。这些仲裁信号可以准确地反映媒体设备118的实际处理速率。再一次地,如果处理器104可以准确地确定这些准许信号被产生的时间,则处理器104可以准确地确定媒体设备118的实际处理速率。为了使得处理器104能够准确地确定这些准许信号的时间,时间标记电路102可以检测并标记这些准许信号,而在被检测到的准许信号的产生和被检测到的准许信号的标记之间没有可察觉的等待时间和/或等待时间的变化。但是应该理解,其他的事件也可能准确地反映媒体设备118的处理速率。因此,时间标记电路102可以被配置为标记这些事件,以使这些事件的发生时间可以被准确地确定。
图4中示出了流处理方法的实施方案。在框200中,诸如MP3(MPEG音频层3)播放器或者QuickTimeTM电影播放器的应用程序(application)108可以从服务器150请求流152。在框202中,服务器150可以将所请求的流152与基于服务器150的程序时钟156的PCR标记160一起传送到应用程序108。在框204中,应用程序108可以使所接收到的流152的数据块158为处理做好准备,并且可以请求媒体设备118来处理所准备的数据块158。在一个实施方案中,应用程序108可以去除流152的传输头(header),并且可以将流152的数据块158储存在存储器116中。此外,应用程序104可以请求媒体设备118来播放储存在存储器116中的数据块158。
响应于应用程序108请求媒体设备118处理一个或更多个数据块158,在框206中,媒体设备118的设备驱动程序(driver)110可以配置媒体设备118用于处理流152,并且可以配置时间标记电路102,用于标记指示媒体设备118的处理速率的事件。在一个实施方案中,设备驱动程序110可以对时间标记电路102编程,以便标记当媒体设备118准备好处理更多的数据块158时由媒体设备118产生的中断信号。在另一个实施方案中,设备驱动程序110可以对时间标记电路102编程,以便标记准许信号,所述准许信号在数据块158被通过共享总线124转移到媒体设备118之前由仲裁器126产生。
在框208中,当媒体设备118准备好接收流152的一个或更多个数据块158时,媒体设备以产生中断事件(例如中断信号INT_5)。在框210中,时间标记电路102的控制器136可以确定是否给中断事件加时间标记。在一个实施方案中,控制器136可以确定被检测到的中断事件是否是所关心的控制器136已经被编程来对之加时间标记的事件。响应于确定给中断事件加时间标记,控制器136可以把该事件的时间标记132和事件标识符142储存在事件储存器138中(框212)。
响应于中断事件,在框214中,媒体设备118的设备驱动程序可以从时间标记电路102请求指示媒体设备118的处理速率的事件的时间标记132。在一个实施方案中,设备驱动程序110可以给接口140提供这种事件(例如中断信号和/或仲裁信号)的事件标识符142。在框216中,时间标记电路102基于接收到的事件标识符142,可以从其事件储存器138中给设备驱动程序110提供时间标记。
在框218中,设备驱动程序110可以基于接收到的时间标记132来确定媒体设备118的处理速率,并且可以基于流152的PCR标记160来确定流152的PCR。在一个实施方案中,设备驱动程序110可以基于接收到的时间标记132以及一个或更多个先前接收到的时间标记132来确定处理速率。类似地,设备驱动程序110可以基于PCR标记160以及一个/或更多个先前接收到的PCR标记来确定PCR。例如,设备驱动程序110可以确定当前时间标记132和先前接收到的时间标记132之间的差,并基于所获得的差来更新所确定的处理速率。类似地,设备驱动程序110可以确定当前PCR标记160和先前接收到的PCR标记160之间的差,并基于所获得差来更新所确定的PCR。
在框220中,设备驱动程序110可以基于所确定的处理速率和PCR来调整媒体设备118的处理速率。在一个实施方案中,设备驱动程序110可以调整参考时钟128的频率和/或配置媒体设备118,以便相对于参考时钟128的频率来调整媒体设备118的处理速率。在另一个实施方案中,设备驱动器110和/或应用程序108可以对流152的一个或更多个数据块158重新采样,以便将重新采样的数据块158的PCR与媒体设备118的处理速率基本上匹配。例如,如果媒体设备118的处理速率比流152的PCR快,则设备驱动程序110和/或应用程序108可以对一个或更多个数据块158增加采样率(upsample)。类似地,如果媒体设备118的处理速率比流152的PCR慢,则设备驱动程序110和/或应用程序108可以对一个或更多个数据块158降低采样率(downsample)。
在框222中,设备驱动程序110可以使芯片组114和/或媒体设备118从存储器116转移数据块158。在一个实施方案中,设备驱动程序110可以使芯片组114或媒体设备118的DMA(直接存储器访问)引擎将数据块158从存储器116转移到媒体设备118供处理。在框224中,芯片组114和/或媒体设备118可以为媒体设备118请求共享总线124的所有权,并且仲裁器126 224可以准许请求者114、118对共享总线124的所有权。在框226中,时间标记电路102的控制器136可以确定是否对准许事件加时间标记。在一个实施方案中,控制器136可以确定被检测到的准许事件是否是所关心的控制器136已经被编程来对之加时间标记的事件。响应于确定给准许事件加时间标记,控制器136可以将该事件的时间标记132和事件标识符142储存在事件储存器138中(框228)。
在框230中,媒体设备118可以接收数据块158,并且可以以被参考时钟128控制的处理速率来处理数据块158。具体来说,媒体设备118可以从数据块158产生音频样本和/或视频帧,并且可以以参考时钟128规定的速率来回放所述音频样本和/或视频帧。在框232中,媒体设备118可以确定其是否已经完成流152的处理。如果媒体设备118确定处理更多的流152的数据块158,则媒体设备118可以返回框208,以便产生中断信号,所述中断信号指示媒体设备118准备好接收额外的数据块158。否则,媒体设备118可以停止流152的处理。
虽然已经参考示例性的实施方案描述了本发明的某些特征,但是本说明书并非是要以限制的意义来解释。示例性实施方案的各种修改以及本发明的其他实施方案对本领域技术人员来说是清晰的,认为它们被视为落入了本发明的精神和范围内。
Claims (35)
1.一种方法,包括:
利用一种装置检测事件,所述被检测到的事件指示对流的处理速率,
响应于检测到的所述事件,用所述装置的时间标记来标记所述事件,
接收对所述事件的所述时间标记的请求,以及
响应于接收到所述请求,提供所述事件的所述时间标记。
2.如权利要求1所述的方法,还包括:
确定是否要给所述事件加时间标记,以及
响应于确定要给所述事件加时间标记,用所述时间标记来标记所述事件。
3.如权利要求1所述的方法,其中,检测所述事件包括检测仲裁准许。
4.如权利要求1所述的方法,其中,检测所述事件的操作包括检测中断。
5.如权利要求1所述的方法,还包括基于所述事件的所述时间标记以及流的时间标记来调整所述流的处理速率。
6.如权利要求1所述的方法,还包括基于所述事件的所述时间标记以及流的时间标记来对所述流重新采样。
7.一种装置,包括:
计数器,所述计数器用于响应于参考时钟来更新计数,
控制器,所述控制器用于检测事件并给被检测到的事件提供基于所述计数器的所述计数的时间标记,所述被检测到的事件指示对流的处理速率,以及
接口,所述接口用于响应接收到对被检测到的事件的请求,输出所述被检测到的事件的所述时间标记。
8.如权利要求7所述的装置,还包括事件储存器,用于储存被检测到的事件的时间标记,并且给所述接口提供所述请求的所述被检测到的事件的所述时间标记。
9.如权利要求7所述的装置,还包括事件储存器,用于储存被检测到的事件的时间标记,并且响应于从所述接口接收到所述被检测到事件的事件标识符,给所述接口提供所述请求的所述被检测到的事件的所述时间标记。
10.如权利要求9所述的装置,其中,所述接口在对所述被检测到的事件的所述请求中接收到所述被检测到事件的所述事件标识符。
11.如权利要求7所述的装置,还包括事件储存器,用于储存时间标记和相关联的被检测到的事件的事件标识符,并且响应于从所述接口接收到所述被检测到的事件的事件标识符,给所述接口提供所述请求的所述被检测到的事件的所述时间标记。
12.如权利要求7所述的装置,其中,所述控制器响应于确定被检测到的事件是要被加时间标记的事件类型,给所述被检测到的事件提供时间标记。
13.如权利要求12所述的装置,其中,所述控制器响应于确定被检测到的事件不是要被加时间标记的事件类型,忽略所述被检测到的事件而不给所述被检测到的事件提供时间标记。
14.如权利要求13所述的装置,其中,要被所述控制器加时间标记的所述事件类型是可编程的。
15.如权利要求7所述的装置,被包括在芯片组中,所述芯片组将处理器耦合到计算设备的其他组件。
16.如权利要求7所述的装置,被包括在仲裁器中,所述仲裁器基于仲裁事件来仲裁对共享总线的访问。
17如权利要求7所述的装置,被包括在中断控制器中,所述中断控制器控制中断事件。
18.一种系统,包括:
网络接口,所述网络接口用于以程序时钟速率接收包括数据块的流以及指示所述程序时钟速率的程序时钟速率标记,
参考时钟,所述参考时钟用于产生参考时钟信号,
设备,所述设备以由所述参考时钟信号设定的处理速率处理所述流的所述数据块,并导致指示所述处理速率的事件,以及
时间标记电路,所述时间标记电路用于检测指示所述处理速率的所述事件,并储存所述事件的时间标记,所述时间标记基于所述参考时钟信号。
19.如权利要求19所述的系统,其中,时间标记电路基于被编程在所述时间标记电路中的事件类型来检测指示所述处理速率的所述事件。
20.如权利要求19所述的系统,还包括处理器,所述处理器向所述时间标记电路请求指示所述处理速率的所述事件的所述时间标记。
21.如权利要求20所述的系统,其中,所述处理器基于所述事件的所述时间标记以及所述流的所述程序时钟速率标记来调整所述处理速率。
22.如权利要求20所述的系统,其中,所述处理器基于所述事件的所述时间标记以及所述流的所述程序时钟速率标记来调整所述参考时钟信号的频率。
23.如权利要求20所述的系统,其中,所述处理器基于所述事件的所述时间标记以及所述流的所述程序时钟速率标记来对所述数据块重新采样。
24.如权利要求20所述的系统,其中,所述时间标记电路储存被检测到的事件的时间标记,并且响应于所述处理器从所述时间标记电路请求时间标记,给所述处理器提供所储存的被检测到事件的时间标记。
25.如权利要求20所述的系统,其中,所述时间标记电路储存被检测到的事件的时间标记,并且响应于所述处理器给所述时间标记电路提供被检测到事件的事件标识符,给所述处理器提供所储存的所述被检测到事件的时间标记。
26.如权利要求18所述的系统,其中,响应于确定被检测到的事件是要被加时间标记的事件类型,所述时间标记电路储存所述被检测到的事件的时间标记。
27.如权利要求26所述的系统,其中,响应于确定被检测到的事件不是要被加时间标记的事件类型,所述时间标记电路忽略所述被检测到的事件而不储存所述被检测到的事件的时间标记。
28.如权利要求20所述的系统,还包括芯片组,所述芯片组包括所述时间标记电路,并且所述芯片组将所述处理器耦合到所述网络接口和所述设备。
29.如权利要求18所述的系统,还包括仲裁器,所述仲裁器包括所述时间标记电路,并且所述仲裁器仲裁对共享资源的请求,其中,所述时间标记电路储存事件类型的被检测到的仲裁信号的时间标记。
30.如权利要求18所述的系统,还包括中断控制器,所述中断控制器包括所述时间标记电路,并且所述中断控制器处理从所述设备接收到的中断信号,其中,所述时间标记电路储存事件类型的被检测到的中断信号的时间标记。
31.一种方法,包括:
向时间标记电路请求被检测到的事件的时间标记,所述被检测到的事件指示对流的处理速率,
基于所述被检测到的事件的所述时间标记,确定对所述流的所述处理速率,
基于所述流的程序时钟速率标记,确定所述流的程序时钟速率,以及
响应于具有确定的差的所述处理速率和所述程序时钟速率,调整对所述流的处理速率。
32.如权利要求31所述的方法,其中,还包括通过对所述流的数据块重新采样来调整所述处理速率。
33.如权利要求31所述的方法,其中,还包括调整控制所述处理速率的参考时钟。
34.如权利要求31所述的方法,其中,还包括编程所述时间标记电路以标记指示用于所述流的处理速率的中断事件。
35.如权利要求31所述的方法,其中,还包括编程所述时间标记电路以标记指示用于所述流的处理速率的仲裁事件。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/637,301 | 2003-08-07 | ||
US10/637,301 US20050091554A1 (en) | 2003-08-07 | 2003-08-07 | Event time-stamping |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1860427A CN1860427A (zh) | 2006-11-08 |
CN100456201C true CN100456201C (zh) | 2009-01-28 |
Family
ID=34193567
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004800283804A Expired - Fee Related CN100456201C (zh) | 2003-08-07 | 2004-07-28 | 事件时间标记 |
Country Status (10)
Country | Link |
---|---|
US (1) | US20050091554A1 (zh) |
EP (1) | EP1652054B1 (zh) |
JP (1) | JP2007501977A (zh) |
KR (1) | KR100829643B1 (zh) |
CN (1) | CN100456201C (zh) |
AT (1) | ATE371890T1 (zh) |
DE (1) | DE602004008647T2 (zh) |
RU (1) | RU2312386C2 (zh) |
TW (1) | TWI279673B (zh) |
WO (1) | WO2005017724A2 (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7529979B2 (en) * | 2003-12-12 | 2009-05-05 | International Business Machines Corporation | Hardware/software based indirect time stamping methodology for proactive hardware/software event detection and control |
AT502550B1 (de) * | 2005-10-11 | 2009-11-15 | Arc Seibersdorf Res Gmbh | Digitaler synchroner arbiter, sensor mit einem derartigen arbiter und verfahren zum sequentialisieren von synchronisierten ereignissen mit einem derartigen arbiter |
US8468283B2 (en) | 2006-06-01 | 2013-06-18 | Telefonaktiebolaget Lm Ericsson (Publ) | Arbiter diagnostic apparatus and method |
CN101459693A (zh) * | 2008-12-29 | 2009-06-17 | 中兴通讯股份有限公司 | 一种流媒体下载方法及系统 |
US8971470B2 (en) * | 2011-02-25 | 2015-03-03 | Intel Corporation | System, method, and device to distribute accurate synchronization timestamps in an expandable and timing critical system |
US9465755B2 (en) | 2011-07-18 | 2016-10-11 | Hewlett Packard Enterprise Development Lp | Security parameter zeroization |
US9201821B2 (en) | 2012-09-27 | 2015-12-01 | Apple Inc. | Interrupt timestamping |
US10409244B2 (en) | 2013-10-15 | 2019-09-10 | Omron Corporation | Controller and control method |
US9641267B2 (en) * | 2014-06-10 | 2017-05-02 | Halliburton Energy Services Inc. | Synchronization of receiver units over a control area network bus |
US9904637B2 (en) * | 2014-11-26 | 2018-02-27 | Qualcomm Incorporated | In-band interrupt time stamp |
TWI549014B (zh) * | 2014-12-31 | 2016-09-11 | Nobuyoshi Morimoto | Verification system and method for issuing real-time timestamps with digital timestamp devices |
TWI559163B (zh) * | 2015-03-27 | 2016-11-21 | Nobuyoshi Morimoto | Time stamped digital content protection methods and systems |
JP6540478B2 (ja) * | 2015-11-30 | 2019-07-10 | セイコーエプソン株式会社 | 計時装置、電子機器、及び、移動体 |
TWI632461B (zh) * | 2017-05-25 | 2018-08-11 | 緯穎科技服務股份有限公司 | 獲取時間戳記的方法以及使用該方法的電腦裝置 |
US11019585B1 (en) | 2018-07-24 | 2021-05-25 | Sprint Communications Company L.P. | Network generated precision time |
CN112650616A (zh) * | 2021-01-05 | 2021-04-13 | 上海擎昆信息科技有限公司 | 一种中断检测方法、装置和系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5038319A (en) * | 1989-04-24 | 1991-08-06 | Xerox Corporation | System for recording and remotely accessing operating data in a reproduction machine |
US5297277A (en) * | 1990-08-31 | 1994-03-22 | International Business Machines Corporation | Apparatus for monitoring data transfers of an oemi channel interface |
US5426774A (en) * | 1993-04-06 | 1995-06-20 | Honeywell Inc. | Method for maintaining a sequence of events function during failover in a redundant multiple layer system |
US5822317A (en) * | 1995-09-04 | 1998-10-13 | Hitachi, Ltd. | Packet multiplexing transmission apparatus |
EP0903655A2 (en) * | 1997-09-22 | 1999-03-24 | Hewlett-Packard Company | Control system with nodes |
EP1185013A2 (en) * | 2000-07-24 | 2002-03-06 | Nec Corporation | System and method for clock synchronization for USB sink device |
US20030002540A1 (en) * | 2001-05-14 | 2003-01-02 | Onno Eerenberg | MPEG data packet transmission through an ATM network with jitter free decoding |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5862388A (en) * | 1993-11-24 | 1999-01-19 | Intel Corporation | Interrupt-time processing of received signals |
US6097699A (en) * | 1998-06-05 | 2000-08-01 | Gte Laboratories Incorporated | Method and system for monitoring broadband quality of services |
US6571344B1 (en) * | 1999-12-21 | 2003-05-27 | Koninklijke Philips Electronics N. V. | Method and apparatus for authenticating time-sensitive interactive communications |
US7123963B2 (en) * | 2002-10-31 | 2006-10-17 | Medtronic, Inc. | Method of automatic evoked response sensing vector selection using evoked response waveform analysis |
US7124332B2 (en) * | 2003-06-30 | 2006-10-17 | Intel Corporation | Failure prediction with two threshold levels |
-
2003
- 2003-08-07 US US10/637,301 patent/US20050091554A1/en not_active Abandoned
-
2004
- 2004-07-01 TW TW093119913A patent/TWI279673B/zh not_active IP Right Cessation
- 2004-07-28 AT AT04779224T patent/ATE371890T1/de not_active IP Right Cessation
- 2004-07-28 EP EP04779224A patent/EP1652054B1/en not_active Not-in-force
- 2004-07-28 DE DE602004008647T patent/DE602004008647T2/de not_active Expired - Fee Related
- 2004-07-28 CN CNB2004800283804A patent/CN100456201C/zh not_active Expired - Fee Related
- 2004-07-28 JP JP2006522597A patent/JP2007501977A/ja active Pending
- 2004-07-28 RU RU2006106916/09A patent/RU2312386C2/ru not_active IP Right Cessation
- 2004-07-28 WO PCT/US2004/024055 patent/WO2005017724A2/en active IP Right Grant
- 2004-07-28 KR KR1020067002656A patent/KR100829643B1/ko not_active IP Right Cessation
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5038319A (en) * | 1989-04-24 | 1991-08-06 | Xerox Corporation | System for recording and remotely accessing operating data in a reproduction machine |
US5297277A (en) * | 1990-08-31 | 1994-03-22 | International Business Machines Corporation | Apparatus for monitoring data transfers of an oemi channel interface |
US5426774A (en) * | 1993-04-06 | 1995-06-20 | Honeywell Inc. | Method for maintaining a sequence of events function during failover in a redundant multiple layer system |
US5822317A (en) * | 1995-09-04 | 1998-10-13 | Hitachi, Ltd. | Packet multiplexing transmission apparatus |
EP0903655A2 (en) * | 1997-09-22 | 1999-03-24 | Hewlett-Packard Company | Control system with nodes |
EP1185013A2 (en) * | 2000-07-24 | 2002-03-06 | Nec Corporation | System and method for clock synchronization for USB sink device |
US20030002540A1 (en) * | 2001-05-14 | 2003-01-02 | Onno Eerenberg | MPEG data packet transmission through an ATM network with jitter free decoding |
Also Published As
Publication number | Publication date |
---|---|
TWI279673B (en) | 2007-04-21 |
RU2006106916A (ru) | 2006-07-27 |
DE602004008647T2 (de) | 2008-06-12 |
WO2005017724A2 (en) | 2005-02-24 |
US20050091554A1 (en) | 2005-04-28 |
ATE371890T1 (de) | 2007-09-15 |
EP1652054B1 (en) | 2007-08-29 |
KR100829643B1 (ko) | 2008-05-19 |
TW200516386A (en) | 2005-05-16 |
JP2007501977A (ja) | 2007-02-01 |
RU2312386C2 (ru) | 2007-12-10 |
KR20060034306A (ko) | 2006-04-21 |
CN1860427A (zh) | 2006-11-08 |
WO2005017724A3 (en) | 2005-11-17 |
DE602004008647D1 (de) | 2007-10-11 |
EP1652054A2 (en) | 2006-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100456201C (zh) | 事件时间标记 | |
US6397287B1 (en) | Method and apparatus for dynamic bus request and burst-length control | |
US5778218A (en) | Method and apparatus for clock synchronization across an isochronous bus by adjustment of frame clock rates | |
EP2030096B1 (en) | Data communication flow control device and methods thereof | |
EP0619036B1 (en) | Method and apparatus for processing data within stations of a communication network | |
CN1026733C (zh) | 多媒体信号处理器计算机系统 | |
US5594927A (en) | Apparatus and method for aligning data transferred via DMA using a barrel shifter and a buffer comprising of byte-wide, individually addressabe FIFO circuits | |
US9128633B2 (en) | Semiconductor memory device and method of operating the semiconductor memory device | |
CN113468097B (zh) | 基于片上系统的数据交换方法 | |
CN100432966C (zh) | 追踪数据流处理器的进展 | |
CN101529404B (zh) | 用于时间戳消息的方法 | |
US7484030B2 (en) | Storage controller and methods for using the same | |
US10169273B2 (en) | Forced compression of single I2C writes | |
US7890958B2 (en) | Automatic adjustment of time a consumer waits to access data from queue during a waiting phase and transmission phase at the queue | |
US20020112105A1 (en) | Method and apparatus for efficient messaging between memories across a PCI bus | |
US10489319B2 (en) | Automatic transmission of dummy bits in bus master | |
US7007110B2 (en) | Nak throttling for USB host controllers | |
TWI287710B (en) | Stream under-run/over-run recovery | |
US7028124B2 (en) | Method and apparatus for dual queue head processing of interrupt endpoints | |
US20050143843A1 (en) | Command pacing | |
US6816935B1 (en) | Interrupt and status reporting structure and method for a timeslot bus | |
CN209690899U (zh) | 基于usb的fpga通信控制装置及fpga | |
US6665752B1 (en) | Interrupt driven interface coupling a programmable media access controller and a process controller | |
US8195846B2 (en) | Direct memory access controller for improving data transmission efficiency in MMoIP and method therefor | |
US20070083782A1 (en) | Power configuration scheme of computer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090128 Termination date: 20100728 |