直接存储器存取传输控制器制造技术

技术编号:2865032 阅读:140 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种DMA传输控制器,该DMA传输控制器包括:传输参数存储单元,用于存储总线占用时间值以及用于多个逻辑处理器中的每个的一组或多组DMA传输的传输参数;数据传输执行单元,用于根据DMA传输参数来执行DMA传输;控制单元,用于控制DMA传输参数的接收和传输,以及DMA传输的开始和中断;以及时间测量单元,用于当每一个逻辑处理器的第一个DMA传输开始时,开始测量总线占用逝去时间。当总线占用逝去时间达到总线占用时间值时,控制单元中断所执行的DMA传输以根据与规定顺序的逻辑处理器相关的传输参数来开始执行DMA传输。

【技术实现步骤摘要】

本专利技术涉及一种能够对DMA传输进行时间控制的DMA传输控制器。
技术介绍
近年来,随着多媒体装置的发展,在处理器上对音频数据或活动图像(AV)进行编码或解码已经是普通的了。通常,当对AV进行解码的时候,需要在规定时间内完成规定量的处理。即,必需是实时处理。另外,在音频数据和活动图像的交互性通信中,编码处理也必须实时进行。当在单个处理器上执行包括这样的实时处理的多个处理时,必需有保证处理的实时特征的装置。实现这个装置的一个方法是,有系统对处理器的资源进行时间划分,在每个规定时间内处理的内容都会改变。这个系统通常与这样的系统相等效,即多个虚拟逻辑处理器分别以并行执行不同的处理。这个系统在下文中被称作虚拟多处理(VMP)。在AV处理中,有大量的数据需要通过输入和输出装置之间的内部数据总线、缓冲存储器(临时存储数据的存储器)和工作存储器(数据处理存储器)进行传输。通常,数据的传输最好不使用处理器的资源。因此,数据通常使用DMA(直接存储器存取)控制器进行传输。近来,随着在系统LSI中的信息的吞吐量的增加,在LSI的内部总线中传输的数据量也不断地增加。为了高效地传输数据,同样需要高性能的DMA控制器。已经提出了多种类型的DMA控制器。例如,设计了这样的DMA控制器,在DMA控制器中将优先权赋予多个DMA传输以便提高传输效率(参见专利文献1JP-A-9-223102),或者设计了这样的DMA控制器,在该DMA控制器中保存和执行多个DMA传输的DMA控制器(参见专利文献2JP-A-2002-41445)。图2是一个方框图,其示出了加载有普通DMA控制器的系统的结构的例子。在图2中,微处理器(MPU)1包括处理器11、内部DMA控制器12,外部DMA总线接口13和内部存储器14、15和16。组件11至16分别连接到处理器内部总线和安装在MPU上的内部DMA总线上。此外,MPU1、外部DMA控制器2、外围电路3、外部储存器4和外围电路5连接到MPU的外部DMA总线。现在,要考虑这样一种情况,即通过使用如图2所示的系统来从存储装置(例如,半导体存储卡)中读取压缩的音频数据,对其进行解码,然后将解码的数据从声频接口电路输出。在这种情况下,外围电路3起到半导体存储卡的接口电路的作用,外围电路5起声频接口电路的作用。为了连续地再现音频数据,用于执行音频数据解码处理的程序(其被称为程序C)需要实时特征。此外,具有非实时特征的程序A和B与音频解码程序C以并行方式执行。处理器11和内部DMA控制器12的操作如图3中的时间图所示。将在音频解码处理中的数据和处理的流程描述如下。(处理1)外部DMA控制器2总是将压缩的音频数据从外围电路3传输到外部储存器4。当考虑内部DMA控制器12的操作时不需要注意这个处理。(处理2)内部DMA控制器12将结束的解码处理结果从内部存储器14传输到外围电路5。这个DMA传输通过程序C开始。(处理3)当处理2的DMA传输完成时,内部DMA控制器12通知处理器11中断。因此,程序C开始下一个DMA传输,内部DMA控制器12将新的压缩数据从外部储存器4传输到内部存储器14,随后传输到处理2。在处理2和3中,内部存储器14作为缓冲存储器使用。(处理4)在处理器11中,与上述处理2和3以并行的方式执行对保存在内部存储器15中的数据的解码处理。在这个处理中,内部存储器15作为工作存储器使用。对于处理来说,对每个规定的单位时间重复执行处理2到4,并且在每个单位时间交替地改变对内部存储器14和15的使用。也就是说,内部存储器14在规定时间内用作缓冲存储器,在另一个规定时间用作工作存储器。这也可以应用于内部存储器15。在这个系统中,为了保证程序C的实时特征,程序A、B和C以如图3所示的时间划分被执行。可以假定这个状态是这样的状态,程序A、B和C通过各自单独的虚拟逻辑处理器被执行。如果是音频解码处理,图3所示的″进行处理的单位时间″是通常根据编码系统、外围电路的输出数据比率(每单位时间数据输出量)、缓冲器容量等等而确定的。此外,在这个系统中,因为引入了虚拟的多道处理,当各自开发程序(A、B、C)的时候,不需要考虑处理内容或其它程序的执行时间。假设处理器的规定资源分别为程序提供了保证,促进单独地程序开发。即虚拟的多处理不但可以保证实时处理,而且具有容易开发程序的优点。此外,因为相同的理由,程序A和B可以容易地被传送到另一个以不同单位时间进行处理的系统。现在,为了指出这个系统的问题,考虑特定程序会长时间占据DMA总线这样一种情况。在图4的时间图所示操作的例子中,程序B执行其具有大量传输的DMA传输,并且长时间占据了DMA总线。当完成这个DMA传输时,DMA总线开启,程序C执行从内部存储器15到外围电路5的DMA传输。完成传输之后,程序C通知处理器11中断。然而,在图4所示的时间图中,当处理器11得知中断时,程序C的处理已经完成,因此不能接着启动下一个DMA传输。当程序C开始内部存储器15的数据处理时,因为将被处理的数据没有被传输,所以实时处理失败。有一些防止这样的情况的方法。其中一个方法是预订和执行多个DMA传输。也就是说,如图5所示的一个时间图,内部存储器15的DMA传输请求需要预先从外部储存器预订。从内部存储器15到外围电路5的DMA传输完成之后,可以自动地执行预订的DMA传输。具体地说,这个处理可以通过使用在专利文献中所公开的DMA控制器实现。然而,即使可以预订和执行多个DMA传输,也不可能完全保证程序C的实时特征。例如,在图6所示的时间图的操作的例子中,因为程序B的DMA传送时间较长,直到内部存储器15的处理开始时,也没有结束DMA传输。因此,实时处理失败。最后,为了保证DMA总线在程序C的DMA传输的规定时间内进行存取,没有其它比下述方法更可靠的方法了,该方法即就是对由程序A和B所启动的DMA传输的开始时间和传送时间(或传输字的数量)进行限制。从以上说明可见,当执行实时处理的时候,只有处理器的资源的时间划分(VMP的引入)是不够的,还需要一起考虑DMA传输的时间控制(调度)。如上所述,在程序A和B的开发中,当这些程序执行DMA传输请求的时候,程序C的实时处理是必须的,免得失败。然而,在程序A、B和C的开发中,在它们之间由此产生了相关的关系,因此这些程序不能独立地逐步开发。这样,由于DMA传输的调度而严重地破坏了VMP优点,即很容易开发程序。此外,在AV编码/解码处理中,因为处理所需的时间依据编码系统或输入和输出数据速率而不同,因此处理的单位时间可能具有多个值。由此在任何情况下,都必须保证系统不失败。此外,当多个实时处理阻塞时,将大大增加系统的开发和检查处理的次数。此外,尽管系统调度本身没有故障,但是有时很难执行。
技术实现思路
考虑到上述常见问题而提出了本专利技术。本专利技术的一个目的是提供一种DMA传输控制器(DMA控制器),在该DMA传输控制器中通过调度实时处理中的DMA传输而不必考虑对DMA传输的调度,程序的开发或传送很容易,并且在实时处理中系统不会出现故障。根据本专利技术的DMA传输控制器包括传输参数存储单元,用于存储总线占用时间值以及用于主处理器所执行的多个逻辑处理器的一组或多组DMA传输的传输参数;数据传本文档来自技高网
...

