CN1591374A - 直接存储器存取传输控制器 - Google Patents

直接存储器存取传输控制器 Download PDF

Info

Publication number
CN1591374A
CN1591374A CN200410085143.3A CN200410085143A CN1591374A CN 1591374 A CN1591374 A CN 1591374A CN 200410085143 A CN200410085143 A CN 200410085143A CN 1591374 A CN1591374 A CN 1591374A
Authority
CN
China
Prior art keywords
transmission
dma
memory access
direct memory
transmission parameter
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
CN200410085143.3A
Other languages
English (en)
Other versions
CN100388253C (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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of CN1591374A publication Critical patent/CN1591374A/zh
Application granted granted Critical
Publication of CN100388253C publication Critical patent/CN100388253C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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)

Abstract

本发明提供了一种DMA传输控制器,该DMA传输控制器包括:传输参数存储单元,用于存储总线占用时间值以及用于多个逻辑处理器中的每个的一组或多组DMA传输的传输参数;数据传输执行单元,用于根据DMA传输参数来执行DMA传输;控制单元,用于控制DMA传输参数的接收和传输,以及DMA传输的开始和中断;以及时间测量单元,用于当每一个逻辑处理器的第一个DMA传输开始时,开始测量总线占用逝去时间。当总线占用逝去时间达到总线占用时间值时,控制单元中断所执行的DMA传输以根据与规定顺序的逻辑处理器相关的传输参数来开始执行DMA传输。

Description

