CN1882927A - 追踪数据流处理器的进展 - Google Patents

追踪数据流处理器的进展 Download PDF

Info

Publication number
CN1882927A
CN1882927A CNA200480034078XA CN200480034078A CN1882927A CN 1882927 A CN1882927 A CN 1882927A CN A200480034078X A CNA200480034078X A CN A200480034078XA CN 200480034078 A CN200480034078 A CN 200480034078A CN 1882927 A CN1882927 A CN 1882927A
Authority
CN
China
Prior art keywords
data
buffer zone
controller
buffer
system storage
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.)
Granted
Application number
CNA200480034078XA
Other languages
English (en)
Other versions
CN100432966C (zh
Inventor
佐哈尔·博金
布伦特·沙特兰德
小阿瑟·亨特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN1882927A publication Critical patent/CN1882927A/zh
Application granted granted Critical
Publication of CN100432966C publication Critical patent/CN100432966C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Communication Control (AREA)
  • Eye Examination Apparatus (AREA)
  • Glass Compositions (AREA)
  • Paper (AREA)

Abstract

描述了用于使数据在编解码器和系统存储器中的缓冲区之间流动以及用于在系统存储器中维持指示缓冲区当前位置的数值的机器可读介质、方法和设备。在一些实施方案中,音频控制器经由具有松散型排序规则的等时通道使数据流到系统存储器中的缓冲区并且通过经由所述等时通道对系统存储器的写操作来更新指示当前位置的值。

Description

追踪数据流处理器的进展
背景技术
PCI Express是试图与PCI(外设部件互连)软件兼容的I/O(输入/输出)互连。在试图与PCI保持一定程度兼容性的同时,PCI Express提供了很多PCI中没有或者不完全支持的特征。对于等时(isochronous)数据传输的支持就是这样一个特征。对等时数据传输的支持可以帮助多媒体应用,例如,音频和/或视频回放应用获得高品质的效果。然而,等时数据传输的PCIExpress实现放宽了一些严格的PCI排序(order)规则。所以经由PCIExpress通道等时传输数据的软件应用可能需要利用不同于用于追踪常规PCI数据传输进展的技术来追踪这样的传输进展。
附图说明
此处描述的本发明是以示例的形式而非限制性形式在附图中描述的。为了描述的简单与清晰,图中所示要素并不一定是按照比例绘制的。举例来说,为了清晰起见,一些要素的尺寸可能相对于其他要素被放大了。再者,在适当的考虑下,图中重复出现的标号是用来指示对应的或类似的要素。
图1描述了具有音频控制器的计算设备的实施方案。
图2描述了与系统存储器的缓冲区和缓冲区描述符(descriptor)列表(list)相关的音频控制器的实施方案。1.
图3描述了在系统存储器中缓冲区与编解码器(codec)之间传输数据的方法的实施方案。
详细描述
以下描述了数据流向(Data Streaming)技术。在以下的描述中,阐述了诸如实现逻辑实现、操作码、指定操作数的方式、资源划分/共享/复制的实现、系统组件(component)的类型和它们间的相互关系、以及逻辑划分/整合抉择等很多具体的细节,以提供对本发明的更透彻的理解。然而,本领域内的技术人员将会意识到,无需使用这些具体的细节可以实现本发明。此外,为了不模糊本发明,控制结构、门级电路和完整的软件指令序列没有详细示出。本领域普通技术人员,利用所包括的描述,能够在不需非常规试验(undueexperimentation)的情况下实现适当的功能。
在说明书中提及的“一个实施方案”、“实施方案”、“示例性的实施方案”等等,表明所述实施方案可以包括具体特征、结构和特性,但每一个实施方案并不一定要包括所述具体特征、结构和特性。而且这些短语不一定是指相同的实施方案。再者,在描述与实施方案相关的具体特征、结构和特性时,无论是否被明确地描述,认为本领域内的技术人员在其知识范围内是能实现与其他实施方案相关的这些特征、结构和特性的。
本发明的实施方案可以以硬件、固件、软件或它们的任何组合形式实现。本发明的实施方案也可以用能够被一个或更多个处理器读取和执行、存储在机器可读介质中的指令来实现。机器可读介质可以包括任何用于存储或传输可被机器(如计算设备)读取的信息的机制。举例来说,机器可读介质可以包括只读存储器(ROM);随机访问存储器(RAM);磁盘存储介质;光存储介质;闪存设备;电、光、声或其他形式的传播信号(如载波、红外信号、数字信号等)以及其他介质。
计算设备的实施方案如图1所示。计算设备可能包括一个或更多个经由处理器总线104与芯片组102耦合的处理器100的。芯片组102可以包括一个或更多个集成电路封装(package)或芯片,所述集成电路封装或芯片将处理器100耦合到主存储器或者系统存储器106、音频控制器108和/或计算设备的其他组件110。具体来说,芯片组102可以包括一个或更多个设备接口112,所述设备接口112支持通过一条或更多条总线114送到和/或传自计算设备的其他组件110(例如BIOS固件、键盘、鼠标、存储设备、网络设备等)的数据传输。
芯片组102还可以包括经由存储器总线118访问系统存储器106的存储控制器116。存储控制器106可以响应于对与处理器100、音频控制器108和计算设备的其他组件110相关联的存储器事务访问系统存储器106。此外,系统存储器106还可以包括提供可寻址存储位置(location)的各种存储设备,存储控制器116可以从中读取数据和/或将数据写入其中。具体来说,系统存储器106可以包括一个或更多个不同类型的存储器设备,例如DRAM(动态随机访问存储器)设备、SDRAM(同步DRAM)设备、DDR(双倍数据速率)SDRAM设备或其他存储器设备。
计算设备还可以包括经由音频总线122耦合到音频控制器108的一个或更多个编解码器120。编解码器120可以集成到音频控制器108和/或芯片组102中,也可以安装到计算设备的主板上,也可以安装到与计算设备耦合的附加卡(add-in card)上,和/或成为诸如坞站(docking station)、音频混音器等耦合到计算设备的接口端口(未示出)的外部设备的一部分。此外,编解码器120还可以与计算设备中可产生和/或处理数据流的声卡、调制解调器、传真设备、电话设备、音频捕捉设备、视频捕捉设备等相关联。
音频控制器108可以使数据在编解码器120与系统存储器106的缓冲区124之间流动,所述缓冲区120由存储在系统存储器106中的一个或更多个缓冲区描述符列表(BDL)126来定义。音频控制器108也可以更新系统存储器106的缓冲区中的直接存储器访问(DirectMemory Access,DMA)位置(Direct Memory Access Position in Buffer,DPIB)结构128,以反映音频控制器108在音频控制器108与一个或多或更多个缓冲区124之间传输数据的进展。
音频控制器108可以集成到芯片组102中。但是,在所述的实施方案中,音频控制器108是与芯片组102分离的。在这样的实施方案中,芯片组102与音频控制器108可以各包括一条或更多条支持经由等时通道132的等时数据传输和/或经由非等时通道134的非等时数据传输的总线接口130。在一个实施方案中,一条或更多条等时通道132将音频控制器108的总线接口130耦合到芯片组102的总线接口130来支持彼此之间的等时数据传输。在一个实施方案中,每个总线接口130可以实现与PCI Express兼容的接口,所述接口支持等时虚拟通道。但是,总线接口130可以实现另外的和/或可替换的接口协议。此外,芯片组102和总线接口130还可以实现类似于比传统的PCI排序规则要更加宽松的PCI Express排序规则的排序规则。具体来说,不同于PCI排序规则,供处理器读取的完成数据(completion data)不会推动对系统存储器106的等时读和/或写。此外,中断也不会推动对系统存储器106的等时读和/或写。但是,在一个实施方案中,排序规则保证了等时写不会经由相同的通道传递先前发布的等时读/或写。帮我弄清楚(FIX-ME):这些排序规则准确吗(ARE THESE ORDERING RULES ACCURATE)?
音频控制器108还可以包括用于将编解码器120耦合到音频控制器108的音频总线122上的音频总线接口136。在一个实施方案中,音频总线接口136可以经由音频总线122的一个或更多个点对点串行输入链路接收来自于编解码器120的数据帧。音频总线接口136还可以经由音频总线122的广播串行输出链路将数据帧发送到一个或更多个编解码器120,所述编解码器120根据不同的格式对流进行编码和/或解码。
现在参照图2,音频控制器108可以包括一个或更多个BDL DMA控制器138、DPIBDMA控制器140、一个或更多个输入DMA控制器142,以及一个或更多个输出DMA控制器144。在一个实施方案中,每一个输入DMA控制器142可以被处理器100编程,以分别使得从一个或更多个编解码器120接收到的数据流到系统存储器106的缓冲区124。类似地,每个输出DMA控制器142可被处理器100编程,以分别使得来自系统存储器106的缓冲区124的数据流到一个或更多个编解码器120。
每个BDL DMA控制器138可以从系统存储器106读取缓冲区描述符列表126,并且给适当的DMA控制器142、144提供缓冲区描述符列表。每个缓冲区描述符列表126可以定义缓冲区124的很多缓冲区段(segment)146,其中对应的输出DMA控制器142、144可从所述缓冲区段146中读取数据或者对应的输入DMA控制器可以将数据写入所述缓冲区段146。缓冲区描述符列表126的每一个描述符148可以包括标识缓冲区124的缓冲区段146开始端的基址(base)和标识缓冲区段146末端的长度。在一个实施方案中,DMA控制器142、144可以把它们各自的缓冲区124作为环状或者循环的缓冲区。因此,在到达它们各自缓冲区124的末端时,DMA控制器142、144可以绕回(wrap-around)或返回它们对应的缓冲区124的开始端。
音频控制器108还可以包括用于每一个输入DMA控制器142和输出DMA控制器144的分别的(separate)缓冲区长度寄存器150、分别的缓冲区中DMA位置(DPIB)计数器152以及分别的缓冲区中链路位置(Link Position In Buffer,LPIB)计数器154。处理器100和/或BDL DMA控制器138可以在每个DMA控制器142、144的缓冲区长度寄存器150中存储对应的缓冲区124的长度。每个输入DMA控制器142可以递增其DPIB计数器152以便DPIB计数器152包含的计数与输入DMA控制器142已向缓冲区124传输的字节(byte)数相等。另外,每个输入DMA控制器还可以递增其LPIB计数器154以便其LPIB计数器154包含的计数与输入DMA控制器142从其输入链路中已接收到的字节数相等。类似地,每个输出DMA控制器144可以递增它的DPIB计数器152以便DPIB计数器152包含的计数与输出DMA控制器144从其缓冲区124中已传输出的字节数相等。每个输出DMA控制器还可以递增它的LPIB计数器154以便LPIB计数器154包含的计数与输出DMA控制器144已传输到音频总线122的输出链路的字节数相等。
一旦DPIB计数器152和LPIB计数器154的计数指示已经到达了各自缓冲区124的末端时,它们可以清除自身或者复位到初始值(比如0、对应的缓冲区长度等等)。在一个实施方案中,一旦它们的计数与对应的缓冲区长度寄存器150的缓冲区长度到达预定的关系时,DPIB计数器152和LPIB计数器154可以清除自身或者以其他方式复位到初始值。在另一个实施方案中,DPIB计数器152和LPIB计数器154可以响应于计数器152、154的上溢(overflow)和下溢(underflow),清除自身或者以其他方式复位到初始值。另外,LPIB计数器154还可以这样来实现,从而使处理器能够读取LPIB计数器154的计数,但是不能写或者更新LPIB计数器154的计数。
音频控制器还可以包括刷新(update)计数器156和刷新率(update rate)寄存器158。在一个实施方案中,刷新计数器156可以响应于刷新计数器156的计数递增到超过存储在刷新率寄存器158中的值,产生上溢信号。响应于该上溢信号,刷新计数器156的计数可以被清除或置为0。在另一个实施方案中,刷新计数器156可以响应于刷新计数器156的计数递减到超过0,产生下溢信号。响应于下溢信号,刷新计数器156的计数可以被置为存储在刷新率寄存器158中的值。
DPIB DMA控制器140可以使用下溢/上溢信号来确定什么时候更新DPIB结构128。如图2所示,DPIB结构128可以包括用于每个输入DMA控制器142和每个输出DMA控制器144的DPIB字段(field)160。DPIB结构128还可以包括被保留作为将来可能使用的保留字段162。在一个实施方案中,DPIB结构128包括系统存储器106的连续的部分,并且DPIB结构的每个字段160、162包括32位(bit)。
图3示出了在缓冲区124和编解码器120之间引流(stream)或者传输数据的方法的实施方案。在方框200中,处理器100可以给流分配缓冲区124,并且可以将标识己分配缓冲区124的缓冲区段146的缓冲区描述符列表126存储在系统存储器106中。在方框202中,处理器100可以将音频控制器108的DMA控制器142、144分配给流,并且可以配置音频控制器108来使数据流动。在一个实施方案中,处理器100可以给音频控制器108提供已分配缓冲区124的长度、缓冲区描述符列表126的基址、要传输的流的流标识符、用于使数据流动的DMA控制器142和144的DMA标识符、一个或更多个用于在数据传输中涉及的编解码器120的编解码器标识符以及刷新率寄存器158的更新值。
在方框204中,音频控制器108可基于接收自处理器100的信息为流配置一个或更多个DMA控制器138、140、142、144。在一个实施方案中,音频控制器108可以基于接收到的缓冲区长度更新已分配的DMA控制器142、144缓冲区的长度寄存器150,可以初始化已分配的DMA控制器142、144的DPIB计数器和LPIB计数器154,并且可以给已经分配的DMA控制器142、144的BDL DMA控制器138提供已分配缓冲区124的缓冲区描述符列表126的基址和已分配DMA控制器142、144的DMA描述符。
在方框206中,BDL DMA控制器138可以从系统存储器106中读取缓冲区描述符列表126。BDL DMA控制器138还可以提供缓冲区描述符列表126给与接收到的DMA控制器相关联的DMA控制器142、144,和/或可以配置DMA控制器142、144根据(per)读取的缓冲区描述符列表126来传输数据。接着在方框208中,音频控制器108可以根据缓冲区描述符列表126在缓冲区124与编解码器120之间传输数据。具体来说,对于输入流,音频总线接口136可以经由音频总线122的输入链路从编解码器120接收流描述符和相关的数据。音频总线接口136可基于流描述符将数据路由(route)到适当的输入DMA控制器142,并且输入DMA控制器142可以经由等时通道132将数据写到已分配的缓冲区124。类似地,输出DMA控制器144可以经由等时通道132从如缓冲区描述符126所定义的已分配缓冲区124中读取数据。音频总线接口136可以从输出DMA控制器144接收数据,并且可以经由音频总线122的输出链路将数据以帧的形式传输到适当的编解码器120中。
方框210中,响应于经由音频总线接口136发送和接收数据,DMA控制器142、144可以更新各自的LPIB计数器154来反映在音频总线122的链路上的传输进展。在一个实施方案中,DMA控制器142、144可根据自从上次更新以来在链路上传输的字节数来递增其LPIB计数器154。此外,在方框212中,DMA控制器142、144还可以基于其链路上传输的数据来更新刷新计数器156。在一个实施方案中,每个DMA控制器142、144可以根据自从上次更新以来在其对应的链路上传输的帧数来更新刷新计数器156的计数,从而使刷新计数器156追踪在音频总线122上传输的帧数。
在方框214中,响应于从缓冲区124读取数据或将数据写入缓冲区124,DMA控制器142、144可以更新其各自的DPIB计数器152,来反映在缓冲区124与音频控制器108之间进行数据传输的过程中DMA控制器142、144已取得的进展。在一个实施方案中,DMA控制器142、144可以根据自从上次更新以来缓冲区124与音频控制器108之间传输的字节数来更新其DPIB计数器512。
在方框216中,基于刷新计数器156的计数,DPIB DMA控制器140可以确定是否要更新系统存储器106中的DPIB结构128。在一个实施方案中,DPIB DMA控制器140可以响应于刷新计数器156的上溢和/或下溢信号,确定更新存储在系统存储器106中的DPIB结构128。在另一个实施方案中,DPIB DMA控制器140可以响应于确定刷新计数器156的计数与存储在刷新率寄存器158中的更新值具有预定的关系(比如说相等),确定更新DPIB结构128。方框218中,响应于确定要更新DPIB结构128,DPIB DMA控制器140可以经由被DMA控制器142、144使用的相同的虚拟通道将DPIB计数器152的当前值写入系统存储器106中DPIB结构128的各自的DPIB字段160。
由于总线接口130维持经由虚拟通道的写排序,处理器100可以从DPIB结构128确定音频控制器108等时地向系统存储器106中的缓冲区124传输数据和/或从系统存储器106中的缓冲区124传输数据的进展。此外,处理器100还可以读取LPIB计数器154来确定音频控制器108经由音频总线122的链路传输数据的进展。
在方框220中,音频控制器108可以确定DMA控制器142、144是否到达了其缓冲区124的末端。在一个实施方案中,音频控制器108响应于DPIB计数器156的上溢和/或下溢信号,可以确定DMA控制器142、144到达了其缓冲区的末端。在另一个实施方案中,音频控制器108响应于确定DPIB计数器152的计数与其对应的缓冲区长度寄存器150中存储的缓冲区长度具有预定的关系,确定DMA控制器142、144到达了其缓冲区124的末端。方框222中,DMA控制器142、144响应于确定到达缓冲区124末端,可以复位或初始化其DPIB计数器152和LPIB计数器154。DMA控制器142、144还可以根据其缓冲区描述符列表126返回缓冲区124的开始端。然后DMA控制器142、144可以返回方框208,以继续在其缓冲区124与音频控制器108之间传输数据。
参照示例性的实施方案描述了本发明的某些特征。但是所述描述不想要被视为限制性的。本发明所属领域内的技术人员将会清楚,示例性实施方案的各种修改以及本发明的其他实施方案,被视为落在本发明的精神和范围之内。

Claims (28)

1.一种在包括系统存储器和编解码器的计算设备的控制器中的方法,所述方法包括:
通过所述控制器的第一接口从所述系统存储器的缓冲区读取数据,
通过所述控制器的第二接口向所述编解码器传输所述数据,
追踪所述缓冲区中的位置,所述控制器已从所述位置读取所述数据,以及
通过所述第一接口向所述系统存储器写入值,以指示所述缓冲区中的所述位置。
2.如权利要求1所述的方法,其中读取操作包括通过所述第一接口等时地接收所述数据。
3.如权利要求1所述的方法,还包括追踪通过所述第二接口将所述数据传输到所述编解码器的进展。
4.如权利要求1所述的方法,其中从所述缓冲区读取所述数据的操作包括根据定义所述缓冲区的缓冲区描述符列表读取数据。
5.如权利要求4所述的方法,其中从所述缓冲区读取所述数据的操作还包括响应于到达所述缓冲区的末端,返回所述缓冲区的开始端。
6.如权利要求1所述的方法,还包括在将所述值写入所述系统存储器之前,基于通过所述第二接口传输的所述数据,确定更新所述系统存储器中的所述值。
7.一种在包括系统存储器和编解码器的计算设备的控制器中的方法,所述方法包括:
通过所述控制器的第一接口从所述编解码器接收数据,
通过所述控制器的第二接口将所述数据写入所述系统存储器的缓冲区,
追踪所述缓冲区中的位置,所述控制器已向所述位置写入所述数据,以及
通过所述第二接口向所述系统存储器写入值,以指示所述缓冲区中的所述位置。
8.如权利要求7所述的方法,其中将所述数据写入所述缓冲区的操作包括通过所述第二接口向所述缓冲区等时地传输所述数据。
9.如权利要求7所述的方法,还包括追踪通过所述的第一接口从所述编解码器接收所述数据的进展。
10.如权利要求7所述的方法,其中将所述数据写入所述缓冲区的操作包括根据定义所述缓冲区的缓冲区描述符列表写入数据。
11.如权利要求10所述的方法,其中将所述数据写入所述缓冲区的操作还包括响应于到达所述缓冲区的末端,返回所述缓冲区的开始端。
12.如权利要求7所述的方法,还包括在将所述值写入系统存储器之前,基于通过所述第一接口接收的所述数据,确定更新所述系统存储器中的所述值。
13.一种系统,包括:
处理器,
包括缓冲区和缓冲区位置的系统存储器,
通过第一总线耦合到所述系统存储器的音频控制器,以及
通过第二总线耦合到所述音频控制器的编解码器,其中
所述音频控制器通过所述第一总线和所述第二总线在所述缓冲区和所述编解码器之间传输数据,并且通过所述第一总线来更新所述缓冲区位置以指示缓冲区中与所述缓冲区和所述音频控制器之间的所述音频控制器传输有关的位置。
14.如权利要求13所述的系统,其中所述音频控制器通过等时通道将所述数据经过所述第一总线传输,并且通过所述等时通道更新所述缓冲区位置。
15.如权利要求13所述的系统,其中所述音频控制器将所述数据经过所述第一总线的链路传输,并且基于经过所述链路传输的数据更新所述音频控制器的链路位置计数器。
16.如权利要求13所述的系统,其中所述系统存储器还包括定义所述缓冲区的缓冲区描述符列表,并且所述音频控制器基于所述的缓冲区描述符列表传输所述数据。
17.如权利要求13所述的系统,其中所述音频控制器通过所述第一总线等时地从所述缓冲区读取所述数据,并且通过所述第二总线将所述数据传输到所述编解码器。
18.如权利要求13所述的系统,其中所述音频控制器通过所述第二总线从所述编解码器接收所述数据,并且通过所述第一总线将所述数据等时地写入所述缓冲区。
19.一种控制器,包括:
第一直接存储器访问控制器,所述第一直接存储器访问控制器通过到系统存储器的第一接口和到编解码器的第二接口在所述系统存储器和所述编解码器之间传输数据,以及
缓冲区中位置控制器,所述缓冲区中位置控制器通过所述第一接口更新所述系统存储器中的位置值,以指示所述直接存储器访问控制器在所述缓冲区中的位置。
20.如权利要求19所述的控制器,还包括第二直接存储器访问控制器,所述第二直接存储器访问控制器,用来
从所述系统存储器读取定义所述系统存储器中缓冲区的缓冲区描述符列表,以及
配置所述第一直接存储器访问控制器,以根据所述的缓冲区描述符列表在所述缓冲区与所述编解码器之间传输所述数据。
21.如权利要求19所述的控制器,还包括用于维持计数的链路计数器,所述计数指示所述第一直接存储器访问控制器经过所述第二接口传输所述数据的进展。
22.如权利要求19所述的控制器,还包括用于维持计数的缓冲区位置计数器,所述计数指示所述第一直接存储器访问控制器经过所述第一接口传输所述数据的进展。
23.如权利要求19所述的控制器,其中所述第一直接存储器访问控制器将所述数据等时地写入所述缓冲区。
24.如权利要求19所述的控制器,其中所述的第一直接存储器访问控制器从所述缓冲区等时地读取所述数据。
25.一种包括多条指令的机器可读介质,响应于所述指令被执行,导致计算设备:
配置音频控制器来使数据在所述计算设备的系统存储器中的缓冲区和所述计算设备的编解码器之间流动,
配置所述音频控制器来基于所述缓冲区与所述编解码器之间传输数据的进展来更新所述系统存储器中的缓冲区位置;以及
从所述系统存储器中读取所述缓冲区位置来确定所述音频控制器使所述数据在所述缓冲区和所述音频控制器之间流动的进展。
26.如权利要求25所述的机器可读介质,其中响应于所述多条指令的执行,还导致所述计算设备
从所述音频控制器读取链路位置,以确定所述音频控制器使所述数据在所述编解码器与所述音频控制器之间流动的进展。
27.如权利要求25所述的机器可读介质,其中响应于所述多条指令的执行,还导致所述计算设备
在所述系统存储器中分配所述缓冲区,并且将缓冲区描述符列表存入所述系统存储器中,以及
配置所述音频控制器,以根据所述缓冲区描述符列表传输所述数据。
28.如权利要求25所述的机器可读介质,其中响应于所述多条指令的执行,还导致所述计算设备
在所述系统存储器中分配缓冲区中位置结构,以及
进行配置,以利用所述缓冲区位置更新所述缓冲区中位置结构。
CNB200480034078XA 2003-11-25 2004-11-10 追踪数据流处理器的进展 Expired - Fee Related CN100432966C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/723,347 2003-11-25
US10/723,347 US7346716B2 (en) 2003-11-25 2003-11-25 Tracking progress of data streamer

Publications (2)

Publication Number Publication Date
CN1882927A true CN1882927A (zh) 2006-12-20
CN100432966C CN100432966C (zh) 2008-11-12

Family

ID=34592243

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB200480034078XA Expired - Fee Related CN100432966C (zh) 2003-11-25 2004-11-10 追踪数据流处理器的进展

Country Status (8)

Country Link
US (1) US7346716B2 (zh)
EP (1) EP1695223B1 (zh)
JP (1) JP2007512626A (zh)
CN (1) CN100432966C (zh)
AT (1) ATE408192T1 (zh)
DE (1) DE602004016555D1 (zh)
TW (1) TWI283350B (zh)
WO (1) WO2005055068A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108345551A (zh) * 2017-01-23 2018-07-31 杭州海康威视数字技术股份有限公司 一种存储数据的方法及装置

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8259121B2 (en) 2002-10-22 2012-09-04 Broadcom Corporation System and method for processing data using a network
US7756594B2 (en) * 2004-06-14 2010-07-13 Microsoft Corporation Systems and methods for parsing flexible audio codec topologies
US9264384B1 (en) * 2004-07-22 2016-02-16 Oracle International Corporation Resource virtualization mechanism including virtual host bus adapters
US20060031607A1 (en) * 2004-08-05 2006-02-09 Microsoft Corporation Systems and methods for managing input ring buffer
US7706901B2 (en) * 2004-10-01 2010-04-27 Microsoft Corporation Low latency real-time audio streaming
JP2008522305A (ja) * 2004-12-03 2008-06-26 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ストリーミングメモリコントローラ
WO2007003984A1 (en) * 2005-06-30 2007-01-11 Freescale Semiconductor, Inc. Device and method for arbitrating between direct memory access task requests
US20090125647A1 (en) * 2005-06-30 2009-05-14 Citibank, N.A. Device And Method For Executing A DMA Task
US8001430B2 (en) * 2005-06-30 2011-08-16 Freescale Semiconductor, Inc. Device and method for controlling an execution of a DMA task
US20070011364A1 (en) * 2005-07-05 2007-01-11 Arm Limited Direct memory access controller supporting non-contiguous addressing and data reformatting
US9813283B2 (en) 2005-08-09 2017-11-07 Oracle International Corporation Efficient data transfer between servers and remote peripherals
JP2010538376A (ja) * 2007-09-01 2010-12-09 ディーツーオーディオ コーポレーション ハイ・デフィニッション・オーディオ・バスを介したコーデックプロセッサを起動するシステムと方法
US8543796B2 (en) 2008-11-05 2013-09-24 Intel Corporation Optimizing performance of instructions based on sequence detection or information associated with the instructions
US9973446B2 (en) 2009-08-20 2018-05-15 Oracle International Corporation Remote shared server peripherals over an Ethernet network for resource virtualization
US9331963B2 (en) 2010-09-24 2016-05-03 Oracle International Corporation Wireless host I/O using virtualized I/O controllers
US9083550B2 (en) 2012-10-29 2015-07-14 Oracle International Corporation Network virtualization over infiniband
CN108319438B (zh) * 2017-01-16 2019-05-17 视联动力信息技术股份有限公司 一种音频数据采集的方法和装置
US11288216B1 (en) 2020-09-30 2022-03-29 Dell Products L.P. Priority reversing data traffic for latency sensitive peripherals

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5530941A (en) 1990-08-06 1996-06-25 Ncr Corporation System and method for prefetching data from a main computer memory into a cache memory
US5452432A (en) 1990-08-14 1995-09-19 Chips And Technologies, Inc. Partially resettable, segmented DMA counter
US5794070A (en) 1993-06-30 1998-08-11 Intel Corporation Method and apparatus for fast DMA transfer on an industry standard architecture (ISA) bus
US5708849A (en) 1994-01-26 1998-01-13 Intel Corporation Implementing scatter/gather operations in a direct memory access device on a personal computer
US5526353A (en) * 1994-12-20 1996-06-11 Henley; Arthur System and method for communication of audio data over a packet-based network
US5682553A (en) * 1995-04-14 1997-10-28 Mitsubishi Electric Information Technology Center America, Inc. Host computer and network interface using a two-dimensional per-application list of application level free buffers
US5664197A (en) 1995-04-21 1997-09-02 Intel Corporation Method and apparatus for handling bus master channel and direct memory access (DMA) channel access requests at an I/O controller
US5729762A (en) 1995-04-21 1998-03-17 Intel Corporation Input output controller having interface logic coupled to DMA controller and plurality of address lines for carrying control information to DMA agent
US5805842A (en) 1995-09-26 1998-09-08 Intel Corporation Apparatus, system and method for supporting DMA transfers on a multiplexed bus
US5678009A (en) 1996-02-12 1997-10-14 Intel Corporation Method and apparatus providing fast access to a shared resource on a computer bus
US5822553A (en) * 1996-03-13 1998-10-13 Diamond Multimedia Systems, Inc. Multiple parallel digital data stream channel controller architecture
US5889480A (en) * 1996-10-18 1999-03-30 Samsung Electronics Co., Ltd. Full duplex serial codec interface with DMA
US6131127A (en) 1997-09-24 2000-10-10 Intel Corporation I/O transactions on a low pin count bus
US6119189A (en) 1997-09-24 2000-09-12 Intel Corporation Bus master transactions on a low pin count bus
US6157970A (en) 1997-09-24 2000-12-05 Intel Corporation Direct memory access system using time-multiplexing for transferring address, data, and control and a separate control line for serially transmitting encoded DMA channel number
US6151654A (en) 1997-12-24 2000-11-21 Intel Corporation Method and apparatus for encoded DMA acknowledges
US5996038A (en) 1998-01-26 1999-11-30 Intel Corporation Individually resettable bus expander bridge mechanism
US6108743A (en) 1998-02-10 2000-08-22 Intel Corporation Technique for performing DMA including arbitration between a chained low priority DMA and high priority DMA occurring between two links in the chained low priority
US6434649B1 (en) * 1998-10-14 2002-08-13 Hitachi, Ltd. Data streamer
US6690676B1 (en) * 1998-11-23 2004-02-10 Advanced Micro Devices, Inc. Non-addressed packet structure connecting dedicated end points on a multi-pipe computer interconnect bus
US6275242B1 (en) 1998-12-31 2001-08-14 Intel Corporation Method and apparatus for terminating direct memory access transfers from system memory to a video device
US6401144B1 (en) 1999-02-26 2002-06-04 Intel Corporation Method and apparatus for managing data transfers between peripheral devices by encoding a start code in a line of data to initiate the data transfers
US6385671B1 (en) 1999-03-29 2002-05-07 Intel Corporation Method/apparatus for flushing DMA transmit packet in FIFO when self-ID code generated by counter after bus reset is different than FIFO message self-ID field
US6438686B1 (en) 1999-04-20 2002-08-20 Intel Corporation Method and apparatus for eliminating contention with dual bus masters
US6247071B1 (en) * 1999-10-04 2001-06-12 B2C2, Inc. System for receiving an isochronous data stream at a computer using a main memory buffer
US6418489B1 (en) * 1999-10-25 2002-07-09 Motorola, Inc. Direct memory access controller and method therefor
US6560657B1 (en) 1999-12-23 2003-05-06 Intel Corporation System and method for controlling peripheral devices
US6567953B1 (en) 2000-03-29 2003-05-20 Intel Corporation Method and apparatus for host-based validating of data transferred between a device and a host
US6693753B2 (en) * 2000-06-02 2004-02-17 Seagate Technology Llc Disc sequencer supporting pipelined and non-pipelined read
US6792481B2 (en) * 2002-05-30 2004-09-14 Freescale Semiconductor, Inc. DMA controller

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108345551A (zh) * 2017-01-23 2018-07-31 杭州海康威视数字技术股份有限公司 一种存储数据的方法及装置
CN108345551B (zh) * 2017-01-23 2020-05-12 杭州海康威视数字技术股份有限公司 一种存储数据的方法及装置

Also Published As

Publication number Publication date
EP1695223B1 (en) 2008-09-10
TW200525362A (en) 2005-08-01
DE602004016555D1 (de) 2008-10-23
WO2005055068A2 (en) 2005-06-16
US20050114569A1 (en) 2005-05-26
JP2007512626A (ja) 2007-05-17
US7346716B2 (en) 2008-03-18
TWI283350B (en) 2007-07-01
CN100432966C (zh) 2008-11-12
EP1695223A2 (en) 2006-08-30
WO2005055068A3 (en) 2005-07-28
ATE408192T1 (de) 2008-09-15

Similar Documents

Publication Publication Date Title
CN100432966C (zh) 追踪数据流处理器的进展
CN100377136C (zh) 总线存取端口管道数的配置方法与相关装置
US7380045B2 (en) Protocol conversion and arbitration circuit, system having the same, and method for converting and arbitrating signals
RU2645288C2 (ru) Усовершенствование интерфейса pci express
US8230129B2 (en) Apparatus and method for identifying device types of series-connected devices of mixed type
US20080126624A1 (en) Memory buffer and method for buffering data
US20050210185A1 (en) System and method for organizing data transfers with memory hub memory modules
TWI619069B (zh) 記憶體管理系統和方法
KR20160075730A (ko) 노드들 사이의 i/o 서비스 및 메모리 공유
CN102184149A (zh) 封装
CN101515261B (zh) 集成电路内设备之间的数据传输
US6801971B1 (en) Method and system for shared bus access
CN1890627B (zh) 集成电路设备、系统和方法
CN101836194B (zh) 控制数据信道的优化解决方案
US6889276B2 (en) Priority mechanism for scheduling isochronous and asynchronous transactions on a shared bus
CN102508808A (zh) 一种实现主芯片与扩展芯片通信的系统及方法
KR20010024260A (ko) 핀-총수가 적은 버스 상에서의 직접 메모리 억세스 트랜잭션
TW201124911A (en) Buffering in media and pipelined processing components
DE112017004963T5 (de) Spannunsgmodulierte steuer-lane
US20080052431A1 (en) Method and Apparatus for Enabling Virtual Channels Within A Peripheral Component Interconnect (PCI) Express Bus
CN106980587A (zh) 一种通用输入输出时序处理器及时序输入输出控制方法
US5748920A (en) Transaction queue in a graphics controller chip
US7028124B2 (en) Method and apparatus for dual queue head processing of interrupt endpoints
US6678780B1 (en) Method and apparatus for supporting multiple bus masters with the accelerated graphics protocol (AGP) bus
CN1882910A (zh) 流欠载/过载的恢复

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20081112

Termination date: 20181110

CF01 Termination of patent right due to non-payment of annual fee