CN1262934C - 具有不同资源访问方案的***集成代理程序 - Google Patents

具有不同资源访问方案的***集成代理程序 Download PDF

Info

Publication number
CN1262934C
CN1262934C CNB018086527A CN01808652A CN1262934C CN 1262934 C CN1262934 C CN 1262934C CN B018086527 A CNB018086527 A CN B018086527A CN 01808652 A CN01808652 A CN 01808652A CN 1262934 C CN1262934 C CN 1262934C
Authority
CN
China
Prior art keywords
request
data processing
mentioned
data
access
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
Application number
CNB018086527A
Other languages
English (en)
Other versions
CN1426560A (zh
Inventor
R·迪迪尔
C·米洛索罗拉
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of CN1426560A publication Critical patent/CN1426560A/zh
Application granted granted Critical
Publication of CN1262934C publication Critical patent/CN1262934C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
    • G06F13/372Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a time-dependent priority, e.g. individually loaded time counters or time slot
    • 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/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

在集成有用于时隙资源访问方案的模块(PROC)和用于访问基于请求仲裁的共享资源的模块(PROC)的***中,请求仲裁方案用来管理对共享资源的访问。为时隙资源访问方案设计的模块(PROC)与先行请求发生器(ARG)相关联,先行请求发生器可以在相关模块发出请求之前产生先行请求并转发给仲裁器(P_ARB)。另外,还把一个数据缓冲用于时隙资源访问方案的模块相关联,以便保存作为先行请求的结果所获取的数据,直到模块产生与该数据相关的请求为止。

Description

具有不同资源访问方案的***集成代理程序
技术领域
本发明涉及一种***,该***能够容纳具有不同的、用来管理共享资源访问的方案的代理程序。通常,通过应用本发明,单***可以采用具有不同管理公共存储器访问技术的数据处理器。这种***的一个非限制性例子是MPEG编解码器(执行由运动图象专家组(MotionPicture Expert Group)所制定的标准的编码器和解码器)。
背景技术
目前,存在着许多这样的***,其中多个代理程序需要共享公共资源,而且在某个特定时刻只允许一个代理程序访问共享资源。比如,多个处理器共享一个公共存储器的数据处理装置就是这样的一个***。在本文献中,术语“代理程序”既用来指一个程序模块,又可以指一个通过程序模块执行的进程(理解为一个给定的程序模块可以执行多个的进程)。
各代理程序采用不同的方案来管理共享资源的访问。某些***采用时隙(time-slotted)访问方案,在该方案中,每个代理程序在预确定的时刻、预确定的时间段内访问共享资源,并且以预确定的次序重复地执行上述共享资源的访问。其他***采用如下方案:即该方案中,代理程序可以在需要访问的时候发出访问请求,而如果同一时刻出现多个请求的话,可以通过仲裁器(arbitor)来决定某个访问请求是否通过。仲裁器通过执行仲裁方案来管理不同的访问请求,仲裁方案经制定能够确保每个代理程序都可以在其所需的足够时间段访问共享资源。通常,这就是指每个代理程序所需的“带宽”。
WO 98/12645阐述了一种用于如下***的总线仲裁方法和设备,该***中,集成在微处理芯片上的多个装置(中央处理器(CPU),数据和指令缓存器,图形处理器等)通过共享总线访问芯片外的公共存储器(同步DRAM)。在该***中,对需要总线访问的不同代理程序进行带宽的权重分配,仲裁器执行可保证每个装置都能接收到所需要的带宽分配的仲裁方案。
图1显示了一个模块的典型运行环境,该模块采用了时隙访问方案;在该例子中,模块是一个处理器PROC,而共享资源是存储器MEM。模块PROC可以通过接口INT访问存储器MEM。图1中仅仅显示了一个模块PROC,但是应该理解为:通常可以在单个芯片IC1中集成多个这样的模块。而且,如图所示,尽管存储器接口是在芯片上的,应该这样理解:本发明也适用于存储器接口放在芯片外的情况。接口INT允许模块PROC依照存储器访问方案访问存储器MEM,根据该访问方案,为模块PROC预留了预确定的时间段以向存储器MEM传送或者从存储器MEM接收数据。
接口INT是可配置的,也就是说,模块的特定时间段的分配是可以改变的。控制器CONT向接口INT提供控制数据,为芯片上的各个模块指定访问存储器MEM的时隙。控制器CONT也向模块PROC提供控制数据,以便向其传达应该从存储器MEM中读取或向存储器写入数据的预确定时间段(经由接口INT内部的缓冲器)。由于处理模块的访问时间段的分配,相对来说很少发生变化,因而只有在需要改变配置的时候,才把这些控制数据发送给接口和处理模块。
通常,芯片中的每个处理模块不断重复执行相同的处理功能,只不过处理的都是新的数据而已。比如,在图1中的IC1是MPEG解码器的核心的情况下,通过一组处理模块,在组成一帧图像信号的连续宏模块中重复执行某些预设功能。IC1内部的控制器CONT向处理模块和接口输出同步信号(在该例子中,信号指桢启动信号和宏模块启动信号),作为决定何时出现不同的预确定时间段的参考。控制器也向接口输出地址数据,该地址数据标志了有关宏模块或在特定的时间段由给定的模块处理的像素线数据存放在存储器MEM中的位置。这些地址数据,通常以首地址和一系列连续加以访问的地址加以定义。在某些情况下,由模块发出的给定请求是否能够访问地址数据,取决于另一个模块(可以是相同物理装置的另一个进程)的某些计算结果。在这种情况下,控制器从执行计算的模块中接收与结果相关的数据,随后产生地址数据。
如果接口INT读/写数据的速度和模块PROC的速度不一致,那么可以在接口INT和模块PROC之间接入一个模块PROC专用的缓冲器BUF,用以存贮从存储器MEM中读取的、将交给这一模块处理的数据。在该情况中,令模块PROC在预确定的时间区间从缓冲器读取或写入数据。这种情况中,在读取操作过程中,如果模块PROC没有从缓冲器中接收到标志数据存在于当前缓冲器的应答信号,那么该模块的操作就被延迟,直到随后的询问被应答为止。
在图1的时隙存储器访问方案中,把模块PROC设计成可通过向存储器接口发出请求(或者,某些情况下,向缓冲器发出请求),在所设期间的预确定的时间段内接收或输出数据。
图2显示了一个典型的***,该***包括一个可对多个代理程序的不同请求进行仲裁的仲裁器。在该例子中,代理程序再次为共享公共存储器MEM的处理模块PROC,图2中仅仅显示了芯片IC2中的一个代理程序。在该情况中,接口INT与仲裁器ARB相结合,把一种仲裁方案用于决定在特定的瞬间,多个有效访问请求中哪个请求获得通过。仲裁方案可以是一个循环方案(round-robin),也可以是根据分配给不同模块的优先级(可能是可变的优先级)的方案或可为任何其他已知的仲裁方案。将获得通过的访问请求传送给存储器接口MIF,存储器接口处理对存储器MEM的物理访问,并且处理MEM和PROC之间数据路由。
在该***中,从给定模块发出请求到仲裁器响应这一请求后授予访问权的这段时间间隔的长短,预先是未知的。因此,在每个模块和接口之间,为该模块提供一个缓冲器BUF。这些中间缓冲器可以采用单一的静态存储器(SRAM),静态存储器具有专属于不同模块的单独部分。
在图2的仲裁存储器访问方案中,模块在不同的时间和不同的周期发出访问请求,模块可以在不同周期的、不规则的间隔点,接收与/或输出数据。
在某些情况下,人们也希望可以在单***中采用适用于不同资源访问方案的模块。比如,在MPEG编解码器环境中,可以出现编码器和解码器芯片(集成电路)分别独立设计的情况,解码芯片可以采用仲裁器对解码器中不同进程发出的请求进行选择,而编码器则采用时隙访问管理方案来确保其进程获取对主存储器的请求访问。尽管允许编码器芯片和解码器芯片采用独立的存储器,但是,显然这将增加编解码器的成本和复杂性。较佳的做法是为这两种芯片提供一个公共存储器,因而必须使用单一方案来管理这一公共存储器的访问。
为了减低成本,更倾向于尽可能使不同的集成电路保持不变的结构。先期经验反对使用时隙存储器访问方案,因为,在适用于请求仲裁方案的模块的访问请求发出的时刻和周期内,数据来不及准备。
请求仲裁存储器访问方案具有如下优点:即它在不同的、需要访问存储器的模块之间提供了足够的带宽分配。然而,对于依照时隙方案设计的模块,在采用请求仲裁方案时存在一个问题,这是因为它很难保证在周期性的模块PROC的编程时间间隔,数据为可读。
更具体地说,在模块PROC等待从公共存储器读取或向公共的存写入数据的期间,需要提供较高的访问带宽。在某些情况下,存储器可能根据不允许如此高的带宽访问(总线性能不适当)。然而,即便在允许高带宽访问的情况中,如果当模块PROC提出请求的时刻,另一个模块正在访问存储器,那么也不可以中断这一访问。解决该问题的一个办法是改变仲裁方案的设计,以向来自PROC的请求授予较高的优先级。然而,该办法不能完全避免模块PROC在读取访问中数据下溢的危险。
发明内容
本发明的一个目标是允许依照时隙资源访问方案设计的代理程序应用在采用仲裁器的***中,仲裁器对不同代理程序发出的访问公共(共享)资源的请求之间进行仲裁。
本发明的另外一个目标是减低采用仲裁器的***的成本,通过采用仲裁器对不同代理程序发出的访问共享资源的请求之间进行仲裁,并且至少一个代理程序是按照时隙资源访问方案设计的。
本发明考虑了如下几个方面。把一个先行请求发生器,与针对时隙资源访问方案所设计的一个代理程序关联在一起。在它们提交代理程序经编程以从共享资源接收数据的时间段之前,先行请求发生器产生访问请求,并且将它们提交给管理共享资源访问的接口。根据接口所执行的仲裁方案,在代理程序需要获取数据的时间段之前,先行请求就可以提出对共享资源的访问。在代理程序和接口之间设置一个缓冲器,缓冲器可以暂时保存因先行请求所获取的数据。在对代理程序进行编程以取数据的时间段内,代理程序将从缓冲器中取数据。代理程序在预编程时刻发出的写-访问请求,可以简单地转发给仲裁器(可选择经由缓冲器)。
适用于时隙资源访问方案的代理程序,被集成在基于借助先行请求发生器和缓冲器的请求仲裁的***中,在这一代理程序是一系列代理程序之一,且所有代理程序都适用于时隙访问方案以及所有这些代理程序均提供于一个集成电路上的情况中,IC的结构将需最小程度的变化。如果接口是提供在芯片上的话,可能仅仅需要修改与代理程序相关的先前存在的接口即可。
先行请求发生器最好在控制器所提供的控制数据和同步信号的基础上产生请求,该控制器用来设置和/或控制时隙资源访问方案。控制数据至少包括标志时隙和请求访问共享资源的代理程序之间的关系的数据。一个单一的集成电路(IC)可以包括一个内核,该内核由一组具有这种内核控制器的模块组成。
在某些情况下,适用于时隙访问方案的代理程序的某些访问请求,可能是不可预测的。换句话说,只有在对代理程序进行编程以请求访问的时间段之前的极短的时间,才能确定请求访问的属性(通常,按照所要读取的地址)。在这种情况下,对先行请求发生器进行编程以便为几乎所有的可预测的访问请求产生先行请求,以及采用仲裁方案对不可预测的访问请求进行优先级排序,是十分有利的。
本发明尤其适用于处理模块请求访问公共存储器的***中。在这种情况中,与适用于时隙存储器访问方案的模块相关的控制器,通常适合提供与各个模块的读写操作对应的地址数据。先行请求发生器能够利用从控制器中接收的地址数据,生成先行请求。在其他情况下,处理模块本身可以产生地址数据。在这些情况中,当地址数据(可预测的请求)产生的足够早时,先行请求发生器从处理模块中收集必要的地址数据。总之,内核控制器或处理模块产生有关逻辑数据而非外部存储器的物理地址。因此,把内核控制器或模块中与一个能将逻辑地址和物理地址互相转换的相关元件相结合。
依照本发明的***或方法中,为了保证所有代理程序的访问请求都能完全得到满足,最好采用如下仲裁方案,在该仲裁方案中,不同代理程序的访问请求具有不同的访问优先级。最好通过采用一种包含多个优先级的分级仲裁方案来实现以上功能,其中,时间约束(timeconstrained)的和周期性的访问请求被分配这一级结构中较高的优先级。这种分级方案可以采用一组级联的状态机来实现,这一分级结构中较低一级状态机的输出作为分级结构的次高一级状态机的输入。在这一级方案的每个优先级中,访问请求之间互相竞争,获胜的请求作为状态机的输出。状态机的最高优先级的输出对应在仲裁中获得了访问许可代理程序的访问请求。之后就将对该访问请求进行处理(或者放入经许可的请求的等待处理队列中)。这种仲裁方案可以在WO 98/12645所描述的分级仲裁方案中找到示例。
在本发明的实施方案中,仲裁器采用状态机来执行分级方案,对于状态机中的大多数状态来说,最好为不同的访问请求分配固定的优先级。然而,保证分级结构中对应高级别的状态机具有自由状态,是比较可取的,在自由状态下该级别中互相竞争的请求没有预分配的优先级。
附图说明
通过以下结合附图所进行的说明,本发明以及可选地用于实现本发明的优点的更多的功能将是显而易见的。
图1是一个示意图,显示了***的基本元件,该***中处理模块依照时隙存储器访问方案访问公共存储器;
图2是一个示意图,显示了***的基本元件,该***中,依照仲裁方案管理处理模块对公共存储器的访问请求。
图3是一个示意图,显示了MPEG编解码器集成电路中的不同进程所发出的存储器访问请求的时间,把MPEG编解码器集成电路设计为,以时隙方式处理对存储器的访问,其中:
图3a显示了各请求开始的周期数,而
图3b显示了对应每个请求的地址数据第一次可得的时刻;
图4是一个结构图,显示了集成有编码器集成电路的MPEG编解码器的主要元件,编码器集成电路以时隙方式处理存储器访问,而解码器集成电路通过请求仲裁处理存储器访问;
图5是一个结构图,显示了包含在图4的编解码器中进程仲裁器的一般结构。
图6是一个状态图,显示了由图5的进程仲裁器中的主状态机遍历(traversed)的状态次序,其中:
图6a显示了由主状态机器循环遍历的状态次序,而
图6b显示了由两个状态机遍历的状态次序,这两个状态机与图6a中用星号标注的状态所标志的进程序组有关。
具体实施方案
首先,将对参考符号的使用加以说明。所有附图中类似的元件用相同的字母代码标注。不同的类似单元可以显示在单一的附图中。在这种情况中,字母代码中附加一个数字以便能够互相区分类似的单元。如果类似单元的数字是一个运行参数,那么该数字用括号括起。在说明和权利要求中,参考符号中的任何数字,如果不引起歧义,都是可以省略的。
下文中将就MPEG编解码器对本发明进行说明,MPEG编解码器由采用时隙存储器访问方案的编码器和采用对存储器访问请求进行仲裁的仲裁器的解码器组成。然而,应当理解为本发明可以应用在较大范围的其他的环境中。编码器相应于图1中普通类型的集成电路,而解码器相应于图2中所说明的一个普通类型的集成电路。此处假设编码器和解码器集成电路的起初设计目的并不是把它们用于公共***。如果要把这些集成电路集成到公共***中,那么必须对元件集成电路的结构做某些改动,但是,本发明中,集成电路结构所需改变的程度降到了最低限度。
在对编解码器的结构和操作展开说明之前,有必要对编码器和解码器集成电路的初始设计和配置的特点进行解释。
在本发明的示例中,解码器集成电路的初始设计包括多个进程,这些进程发出请求以便通过存储器接口访问SDRAM,而请求发出的时间以及持续的时间,事先是不知道的。这些进程包括显示(DISPLAY)、屏幕显示(On Screen Display)、画中画(Picture in Picture)、INTERP,运动补偿(Motion Compensation)、视频先入先出写(VideoFIFO Write)、视频先入先出读(Video FIFO Read)、音频先入先出写(Audio FIFO Write)、音频先入先出读(Audio FIFO Read)、音频重复写(Audio Write Back Write)以及音频重复读(Audio WriteBack Read)。
显示(DISPLAY)进程涉及解码图像的显示。屏幕显示(OSD)进程涉及叠放在所显示的解码图像上的图形数据的显示。画中画(PIP)进程涉及作为背景的静态图像的显示,或显示经解码和处理的图像。INTERP进程涉及MPEG解码的最后一部分,提供载入SDRAM的解码图像以便显示或当作参考图像使用它们,或两者兼之。运动补偿(MC)进程涉及运动补偿,是MPEG视频解码中的一步。视频先入先出写(VFW)、视频先入先出读(VFR)、音频先入先出写(AFW)、音频先入先出读(AFR)进程涉及经编码的视频和音频数据的写和读,这些视频和音频数据由解密电路/译码电路从MPEG数据流中提取。音频重复写(AWRBW)和音频重复读(AWRBR)进程涉及来自音频处理器的中间结果的写和读。这些进程在本申请人的较早的欧洲专利第00203007中有说明。这些进程的细节在运动图象专家组所定义的不同标准中有详细说明,本文中不再作进一步的说明,因为所有这些细节对于理解本发明来说并非必不可少。
解码器集成电路的存储器接口包括一个请求包装器(wrapper),其功能是将解码器的进程请求以与MMI相兼容的方式发送给MMI。存储器接口也包括一个充当内部缓冲器BUF的SRAM,该SRAM用来保存属于经由MMI处于主存储器和解码器进程之间的请求的数据,直到该请求在仲裁中获得通过为止。动态存储器分成几个缓冲器(先入先出),这些缓冲器从外部SDRAM中接收各自进程的数据。解码器DMA接口中还提供一个元件(未在图中加以显示),该元件把每个请求与相对应的数据关联起来,从而确保数据与中间缓冲器中的FIFO之间正确的路由选择。该元件管理SRAM中的每个进程的FIFO的指针和数据流。
编码器集成电路中包括一个可配置的、以时隙方式运行的存储器访问接口。CPU充当集成电路的控制器,并且向存储器接口下载一个含有编码器中不同进程之间的存储器带宽分配的表。这些进程包括:由宏模块处理器(MBPcurrent)处理的当前宏模块,基本音频流输入(AESin),基本视频流输入(VESin),基本音频流输出(AESout),基本视频流输出(VESout),多路转换指令输入(Munxcom_in),多路转换指令输出(Munxcom_out),宏模块处理器候选(MBPcand,具体地说为MBPcand1-MBPcand5),宏模块处理器优胜者色彩(MBPwincolor),宏模块处理器写回(MBP WR BK),以及视频前端(VFE)。再次说明,本文中不对这些进程的细节做详细说明,因为对于理解本发明来说,这些细节并非不可少。
下载的表与编码器中的不同进程所发出的各种请求的起始时间相对应。以下的表1中给出了上述表的一个例子。应当理解的是,表1中列出的各种进程并非一定要涉及相同的宏模块(换句话说,MBPcand数据涉及当前正在被处理的宏模块,此处指MBK+1,MBP_Wincolor数据涉及四个宏模块前面的宏模块(也就是MBK-3))。而且,通常情况下,1ES_in,VES_out,AES_in,AES_out,Mux_Com_in,Mux_Com_out和VFE进程,并不处理有关宏模块的数据,而是处理有关其他元件的数据,比如像素线。
                              表1
  进程  读/写   请求号   脉冲串/请求号  请求开始周期
  MBP_current(MBk+1)   R   1   6  0
  MBP_cand(MBk+1)   R   5   13  15,33,51,69,87
  MBP_wincol(MBk-1)   R   1   6  103
  VES_in   R   3   1  120,132,136
  AES_in   R   3   1  147,151,155
  Mux_com_in   R   1   1  130
  VFE_out   W   22   1  7,9,11,13,29,31,47,49,65,67,83,85,101,110,122,124,126,128,134,145,149,153
  AES_out   W   1   1  112
  VES_out   W   3   1  114,116,118
  MBP_WR_BK(MBk-3)   W   1   6  138
  Mux_com_out   W   1   1  157
表1中的进程的起始时间,以图标的方式标在图3a)中,参照各个请求开始的周期号,图3a)中采用不同高度的柱体来更好地区分不同进程产生的请求。此外,图3a)中采用了实线和虚线柱体来区别相同类型的输入和输出信息。
主编码器和解码器进程,列在下面的表2中,表中还列出了编码器和解码器集成电路单独操作时(也就是说,未把它们关联于编解码器中),所使用的带宽的指标。
                         表2
  译码器进程   带宽(M字节/秒)  Encoder processes   带宽(M字节/秒)
  DISPLAY   21.85  MBP current   15.36
  OSD   13  AESin   7.68
  PIP   10.25  VESin   7.68
  INTERP   15.5  AESout   2.56
  MC   45  VESout   7.68
  VFW   2.5  Muxcom_in   2.56
  VFR   2  Muxcom_out   2.56
  AFW   1.15  MBPcand   166.4
  AFR   1.15  MBPwincolor   15.36
  AWRBW   1.15  MBPWRBK   15.36
  AWRBR   1.15  VFE   36
  合计   114.7  合计   279.2