直接存储器存取传输控制器
技术领域
本发明涉及一种能够对DMA传输进行时间控制的DMA传输控制器。
背景技术
近年来,随着多媒体装置的发展,在处理器上对音频数据或活动图像(AV)进行编码或解码已经是普通的了。通常,当对AV进行解码的时候,需要在规定时间内完成规定量的处理。即,必需是实时处理。另外,在音频数据和活动图像的交互性通信中,编码处理也必须实时进行。
当在单个处理器上执行包括这样的实时处理的多个处理时,必需有保证处理的实时特征的装置。实现这个装置的一个方法是,有系统对处理器的资源进行时间划分,在每个规定时间内处理的内容都会改变。这个系统通常与这样的系统相等效,即多个虚拟逻辑处理器分别以并行执行不同的处理。这个系统在下文中被称作虚拟多处理(VMP)。
在AV处理中,有大量的数据需要通过输入和输出装置之间的内部数据总线、缓冲存储器(临时存储数据的存储器)和工作存储器(数据处理存储器)进行传输。通常,数据的传输最好不使用处理器的资源。因此,数据通常使用DMA(直接存储器存取)控制器进行传输。
近来,随着在系统LSI中的信息的吞吐量的增加,在LSI的内部总线中传输的数据量也不断地增加。为了高效地传输数据,同样需要高性能的DMA控制器。已经提出了多种类型的DMA控制器。例如,设计了这样的DMA控制器,在DMA控制器中将优先权赋予多个DMA传输以便提高传输效率(参见专利文献1:JP-A-9-223102),或者设计了这样的DMA控制器,在该DMA控制器中保存和执行多个DMA传输的DMA控制器(参见专利文献2:JP-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传输的传输参数;数据传输执行单元,用于根据传输参数执行DMA传输;控制单元,用于控制传输参数的接收和传输,以及DMA传输的开始和中断;和时间测量单元,用于当每一个逻辑处理器的第一个DMA传输开始时,开始测量总线占用逝去时间。当总线占用逝去时间达到总线占用时间值时,控制单元中断所执行的DMA传输,以根据与规定顺序的逻辑处理器相关的传输参数来开始执行DMA传输。
根据上述结构,因为每一个逻辑处理器的总线占用逝去时间可以被限制在总线占用时间值,因此可以执行对实时处理中的DMA传输进行调度,可以防止系统中止,并且可以确保处理的实时特征。
此外,当总线占用逝去时间达到总线占用时间值时以中断现在执行的DMA传输时,因为无需利用程序即可自动开始随后所执行的DMA传输,因此单独程序不必担心DMA传输的调度。由此,可以容易地进行程序的开发或维护。
此外,根据本发明的DMA传输控制器,当在总线占用逝去时间达到总线占用时间值之前完成了与某个逻辑处理器相关的DMA传输时,控制单元根据与规定顺序的逻辑处理器相关的传输参数来开始DMA传输。
根据上述结构,即使当与特定逻辑处理器相关的所有DMA传输已完成时总线占用逝去时间仍有空余,也结束总线占用以便开始随后所执行的DMA传输。由此,可以消除总线占用浪费时间以便提高DMA传输效率。
根据本发明的DMA传输控制器包括:传输参数存储单元,用于存储能够占用总线的传输数据数量,以及用于主处理器所执行的多个逻辑处理器的一组或多组DMA传输的传输参数;数据传输执行单元,用于根据传输参数执行DMA传输;控制单元,用于控制传输参数的接收和发送,以及DMA传输的开始和中断;和数量测量单元,用于当每一个逻辑处理器的第一个DMA传输开始时,开始测量传输数据的数量。当总线传输数据量达到其能够占用总线的传输数据量时,控制单元中断现在执行的DMA传输,以便根据与规定顺序的逻辑处理器相关的传输参数开始DMA传输。
根据上述结构,即使使用了能够占用总线的传输数据量代替总线占用时间值以测量代替总线占用逝去时间的总线传输数据量时,也可执行下述DMA传输的调度,该DMA传输的调度等效于用于测量总线占用逝去时间的DMA传输控制器的调度。因此,在实时处理中也可获得与上述DMA传输控制器相同的效果。
此外,在根据本发明的DMA传输控制器中,当在总线传输数据量达到其能够占用总线的传输数据量之前完成了与特定逻辑处理器相关的所有DMA传输时,控制单元根据与规定顺序的逻辑处理器相关的传输参数开始DMA传输。
根据上述结构,即使使用了其能够占用总线的传输数据量以代替总线占用时间值以测量代替总线占用逝去时间的总线传输数据量时,也可执行与用于测量总线占用逝去时间的DMA传输控制器等效的处理。因此,可以消除总线占用浪费的时间,并且可以提高DMA传输效率。
此外,根据本发明中的DMA传输控制器,规定顺序是循环的,并且与不是当前的DMA传输请求的逻辑处理器相关的所有DMA传输处理都被跳过。
根据上述结构,因为只有与当前DMA传输请求的逻辑处理器相关的DMA传输被循环地处理,因此可以消除总线占用的浪费时间,并且可以将DMA传输效率提高到最大。
此外,根据本发明中的DMA传输控制器,多个处理器的每一个的多组传输参数通过传输参数存储单元而排列成FIFO结构。
根据上述结构,传输参数排列成FIFO结构以控制DMA传输。由此,不需要对DMA传输的完成到下一个DMA传输的开始进行中断所需的系统开销,因此可以提高DMA传输效率。
此外,在根据本发明的DMA传输控制器中,当传输参数队列大于传输参数的预定最大数目时,控制单元通知主处理器产生了错误。
根据上述结构,因为防止对大于传输参数的预定最大数目的传输参数进行排列,因此可以防止不期望的操作,例如破坏已经排列的传输参数。
在根据本发明的DMA传输控制器中,在传输参数的第一队列作为紧急队列之前,对一组传输参数进行排列。
根据上述结构,因为对其优先级比普通传输参数更高的紧急队列进行排队,因此将与产生其需要即时响应的现象相关的DMA传输当做紧急队列并且最优先地被执行。
在根据本发明的DMA传输控制器中,在紧急队列排列时,当再次执行紧急队列的排列操作时,控制单元通知主处理器产生了错误。
根据上述结构,因为可以防止紧急队列被排列两次,可以防止不期望的操作,例如破坏已经排列的紧急队列。
根据本发明的DMA传输控制器还包括这样的机构,该机构用于使每一个逻辑处理器的传输参数无效。
根据上述结构,因为可以使每一个逻辑处理器的传输参数无效,因此可以满足这样一种情况,即在操作执行期间使应用程序无效。此外,可以进行对DMA请求的推测性执行,以便提高准备应用程序的自由度。
此外,根据本发明的DMA传输控制器还包括这样的机构,该机构用于使传输参数单独无效。
根据上述结构,因为传输参数可以分别地被无效,因此可以满足传输数据量被部分改变的情况。此外,可以进行对DMA请求的推测性执行,以便提高准备应用的自由度。
此外,在根据本发明的DMA传输控制器中,与排列传输参数相关的队列控制信息被存储在每一个逻辑处理器的传输参数存储单元中,并且队列控制信息至少包括单独传输参数的有效/无效信息。
根据上述结构,因为仅通过更新队列控制信息即可在DMA传输完成期间或者在队列删除期间而分别删除了传输参数,因此位于队列中的DMA传输请求可以被删除而不用重写传输参数。此外,可以容易地删除多个DMA传输请求。
此外,根据本发明的DMA传输控制器还包括这样的机构,该机构用于根据每一个逻辑处理器的传输参数来保存DMA传输的执行。
根据上述结构,因为为每一个逻辑处理器保存了DMA传输的执行,因此当应用程序中断并且然后继续时,在DMA传输期间不需要收回、删除、以及重新设置单独的传输参数这样的处理。由此,保存操作和重新设置操作可以以高速进行切换。
此外,根据本发明的DMA传输控制器还包括这样的机构,用于根据传输参数分别地保存DMA传输的执行。
根据上述结构,因为DMA传输的执行可以分别地保存,因此当应用程序中断并且然后继续时,在DMA传输期间不需要收回、删除、以及重新设置单独的传输参数这样的处理。由此,保存操作和重新设置操作可以以高速进行切换。
此外,根据本发明的DMA传输控制器还包括这样的机构,用于根据传输参数来保存全部DMA传输的执行。
根据上述结构,当在调试等等时不方便执行DMA传输时,这些功能可用于跳过DMA传输的实际执行。
此外,在根据本发明的DMA传输控制器中,对于其执行被保存的DMA传输而言与DMA传输相关的所有处理都被跳过。
根据上述结构,与保存了其DMA传输请求的逻辑处理器相关的DMA传输不必等待总线占用时间的结束。由此,可以提高总线使用效率。
此外,在根据本发明的DMA传输控制器中,与排列传输参数相关的队列控制信息被存储在每一个逻辑处理器的传输参数存储单元中,并且队列控制信息至少包括单独传输参数的保存信息。
根据上述结构,因为单独传输参数的保存信息被包括在队列控制信息中,因此DMA传输的执行可以分别地容易保存并且可以容易地保存多个DMA传输请求。
此外,根据本发明的DMA传输控制器还包括这样的机构,当一系列与逻辑处理器相关的DMA传输的执行完成时,该机构将传输参数恢复为开始执行DMA传输时的值,并且根据一系列传输参数来重复执行DMA传输。
根据上述结构,为每一个逻辑处理器自动地重复执行DMA传输,因此可以消除对DMA传输的完成到开始下一个DMA传输进行中断所需的系统开销,并且可以提高在应用程序中所重复执行的一系列DMA传输的DMA传输效率。
根据本发明的DMA传输控制器还包括这样的机构,当单独的DMA传输的执行完成时,该机构将传输参数恢复为开始执行DMA传输时的值,并且根据该传输参数来重复执行DMA传输。
根据上述结构,DMA传输自动地重复执行每一个单独传输请求,因此可以消除对DMA传输的完成到开始下一个DMA传输进行中断所需的系统开销,并且可以提高在应用程序中所重复执行的一系列DMA传输的DMA传输效率。
此外,根据本发明的DMA传输控制器还包括这样的机构,用于禁止每一个逻辑处理器的DMA传输的中断,而不管总线占用时间值或其可占用总线的传输数据量。
根据上述结构,当不便于启动非常紧急的应用程序时以便其所伴有的DMA传输请求受到时间划分处理,可以临时禁止每一个逻辑处理器的DMA传输的时间划分处理。可以优先处理非常紧急的DMA传输,然后回到普通的操作。
此外,根据本发明的DMA传输控制器还包括这样的机构,用于单独的禁止DMA传输的中断,而不管总线占用时间值或其能够占用总线的传输数据量。
根据上述结构,当不便于启动非常紧急的应用程序时以便其所伴有的DMA传输请求受到时间划分处理,可以临时分别禁止DMA传输的时间划分处理。由此,可以优先处理非常紧急的DMA传输,然后回到普通的操作。
此外,在根据本发明的DMA传输控制器中,数据传输执行单元包括用于保存一组传输参数的传输参数临时存储单元并且数据传输执行单元使用由传输参数临时存储单元所保存的传输参数来执行DMA传输。
根据上述结构,因为在DMA传输执行期间不必存取传输参数存储单元,因此可以节约与存储器存取相关的功耗。此外,因为来自处理器的传输参数的排列不与访问竟争,因此减少了处理器端的等待时间,从而提高了CPU效率。
此外,根据本发明的DMA传输控制器包括传输参数临时加载单元,当传输参数队列和控制单元使用存储在传输参数临时加载单元中的传输参数以形成与每一个逻辑处理器的排列传输参数相关的队列控制信息并且将传输参数和队列控制信息存储在传输参数存储单元中时,该传输参数临时加载单元用作一组传输参数的缓冲器。
根据上述结构,因为提供了缓冲器以临时存储一组传输参数,那么当传输参数排列时,不必当每次存储每个参数值时都要访问传输参数存储单元。
此外,根据本发明的DMA传输控制器中,当传输参数排列时,将传输参数从传输参数临时加载单元传输到传输参数存储单元,主处理器等待访问队列。
根据上述结构,可以防止存储在传输参数临时加载单元中的传输参数值改变而导致的不期望的操作,同时将传输参数存储在传输参数存储单元中。
此外,在根据本发明的DMA传输控制器中,为每一个逻辑处理器提供了其示出传输参数是否排队的队列有效标志,并且控制单元循环地检查队列有效标志,以便判断每一个逻辑处理器是否有DMA传输请求。
根据上述结构,与每一个逻辑处理器相关的DMA传输完成之后,可以判断是否有与下一个逻辑处理器相关的DMA传输请求。当没有DMA传输请求时,不必访问传输参数存储单元,可以以高速执行处理并且可以减少功耗。
此外,在根据本发明的DMA传输控制器中,当与逻辑处理器相关的任何传输参数有效时,为每一个逻辑处理器设置队列有效标志,并且当与逻辑处理器相关的所有DMA传输完成时,重新设置队列有效标志。
根据上述结构,在全部DMA传输完成时,根据与每一个逻辑处理器相关的第一个产生的DMA传输请求,设置每个队列有效标志,可以恒定的适当示出是否有DMA传输请求。
此外,在根据本发明的DMA传输控制器中,当重新设置任意队列有效标志时,等待重新设置队列有效标志的设置请求。
根据上述结构,当重新设置队列有效标志时,等待新的设置请求。由此,可以防止发生由于队列有效标志的不适当改变而造成的不期望的操作。
此外,在根据本发明的DMA传输控制器中,存在其能够从DMA传输控制器外面直接访问队列有效标志的路径。根据上述结构,当处理器进入调试模式时,可以直接从外部访问队列有效标志。由此,可以提供有效的分析装置。
在根据本发明的DMA传输控制器中,当队列有效标志的状态与队列控制信息之间产生不一致时,根据队列控制信息来校正队列有效标志的状态。
根据上述结构,当通过调试模式下的操作而使队列有效标志的状态与队列控制信息之间产生不一致时,根据队列控制信息来校正队列有效标志的状态。因此,可以防止处理器进入不适当的状态。
根据本发明,每一个逻辑处理器的总线占用逝去时间被限制为总线占用时间值,可以执行对实时处理中的DMA传输的调度,可以防止系统中止,并且可以确保处理的实时特征。
此外,当总线占用逝去时间达到总线占用时间值以中断现在执行的DMA传输时,因为无需利用程序即可自动开始随后所执行的DMA传输,因此单独程序不必担心DMA传输的调度。由此,可以容易地进行程序的开发或维护。
此外,根据本发明,传输参数排列成FIFO结构以控制DMA传输。由此,不需要对DMA传输的完成到开始下一个DMA传输进行中断所需的系统开销,因此可以提高DMA传输效率。
此外,根据本发明,可以使单独的或者每一个逻辑处理器的传输参数无效,可以满足应用程序被部分无效的情况。此外,可以进行对DMA请求的推测性执行,以便提高准备应用程序过程中的自由度。
此外,根据本发明,因为可以单独的或者为每一个逻辑处理器保存DMA传输的执行,因此当应用程序被中断并且然后继续时,在DMA传输期间不需要收回、删除、以及重新设置单独的传输参数这样的处理,由此,保存操作和重新设置操作可以以高速进行切换。
此外,根据本发明,为每一个逻辑处理器或单独的重复执行DMA传输,以便消除对DMA传输的完成到开始下一个DMA传输进行中断所需的系统开销,并且可提高在应用程序中所重复执行的一系列DMA传输的DMA传输效率。
此外,根据本发明,当不便于启动非常紧急的应用程序,以便其所伴有的DMA传输请求受到时间划分处理时,临时禁止单独的或每一个逻辑处理器的DMA传输的时间划分处理。可以优先处理非常紧急的DMA传输,然后回到普通的操作。
附图说明
图1示出了根据本发明第一实施例的DMA传输控制器的结构方框图;
图2示出了其上安装有普通DMA控制器的系统的示例性结构的方框图;
图3示出了在时间划分下所执行的程序中的普通DMA传输控制器的操作时间图;
图4示出了当特定程序长时间占用DMA总线时,普通DMA传输控制器的操作时间图;
图5示出了具有预订并且执行多个DMA传输功能的普通DMA传输控制器的操作时间图;
图6示出了即使提供了用于预订并且执行多个DMA传输的功能,当实时处理中止时普通DMA传输控制器的操作时间图;
图7是其示出了本发明第一实施例中的存储在传输参数存储单元中的传输参数阵列的示例的存储器映象;
图8示出了根据本发明第一实施例的DMA传输控制器的示例性操作的时间图;
图9示出了示例性操作的时间图,在该操作中根据本发明第一实施例的DMA传输控制器中的DMA传输被重复地中断和继续;
图10是其示出了本发明第二实施例中的存储在传输参数存储单元中的传输参数阵列示例的存储器映象;
图11示出了根据本发明第二施例的DMA传输控制器的示例性操作的时间图;
图12是其示出了本发明第二实施例的其内排列有紧急队列的传输参数阵列示例的存储器映象;
图13示出了根据本发明的第二实施例的DMA传输控制器的结构方框图;
图14是其示出了本发明第三实施例的存储在传输参数存储单元中的传输参数阵列示例的存储器映象;
图15是其示出了本发明第三实施例中的当紧急队列排队时的传输参数阵列示例的存储器映象;
图16示出了本发明第四实施例中的其具有用于每个DMA传输请求的保存标志的排队控制信息的示例性结构的框图;
图17是其示出了本发明第五实施例中的存储在传输参数存储单元中的传输参数阵列示例的存储器映象;
图18示出了根据本发明第七实施例的DMA传输控制器的结构方框图;
图19示出了根据本发明第八实施例的DMA传输控制器的结构方框图;
图20示出了本发明第八实施例中的传输参数临时加载单元124的示例性结构的方框图;
图21示出了根据本发明第九实施例的DMA传输控制器的结构方框图;
图22示出本发明第九实施例中的具有队列有效标志能从外部直接访问的路径的示例性结构的方框图;
图23示出了根据本发明第三实施例的传输参数的状态框图;以及
图24示出了根据本发明第三实施例的传输参数的状态框图;
在附图中,附图标记1表示微处理机;2表示外部DMA控制器;3表示外围电路;4表示外部储存器;5表示外围电路;11表示处理器;12、12a、12b、12c、12e表示DMA传输控制器;13表示外部DMA总线接口;14、15、16表示内部存储器;121表示传输参数存储;122表示数据传输执行单元;123、123a、123b、123c、123e表示控制单元;124表示传输参数临时加载单元;125表示存储器辅助单元;1221表示传输参数临时存储单元;并且1231表示时间测量单元。
具体实施方式
现在将参考附图对本发明的实施例进行说明。在说明书下文中的附图,相同或相似的部分用相同或相似的附图标记表示,并且对相同部分的重复说明书将被省略。
在本发明的每一个实施例中,假定图2为一个系统结构。即,作为在每一个实施例中的示例性操作,通过使用图2所示的系统,从存储装置(例如,一个半导体存储卡)读取压缩的音频数据,进行解码,然后将解码的数据输出到声频接口电路。外围电路3起到半导体存储卡的接口电路的作用,外围电路5起声频接口电路的作用。
(第一实施例)
图1示出了根据第一实施例的DMA传输控制器的结构方框图;在图1中,处理器11和DMA传输控制器(DMA控制器)12连接到处理器内部总线和DMA总线。这些组件作为图2所示的微处理机(MPU)1的一部分而包含在其内,并且由图2所示的相同的参考数字表示。
DMA传输控制器12包括传输参数存储单元121、数据传输执行单元122和控制单元123。此外,形成了控制单元123以便包括时间测量单元1231。处理器内部总线、数据传输执行单元122、以及时间测量单元1231连接到DMA传输控制器12中的传输参数存储单元121上。
传输参数存储单元121存储了DMA传输的传输参数以及用于从每个逻辑处理器的处理器11传输而来的总线占用时间。图7是一个存储器映象,其示出了存储在传输参数存储单元中的传输参数阵列的例子;
数据传输执行单元122根据来自控制单元123的控制而形成了要执行DMA传输所需的地址或控制信号。控制单元123控制存储在传输参数存储单元121中的数据的输入与输出以及数据传输执行单元122所执行的DMA传输的开始和中断。此外,根据这个实施例的DMA传输控制器具有如专利文献2中所公开的预订和执行DMA传输的功能。
图8示出了根据这个实施例的DMA传输控制器的示例性操作的时间图。在这个例子中,将三个不同程序A、B和C分别分配给逻辑处理器0、1和2。分别确定这些程序的DMA总线占用时间,结果是具有A∶B∶C=1∶1∶3的关系。总线占用时间的值通过如图7所示的处理器11而被存储在传输参数存储单元121中。
其没有分配程序的逻辑处理器3到15的总线占用时间是0。时间测量单元1231按照若干逻辑处理器的次序循环地读取总线占用时间,以便经常地测量每个逻辑处理器的总线占用逝去时间。将DMA总线的占用权利分别分配给如图8的最底下步骤所示的程序。
首先,程序C请求DMA传输控制器12执行从内部存储器14到外围电路5的DMA传输。在这个时候,处理器11为执行DMA传输向DMA传输控制器12传输所需的一组传输参数,并且这些传输参数是存储在传输参数存储单元121中的。这一组传输参数包括如下所述的内容。
(1)传输端的起始地址(内部存储器14)
(2)传输目的地的起始地址(外围电路5)
(3)传输系统
(4)传输字的数量
当DMA总线的分配切换到程序C时,控制单元123读取其数目不为0的传输字,以便允许数据传输执行单元122开始DMA传输。由于DMA传输的前进(advances),数据传输执行单元122随时更新传输端的地址,存储在传输参数存储单元121中的传输目的地的地址和传输字的数量。当传输字的数量等于0的时候,数据传输执行单元通知控制单元123DMA传输完成。此外,控制单元123通知处理器11进行中断。
程序C接收中断信息,然后请求DMA传输以作为从外部储存器到内部存储器14的下一个DMA传输。该请求的过程与第一个DMA传输相同。当将DMA总线再次分配给程序C时,执行DMA传输。
此外,随着时间的继续,程序B请求DMA传输并且执行DMA传输。然而,因为程序B的总线占用时间比较短,因此不能同时完成DMA传输。当DMA传输的总线占用逝去时间达到总线占用时间时,控制单元123控制数据传输执行单元122中断DMA传输。在这时候,因为传输端地址的中间进程、传输目的地的地址和传输字的数量保存在传输参数存储单元121中,因此当将DMA总线再次分配给程序B时,可以连续地进行DMA传输。
在此,在图8所示的时间图中,如附图的最下步骤所示,强制产生总线占用时间,以作为每一个逻辑处理器进行DMA传输的时隙。然而,在这个方法中,当在总线占用逝去时间达到总线占用时间值之前,与某个逻辑处理器相关的所有DMA传输结束时,在DMA传输的给定时间片中产生时隙。因此,在其用于将DMA传输的时隙机械地赋予每一个逻辑处理器的系统中,不能获得DMA的最大操作率。因此,可降低可实现的实时性能。
由此,根据本发明,当在总线占用逝去时间达到总线占用时间值之前完成了与某个逻辑处理器相关的所有DMA传输时,对与下一个逻辑处理器相关的DMA传输控制以立即开始。逻辑处理器的顺序是按照数量和循环的次序。此外,控制跳过与没有存储DMA传输参数的逻辑处理器相关的所有DMA传输处理。用这样的方法,可以将DMA总线的操作率提高到极限。
当根据控制功能来中断或完成程序B的DMA传输时,如果识别出将程序C的传输参数存储在传输参数存储单元121中,那么控制单元123控制数据传输进行单元122开始程序C的DMA传输。
然而,当程序B的DMA传输被中断时,如果程序C的传输参数还没有存储在传输参数存储单元中,那么控制单元123根据下一个传输参数控制开始DMA传输。然而,控制单元控制再次开始程序B的DMA传输,因为其它传输参数没有被设置。图9是操作性示例的时间图,其中DMA传输在这种情况下重复被中断和继续。
如上所述,控制单元123循环地检查所预订的且存储在传输参数存储单元121中的传输参数。然后,控制单元控制数据传输执行单元122开始下一个传输字的数量不为0的DMA传输。因此,当总线占用逝去时间达到总线占用时间以中断DMA传输时,可以立即开始下一个DMA传输,而无需利用程序。
此外,在依据这个实施例的DMA传输控制器中,因为时间监控方法与其通过使用时间测量单元1231来测量总线占用逝去时间的方法相等效,因此可以采用用于测量总线传输数据数量的方法。在这种情况下,将其可占用总线的传输数据量存储在传输参数存储单元121中以代替总线占用时间值。时间测量单元1231测量在DMA传输中的总线传输数据的数量。当总线传输数据的数量达到其能够占用总线的传输数据的数量时,中断现在所执行的DMA传输,以便开始下一个DMA传输。
在上述说明中,在所预订的且存储在传输参数存储单元121中的传输参数中,检查传输字的数量,以便判断是否有实际的DMA传输请求。然而,代替上述方法,在传输系统中可以提供传输参数的一部分,例如DMA传输请求有效标志。这也可以被应用到如下所述的其它实施例中。
如上所述,在根据这个实施例的DMA传输控制器中,将DMA占用时间或与其相等效的能够占用总线的传输数据的数量分配给每个程序,并且对其进行控制,因此调度是同时进行的。因此,在单独的程序(A、B、C)中,不必考虑对DMA传输的调度。此外,将足够的总线占用时间分配给其需要实时处理的程序(C),以便可以防止在实时处理中的系统故障。
(第二实施例)
在上述第一实施例中,DMA传输控制器可以根据所预订的且存储在传输参数存储单元中的传输参数而循环地开始DMA传输,而无需使用程序。然而,其内的DMA传输已完成且其传输字的数量等于0的传输参数失去了它们的效果。因此,必须通过中断处理器来接收新的传输参数。
例如,在图8所示的时间图中,从内部存储器15到外围电路5的DMA传输完成之后,处理器必须中断,以便预订从外部储存器到内部存储器15的DMA传输请求。在这实施例中,在图1所示的DMA传输控制器中,一个逻辑处理器预订了多个DMA传输请求。因此,无需中断处理器即可执行一系列与其相关的DMA传输。
图10是存储器映象,其示出了根据本发明第二实施例的存储在DMA传输控制器中的传输参数存储单元中的传输参数阵列;在这个例子中,六组传输参数排列等候一个逻辑处理器1。连续地执行其基于传输参数队列的DMA传输以作为一系列DMA传输,因此将一个总线占用时间赋予六组传输参数。
传输参数的队列具有FIFO结构。例如,控制单元123具有每一个逻辑处理器的队列头指针和尾指针,并且当加载传输参数时控制更新队列头,且在完成DMA传输时控制更新队列尾。
图11其示出了根据这个实施例的DMA传输控制器的示例性操作的时间图。在这个例子中,在如图2所示的示例性结构的系统中,将三个不同的程序A、B、C分别分配给逻辑处理器0、1、2,传输参数分别存储在传输参数存储单元121中。
程序A不执行DMA传输。将相对短的总线占用时间赋予程序B。在需要实时特征的程序C中,为逻辑处理器2设置了两组传输参数,因此可以连续地执行从内部存储器14和15到外围电路5的DMA传输,以及从外部储存器到内部存储器14和15的DMA传输,并且给定了两个DMA传输所需的总线占用时间。
用这样方法来排列逻辑处理器2的传输参数。因此,消除了要中断从内部存储器14和15到外围电路5的DMA传输与从外部储存器到内部存储器14和15的DMA传输之间的完成DMA传输和开始DMA传输所需的系统开销。相应地,可以提高DMA传输效率。
上述程序C要求实时特征。然而,依据应用程序,要对一个现象的出现产生即时响应。在这种情况下,所制定的其可满足所出现现象的传输参数的DMA传输必须最优先地执行。因此,必须提供这样的机构,在该机构中其优先权比普通传输参数优先权要高的传输参数进行排列以作为逻辑处理器的紧急队列。
图12是存储器映象,其示出了上述紧急队列通过其来进行排队的传输参数阵列的示例。在图12中,可以在逻辑处理器的普通队列的第一个传输参数之前,排列紧急队列的传输参数。用这样方法,提供了紧急队列的排列机制,以便与所发生的现象相对应的DMA传输可以最优先地执行。
另一方面,当根据这个实施例的传输参数被无例外地进行排列时,有可能传输参数的数量会大于传输参数的最大数量。当检测到将所执行的传输参数的队列大于传输参数的最大数量时,将其作为错误通知处理器。此外,在紧急队列排列时,当紧急队列将排列时,检测到将其作为错误而通知处理器。
图13是一个方框图,其示出了根据本发明第二实施例的DMA传输控制器的结构,并且具有用于对如上所述的传输参数的排列过程中的异常进行检测并且通过中断通知处理器这个异常的功能。
在图13所示的DMA传输控制器12a中,因为中断了处理器11,因此将如上所述的通常队列的异常信息和紧急队列的异常信息以及与此相关的控制功能添加到控制单元123a上。提供这些功能防止以不期望的操作,例如破坏已经排列的传输参数。
(第三实施例)
在这个实施例中,可以删除DMA传输请求。因此,可以满足中途使应用程序无效这样一种情况或中途改变传输参数的数量这样一种情况。此外,可以执行对DMA请求的推测性执行,以便增加在制定应用程序过程中的自由度。现在,将通过参考图1或图13所示的DMA传输控制器来说明这个实施例。
当中途使应用程序无效时,可以采用其用于删除每个逻辑处理器的DMA传输请求的方法。在这种情况下,处理器重写以使与有关逻辑处理器相对应的传输参数无效。这个可以通过设置传输字的数量为0,或当提供了有效标志时将有效标志设置为无效来实现。
此外,当完全删除如第二实施例所示的其排队等候一个逻辑处理器的多个DMA传输请求时,可以通过将有关的处理器的队列头指针和队列尾指针恢复到控制单元123a中的初始状态来实现。然而,当没有删除全部多个DMA传输请求而是单独地删除的时,需要用于保持队列结构的处理。
图14是存储器映象,其示出了根据本发明第三实施例的存储在DMA传输控制器中的传输参数存储单元中的传输参数阵列。在这例子中,六组传输参数排列等候一个逻辑处理器1。将总线占用时间和队列控制信息赋予六组传输参数。
队列控制信息包括排列在队列中的每个传输参数的存储位置,以及表示其有效性的有效标志。通过队列控制信息来控制队列结构。队列控制信息被分成六个部分。位于右端的部分作为队列头。传输参数的存储位置由队列区域中的有序数来指定。所述的传输参数可以存储在任意位置。当传输参数被登记并且在进行其可使传输参数有效的加载时将有效标志更新为有效性时,确定传输参数存储位置。
当DMA传输完成时并且DMA传输请求单独被删除时,从队列控制信息中删除相关队列信息,将其比相关队列更靠近尾部的队列信息转移到接近队列头部的位置。因此,在传输参数的存储位置中形成了一个间隔。可以将来自处理器的新传输参数单独的排列到这个存储位置。也就是说,新的传输参数可以被记录,以便更新(加载)队列控制信息的有效标志以使其有效。
图23给出了当DMA传输时和当DMA传输完成时队列区域中的队列控制信息以及传输参数的状态的例子。此外,图24给出了当单独删除DMA传输请求时删除前后的排列区域中的队列控制信息以及传输参数的状态的例子。
如上所述,提供了用于分别控制传输参数的队列控制信息。因此,仅更新队列控制信息,因此当DMA传输完成时或者当删除队列时可单独的使传输参数无效。其结构是,位于队列中的DMA传输请求可以被删除,而不必重写传输参数本身。此外,可以容易地删除多个DMA传输请求。
图15是存储器映象,其示出了在这个实施例中当紧急队列排列等候存储在传输参数存储单元121中的传输参数时的阵列。在这种情况下,队列控制信息同样地包括紧急队列的控制信息。因此,可以执行与上述方法相同的处理。
(第四实施例)
在这个实施例中,可以保存DMA传输请求。因此,当应用程序被中断然后继续时,不用分别需要用于在DMA传输期间的收回、删除和重新设置传输参数这样的处理。由此,保存操作和重新设置操作可以以高速进行切换。现在,下面将通过参考图1或图13所示的DMA传输控制器来说明这个实施例。
当中途中断应用程序时,可以使用其用于保存每个逻辑处理器的DMA传输请求的方法。在这种情况下,处理器为每一个逻辑处理器设置从处理器到控制单元123的保存信息。控制单元123控制不执行与逻辑处理器相对应的DMA传输请求,所述逻辑处理器的保存信息被设置。
当单独的保存如第二实施例所示的其排队等候一个逻辑处理器的多个DMA传输时,采用这样的一种方法,该方法为队列控制信息中的每一个DMA传输请求提供了保存标志。图16示出了当为队列控制信息中的每一个DMA传输请求提供了保存标志时队列控制信息的示例性结构。
当保存了每一个逻辑处理器的DMA传输请求时,或当保存了逻辑处理器的全部DMA传输请求时,无需根据赋予相关处理器的总线占用时间即可跳过DMA总线占用。因此,不必等待与下述逻辑处理器相关的DMA传输的总线占用时间的完成,所述逻辑处理器的DMA传输请求被保存,因此可以提高总线使用效率。
此外,可以提供其用于保存全部排列的DMA传输请求的执行的功能。处理器控制控制单元123以执行全部的保存命令,以将DMA传输请求转变为全部保存状态,并且执行消除命令以避免来自全部保存状态的DMA传输请求。当在调试等等时不便于执行DMA传输时,可使用这些功能以保存全部DMA传输的执行。
(第五实施例)
在这个实施例中,实现了重复执行特定DMA传输的功能。由此,可消除对DMA传输的完成到开始下一个DMA传输进行中断所需的系统开销,并且可以提高在应用程序中所重复执行的一系列DMA传输的DMA传输效率。现在,下面将通过参考图1或图13所示的DMA传输控制器来说明这个实施例。
为了实现这个功能,当为所重复执行的DMA传输记录了传输参数时,传输参数存储单元121保存排列传输参数的设置值。控制单元123控制传输参数以重复地恢复(排队)。
图17是存储器映象,其示出了根据本发明的第五实施例的存储在DMA传输控制器中的传输参数存储单元中的传输参数的阵列。在这个实施例中,与第二实施例相类似,六组传输参数排列等候一个逻辑处理器1。将总线占用时间赋予这六组传输参数。
此外,在每一个传输的在参数中,不但保存在DMA传输执行期间所随时更新的传输端的起始地址、传输目的地的起始地址、以及传输字数量的当前值,而且还保存为了将传输参数恢复到初始值而将它们登记时的传输参数的设置值。此外,作为控制标记,提供了重复执行标志。
当重复执行每一个逻辑处理器的DMA传输时,在结束了由一系列传输参数组所组成的DMA传输之后,将一系列传输参数再次恢复到初始值。此外,单独地重复执行DMA传输请求,在其设置有重复执行标志的传输参数的DMA传输结束之后,传输参数被恢复到初始值,以便再次开始DMA传输。
如上所述,自动地重复执行每一个逻辑处理器或每一个单独DMA传输请求的DMA传输,以便可以消除对DMA传输的完成到开始下一个DMA传输进行中断所需的系统开销,并且可以提高DMA传输效率。
(第六实施例)
在这个实施例中,实现了这样的机构,即通过该机构可以暂时禁止DMA传输的时间划分处理。因此,当启动非常紧急的应用程序以执行DMA传输请求时,可以暂时禁止DMA传输的时间划分处理。由此,可以优先处理非常紧急的DMA传输,然后回到普通的操作。现在,下面将通过参考图1或图13所示的DMA传输控制器来说明这个实施例。
通过执行从处理器到控制单元123的规定命令来处理DMA传输的时间划分处理的禁止和取消。作为禁止每一个逻辑处理器的DMA传输的时间划分的方法,存在这样一个方法,即在将总线占用时间设置为诸如最大值或0这样的特定值的情况被认为是禁止时间划分的,或者存在这样一个方法,该方法提供了带有总线占用时间的时间划分禁止标志。此外,通过在如图17所示的传输参数的一部分中提供时间划分禁止标志,可实现每一个单独DMA传输请求的时间划分的禁止。
在禁止时间划分处理的DMA传输中,时间测量单元1231的总线占用时间监视功能被抑止,而不管总线占用时间值或者其能够占用总线的传输数据的数量,并且不用中断现在进行的DMA传输,并且一直执行直到它结束。
如上所述,提供了禁止和消除DMA传输的时间划分处理的机制。因此,当非常紧急应用程序所伴有的DMA传输请求不方便受到划分处理时,DMA传输请求可以优先地被同时处理。
(第七实施例)
图18示出了根据本发明第七实施例的DMA传输控制器的结构方框图。在图18所示的DMA传输控制器12c中,在图1所示的DMA传输控制器12的数据传输执行单元122中提供了传输参数暂时存储单元1221,并且与此相对应的控制功能被添加到控制单元123c上。
在传输参数暂时存储单元1221中,在开始执行DMA传输时由控制单元123c来拷贝来自传输参数存储单元121的传输参数,并且在数据传输执行单元122中执行DMA传输时上述参数用于计算地址。因此,数据传输执行单元122不访问传输参数存储单元121,直到DMA传输中断或完成。
根据上述结构,每次在DMA传输执行期间计算地址时不需参考存储在传输参数存储单元121中的传输参数。因此,可以节省访问存储器所需要的功耗。此外,来自处理器的传输参数的排列不会与访问竟争。尤其是,当传输参数存储单元121由一个端口的存储器组成时,减少了处理器端的等待时间,提高了处理器的有效效率。
(第八实施例)
图19示出了根据本发明第八实施例的DMA传输控制器的结构方框图。在图19所示的DMA传输控制器12b中,将当排列时其用作缓冲器的传输参数暂时加载单元124以及与其相对应的控制功能添加到控制单元123b中。
图20是一个方框图,其示出了传输参数临时加载单元124的示例性结构。传输参数暂时加载单元124可以临时存储一组传输参数。当传输参数排队时,在将其分别形成了传输参数的参数值设置到传输参数暂时加载单元124之后,对开始标志进行设置以更新队列控制信息并且将一组传输参数传送到传输参数存储单元121。
当将传输参数从传输参数临时加载单元传输到传输参数存储单元121时,处理器控制等待排队等候控制单元123b的存取。用这样方法,当传输参数被存储在传输参数存储单元121中时,防止缓存在传输参数临时加载单元124中的参数值改变从而导致不期望的操作。
(第九实施例)
图21示出了根据本发明第九实施例的DMA传输控制器的结构方框图。在图21所示的DMA传输控制器12e中,在图1所示的DMA传输控制器12中提供了第七实施例中的传输参数临时存储单元1221和第八实施例中的传输参数临时加载单元124。最新提供了存储器辅助单元125,并且将与此相对应的控制功能添加到控制单元123e中。
在存储器辅助单元125中,存储其示出了每个逻辑处理器的传输参数是否进行排队的队列有效标志。控制单元123e循环地检查与存储器辅助单元125的每个逻辑处理器相对应的队列有效标志,以便确定是否存在每一个逻辑处理器的DMA传输请求。
当使相关逻辑处理器的任意队列传输参数有效时对队列有效标志进行设置,并且当完成了所有的DMA传输时重新设置队列有效标志。当队列有效标志被更新时,处理器控制排队等候控制单元123e的存取。
因此,每一个逻辑处理器的DMA传输完成之后,可以确定下一个逻辑处理器中是否有DMA传输请求。当没有DMA传输请求时,不必访问传输参数存储单元121,可以以高速执行处理并且可以同时减少功耗。此外,提供并且使用如上所述的队列有效标志。因此,当启动DMA传输控制器时,不必初始化队列控制信息。因此,当传输参数存储单元121是由存储器组成时,队列有效标志是十分有用的。
图22示出了其具有用于将存储器辅助单元125连接到处理器内部总线的路径这样的示例性结构的方框图。因此,可以从DMA传输控制器外面直接访问队列有效标志。
例如,当处理器进入不适当状态时,可以停止处理器的操作以进入调试状态。在这种情况下,可以直接外部地访问队列有效标志。由此,可以提供有效的分析装置。
此外,在调试状态中,当对队列有效标志或队列控制信息进行了不正确地操作,并且此后调试模式回到普通操作时,可在队列有效标志的状态与队列控制信息之间产生了不一致以使处理器进入不适当的状态。为了准备这样的情况,当在队列有效标志与队列控制信息之间产生不一致时,有效的提供了其根据队列控制信息来有效地校正队列有效标志的状态的功能。
在根据本发明的DMA传输控制器中,因为每一个逻辑处理器的总线占用逝去时间被限制在总线占用时间值,因此在实时处理中可以有效地执行DMA传输的调度,可以防止系统中止,并且可以确保处理的实时特征。因此,本发明的DMA传输控制器用作起可调度DMA传输的DMA传输控制器。

Claims (29)

1.一种直接存储器存取传输控制器,包括:
传输参数存储单元,用于存储总线占用时间值以及用于主处理器所执行的多个逻辑处理器的一组或多组直接存储器存取传输的传输参数;
数据传输执行单元,用于根据传输参数来执行直接存储器存取传输;
控制单元,用于控制传输参数的接收和传输,以及直接存储器存取传输的开始和中断;以及
时间测量单元,用于当每一个逻辑处理器的第一个直接存储器存取传输开始时,开始测量总线占用逝去时间,
其中,当总线占用逝去时间达到总线占用时间值时,控制单元中断所执行的直接存储器存取传输以根据与规定顺序的逻辑处理器相关的传输参数来开始执行直接存储器存取传输。
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的直接存储器存取传输控制器,进一步包括这样的机构,该机构用于根据每一个逻辑处理器的传输参数来保存直接存储器存取传输的执行。
14.根据权利要求1或3的直接存储器存取传输控制器,进一步包括这样的机构,用于根据传输参数而单独的保存直接存储器存取传输的执行。
15.根据权利要求1或3的直接存储器存取传输控制器,进一步包括这样的机构,用于根据传输参数来保存所有直接存储器存取传输的执行。
16.根据权利要求13的直接存储器存取传输控制器,其中对于其执行已被保存的直接存储器存取传输而言跳过与直接存储器存取传输相关的所有处理。
17.根据权利要求6的直接存储器存取传输控制器,其中与排列传输参数相关的队列控制信息被存储在每一个逻辑处理器的传输参数存储单元中,并且队列控制信息至少包括单独传输参数的保存信息。
18.根据权利要求1或3的直接存储器存取传输控制器,进一步包括这样的机构,当一系列与逻辑处理器相关的直接存储器存取传输的执行完成时,该机构将传输参数恢复为开始执行直接存储器存取传输时的值,并且根据一系列传输参数来重复执行直接存储器存取传输。
19.根据权利要求1或3的直接存储器存取传输控制器,进一步包括这样的机构,当各直接存储器存取传输完成执行时,该机构将直接存储器存取传输的传输参数恢复为开始执行直接存储器存取传输时的值,并且根据该传输参数来重复执行直接存储器存取传输。
20.根据权利要求1或3的直接存储器存取传输控制器,进一步包括这样的机构,用于禁止每一个逻辑处理器的直接存储器存取传输的中断,而不管总线占用时间值或其可占用总线的传输数据量。
21.根据权利要求1或3的直接存储器存取传输控制器,进一步包括这样的机构,用于单独的禁止直接存储器存取传输的中断,而不管总线占用时间值或其能够占用总线的传输数据量。
22.根据权利要求1或3的直接存储器存取传输控制器,其中数据传输执行单元包括用于保存一组传输参数的传输参数临时存储单元并且数据传输执行单元使用由传输参数临时存储单元所保存的传输参数来执行直接存储器存取传输。
23.根据权利要求6的直接存储器存取传输控制器,其中当传输参数队列和控制单元使用存储在传输参数临时加载单元中的传输参数以形成与每一个逻辑处理器的排列传输参数相关的队列控制信息并且将传输参数和队列控制信息存储在传输参数存储单元中时,该传输参数临时加载单元用作一组传输参数的缓冲器。
24.根据权利要求23的直接存储器存取传输控制器,其中当传输参数排队时,将传输参数从传输参数临时加载单元传输到传输参数存储单元,主处理器等待访问队列。
25.根据权利要求6的直接存储器存取传输控制器,其中为每一个逻辑处理器提供示出了传输参数是否排队的队列有效标志,并且控制单元循环地检查队列有效标志,以便判断每一个逻辑处理器是否有直接存储器存取传输请求。
26.根据权利要求25的直接存储器存取传输控制器,其中当与逻辑处理器相关的任何传输参数有效时,设置队列有效标志,并且当与逻辑处理器相关的所有直接存储器存取传输完成时,重新设置队列有效标志。
27.根据权利要求26的直接存储器存取传输控制器,其中当重新设置任意队列有效标志时,等待重新设置队列有效标志的设置请求。
28.根据权利要求25的直接存储器存取传输控制器,其中存在其能够从直接存储器存取传输控制器外面直接访问队列有效标志的路径。
29.根据权利要求25的直接存储器存取传输控制器,其中当队列有效标志的状态与队列控制信息之间产生不一致时,根据队列控制信息来校正队列有效标志的状态。
CNB2004100851433A 2003-08-01 2004-08-02 直接存储器存取传输控制器 Expired - Fee Related CN100388253C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP285080/2003 2003-08-01
JP2003285080A JP2005056067A (ja) 2003-08-01 2003-08-01 Dma転送制御装置
JP285080/03 2003-08-01

Publications (2)

Publication Number Publication Date
CN1591374A true CN1591374A (zh) 2005-03-09
CN100388253C CN100388253C (zh) 2008-05-14

Family

ID=33535731

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100851433A Expired - Fee Related CN100388253C (zh) 2003-08-01 2004-08-02 直接存储器存取传输控制器

Country Status (5)

Country Link
US (1) US7305499B2 (zh)
EP (1) EP1503292B1 (zh)
JP (1) JP2005056067A (zh)
CN (1) CN100388253C (zh)
DE (1) DE602004012492T2 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100557587C (zh) * 2005-06-02 2009-11-04 索尼株式会社 信息处理装置和信息处理方法
US8996913B2 (en) 2010-07-27 2015-03-31 Panasonic Intellectual Property Management Co., Ltd. Data transfer control device and data transfer control method

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8079036B2 (en) * 2004-11-10 2011-12-13 Microsoft Corporation Method and system for structured DMA transactions
US7734832B2 (en) * 2004-11-10 2010-06-08 Microsoft Corporation Method and system for structured programmed input/output transactions
JP2006157580A (ja) * 2004-11-30 2006-06-15 Ricoh Co Ltd 画像処理装置、画像形成装置、画像処理方法、コンピュータプログラム及び記録媒体
JP2006178787A (ja) * 2004-12-22 2006-07-06 Toshiba Corp 半導体装置とそのデータ転送方法
CN100369024C (zh) * 2005-01-17 2008-02-13 北京中星微电子有限公司 直接存储访问控制装置和图像处理系统以及传输方法
US7555577B2 (en) * 2005-05-13 2009-06-30 Texas Instruments Incorporated Data transfer apparatus with channel controller and transfer controller capable of slave and standalone operation
US7546391B2 (en) * 2005-05-13 2009-06-09 Texas Instruments Incorporated Direct memory access channel controller with quick channels, event queue and active channel memory protection
DE602005015632D1 (de) 2005-06-30 2009-09-03 Freescale Semiconductor Inc Einrichtung und verfahren zur steuerung mehrerer dma-tasks
US8001430B2 (en) 2005-06-30 2011-08-16 Freescale Semiconductor, Inc. Device and method for controlling an execution of a DMA task
EP1899828B1 (en) 2005-06-30 2009-11-25 Freescale Semiconductor, Inc. Device and method for arbitrating between direct memory access task requests
JP2008216472A (ja) * 2007-03-01 2008-09-18 Matsushita Electric Ind Co Ltd 音声復号化装置及び音声復号化システム
US20110196994A1 (en) * 2007-08-30 2011-08-11 Panasonic Corporation Dma control device and data transfer method
US20090063725A1 (en) * 2007-08-31 2009-03-05 O2Micro Inc. Direct memory access system
US8266337B2 (en) * 2007-12-06 2012-09-11 International Business Machines Corporation Dynamic logical data channel assignment using channel bitmap
JP2011060066A (ja) 2009-09-11 2011-03-24 Renesas Electronics Corp データ処理回路
JP5644531B2 (ja) * 2011-01-19 2014-12-24 富士通セミコンダクター株式会社 データ転送装置及びデータ転送方法
US8447897B2 (en) * 2011-06-24 2013-05-21 Freescale Semiconductor, Inc. Bandwidth control for a direct memory access unit within a data processing system
JP5658827B2 (ja) * 2011-06-24 2015-01-28 株式会社日立製作所 ストレージシステム
JP5803689B2 (ja) * 2012-01-17 2015-11-04 トヨタ自動車株式会社 情報処理装置およびdmaコントローラの動作確認方法
US9128925B2 (en) 2012-04-24 2015-09-08 Freescale Semiconductor, Inc. System and method for direct memory access buffer utilization by setting DMA controller with plurality of arbitration weights associated with different DMA engines
JP2014010759A (ja) * 2012-07-02 2014-01-20 Toshiba Corp ブリッジ装置およびその方法、ストレージ装置、ならびにプログラム
JP6004057B2 (ja) * 2015-07-09 2016-10-05 トヨタ自動車株式会社 情報処理装置およびdmaコントローラの動作確認方法
FR3057969B1 (fr) * 2016-10-25 2019-11-01 Thales Systeme de pilotage deterministe du fonctionnement de moyens de transfert de donnees par acces direct a des moyens de memorisation
CN114661644B (zh) * 2022-02-17 2024-04-09 之江实验室 辅助3d架构近存计算加速器系统的预存储dma装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05250305A (ja) * 1992-03-06 1993-09-28 Mitsubishi Electric Corp データ転送制御方式
US5680556A (en) * 1993-11-12 1997-10-21 International Business Machines Corporation Computer system and method of operation thereof wherein a BIOS ROM can be selectively locatable on diffeent buses
JPH0830549A (ja) 1994-07-18 1996-02-02 Fuji Xerox Co Ltd バス制御装置
US5603050A (en) * 1995-03-03 1997-02-11 Compaq Computer Corporation Direct memory access controller having programmable timing
JPH09223102A (ja) 1995-12-14 1997-08-26 Ricoh Co Ltd ダイレクトメモリアクセスコントローラ
JP3712842B2 (ja) * 1997-08-05 2005-11-02 株式会社リコー データ転送制御方法、データ転送制御装置及び情報記録媒体
US6363445B1 (en) * 1998-10-15 2002-03-26 Micron Technology, Inc. Method of bus arbitration using requesting device bandwidth and priority ranking
JP2000132505A (ja) 1998-10-27 2000-05-12 Matsushita Electric Ind Co Ltd バスアクセス方法および装置とその利用装置およびシステム
JP3258300B2 (ja) 1999-09-03 2002-02-18 松下電器産業株式会社 Dma転送装置および画像復号装置
US6542940B1 (en) * 1999-10-25 2003-04-01 Motorola, Inc. Method and apparatus for controlling task execution in a direct memory access controller
JP2002041445A (ja) 2000-05-19 2002-02-08 Matsushita Electric Ind Co Ltd 高性能dmaコントローラ
DE60124484T2 (de) * 2000-09-29 2007-09-06 Ricoh Company, Ltd. Datenverarbeitungsvorrichtung und DMA-Datenübertragungsverfahren
JP2002163239A (ja) * 2000-11-22 2002-06-07 Toshiba Corp マルチプロセッサシステムおよびその制御方法
KR100367084B1 (ko) * 2000-12-22 2003-01-09 한국전자통신연구원 실시간 고속의 데이터 처리용 디엠에이 제어기 및 제어방법
KR100456696B1 (ko) * 2002-05-21 2004-11-10 삼성전자주식회사 집적회로장치의 버스중재기

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100557587C (zh) * 2005-06-02 2009-11-04 索尼株式会社 信息处理装置和信息处理方法
US8996913B2 (en) 2010-07-27 2015-03-31 Panasonic Intellectual Property Management Co., Ltd. Data transfer control device and data transfer control method

Also Published As

Publication number Publication date
EP1503292A3 (en) 2005-03-23
US20050050241A1 (en) 2005-03-03
DE602004012492D1 (de) 2008-04-30
JP2005056067A (ja) 2005-03-03
DE602004012492T2 (de) 2009-04-09
US7305499B2 (en) 2007-12-04
EP1503292A2 (en) 2005-02-02
CN100388253C (zh) 2008-05-14
EP1503292B1 (en) 2008-03-19

Similar Documents

Publication Publication Date Title
CN1591374A (zh) 直接存储器存取传输控制器
CN1288556C (zh) 运算处理系统和控制方法,任务管理系统和方法
CN1517869A (zh) 处理器、运算处理方法和优先度决定方法
CN1276562A (zh) 虚拟机系统
CN1276358C (zh) 用于存储设备的地址转换单元
CN1227589C (zh) 用于保存返回状态的数据处理设备和方法
CN1117315C (zh) 微处理机及多处理机系统
CN1760836A (zh) 信息处理系统、信息处理方法和程序
CN1264078A (zh) 执行多个操作系统的计算机
CN1881183A (zh) 信息处理装置、进程控制方法及其计算机程序
CN1906583A (zh) 信息处理设备、中断处理控制方法、以及计算机程序
CN1165344A (zh) 具有检查点恢复功能的i/o控制设备
CN1782989A (zh) 独立处理多个指令流、软式控制各指令流的处理功能的多线程处理器
CN100346285C (zh) 处理器芯片与存储控制系统及方法
CN1770111A (zh) 具有温度传感器的处理器系统及其控制方法
CN1758213A (zh) 带有共享内容的异构型并行多线程处理器(hpmt)
CN101065725A (zh) 命令供给装置
CN101078999A (zh) 一种实现数据备份和恢复的方法及系统
CN1878131A (zh) 进行流量控制的方法和系统
CN1503142A (zh) 控制高速缓存的高速缓存系统和高速缓存控制装置
CN1658142A (zh) Atapi交换
CN1731402A (zh) 用协处理器加速文件系统操作的方法及装置
CN101038572A (zh) 数据传送装置及数据传送系统
CN1700166A (zh) 信息处理方法、信息处理装置
CN1924761A (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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080514

Termination date: 20120802