【技术保护点】
一种直接存储器存取传输控制器,包括:传输参数存储单元,用于存储总线占用时间值以及用于主处理器所执行的多个逻辑处理器的一组或多组直接存储器存取传输的传输参数;数据传输执行单元,用于根据传输参数来执行直接存储器存取传输; 控制单元,用于控制传输参数的接收和传输,以及直接存储器存取传输的开始和中断;以及时间测量单元,用于当每一个逻辑处理器的第一个直接存储器存取传输开始时,开始测量总线占用逝去时间,其中,当总线占用逝去时间达到总线占用时间值时,控 制单元中断所执行的直接存储器存取传输以根据与规定顺序的逻辑处理器相关的传输参数来开始执行直接存储器存取传输。

【技术特征摘要】
JP 2003-8-1 285080/031.一种直接存储器存取传输控制器,包括传输参数存储单元,用于存储总线占用时间值以及用于主处理器所执行的多个逻辑处理器的一组或多组直接存储器存取传输的传输参数;数据传输执行单元,用于根据传输参数来执行直接存储器存取传输;控制单元,用于控制传输参数的接收和传输,以及直接存储器存取传输的开始和中断;以及时间测量单元,用于当每一个逻辑处理器的第一个直接存储器存取传输开始时,开始测量总线占用逝去时间,其中,当总线占用逝去时间达到总线占用时间值时,控制单元中断所执行的直接存储器存取传输以根据与规定顺序的逻辑处理器相关的传输参数来开始执行直接存储器存取传输。2.根据权利要求1的直接存储器存取传输控制器,其中当在总线占用逝去时间达到总线占用时间值之前完成了与某个逻辑处理器相关的直接存储器存取传输时,控制单元根据与规定顺序的逻辑处理器相关的传输参数来开始直接存储器存取传输。3.一种直接存储器存取传输控制器包括传输参数存储单元,用于存储总线占用时间值以及用于主处理器所执行的多个逻辑处理器的一组或多组直接存储器存取传输的传输参数;数据传输执行单元,用于根据传输参数执行直接存储器存取传输;控制单元,用于控制传输参数的接收和传输,以及直接存储器存取传输的开始和中断;以及时间测量单元,用于当每一个逻辑处理器的第一个直接存储器存取传输开始时,开始测量传输数据的数量,其中当总线传输数据量达到其能够占用总线的传输数据量时,控制单元中断现在执行的直接存储器存取传输以根据与规定顺序的逻辑处理器相关的传输参数开始直接存储器存取传输。4.根据权利要求3的直接存储器存取传输控制器,其中当在总线传输数据量达到其能够占用总线的传输数据量之前完成了与特定逻辑处理器相关的所有直接存储器存取传输时,控制单元根据与规定顺序的逻辑处理器相关的传输参数而开始直接存储器存取传输。5.根据权利要求1或3的直接存储器存取传输控制器,其中规定顺序是循环的,并且与不是当前的直接存储器存取传输请求的逻辑处理器相关的所有直接存储器存取传输处理都被跳过。6.根据权利要求1或3的直接存储器存取传输控制器,其中在传输参数存储单元中,多个处理器的多组传输参数排列成FIFO结构。7.根据权利要求6的直接存储器存取传输控制器,其中当传输参数队列大于传输参数的规定最大数目时,控制单元通知主处理器产生了错误。8.根据权利要求6的直接存储器存取传输控制器,其中在传输参数的第一队列作为紧急队列之前,一组传输参数进行排队。9.根据权利要求8的直接存储器存取传输控制器,其中在紧急队列排队时,当再次执行紧急队列的排队操作时,控制单元通知主处理器产生了错误。10.根据权利要求1或3的直接存储器存取传输控制器,进一步包括这样的机构,该机构用于使每一个逻辑处理器的传输参数无效。11.根据权利要求1或3的直接存储器存取传输控制器,进一步包括这样的机构,该机构用于使传输参数单独的无效。12.根据权利要求6的直接存储器存取传输控制器,其中将与排列传输参数相关的队列控制信息存储在每一个逻辑处理器的传输参数存储单元中,并且队列控制信息至少包括单独的传输参数的有效/无效信息。13.根据权利要求1或3的直接存储器存取传输控制器,进一步包括这样的机构,该机构用于根据每一个逻辑处理器的传输参数来保存直接...

【专利技术属性】
技术研发人员:古田晓广桧垣信生田中哲也铃木常之
申请(专利权)人:松下电器产业株式会社
类型:发明
国别省市:JP[日本]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1