当编码器和解码器集成电路集成在一个公共***中,而且该***中存储器的访问由请求仲裁来处理,则具有高优先级的编码器访问请求,不会被延迟,即确保在给定时刻必须为给定进程提供数据。然而,仍然有必要为解码器进程保证所必须的带宽。
图4显示了依照本发明的一个优选实施方案的编解码器的主要元件。该实施方案中集成有上文中已说明的编码器和解码器集成电路。除了编码器和解码器芯片外,编解码器还包括一个SDRAM类型的存储器,一个***CPU和总线控制器(BCU),相关的外设接口总线(PI_bus)用来控制整个***,主存储器接口(MMI)包括一个仲裁器P_ARB,仲裁器可以对编码器、解码器进程和***CPU发出的请求进行仲裁。MMI接口也包括一个SDRAM控制器,用来处理对SDRAM的物理访问。***CPU、BCU以及相关总线构成了所谓的“***域”(信号域)。
***CPU用来驱动编码器和解码器,以及运行应用程序。***CPU周期性地访问动态存储器,动态存储器的频率基于***的时钟频率,并取决于所采用的动态存储器的类型。来自***域的CPU的存储器访问请求,其延迟较短(也就是说,在发出请求和请求获得通过之间只允许很短的延迟)。从而,***CPU的请求必须分配最高优先级,更具体地说,它应该优先于所有信号域(signal domain)请求。在本发明的优选实施方案中,信号域进程仲裁器P_ARB可以中断代表信号域中的进程所发出的对动态存储器的访问,转而支持来自***域CPU的访问请求。当***CPU的请求得到应答以后,再转向信号域中的进程请求,允许其从中断点继续访问。
编码器和解码器芯片的直接存储器访问(DMA)接口,与信号域仲裁器P_ARB相连。DMA接口和信号域接口(MMI)之间的数据交换,采用16个存储器字串(在该例子中,每个存储器字为32比特)。相比之下,不同编码器读写进程和编码器DMA接口之间的数据交换每个请求涉及8个存储器字串。
例如,访问请求涉及编码或解码DMA接口和信号域仲裁器P_ARB之间以及编码器或解码器DMA接口和发出请求的编码器/解码器进程之间的请求和应答信号的交换。更具体地说,编码器DMA接口的先行请求发生器把先行读请求(ant-read-req)发送给P_ARB并回收应答信息(ant-read-ack)。编码器DMA中的写请求缓冲器把写请求(wr-req)发送给P_ARB并从P_ARB中回收应答信息。解码器DMA接口把读和写的类型请求(req)发送给P_ARB,并回收应答信息(ack)。也可以采用任何便利的请求/应答协议,信号域中的不同元件对儿可以采用不同的协议。
信号域仲裁器P_ARB,在仲裁算法的选择上非常灵活,这是因为它包含多个状态机,可以把这些状态机配置成不同的优先级。如上文所说,最高优先级分配给***域CPU所发出的请求。对每个状态机进行配置以执行固定的优先级方案。对这一方案这样地加以设计:各个状态机能够以特定的次序通过状态,对每个状态中具有最高优先级请求的进程加以设置,以保证为每个进程分配足够的带宽。
参见图4会发现,由于解码器是集成在编解码器中的,解码器集成电路的结构并没有发生变化。然而,解码器进程发出的请求,交给了位于MMI中的仲裁器(P_ARB)来处理,而不是由放置在图2中的芯片内的接口中的仲裁器来处理。
对于编码器集成电路,内核结构(控制器CPU和处理器)几乎不发生任何变化,但是需要对DMA接口的结构进行修改,从而使该集成电路能够集成到采用基于请求仲裁存储器访问方案的***中。更具体地说,编码器DMA接口中具有一个先行请求发生器ARG,该先行请求发生器可以在解码器模块需要获取相关数据的时刻之前产生读取请求,并发送给进程仲裁器P_ARB,从而可以从动态存储器中读取所需要的数据,并将其存放在内部缓冲器BUF中,同时也向编码器DMA接口提供数据。
为了能够产生先行请求,先行请求发生器必须获取有关不同编码器进程发出读请求的时间信息以及有关待读取数据在动态存储器中的地址信息。在宏模块处理操作开始之前,编码器内核控制器将上述其配置表(如表1中所给的例子)下载到ARG中,从而通知ARG有关不同编码器内核进程的读请求发出的时间。该配置表是可编程的并且包括有关每个进程的请求数目的数据、每个请求从动态存储器中的读取数据的字串数以及每个请求的起始周期数,如表1所示。
然而,不同的读请求对应的地址数据成为可读的时刻是不同的。某些编码器读请求所需的地址数据成为可读的时间非常晚,以至几乎不能对其作出预测。然而,不同宏模块处理器操作发出的读请求,是可以预测的。
图3b针对图1中所给出的例子显示了有关宏模块处理的不同类型的编码器读请求的可预测时间可以发现,对于有关宏模块MBPk的MBP候选4和5有关的读请求(读取)所需要的地址数据,只有在涉及先前的宏模块MBPk-1的计算完成之后,才成为可读,这一步产生于MBP_can4和MBP_can 5发出读取请求(1个MAD时间相当于18个编码器***时钟周期)之前3个平均间隔时间(3mean Average Distance3_MAD)。对于MBP候选1,2和3的读取,相应的间隔分别为3,4和5_MAD时间,而对于与MBP_wincol,AES/VES_out和VFE_out相关的读请求,相应的间隔分别为1,9和9个MAD时间。某些偶然情况下,并非所有编码器进程读请求都是可预测的。
在本发明的这一实施方案中,内核控制器产生多个同步信号,包括Framerdy信号,MBP启动信号和Mem启动信号。Framerdy信号是同步脉冲,发送给ARG和编码器里的模块,该信号通知每帧图像信号处理的起始点。MBPStart是同步脉冲,发送给ARG和编码器集成电路里的宏模块处理模块,该信号通知桢范围内的宏模块处理的起始点。Memstart是同步脉冲,在MBPStart脉冲之前3_MAD时间发生,并发送给ARG,以便引发ARG产生先行请求。ARG在相关进程发出相应的读请求的相同的相对时间段产生先行请求,但是在进程发出其请求时刻之前3_MAD时间产生。由信号域仲裁器,P_ARB所实现的仲裁方案可以保证:在相关进程需要读取数据的之前,这一提前量足以确保把数据放入中间缓冲器中。
在本实施方案中,ARG根据从编码器集成电路的内核控制器中下载的配置表产生预先访问请求,这与内核控制器采用时隙访问为某一环境(environment)产生先行请求是相同的。然而,本发明并不局限于这种情况。发送给ARG、并作为产生预先访问请求的依据的查寻表可以是不同的。比如,对于不同的进程,由于各自的地址数据对于这些不同的访问成为可读的时间周期各不相同,预先访问请求和对相同进程的相应请求的发出之间的间隔,是可以不同的。而且,由于地址数据可以远远提前成为可读状态,所以ARG甚至可以在查寻表的0周期时刻提出预先访问请求。
编码器内核控制器也为ARG和编码器模块的不同请求提供逻辑地址数据。这一逻辑地址数据标志了图像中宏模块(或模块)所在的位置。这些逻辑地址数据通过ARG内部的转换电路转换成物理地址数据,ARG根据存储在同样位于ARG内部的寄存器中的参数、通过计算,产生物理地址数据,ARG所产生的物理地址指出开始地址、访问类型和存储器中待读取的数据的字串数(假如待读取的数据在动态存储器中是不连续的话,比如,在如下情况下:当动态存储器以像素线的形式组织时,通常这些数据可能以x和y坐标的形式表示)。ARG能够从逻辑地址和进程类型中产生所需要的物理地址数据。可以根据从内核控制器接收的逻辑地址信号的时间先天地获知进程类型。包含在配置表(比如表1)中的信息用来减少有关待读取的字串数的数据。
上述论述中,假设编码器和解码器DMA接口都能产生一个单一的请求和一个单一的相关地址,以便访问动态存储器中的两个字串数据(这两个字串通常对应于连续字串数据)。然而,事实上,依赖用于把动态存储器中的数据与不同编码器和解码器进程关联起来的存储器映射是不可能的。比如,有关解码器数据的存储器映射可能是这样的:把一对将经由一个单一请求加以访问的字串保存在动态存储器的相同的行地址但不同的存储体中。在这种情况下,每个请求用一个单一地址就足可以引发对动态存储器中两个字串的写入或读取。然而,有关编码器数据的存储器映射可能不允许两个保存在不同存储体中的连续的字串使用相同的行地址。
上述问题可以采取以下方法加以解决:
●可以改变动态存储器中的编码器数据的存储器映射(然而,如果已经针对编码器进程对存储器映射进行了优化,那么这一步是不可取的),
●可以在发送给动态存储器接口的地址中包含一个偏移量。然后首地址可以判定放置在第一存储体中的数据的位置,偏移量将被添加到首地址中以标志放置在第二存储体中数据的位置,或
●为了能用一个具有两个相关地址的单一请求表示一对请求,可以在两个连续的编码器请求和它们各自的地址之间作一个关联。这种方法需要采用由进程仲裁器中的主状态机实现的仲裁方案,以便把分配给编码器进程的每个状态换成两个连续的状态,每个字串请求各一个。
对于编码器的写操作,把由进程在预确定时间段产生的每个写请求输入到编码
器DMA接口中的写请求缓冲器中,并在编码器DMA接口的数据缓冲器中载入有关数据。发出这一写请求的进程无需进一步的操作。然后编码器DMA接口向P_ARB输送一个写请求。当写处理获得由P_ARB执行的仲裁的许可之后,便向编码器DMA接口发送一个应答信号(wr_ack),并把数据缓冲器中的数据通过MMI接口传输到动态存储器中。
如上文所述,ARG产生的先行请求引发对动态存储器中数据的读取,并其载入编码器MDA接口的中间缓冲器中。通常,把中间缓冲器动态存储器组织成一系列FIFO,每个进程具有一个读FIFO和一个写FIFO。在ARG把一个先行请求(或者写请求缓冲器发送一个写请求)发送给进程仲裁器时,向相应于有关进程和访问类型的FIFO发送一个信号,通知其准备接收数据。根据表1中所给出的时间,当到达编码器进程向中间缓冲器发送一个读请求的时刻时,这一发送将采用原先在时隙***中实现编码器所采用的供存储器接口使用的地址。该地址不供用在编码器DMA接口中的中间缓冲器使用。因此,该缓冲器包括一个地址解码器,地址解码器可以把旧编码器集成电路接口的地址和用在正处于处理的进程的中间缓冲器中的实际地址相互转换。所需要的地址转换比较简单,这里假定所涉及的进程可以从请求时间中获知。然后就可以清空适当的FIFO。
编码器DMA接口中的中间读/写数据缓冲器的FIFO是多维的,从而确保不会发生数据溢出。先行请求的产生时刻以及仲裁方案的设计,可以确保数据不发生溢出。
下面将结合图5和6对P_ARB执行的仲裁算法进行说明。从图5中可以发现,进程仲裁器包括多个分级排列的状态机。为每个状态机定义一系列状态,为每个状态设定一个具有最高优先级的单一的请求。可以把主状态机中的某些状态视为“自由状态”,因为在状态机处于“自由”状态时刻,不存在最高优先级类型的请求。在这种情况下,状态机的输出中显示没有任何请求已获得通过。不同的请求在各自的状态机中互相竞争,然后,较低等级的状态机中获胜的请求再与分级结构中与其相邻的最高等级的状态机中的请求进行竞争。
更具体地说,进程仲裁器包括一个第一优先级主状态机(图5中标为“main state machine”),以及一个在主状态机中的获胜请求和其他的不同请求之间进行固定优先级选择的单元。从图5中可以发现,进程仲裁器中获胜的请求并不能保证得以通过;在动态存储器接口中执行的仲裁方案中,它必须与来自***CPU的请求作进一步的竞争。在动态存储器接口中执行的仲裁方案将最高优先级分配给***CPU的请求。
早先的仿真促进了有关包含信号域进程仲裁器P_ARB的状态机的某些规则的发展。特别是,从第一优先级状态机去掉所有非周期性和和时间限制性进程(比如,VES_out,AES_out)认为是可取的。这使得第一优先级状态机中的周期性进程多个自由状态可以更好地共享带宽。然后,这些自由状态可供那些在较低优先级的状态机中获胜的请求使用。另外,还决定从第一优先级状态机中去掉一个时间限制性进程(MBP_Wincolor)。仿真表明当MBP_Wincolor在第一优先级状态机中竞争时,该请求类型的共享时间的效率不够高。当该请求类型用作第二优先级状态机的输入,并且利用第一优先级状态机中的自由状态时,会获得较好结果。
从而,主状态机处理最高优先级和周期性的编码器和解码器进程,以及大多数其时间特性必须加以控制的进程。在本例子中,主状态机处理的请求类型是涉及宏模块处理(即MBP_current,MBP_Cand1-5,MBP_WR_BK)、编码器视频前端进程、以及解码器中的以下周期性进程的编码器请求:DISPLAY、OSD、PIP、VFW、VFR、AFW0、AFW1、AFR和AWRW。
图6a显示了54个状态的次序,这些状态由图5中的主状态机重复遍历。这一主状态机完全遍历一组状态所花的时间大约为3MAD,取决于存储器的频率(本例子中是133MHz)。在108MHz下,为了处理一个宏模块主状态机必须转大约三圈(周期),显了处理一个图像像素线需要花大概9各周期。图6a中带有标有星号的状态相应于这样的一些状态:其中根据由图6b中的相关的状态机所定义地次序,一组请求中的一个请求周期性地具有最高优先级。换句话说,图5中的主状态机采用三个互联的状态机来实现。
在设计图5中的主状态机执行的状态的次序的时候,必须考虑下几个方面:
●对于周期性(解码器)进程,状态机必须是循环的,
●在特定的时刻,编码器进程必须能够及时获取编码器数据,以及
●不同编码器和解码器进程所需要的带宽必须得到保证。
更具体地说,在决定为一个具体的进程分配多少个状态时,需要进行以下计算(参照下文中的表3):
1.对于主进程来说,该进程所需要的带宽与全部进程所需要的带宽之间的比例经过计算(见表3的第4列)表明需要对编码器进程提供81%的时间段,而该进程解码器进程则只需要提供18%的时间段;
2.MBP候选的编码器读取占了大概一半的时间段,因此一半的状态(此处是27个)分配给了候选读取;
3.分配给其它进程的状态的理论个数可以从带宽比率中计算出来,得到转换率:53.39%→27状态数(见表3的第5列);以及
4.实际分配给每个进程的主状态机状态的实际数目可以通过兜圈来计算,以确保满足编码器进程所需的每个宏模决的时间段数和解码器进程的带宽。(见表3中的最后一列)。
                                       表3
  进程   时间段   宏模块的时间段/行   进程时间/全部进程时间段%   状态的个数(理论)   所赋的状态个数
  DISPLAY   24   384   7.01   3.54   4
  OSD   14   224   4.09   2.07   2
  PIP   12   192   3.50   1.77   2
  VFW   3   48   0.88   0.44   1
  VFR   3   48   0.88   0.44
  AFW   2   32   0.58   0.30   1
  AFR   2   32   0.58   0.30
  AWRBW   2   32   0.58   0.30
  AWRBR   2   32   0.58   0.30
  针对解码器合计   64(针对行)   1024   18.69   9.45   10.00
  MBPcurrent   6   270   4.93   2.49   4
  MBPCand   65   2925   53.39   27.00   27
  MBP WR BK   6   270   4.93   2.49   3
  VFE   22   990   18.07   9.14   10
  针对解码器合计   99(针对MB)   4455   81.31   41.12   44.00
  针对编解码器合计   163   5479   100.00   50.58   54.00
对于一个给定的状态,向哪个请求分配最高优先级,影响不同解码器进程所需要的带宽的获取。例如,规则分布的状态对于DISPLAY进程和解码视频前端处理,在通过主状态机周期中,这些请求类型被分配最高等级的优先级。这使得周期性访问成为可能,并减少了缓冲器的容量。不同编码器进程所需要的数据,通过分配给这些进程的主状态机的状态数量来保证。例如,由于主状态机的一半状态分配给了MBP候选读取,在任何时刻执行请求,所需要的候选数据可在主状态机周期的末端得到保证。
早期的仿真还表明:对于要求较低带宽的进程,最好使用单一状态的状态机,也就是说,考虑从单一进程类型发出请求的状态机,并且,如果这些请求是在给定的时刻发出的话,就自动“获胜”。这些单一状态的状态机的“获胜”进程,根据时间限制地分配给一个分级结构。这可以更有效地使用第一优先级状态机中的自由状态。如图5中所示,采用这样的单一状态的状态机来处理来自编码器的MBP_Wincolor,VES_in,AES_in,VES_out,AES_out,MUXcom_out和MUXcom_in请求以及来自解码器的MC和INTERP请求。在某些偶发情况下,向MC和INTERP进程分配不同的优先级,这是因为它们不在同一流水线阶段上。而且,VES_out,AES_out MUXcom_out分配的优先级要比VES_in,AES_in和MUXcom_in的优先级要低,这是因为后三个进程对应的是读取编码器中的多路函数在某个特定时刻所需要的数据。
为了评估本发明采用的方法的可行性,采用图4中所示的编解码器结构进行仿真,而SDRAM工作在133MHz的频率之下,并以32位字串传输数据。另外还假设***CPU每50个周期(133MHz下)进行一次访问。***CPU的每次访问涉及一个4存储字节的字串。这就为CPU供了42.56MB/s的带宽。(某些情况下,该带宽为本例子所支持的CPU的极限带宽。对CPU按每40周期作一次访问进行测试表明:视频前端缓冲器所容纳的数据量增加到每100周期6个32位字,该数据被视为非常大的)。
读或连接一个统计模块,以监控图4中圈在X里面的信号。统计模块对读或写请求的发出与相应的应答信号得以接收时之间的时间间隔(等待时间)进行监控。同时,对编码器DMA接口所需要的数据缓冲器的容量进行估算。这些估算考虑以下几个方面:
●对于读进程:从SDRAM接口到编码器DMA接口的输入字串以及编码器DMA接口和相关编码器读进程之间的输出字串,而
●对于写进程:从相关的编码器写进程到编码器DMA接口的输入字串以及从编码器DMA接口到SDRAM接口的输出字串。
每个进程产生两个文件:
1.第一个文件,含有先行请求及其应答之间的每个宏模块的所测的最大等待时间,以及每个宏模块计算的最大缓冲器容量,和
2.第二个文件,含有每个宏模块的最大缓冲器容量以及每个宏模块处理结束时的缓冲器容量。
通过对两个文件的数据进行绘图,可以给出有关每个缓冲器存满和清空速度的图表。下面的表4给出了有关编码器DMA缓冲器所需要的最大容量以及不同进程发出的双字串请求的数目的结果。
                      表4
  编码器进程 最大缓冲器空量(按32位存储器字)   每宏模块周期双字串请求的个数
  MBP_current   104   6
  AES_in   96   3
  VES_in   96   3
  AES_out   16   1
  VES_out   48   3
  MUXcom_in   32   1
  MUXcom_out   16   1
  MBP_Cand   392   65
  MBP_Wincolor   96   6
  MBP_WR_BK   96   6
  VFE   64   20-24
  合计   1056   95-99
解码器中的缓冲器的容量可以很小(一个或两个字串宽度),这是因为解码器不基于时隙特性,仅仅在需要的时候请求数据。
仿真显示编码器和解码器进程所需要的带宽如下面的表5中所示。依照本发明的优选实施方案的上述的仲裁算法保证了对于各个进程的这一带宽。
                           表5
  编码器进程   带宽(平均,M字节/秒)   解码器进程  带宽(平均,M字节/秒)
  MBP_current   15.55   DISPLAY  19.07
  AES_in   7.78   OSD  9.71
  VES_in   7.78   PIP  (taken into accountwith DISPLAY
  AES_out   2.60   INTERP  8.19
  VES_out   7.78   MC  28.93
  MUXcom_in   2.60   VFW  1.98
  MUXcom_out   2.60   VFR  2.18
  MBP_Cand   166.4   AFW0  0.92
  MBP_Wincolor   15.55   AFW1  0.92
  MBP_WR_BK   15.55   AWRBW  2.46
  VFE   57.02   AR  4.87
  合计   251.45   合计  79.23
上述说明忽略了某些额外进程的存储器访问请求,例如可以在解码器中执行的数字视频(DV,用在录像机中)、万能数据流管理(versatile streams management(VSM))外设、第二CPU进程等等。然而,仿真结果显示本发明的技术能够使适用于时隙存储器访问的模块集成到一个涉及请求仲裁的***中。如果整个***的带宽需求是实质性的(如在包括额外解码器进程的情况下),那么本发明仍然能够通过采用编码器内核实现可中断字串(减少了编码器进程所占用的带宽)来保证这些带宽需求。上述功能的实现要求改变与不同编码器请求有关的物理编址参数(第一字的地址,读取的字数,等等)。
上文中的附图及其描述说明了本发明,而非限制本发明。显然,存在许多落入本发明所附的权利要求范围内的可选方案。尤其是,尽管就包含针对不同存储器访问方案设计的编码器和解码器集成电路的数编解码器对本发明进行了描述,但本发明通常可以应用在集成有可用于共享资源访问的时隙和请求仲裁方案的模块的***中。
权利要求中的任何参考符号都不应当视为对权利要求的限制。

Claims (10)

1.包含多个数据处理代理程序的数据处理装置,适合与在某一时刻允许由一个数据处理代理程序访问的共享资源相互合作,在预确定的时间,至少有一个数据处理代理程序被适配成可以访问该共享资源并持续已知相应的一段时间;该装置包括:
一个适合于管理对上述共享资源的访问的接口,该接口包括仲裁装置,仲裁装置可以对多个数据处理代理程序发出的访问共享资源的请求进行仲裁,并凭此选出获得许可的请求;
其特征在于:
与上述至少一个数据处理代理程序关联的一个控制器,该控制器适合生成能够指示预确定时间的控制数据,在这一预确定的时间里,该或每一相应的至少一个每个数据处理代理程序输出访问共享资源的请求;
与该或每一个相应至少一个数据处理代理程序关联一个相应的缓冲器;
一个先行请求发生器,被耦合成接收来自上述控制器的控制数据,并且可以在上述预确定时间之前代表上述至少一个数据处理代理程序产生先行访问请求,并将其发送给上述接口;
所述接口被耦合成从上述共享资源中获取数据并被耦合成把该数据写入与上述的至少一个数据处理代理相关联的缓冲器中,而这些数据是由代表上述的至少一个数据处理代理程序的先行请求发生器所产生的先行访问请求的结果;和
该或每一相应的至少一个数据处理代理程序被耦合成在上述预确定的时间访问相关的缓冲器。
2.权利要求1的数据处理装置,其中先行请求发生器被适配成根据控制器输出的地址数据产生先行访问请求。
3.权利要求1或2的数据处理装置,其中仲裁装置执行仲裁方案,其中不同的访问请求具有不同的优先级,为时限性或周期性访问请求分配一个较高的优先级。
4.权利要求3的数据处理装置,其中上述至少一个数据处理代理程序的某些所请求访问的特性是不可预测的,先行请求发生器可以为除了上述某些数据处理代理程序外的所有上述至少一个数据处理代理程序产生先行访问请求,而仲裁装置执行的仲裁方案向上述某些数据处理代理程序的访问请求赋予高优先级。
5.权利要求3的数据处理装置,其中仲裁装置包含一个或多个具有多个状态的状态机,其中为不同的访问请求分配固定的优先级,并且,至少一个状态机包含自由状态,在这些自由状态中未预确定哪个访问请求具有最高优先级。
6.依照权利要求1或2的数据处理装置,其中上述共享资源是一个存储器。
7.依照权利要求1或2的数据处理装置,数据处理装置被实现为集成电路的形式。
8.一个数据处理***,该***包含权利要求1或2的数据处理装置和上述的共享资源。
9.依照权利要求8的数据处理***,其中上述共享资源是一个存储器,而上述***构成一个MPEG编解码器。
10.一种管理由多个数据处理代理程序共享的资源的方法,某一时刻只允许一个代理程序访问这一共享资源,提供了一个接口用来管理对上述共享资源的访问,该接口包括仲裁装置,该仲裁装置被适配成对多个数据处理代理程序发出的访问共享资源的请求进行仲裁,并由此选出获得许可的请求,并且,至少一个数据处理代理程序被适配成在已知期间的相应的时间段的预确定时间进行访问,该方法包括以下步骤:
提供一个与上述至少一个数据处理代理程序相关的控制器,控制器可以产生指示预确定时间的控制数据,在这一预确定的时间,该或每一相应的至少一个数据处理代理程序输出访问共享资源的请求;
提供一个相应的缓冲器,该相应的缓冲器与该或上述每一至少一个数据处理代理程序相关联;
提供一个先行请求发生器,其被配置成从上述控制器接收控制数据,并且可以在上述预确定时间之前代表上述至少一个数据处理代理程序产生有关先行访问请求,并提供给上述接口;
该接口被配置成把从上述共享资源中获取的数据写入与上述的一个数据处理代理程序相关联的缓冲器中,而这些数据是由代表上述的至少一个数据处理代理程序之一的先行请求发生器所产生的先行访问请求的结果,以及
配置该或每一个相应的至少一个数据处理代理程序,以在上述预确定的时间访问相关的缓冲器。
CNB018086527A 2000-12-28 2001-12-12 具有不同资源访问方案的***集成代理程序 Expired - Fee Related CN1262934C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP00403699 2000-12-28
EP00403699.2 2000-12-28

Publications (2)

Publication Number Publication Date
CN1426560A CN1426560A (zh) 2003-06-25
CN1262934C true CN1262934C (zh) 2006-07-05

Family

ID=8174010

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB018086527A Expired - Fee Related CN1262934C (zh) 2000-12-28 2001-12-12 具有不同资源访问方案的***集成代理程序

Country Status (6)

Country Link
US (1) US6606691B2 (zh)
EP (1) EP1348163A1 (zh)
JP (1) JP4090883B2 (zh)
CN (1) CN1262934C (zh)
TW (1) TWI236588B (zh)
WO (1) WO2002054261A1 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7039772B1 (en) * 2002-02-22 2006-05-02 Teja Technologies, Inc. System, method, and computer program product for processing reflective state machines
JP3775318B2 (ja) * 2002-03-20 2006-05-17 セイコーエプソン株式会社 データ転送制御装置及び電子機器
JP3743509B2 (ja) * 2002-03-20 2006-02-08 セイコーエプソン株式会社 データ転送制御装置及び電子機器
US6920510B2 (en) * 2002-06-05 2005-07-19 Lsi Logic Corporation Time sharing a single port memory among a plurality of ports
US7143224B2 (en) * 2003-05-09 2006-11-28 Stmicroelectronics, Inc. Smart card for performing advance operations to enhance performance and related system, integrated circuit, and methods
US7093082B2 (en) * 2003-06-11 2006-08-15 Matsushita Electric Industrial Co., Ltd Microprogrammable SDRAM memory interface controller
CN1300703C (zh) * 2003-11-05 2007-02-14 松下电器产业株式会社 调节电路及其具有它的功能处理电路
US7725633B2 (en) * 2004-06-24 2010-05-25 Panasonic Corporation Arbitration device for arbitrating among a plurality of master devices, arbitration method, and video processing device including the arbitration device
US20090037635A1 (en) * 2006-03-17 2009-02-05 Shanghai Magima Digital Information Co., Ltd. Bus arbitration device
US7930456B1 (en) * 2006-12-23 2011-04-19 Emc Corporation Data packet arbitration system
JP4924970B2 (ja) * 2007-07-27 2012-04-25 パナソニック株式会社 データ処理システム
US8695002B2 (en) * 2009-10-20 2014-04-08 Lantiq Deutschland Gmbh Multi-threaded processors and multi-processor systems comprising shared resources
CN104581172A (zh) * 2014-12-08 2015-04-29 北京中星微电子有限公司 一种实现svc宏块级算法的硬件结构
FR3057081B1 (fr) * 2016-10-05 2019-11-08 Airbus Operations Processeur comprenant une pluralite de coeurs de calcul
CN109189701B (zh) * 2018-08-20 2020-12-29 深圳忆联信息***有限公司 一种针对嵌入式存储接口数据传输的方法及其***

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3668482D1 (de) 1985-05-17 1990-03-01 Renault Mutter mit integrierter elastischer zone.
US5574868A (en) 1993-05-14 1996-11-12 Intel Corporation Bus grant prediction technique for a split transaction bus in a multiprocessor computer system
US5768644A (en) 1993-07-16 1998-06-16 Nikon Corporation Apparatus for preventing mirror bounce in camera
US5758105A (en) 1995-12-04 1998-05-26 International Business Machines Corporation Method and apparatus for bus arbitration between isochronous and non-isochronous devices
US6385678B2 (en) 1996-09-19 2002-05-07 Trimedia Technologies, Inc. Method and apparatus for bus arbitration with weighted bandwidth allocation
US5768544A (en) * 1996-09-26 1998-06-16 Intel Corporation Deterministic latency characterization and mitigation
US6314499B1 (en) * 1997-11-14 2001-11-06 Lucent Technologies Inc. Non-preemptive memory locking mechanism in a shared resource system

Also Published As

Publication number Publication date
TWI236588B (en) 2005-07-21
US6606691B2 (en) 2003-08-12
EP1348163A1 (en) 2003-10-01
JP2004517413A (ja) 2004-06-10
US20020152360A1 (en) 2002-10-17
CN1426560A (zh) 2003-06-25
JP4090883B2 (ja) 2008-05-28
WO2002054261A1 (en) 2002-07-11

Similar Documents

Publication Publication Date Title
US7752413B2 (en) Method and apparatus for communicating between threads
CN1262934C (zh) 具有不同资源访问方案的***集成代理程序
KR101324923B1 (ko) 다수의 가상 큐를 갖는 어드레스 변환 유닛
CN1306420C (zh) 利用永久历史页表数据预取数据到高速缓存的装置和方法
CN1128406C (zh) 数据处理***及其中断处理方法
TWI684099B (zh) 剖析快取替代
US8615634B2 (en) Coordinated writeback of dirty cachelines
CN1735878A (zh) 数据处理器的状态引擎
CN1975663A (zh) 具有用于不同线程的非对称硬件多线程支持的装置
CN1797380A (zh) 接收装置、收发装置、接收方法和收发方法
US20120203969A1 (en) Memory bus write prioritization
EP3224728B1 (en) Providing shared cache memory allocation control in shared cache memory systems
CN112789603A (zh) 用于在重排序期间维持高速缓存一致性的方法
WO2017016503A1 (en) Intelligent memory architecture for increased efficiency
CN1199120C (zh) 具有共享一个共用存储器的多个处理器的装置
CN112189324A (zh) 带宽匹配的调度器
CN102065073B (zh) 向协议层直接提供数据消息
JP2006501563A (ja) データ処理システムおよび同システムを動作させる方法
WO2017016380A1 (en) Advance cache allocator
CN1145893C (zh) 带有具用于一个共用存储器的接口的多个处理器的装置
CN101196833B (zh) 用于存储器利用的方法和装置
CN1881190A (zh) 用于访问数据的设备和***
WO2022088074A1 (zh) 基于多指令引擎的指令处理方法及处理器
CN1441361A (zh) 访问公共源
JP2014154000A (ja) メモリ制御装置、その制御方法、および制御プログラム

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
ASS Succession or assignment of patent right

Owner name: NXP CO., LTD.

Free format text: FORMER OWNER: ROYAL PHILIPS ELECTRONICS CO., LTD.

Effective date: 20070831

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20070831

Address after: Holland Ian Deho Finn

Patentee after: Koninkl Philips Electronics NV

Address before: Holland Ian Deho Finn

Patentee before: Koninklike Philips Electronics N. V.

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

Granted publication date: 20060705

Termination date: 20101212