CN101154204A - Dma传输控制装置和半导体集成电路装置 - Google Patents

Dma传输控制装置和半导体集成电路装置 Download PDF

Info

Publication number
CN101154204A
CN101154204A CNA2007101517477A CN200710151747A CN101154204A CN 101154204 A CN101154204 A CN 101154204A CN A2007101517477 A CNA2007101517477 A CN A2007101517477A CN 200710151747 A CN200710151747 A CN 200710151747A CN 101154204 A CN101154204 A CN 101154204A
Authority
CN
China
Prior art keywords
data
reading
write
unit
issue
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.)
Pending
Application number
CNA2007101517477A
Other languages
English (en)
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 CN101154204A publication Critical patent/CN101154204A/zh
Pending 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)
  • Information Transfer Systems (AREA)

Abstract

DMA传输控制装置和半导体集成电路装置。读取数据计数器通过在每次发布读取命令时增加应当由所述读取命令获取的读取数据量,并在每次读取数据时递减计数,来对未读取数据量即尚未传输的数据量进行计数。读取命令发布控制单元判断读取命令拒绝的确定量是否等于或大于下一获取目标的读取数据量,并当所述判断结果是肯定的时,允许发布所述读取命令,所述读取命令拒绝的确定量是通过从内部存储器的空闲空间减去所述未读取数据量而获得的。

Description

DMA传输控制装置和半导体集成电路装置
技术领域
本发明涉及用于在装置之间传输数据的DMA传输控制装置。
背景技术
传统地,在装置之间直接进行数据传输而不通过CPU的直接存储器访问(DMA)传输广为人知。DMA传输用于在两个存储器之间直接进行存储器数据传输的情况。
在DMA传输中,传输所需的信息,包括数据传输源地址、数据传输目的地址、数据传输大小等,设置在DMA传输控制装置的寄存器等上。然后,基于CPU等对传输开始的控制而执行传输操作。由于在传输期间CPU没有必要进行传输控制,与通过CPU进行传输控制的情况相比,可以高速进行数据传输,并且可以降低CPU的负载。当与寄存器等设置的大小相等的数据传输完成时,通过设置DMA传输控制装置来断言DMA传输的完成中断。当CPU探测到该DMA传输的完成中断时,CPU读取DMA传输控制装置的寄存器等,然后管理DMA传输的结果和状态。
至于与DMA传输控制装置连接的总线,在很多情况下,可以进行突发传输,在所述突发传输中,通过每个地址的一次指定,以一批的形式传输两段以上数据的突发传输。此外,当连接总线协议是可以进行读取命令或写入命令的优先发布的协议时,在访问具有较长等待时间(过渡延迟)的装置时可以提高传输速率。
在通常的DMA传输中,所需数据以每次设置的大小读取,并在之后写入。因此,由于开始写入的时序在读取完成之后,当向等待时间长的装置传输数据时,传输效率不高。
为了处理这样的问题,如图12所示,传统的DMA传输控制装置包括先进先出(FIFO),管理FIFO中存储的数据量,并基于该数据量确定写和读的时序。更清楚地,该传统的DMA传输控制装置判断FIFO中是否有空闲区域,当FIFO中有空闲区域时,则读取数据。此外,该传统的DMA传输控制装置判断是否有可以写入FIFO的数据量,当有可以写入FIFO的数据量时,将数据写入FIFO。对于这种配置,例如,参照日本专利申请公开特开平No.2001-142841。
但是,在上述传统传输控制装置中,当出现进行命令优先发布的情况时,由于仅从FIFO的当前状态确定许可命令发布,而没有识别与进行优先发布的命令有关的数据量,可能发生溢出或下溢。当发生溢出或下溢时,根据连接总线协议,可能要一直等待到FIFO的状态返回正常为止。但是,在这样的情况下,连接总线的总线权继续被占有,结果,当与另一个主控的访问发生竞争时,可能会导致死锁。此外,当没有进行命令的优先发布时,由于数据的访问等待时间,不能提高数据传输速度。
发明内容
因此,本发明的主要目的在于提供一种DMA传输控制装置,其可以只根据不发生内部存储器溢出或内部存储器下溢的时序,进行命令的优先发布,并且可以缩短数据传输时间。
(1)依照本发明的DMA传输控制装置是进行从传输源侧到传输目的侧的直接存储器访问传输的DMA传输控制装置,该装置包括暂时存储读取数据的内部存储器。所述DMA传输控制装置包括:读取数据计数器,配置为通过在每次发布读取命令时逐次累加应当由所述读取命令获取的读取数据量,并且在每次读取数据时向下计数,来对未读取数据量即尚未传输的数据量进行计数;和读取命令发布控制单元,配置为判断一读取数据拒绝的确定量是否等于或大于下一获取目标的读取数据量,并且当判断结果是肯定的时,允许发布所述读取命令。所述读取命令拒绝的确定量通过从所述内部存储器的空闲空间减去所述未读取数据量来获得的。
在发布所述读取命令时,所述读取命令发布控制单元判断所述内部存储器的空闲空间Q0是否等于或大于所述将要从现在开始获取的读取数据量QR。所述读取命令拒绝的确定量Jr用于该判断。就读取命令拒绝的确定量Jr而论,Jr=Q0-Qr成立。所述读取命令发布控制单元判断在所述下一获取目标的读取数据量QR和所述读取命令拒绝的确定量Jr之间是否成立Jr>=QR。在初始阶段,由于所述未读取数据量Qr=0,Jr=Q0,因此判断Jr=Q0>=QR。那么,在初始阶段的判断结果通常是肯定的,并且所述读取命令发布控制单元允许发布所述读取命令。基于该读取命令的发布,在所述读取数据计数器中,所述读取数据量QR被加到所述未读取数据量Qr(Qr←Qr+QR)。读取命令拒绝的确定量Jr(=Q0-Qr)减少的量相当于所述未读取数据量Qr增加的量。另外,关于这次减少之后读取命令拒绝的确定量Jr,所述读取命令发布控制单元判断Jr=Q0-Qr>=QR是否成立(QR表示所述下一获取目标的读取数据量)。当该判断结果是肯定的时,所述读取命令发布控制单元允许发布下一读取命令。这就是所述读取命令的优先发布。通过该优先发布,在所述读取数据计数器中,下一读取数据量QR被加入未读取数据量Qr,结果所述读取命令拒绝的确定量Jr减少相当于所述读取数据量QR的量。另一方面,当前述判断结果是否定的时,不允许发布所述下一读取命令。
所述内部存储器的空闲空间Q0随着所述读取命令的执行和所述写入命令的执行而动态地改变。当基于所述写入命令的执行,向所述传输目的侧发送所述从内部存储器中读取的数据时,所述内部存储器的数据量Q减少,而所述空闲空间Q0增加。此外,当基于所述读取命令的执行而从所述传输源侧读取的数据被存储到内部存储器时,所述内部存储器的数据量Q增加,所述空闲空间Q0减少,并且所述未读取数据量Qr减少。所述未读取数据量Qr的减少对应于所述读取命令拒绝的确定量Jr=Q0-Qr的值的增加。在没有数据从所述内部存储器发布到所述传输目的侧的时序中,所述空闲空间Q0的减少和所述未读取数据量Qr的减少相抵消,读取命令拒绝的确定量Jr的值维持不变。因此,以上根据读取命令拒绝的确定量Jr进行的判断结果没有改变,但是,维持否定状态,并且不允许所述下一读取命令。但是,在从所述内部存储器向所述传输目的侧发布数据的时序中,所述空闲空间Q0增加的量由所述数据发布引起,结果是,所述读取命令拒绝的确定量Jr的值增加。当基于该读取命令拒绝的确定量Jr的增加,Jr=Q0-Qr>=QR(QR表示下一获取目标的读取数据量)的判断结果是肯定的时,所述读取命令发布控制单元允许再次发布所述下一读取命令。这也是所述读取命令的优先发布。另外,在这种情况下,在所述读取数据计数器中,所述下一读取数据量QR被加入所述未读取数据量Qr。
在上文中,在进行所述读取命令的优先发布时,由于所述优先发布是在利用所述读取命令拒绝的确定量Jr预先避免了内部存储器溢出的条件下进行的,所以可以缩短所述数据传输时间而不导致溢出。
(2)此外,依据本发明的DMA传输控制装置是进行从传输源侧到传输目的侧的直接存储器访问传输的DMA传输控制装置,该装置包括暂时存储读取数据的内部存储器。所述DMA传输控制装置包括:写入数据计数器,配置为通过在每次发布写入命令时逐次累加应当由所述写入命令发布的写入数据量,并且在每次数据被写入时向下计数,来对未写入数据量即尚未传输的数据量计数;和写入命令发布控制单元,配置为判断所述写入命令拒绝的确定量是否等于或大于下一发布目标的写入数据量,并且当所述判断结果是肯定的时,允许发布所述写入命令,所述写入命令拒绝的确定量通过从所述内部存储器中存储的数据量减去所述未写入数据量而获得。
在发布写入命令时,所述写入命令发布控制单元判断所述内部存储器的数据量Q是否等于或大于将要从现在开始发布的写入数据量QW。所述写入命令接受/拒绝确定量Jw用于该判断。就所述写入命令接受/拒绝确定量Jw而论,Jw=Q-Qw成立。所述写入命令发布控制单元判断在所述下一发布目标的写入数据量QW和所述读取命令接受/拒绝确定量Jw之间是否成立Jw>=QW。在初始阶段,由于所述未写入数据量Qw=0,Jw=Q,因此在初始阶段数据量Q很小的情况下,在Jw=Q>=QW的判断中的判断结果通常是否定的。当所述数据量Q增加时,所述判断结果变为肯定的,所述写入命令发布控制单元允许发布所述写入命令。基于该写入命令的发布,在所述写入数据计数器中,所述写入数据量QW被加入所述未写入数据量Qw(Qw←Qw+QW)。所述写入命令接受/拒绝确定量Jw(=Q-Qw)减少的量等于未写入数据量Qw中增加的量。另外,关于在这次减少之后的所述写入命令接受/拒绝确定量Jw,所述写入命令发布控制单元判断Jw=Q-Qw>=QW是否成立(QW表示下一获取目标的写入数据量)。当该判断结果是肯定的时,所述写入命令发布控制单元允许发布所述下一写入命令。这就是所述写入命令的优先发布。基于该优先发布,在所述写入数据计数器中,所述下一写入数据量QW被加入未写入数据量Qw,结果,所述写入命令接受/拒绝确定量Jw减少一等于所述写入数据量QW的量。另一方面,当前述判断结果是否定的时,不允许发布所述下一写入命令。
所述内部存储器的数据量Q随着所述读取命令的执行和所述写入命令的执行而动态地改变。当通过执行所述读取命令从所述传输源侧读取的数据被存储到内部存储器时,所述内部存储器的数据量Q增加。此外,当通过执行所述写入命令从所述内部存储器读取的数据被发送到所述传输目的侧时,所述内部存储器的数据量Q减少,并且所述未写入数据量Qw减少。所述未写入数据量Qw的减少对应于所述写入命令接受/拒绝确定量Jw=Q-Qw的值的增加。在没有数据从所述传输源侧读入所述内部存储器的时序中,所述数据量Q的减少和所述未写入数据量Qw的减少相抵消,所述写入命令接受/拒绝确定量Jw的值维持不变。因此,基于所述写入命令接受/拒绝确定量Jw的判断结果没有改变,但是维持了否定状态,并且不允许下一写入命令。但是,在从所述数据源侧向所述内部存储器发布数据的时序中,所述数据量Q增加的量由数据发布引起,结果,所述写入命令接受/拒绝确定量Jw的值增加。当基于所述写入命令接受/拒绝确定量Jw的增加,Jw=Q-Qw>=QW(QW表示所述下一获取目标的写入数据量)的判断结果是肯定的时,所述写入命令发布控制单元允许再次发布所述下一写入命令。这也是所述写入命令的优先发布。另外,在这种情况下,在所述写入数据计数器中,所述下一发布目标的写入数据量QW被加入所述未写入数据量Qw。
在上文中,在进行所述写入命令的优先发布时,由于所述优先发布是在利用所述写入命令接受/拒绝确定量Jw预先避免了所述内部存储器下溢的条件下进行的,因此可以缩短所述数据传输时间而不导致下溢。
(3)此外,依照本发明的DMA传输控制装置是进行从传输源侧到传输目的侧的直接存储器访问传输的DMA传输控制装置,该装置包括暂时存储读取数据的内部存储器。所述DMA传输控制装置包括:读取数据计数器,配置为通过在每次发布读取命令时逐次累加应当由所述读取命令获取的读取数据量,并且在每次读取数据时向下计数,来对未读取数据量即尚未传输的数据量进行计数;读取命令发布控制单元,配置为判断一读取命令拒绝的确定量是否等于或大于所述下一获取目标的读取数据量,并且当所述判断结果是肯定的时,允许发布所述读取命令,所述读取命令拒绝的确定量是通过所述读取数据计数器从所述内部存储器中减去所述读取数据计数器的所述未读取数据量而获得的;写入数据计数器,配置为通过在每次发布写入命令时逐次累加应当由该写入命令发布的写入数据量并且在每次数据被写入时向下计数,来对未写入数据量即尚未传输的数据量进行计数;和写入命令发布控制单元,配置为判断一写入命令拒绝的确定量是否等于或大于所述下一发布目标的写入数据量,并且当所述判断结果是肯定的时,允许发布所述写入命令,所述写入命令拒绝的确定量是通过从所述内部存储器中存储的数据量中减去所述未写入数据量而获得的。
这对应于结合上述(1)和(2)的配置,并且所述读取命令的优先发布是在基于所述读取命令拒绝的确定量Jr预先避免了所述内部存储器溢出的条件下进行的。因此,可以缩短所述数据传输时间而不导致溢出。进一步地,所述写入命令是在利用所述写入命令接受/拒绝确定量Jw预先避免了所述内部存储器下溢的条件下发布的。因此,可以缩短所述数据传输时间而不导致下溢。
根据一方面,在具有上述配置的DMA传输控制装置中,进一步包括读取主控ID发布单元,其配置为在发布所述读取命令时输出为每个信道所共用的读取主控ID。
当以这样的方式配置时,也可以将不同信道的传输当作来自相同主控的传输。即使当较晚发布的读取命令的数据比之前发布的读取命令的数据更早到达时,所述总线连接等也做出调整,以便所述读取数据以发布所述读取命令的顺序到达。因此,在有两个以上信道的数据传输中,可以维持数据的一致性。
此外,在具有上述配置的DMA传输控制装置中,进一步包括:读取命令发布单元,配置为发布所述读取命令;写入命令发布单元,配置为发布写入命令;读取数据获取单元,配置为获取所述读取数据;写入数据发布单元,配置为发布写入数据;和写入响应获取单元,配置为获取写入响应;其中所述读取命令发布单元包括读取命令发布控制单元和读取主控ID发布单元,所述写入命令发布单元包括写入命令发布控制单元、写入主控ID发布单元,并且可以在所述读取命令发布单元、所述写入命令发布单元、所述读取数据获取单元、所述写入数据发布单元和所述写入响应获取单元中进行不同信道的数据传输过程。
当以这样的方式配置时,在两个以上的信道混合的数据传输中,也可以顺序地进行所述数据传输的每个过程,并且可以缩短所述数据传输时间。
此外,在具有上述配置的DMA传输控制装置中,进一步包括信道控制单元,配置为控制以下操作步骤中的至少一个:所述读取数据获取单元从所述读取命令发布单元继承信道号码的步骤;所述写入命令发布单元从所述读取命令发布单元继承信道号码的步骤;所述写入数据发布单元从所述写入命令发布单元继承信道号码的步骤;和所述写入响应获取单元从所述写入数据发布单元继承信道号码的步骤。
或者,所述信道控制单元包括用于信道的FIFO;所述用于信道的FIFO包括以下以下读取指针中的至少一种:用于所述读取命令发布单元的读取指针、用于所述写入命令发布单元的读取指针、用于所述写入数据发布单元的读取指针和用于所述写入响应获取单元的各读取指针,它们分别独立地操作。
当如上述所配置时,在所述数据传输的每次处理中,由于可以正确识别在当前数据处理完成之后处理后续数据的信道,因此即使当有两个以上信道时,也可以正确地进行所述数据传输。
此外,在具有上述配置的DMA传输控制装置中,利用由前述DMA传输控制装置设置的单位大小来表达所述读取数据计数器中的未读取数据量、和/或所述写入数据计数器中的未写入数据量、和/或待发布的所述读取命令中获取目标的读取数据量、和/或待发布的所述写入命令中发布目标的写入数据量。
当以这样的方式配置时,由于以单位大小计算所述数据量,不需要所述数据量的详细计算,可以减少所述数据量的计算时间和电路面积。
另外,在具有上述配置的DMA传输控制装置中,所述内部存储器由FIFO组成,所述FIFO的数据宽度为所述单位大小,即使在所述读取数据信道改变时的最后读取数据不足所述单位大小的情况下,也向前移动写入指针,并且即使在所述写入数据信道改变时的最后写入数据不足所述单位大小时,也向前移动读取指针。
当如上述所配置时,在信道中的改变中,由于有效数据是从单位大小的头部开始的,可以很容易地进行数据量的计算。
或者,在具有上述配置的DMA传输控制装置中,所述内部存储器由FIFO组成;所述FIFO具有的数据宽度为所述单位大小,即使当所述读取数据的连续区域的最后读取数据不足所述单位大小时,也向前移动写入指针,并且即使当所述写入数据的连续区域的最后写入数据不足所述单位大小时,也向前移动读取指针。
当上述所配置时,由于所述有效数据是从所述单位大小的头部开始的,在数据的不连续部分的头部,可以很容易地计算所述数据量。
此外,根据本发明的半导体集成电路装置包括:上述数据传输控制装置之一;和作为所述数据传输控制装置的传输源侧或传输目的侧的外部存储器。
当以这样的方式配置时,即使在访问诸如SDRAM的存取等待时间很长的外部存储器时,也可以通过加速所述命令的优先发布来阻止访问性能恶化。
另外,本发明还包括适当地组合以上所说明的两个以上方面的配置的DMA传输控制装置。
根据本发明,即使在进行所述命令的优先发布时,也可以缩短所述数据传输时间,而不导致所述内部存储器中存储的数据溢出或下溢。此外,由于不需要基于所述优先发布的命令的数量进行控制,因此不需要限制所述优先发布的数量。此外,由于可以基于设置的单位大小来进行,因此控制所述命令的发布所需的计算变得更容易。此外,可以正确地进行有两个以上信道的数据传输。
由于本发明的所述DMA传输控制装置可以在考虑所述内部存储器的状态的同时,以最优时序进行所述命令的优先发布,因此可以缩短所述数据传输时间。另外,即使在两个以上信道混合的传输中,由于没有出现由信道改变引起的退化,因此可以进行灵活传输设置。另外,在包括所述DMA传输控制功能的总线适配器中,可以缩短在具有不同协议的总线之间的数据传输时间。
附图说明
如果理解了以下所描述的实施例,则本发明的其它目的变得清楚,它们将在所附的权利要求中详细说明。并且,如果本发明被实施,本领域技术人员将意识到本申请文件没有触及的许多利益。
在附图中:
图1是示出根据本发明第一实施例的DMA传输控制装置的示意性配置的方框图;
图2示出根据本发明第一实施例的传输控制实例图;
图3是示出根据本发明第二实施例的DMA传输控制装置的示意性配置的方框图;
图4示出根据本发明第二实施例的信道控制实例图;
图5示出根据本发明第二实施例的传输控制实例图;
图6是示出根据本发明第三实施例的DMA传输控制装置的示意性配置的方框图;
图7示出根据本发明第三实施例的信道控制实例图;
图8是示出根据本发明第四实施例的DMA传输控制装置的示意性配置的方框图;
图9是示出根据本发明第五实施例的DMA传输控制装置的示意性配置的方框图;
图10示出根据本发明第五实施例的信道控制实例图;
图11是示出根据本发明第六实施例的DMA传输控制装置的示意性配置的方框图;
图12是示出根据现有技术的DMA传输控制装置的示意性配置的方框图。
具体实施方式
以下,将参照附图,详细说明根据本发明的DMA传输控制装置的实施例。
(第一实施例)
图1是示出根据本发明第一实施例的DMA传输控制装置100的示意性配置的方框图。本实施例的DMA传输控制装置100通过总线A与传输源装置连接,并通过总线B与传输目的装置连接。在图1中,附图标记1表示存储传输信息的设置寄存器。该设置寄存器1的传输信息包括传输大小、传输源起始地址、传输目的起始地址,传输源连续区域(continuum region)大小、传输目的连续区域大小、传输源数据的宽度、传输目的数据的宽度等。附图标记2表示内部存储器,由总线A向该内部存储器供应读取数据Dr,该内部存储器向总线B输出写入数据Dw。附图标记11表示读取命令发布控制单元。附图标记13表示读取数据计数器,其对未读取数据量Qr计数,Qr示出虽然读取命令发布控制单元11发布读取命令,但是尚未获取的数据量。附图标记21表示写入命令发布控制单元。附图标记23表示写入数据计数器,其对未写入数据量Qw计数,Qw示出虽然写入命令发布控制单元21发布写入命令,但是尚未发布的数据量。该实施例的DMA传输控制装置100向读取命令发布控制单元11供应内部存储器2的空闲空间量Q0和读取数据计数器13的未读取数据量Qr,并且向写入命令发布控制单元21供应内部存储器2的数据量Q和写入数据计数器23的未写入数据量Qw。
另外,存储传输所必需的信息的设置寄存器1不局限于以上所述。可以将设置寄存器1配置为通过不同的方法给出传输信息,例如从外部终端输入传输信息。
接下来,说明如上所述的本实施例的DMA传输控制装置的操作。当向未读取数据量Qr发布读取命令时,读取数据计数器13只增加从读取命令中获得的读取数据量QR,然后在数据被实际读取时进行递减计数。类似地,当向未写入数据量Qw发布写入命令时,写入数据计数器23只增加由写入命令发布的写入数据量QW,然后在数据被实际写入时进行递减计数。
当开始数据传输时,首先,以设置寄存器1为基础确定发布的读取命令,并计算该读取命令获取的读取数据量QR。通过从内部存储器2的空闲空间Q0减去读取数据计数器13的未读取数据量Qr,读取命令发布控制单元11计算读取命令拒绝Jr的确定量(Jr=Q0-Qr)。进一步地,读取命令发布控制单元11判断该读取命令拒绝的确定量Jr是否等于或大于上述读取数据量QR(Jr>=QR)。
当上述的判断结果是肯定的时,即当满足以下条件时,读取命令发布控制单元11允许发布读取命令。条件如下:
读取数据量QR等于或小于读取命令拒绝的确定量Jr,并且
即使内部存储器2中的读取数据增加,也不超过内部存储器2的容量。
所发布的读取命令通过总线A发送到传输源装置,来自传输源装置的读取数据Dr顺序地通过总线A发送到DMA传输控制装置100。读取数据Dr一次性写入内部存储器2中。
在写入侧,写入数据计数器23以设置寄存器1中的、用于进行传输的信道的寄存器为基础,确定待发布的写入命令,并计算要通过该写入命令发布的写入数据量Qw。通过从内部存储器2的数据量Q减去写入数据计数器23的未写入数据量Qw,写入命令发布控制单元21计算写入命令接受/拒绝确定量Jw(Jw=Q-Qw)。进一步地,写入命令发布控制单元21判断该写入命令接受/拒绝确定量是否等于或大于上述的写入数据量QW(Jw>=QW)。
当上述的判断结果是肯定的时,即当满足以下条件时,写入命令发布控制单元21允许发布写入命令。条件如下:
写入数据量QW等于或小于写入命令接受/拒绝确定量Jw,并且
即使从内部存储器2中发布写入数据,内部存储器2的数据量也不为负数。
所发布的写入命令通过总线B发送到传输目的装置。内部存储器2根据该写入命令发布写入数据Dw。所发布的写入数据Dw通过总线B发送到传输目的装置。
图2示出了传输的一个实例。假设设置寄存器2的设置如下:
传输大小为12字节;
读取数据宽度为1字节;
写入数据宽度为1字节;并且
所有的连续区域被传输。此外,还假设内部存储器2的容量为10字节,并且以连接总线A和B的协议为基础,将根据一条命令的数据突发个数定义为4次或更少。
在下文中将概括论述图2的内容。当空闲空间Q0被加到内部存储器2的数据量Q时,结果总是10(Q+Q0=10)。读取命令拒绝的确定量Jr为通过从空闲空间Q0中减去未读取数据量Qr而获得的数量(Jr=Q0-Qr)。写入命令接受/拒绝确定量Jw为通过从数据量Q中减去未写入数据量Qw而获得的数量(Jw=Q-Qw)。白圈意味着1字节的读取数据Dr被读入内部存储器2。黑圈意味着从内部存储器2中发布1字节的写入数据Dw。当读取命令拒绝的确定量Jr比读取数据量QR大4字节以上时,允许读取命令(优先发布)。当写入命令接受/拒绝确定量Jw比写入数据量QW大4字节以上时,允许写入命令(优先发布)。
首先,在图2的(a)处,读取命令发布控制单元11以待发布的读取命令为基础,计算待获取的读取数据量QR。在此,基于读取数据宽度(1字节)和突发的最大个数(4次),该读取数据量QR被确定为为4字节(QR=1×4=4)。此外,通过从10字节的内部存储器2空闲空间Q0中减去0字节的未读取数据量Qr,读取命令发布控制单元11计算出读取命令拒绝的确定量Jr(=Q0-Qr=10-0)为10字节。比较该读取命令拒绝的确定量Jr与上述读取数据量QR(=4字节),Jr>=QR(10>4)成立。因此,可以认为即使在读取数据时,内部存储器2也没有溢出(可以认为可以避免溢出)。因此,读取命令发布控制单元12允许发布读取命令。此外,读取数据计数器13以读取命令的发布为基础,将计数得到的未读取数据量Qr增加4字节(Qr←Qr+QR=0+4=4)。
接下来,在图2的(b)处,读取命令发布控制单元11以待发布的读取命令为基础,确定待获取的读取数据量QR为4字节。进一步地,通过从内部存储器2的空闲空间Q0(10字节)中减去未读取数据量Qr(4字节),读取命令发布控制单元11计算出读取命令拒绝的确定量Jr(=Q0-Qr=10-4)为6字节。比较该读取命令拒绝的确定量Jr(6字节)与上述读取数据量QR(4字节),Jr>=QR(6>4)成立。因此,可以认为即使在读取数据时,内部存储器2没有溢出(可以认为可以避免溢出)。因此,读取命令发布控制单元11允许再次发布读取命令。虽然这时没有完成前一次的读取命令,但是可以通过发布该读取命令作为优先发布来缩短读取数据获取过程所需的时间。
写入命令发布控制单元21计算写入数据量Qw。写入数据量Qw是以待发布的写入命令为基础而发布的。在此,基于写入数据宽度(1字节)和突发的最大个数(4次),确定写入数据量Qw为4字节(QW=1×4=4)。当以发布读取命令为基础获取读取数据Dr时,数据在内寄存器2中积累。在图2的(c)处,虽然内部存储器2的数据量Q为4字节,从该数据量Q中减去0字节的未读取数据量Qw,计算出写入命令接受/拒绝确定量Jw(=Q-Qw=4-0)为4字节。比较该写入命令接受/拒绝确定量Jw(4字节)和上述写入数据量QW(4字节),Jw>=QW成立。因此,可以认为确保写入所必需的数据(可以认为可以避免下溢)。因此,写入命令发布控制单元21允许发布写入命令。
此外,在图2的(d)处,前一次的读取命令尚未完成。但是,由于内部存储器2的数据量Q为5字节,通过从该数据量Q中减去未写入数据量Qw(1字节),写入命令发布控制单元21计算出写入命令接受/拒绝确定量Jw(=Q-QW=5-1)为4字节。比较该写入命令接受/拒绝确定量Jw(4字节)与上述写入数据量QW(4字节),Jw>=QW成立。因此,可以确认写入所必需的数据量。因此,写入命令发布控制单元21进行写入命令的优先发布。因此,顺序地执行包括优先发布的读取和写入。
另外,这些说明仅仅是实例,并不局限于以上所述。根据以上说明的方法,可以根据内部存储器的状态以最优时序进行命令的优先发布,并且可以缩短数据传输时间。
(第二实施例)
图3是示出根据本发明第二实施例的DMA传输控制装置100的示意性配置的方框图。就本实施例的DMA传输控制装置100而论,读取命令发布单元10和读取数据获取单元14通过连接到传输源装置的总线A连接,而写入命令发布单元20、写入数据发布单元24和写入响应获取单元25通过连接到传输目的装置的总线B连接。设置寄存器1存储每个信道的传输信息。就传输信息而论,与第一实施例类似。读取命令发布单元10包括读取命令发布控制单元11和读取主控ID发布单元12,所述读取主控ID发布单元12发布各信道共用的读取主控ID;而写入命令发布单元20包括写入命令发布控制单元21和写入主控ID发布单元22,所述写入主控ID发布单元22发布各信道共用的写入主控ID。从读取数据获取单元14向内部存储器2供应读取数据Dr,内部存储器2还向写入数据发布单元24输出写入数据Dw。附图标记3为信道控制单元,其控制由所有部分传输的信道。附图标记31表示的FIFO存储由读取命令发布单元10执行的信道信息,附图标记32表示的FIFO存储由读取数据获取单元14执行的信道信息,附图标记33表示的FIFO存储由写入命令发布单元20执行的信道信息,附图标记34表示的FIFO存储由写入数据发布单元24执行的信道信息。至于向读取命令发布控制单元11供应内部存储器2的空闲空间Q0和读取数据计数器13的未读取数据量Qr,和向写入命令发布控制单元21供应内部存储器2的数据量Q和写入数据计数器23的未写入数据量Qw,与第一实施例类似。由于其它配置与第一实施例类似,因此省略关于其的说明。
接下来,说明如上配置的该实施例的DMA传输控制装置的操作。当读取命令发布单元10向总线A发布读取命令时,读取数据计数器13将未读取数据量Qr增加由读取命令获取的读取数据量QR,并且在每次读取数据获取单元14从总线A获取读取数据Dr并将读取数据Dr存储到内部存储器2中时,进行递减计数。类似地,当写入命令发布单元20向总线B发布写入命令时,写入数据计数器23将由写入命令发布的写入数据量QW与未写入数据量Qw相加,并且在每次写入数据发布单元24从内部存储器2中读取写入数据并向总线B发布该写入数据时,进行递减计数。
接下来,说明在本实施例的DMA传输控制装置中进行数据传输的方法。首先,由读取命令发布单元10指派一信道,信道控制单元3向该信道传输数据。读取命令发布单元10以设置寄存器1的被指派信道的寄存器为基础,确定待发布的读取命令,并以该读取命令为基础,计算所获取的读取数据量QR。在通过从内部存储器2的空闲间Q0中减去读取数据计数器13的未读取数据量Qr(Jr=Q0-Qr)而计算出读取命令拒绝的确定量Jr之后,读取命令发布控制单元11判断该读取命令拒绝的确定量Jr是否等于或大于上述读取数据量QR(Jr>=QR)。
当上述判断结果是肯定的时,即当满足以下条件时,读取命令发布控制单元11允许发布读取命令。条件包括如下:
读取数据量QR等于或小于读取命令拒绝的确定量Jr,并且
即使内部存储器2中的读取数据增加,也没有超过内部存储器2的容量。
在读取命令发布的同时,读取主控ID发布单元12发布读取主控ID,用来识别发起传输的主控。在此,即使是不同的信道,读取主控ID发布单元12发布相同的读取主控ID。此外,读取主控ID发布单元12将以读取命令为基础的所获取读取数据数量QR加到读取数据计数器13的未读取数据量Qr(Qr←Qr+QR)。进一步地,在发布每个信道的第一读取命令的同时,读取主控ID发布单元12将信道识别信息存储到用于该信道的FIFO中。
所发布的读取命令通过总线A发送到传输源装置,并且来自传输源装置的读取数据顺序地通过总线A发送到读取数据获取单元14。总线A可以保留数据Dr,进一步检查通过总线A的读取命令的读取主控ID,并在发布了两个以上具有相同的读取主控ID的读取命令时,做出调整,以发布命令的顺序向主控发送读取数据Dr。在此,当较晚发布的读取命令的数据比较早发布的读取命令的数据更早到达时,总线A保留该数据而不向主控发送该数据。然后,当较早发布的读取命令的数据到来时,总线A向主控发送该较早发布的数据,然后向主控发送较晚发布的被总线A保留的数据。因此,在同时有两个以上信道的情况下,保持了数据传输中数据的完整性。
当完成获取数据或处于初始状态时,读取数据获取单元14根据FIFO31的最前信道的标识号确定所执行的信道,并开始获取读取数据。读取数据获取单元14参照设置寄存器1中对应信道的寄存器的内容,确定待获取读取数据的数量和地址位置。另外,由于在发布读取命令的时候,读取主控ID为信道所共用,所以即使当较晚发布另一个信道的读取命令时,读取数据也以发布命令的顺序到达读取数据获取单元14。待获取的数据被一次性写入内部存储器2,这时读取数据计数器13将未读取数据量Qr减一(Qr←Qr-1)。此外,读取数据获取单元14对于每个信道将用于信道的信道标识号与第一读取数据获取同时存储到用于该信道的FIFO 32。
当完成发布命令或处于初始状态时,写入命令发布单元20根据FIFO32的最先信道的标识号确定所执行的信道,然后开始发布写入命令。即写入命令发布单元20首先以设置寄存器1的上述指派信道的寄存器为基础,确定待发布的写入命令,并以该写入命令为基础,计算待发布的写入数据量QW。在通过从内部存储器2的数据量Q中减去写入数据计数器23的未读取数据量Qw,计算出写入命令接受/拒绝确定量Jw(Jw=Q-Qw)之后,写入命令发布控制单元21判断该写入命令接受/拒绝确定量Jw是否等于或大于上述写入数据量QW(Jw>=QW)。
当上述判断结果是肯定的时,即当满足以下条件时,写入命令发布控制单元21允许发布写入命令。条件如下:
写入数据量QW等于或小于写入命令接受/拒绝确定量Jw,并且
即使从内部存储器2中发布写入数据,内部存储器2的数据量也不为负数。
虽然在发布写入命令的同时,写入主控ID发布单元22发布用于识别进行传输的主控的写入主控ID,但是即使在不同信道的情况下,写入主控ID发布单元22也发布相同的写入主控ID。此外,写入主控ID发布单元22将以写入命令为基础发布的写入数据量加到写入数据计数器23的未写入数据量Qw。进一步地,在发布每个信道的第一写入命令的同时,写入主控ID发布单元22将信道标识号存储到用于该信道的FIFO33。
当已经完成发布数据或处于初始状态时,在根据FIFO33的最先信道的标识号确定所执行的信道之后,写入数据发布单元24开始发布写入数据。根据设置寄存器中对应该信道的寄存器来确定待发布的写入数据的数量和地址位置。虽然从内部存储器2接收的写入数据被发送到总线B,但是这时写入数据计数器将未写入数据量Qw减一(Qw←Qw-1)。进一步地,在发布每个信道的第一写入命令的同时,写入数据发布单元24将信道标识号存储到用于该信道的FIFO 34。
所发布的写入命令和写入数据通过总线B发送到传输目的装置,而来自传输目的装置的写入响应信号顺序地通过总线B发送到写入响应获取单元25。总线B可以保留写入响应信号,检查经过总线B的写入命令的写入主控ID,并当写入数据发布单元24发布了具有相同写入主控ID的两个以上写入命令时,做出调整,来将写入响应以发布命令的顺序向DMA传输控制装置100发送写入响应。当较晚发布的写入命令的响应比较早发布的写入命令的响应更早到达时,总线B保留该响应,而不向DMA传输控制装置100发送该响应。然后,当较早发布的写入命令的响应到来时,总线B向DMA传输控制装置100发送较早发布的响应,然后向主控发送被总线B保留的响应。因此,在同时有两个以上信道的情况下,保持了数据传输的完整性。
当已经完成获取响应或处于初始状态时,写入响应获取单元25根据FIFO 34的最先信道的标识号确定所执行的信道,并开始获取响应。根据设置寄存器1中对应信道的寄存器,来确定获取的响应的数量。当获取了必需数量的响应时,写入响应获取单元25确定对应信道的数据传输完成,并执行完成中断和其它过程。另外,由于在发布写入命令的时候,写入主控ID为信道所共用,因此即使当稍后发布另一个信道的写入命令时,响应也以发布命令的顺序到达写入响应获取单元25。
图4示出了控制信道的实例。该图示出了在以CH0、CH1、CH2、CH3和CH4的顺序进行的DMA传输中,在某一时刻,每个控制单元中被传送的信道及其FIFO的状态。每个信道的状态如下,即:CH0处于写入数据的发布过程完成(complete up)和写入响应的获取正在进行的状态;CH1处于读取数据的发布和写入命令的发布过程完成、正在进行写入数据的状态;CH2处于读取命令的发布过程完成、正在进行读取数据的获取、而尚未执行写入的状态;CH3处于读取命令发布过程完成、尚未获取读取数据的状态;CH4处于正在进行读取命令的发布、而尚未获取读取数据的状态。在每个控制单元中,当传输当前信道完成时,数据从接下来要执行的信道所连接到的FIFO中发送。因此,可以根据正确的时序进行信道控制。
图5示出了利用两个以上信道传输的一个实例。在该实例中,将设置寄存器1设置为满足以下条件:
在信道CH0中:
传输大小为16字节;
读取数据宽度为2字节;并且
写入数据宽度为2字节。
在信道CH1中:
传输大小为8字节;
读取数据宽度为2字节;并且
写入数据宽度为4字节。
在每个信道中:
所有的连续区域被传输。
此外,内部存储器2的容量假设为20字节,并且基于所连接的总线A的协议和所连接总线B的协议,假设由一条命令引起的数据突发的个数为4次。假设以CH0和CH1的顺序进行传输。
首先,在图5的(a)处,读取命令发布控制单元11以待发布的CH0读取命令为基础计算待获取的读取数据量QR。在此,基于读取数据宽度(2字节)和突发的最大个数(4次),确定该读取数据量QR为8字节(QR=2×4=8)。此外,通过从20字节的内部存储器2的空闲空间Q0中减去0字节的未读取数据量Qr,读取命令发布控制单元11计算出读取命令拒绝的确定量Jr(=Q0-Qr=20-0)为20字节。比较该读取命令拒绝的确定量Jr和上述的读取数据量QR(=8字节),Jr>=QR(20>8)成立。因此,可以认为即使在读取数据时,内部存储器2也没有溢出(可以认为可以避免溢出)。因此,读取命令发布控制单元11允许发布读取命令。此外,读取数据计数器13以发布读取命令为基础,将未读取数据量Qr增加8字节(Qr←Qr+QR=0+8=8)。
接下来,在图5的(b)处,读取命令发布控制单元11以发布的读取命令为基础确定待获取的读取数据量QR为8字节。进一步地,通过从内部存储器2的空闲空间Q0(20字节)中减去未读取数据量Qr(8字节),读取命令发布控制单元11计算出读取命令拒绝的确定量Jr(=Q0-Qr=20-8)为12字节。比较该读取命令拒绝的确定量Jr(12字节)和上述的读取数据量QR(8字节),Jr>=QR(12>8)成立。因此,可以认为即使在读取数据时,内部存储器2也没有溢出(可以认为可以避免溢出)。因此,读取命令发布控制单元11允许再次发布读取命令。虽然这时尚未完成前一次的读取命令,但是可以通过将读取命令发布为优先发布来缩短获取读取数据所需的时间。
写入命令发布控制单元21以待发布的写入命令为基础计算所发布的写入数据的数据量(以下成为“写入数据量QW”)。在此,基于写入数据宽度(2字节)和突发的最大个数(4次),确定写入数据量QW为8字节(QW=2×4=8)。当以发布读取命令为基础获取读取数据Dr时,数据在内部存储器2中积累。在图5的(c)处,虽然内部存储器2的数据量为8字节,写入命令发布控制单元21从该数据量Q中减去0字节的未读取数据量Qw,计算出写入命令接受/拒绝确定量Jw为8字节(=Q-Qw=8-0)。比较该写入命令接受/拒绝确定量Jw(8字节)和上述的写入数据量QW(8字节),Jw>=QW成立。因此,可以认为确保需要写入的数据(可以认为可以避免下溢)。因此,写入命令发布控制单元21允许发布写入命令。
此外,在图5的(d)处,虽然读取命令发布控制单元11在CH0的传输期间发布CH1的读取命令,由于未读取数据量Qr和内部存储器2的空闲空间Q0为信道所共用,由读取命令发布控制单元11进行发布控制的方法不随信道而变化。此外,在图5的(e)处,虽然在CH0的传输期间发布CH1的写入命令,如在读取时的情况,写入命令发布控制单元21进行发布控制的方法不随信道而变化。因此,可以无信道差别地顺序执行包括优先发布的读取和写入。
另外,这些说明仅仅是实例。如果总线协议不需要写入响应,那么写入响应获取单元25可以省略。此外,写入主控ID可以是每个信道中的固有ID。同样地,配置不局限于以上所述。
根据本实施例,在每次读取或写入的处理中,由于可以根据内部存储器的状态以最优的时序进行多个信道的传输,即使在两个以上信道的传输被混合时,也可以缩短数据的传输时间。
(第三实施例)
图6是示出根据本发明第三实施例的DMA传输控制装置100的示意性配置的方框图。在图6中,与用于第二实施例的图3相同的附图标记意味着相同的配置元件。在该实施例中,在所有的部分中控制数据传输的信道控制单元3具有用于该信道的FIFO 4。由于其它配置与第二实施例类似,因此省略关于其的说明。
接下来,说明该实施例的DMA传输控制装置中的数据传输的方法。除了信道控制,关于数据处理方法,与第二实施例完全相同。说明信道控制的方法。首先,数据所传输到的信道被写入用于信道的FIFO 4中。用于信道的FIFO 4具有针对以下每个控制单元的读取指针:读取命令发布单元10、读取数据获取单元14、写入命令发布单元20、写入数据发布单元24和写入响应获取单元25。每个处于传输完毕状态或初始状态的控制单元,逐步向前移动读取指针,并开始读取该指针所指示的信道的传输过程。用于信道的FIFO 4中所写入的信道号码以针对读取命令发布单元10、读取数据获取单元14、写入命令发布单元20、写入数据发布单元24和写入响应获取单元25的读取指针的顺序读取。因此,每个信道的传输都正确进行。
图7示出了信道控制的实例。该图示出了在以CH0、CH1、CH2、CH3和CH4的顺序进行的DMA传输中,在特定时间内在每个控制单元中传输的信道的状态。每个信道的状态如下:
CH0处于发布写入数据的过程完成、而正在进行写入响应获取的状态;
CH1处于发布读取数据的过程完成、而正在进行写入命令和写入数据发布的状态;
CH2处于发布读取命令的过程完成、正在进行读取数据获取,而尚未执行写入的状态;
CH3处于发布读取命令的过程完成、而尚未获取读取数据的状态;而
CH4处于发布读取命令完成而尚未获取读取数据的状态。
虽然每个控制单元向前移动读取指针,并指派当目前信道的传输完成时接下来执行的信道,但是由于针对该信道直到前一控制单元的处理已经完成,因此可以根据正确的时序进行传输。
另外,这些说明仅仅是实例。如果总线协议不需要写入响应,则可以省略写入响应获取单元25。此外,写入主控ID可以是每个信道中的固有ID。同样地,配置不局限于以上所述。
根据该实施例,在每次读取或写入的处理中,由于可以根据内部存储器的状态以最优时序进行多个信道的传输,因此即使当两个以上信道的传输混合时,也可以缩短数据的传输时间。
(第四实施例)
图8是示出根据本发明第四实施例的DMA传输控制装置100的示意性配置的方框图。在图8中,与第三实施例的图6中相同的附图标记意味着相同的配置元件。在该实施例中,写入响应获取单元25具有针对每条信道的响应计数器26。由于其它配置与第三实施例相同,因此省略关于其的说明。
接下来说明在本实施例的DMA传输控制装置中进行数据传输的方法。除了关于写入响应的操作,该方法与第三实施例相同。从现在开始,讨论与第三实施例不同的部分。首先,用于信道的FIFO 4具有针对以下每个控制单元的读取指针:读取命令发布单元10、读取数据获取单元14、写入命令发布单元20和写入数据发布单元24。但是,用于信道的FIFO 4不具有针对写入响应获取的读取指针。因此,用于信道的FIFO 4不具有控制写入响应获取单元25的信道,并能够接收所有信道的写入响应。
此外,在发布写入命令的时候,写入主控ID发布单元22发布不为所有信道所共用、而是信道之间彼此不同的ID。因此,返回写入响应的顺序并不需要按照发布写入命令的顺序。
用于写入响应获取单元25中每个信道的响应计数器26在信道发布写入命令时,逐次累加计数,而在获取了该信道的写入响应时,向下计数。在该信道的所有需要的传输都被发布的状态下,当该信道的响应计数器26设置为0时,可以识别该信道的传输完成。另外,这些说明仅仅是实例,并不局限于此。
根据该实施例,在每次读取或写入的处理中,可以根据内部存储器的状态,以最优时序进行每个信道的传输。因此,即使当两个以上信道的传输混合时,也可以缩短数据的传输时间,并且可以以向信道的写入较早完成的顺序来通知信道的DMA传输完成。
(第五实施例)
图9是示出根据本发明第五实施例的DMA传输控制装置100的示意性配置的方框图。在图9中,与第三实施例的图6相同的附图标记意味着相同的配置元件。在该实施例中,提供用于数据的FIFO 2a代替内部存储器2,FIFO 2a在从读取数据获取单元14中供应读取数据Dr时,向写入数据发布单元24输出写入数据Dw。此外,向读取命令发布控制单元11通知用于数据的FIFO 2a的空闲空间的段数N0,并向写入命令发布控制单元21通知用于数据的FIFO 2a的数据量的段数N。由于其它配置与第三实施例类似,因此省略关于其的说明。
接下来,说明在该实施例的DMA传输控制装置中进行数据传输的方法。除了涉及数据量计算的部分,该方法与第三实施例完全相同。在用于数据的FIFO 2a中,特定的单位大小为FIFO的数据宽度。当从总线A中获取的读取数据达到上述单位大小时,读取数据获取单元14将读取数据Dr写入用于数据的FIFO 2a。但是,即使在未达到上述单位大小时,在信道改变的时候或在从读取数据的一连续区域跳转到随后的连续区域的时候,读取数据Dr也被写入用于数据的FIFO 2a。
读取数据计数器13对未读取数据量Qr以上述单位大小为单位的未读取数据量个数Nr计数。在发布读取命令的时候,读取数据计数器13顺序地将个数NR,或者将命令中的读取数据量QR除以单位大小得到的商,加上计数器值。当在读取数据量个数NR中出现分数时,读取数据计数器13上舍入(round up)读取数据量个数NR,并实施上述加法过程。此外,读取数据计数器13根据数据从读取数据获取单元14中写入用于数据的FIFO 2a的时序,递减计数。
另外在写入数据计数器23中,以类似的方法进行计数器控制。写入数据计数器23对未写入数据量Qw以上述单位大小为单位的未写入数据量个数Nw计数。在发布读取命令的时候,写入数据计数器23顺序地将个数(在下文中,称为“写入数据量NW”)、或者将命令中的写入数据量QW除以单位大小时得到的商,加上计数器值。当写入数据量个数NW中出现分数时,写入数据计数器23上舍入写入数据量个数NW,并将其加入计数器值。此外,写入数据计数器根据数据从用于数据的FIFO 2a向数据发布单元24写入数据的时序,递减计数。
读取命令发布单元10以设置寄存器1的对应信道的寄存器为基础,确定待发布的读取命令,并以该读取命令为基础,计算待获取的读取数据量个数NR。当读取数据量个数NR中出现分数时,读取命令发布单元10上舍入读取数据量个数NR。通过从用于数据的FIFO 2a的空闲空间的段数N0中减去读取数据计数器13的未读取数据量个数Nr,读取命令发布控制单元11计算读取命令拒绝的确定量Jr(=N0-Nr)。然后,读取命令发布单元10判断该读取命令拒绝的确定量Jr是否等于或大于上述读取数据量个数NR(Jr>=NR)。
当上述判断结果是肯定的时,即当满足以下条件时,读取命令发布单元10允许发布写入命令。条件如下:
读取数据量个数NR等于或小于读取命令拒绝的确定量Jr,并且
即使当用于数据的FIFO 2a中的读取数据增加时,用于数据的FIFO 2a也没有溢出。
写入命令发布单元20以设置寄存器1的对应信道的寄存器为基础,确定待发布的写入命令,并以该写入命令为基础,计算所发布的写入数据量的个数(在下文中,称为“写入数据量个数NW”)。当计算时在写入数据量个数NW中出现分数时,写入命令发布单元20上舍入该值。写入命令发布控制单元21从用于数据的FIFO 2a的数据量的段数N中减去写入数据计数器23的未写入数据量个数Nw,并计算写入命令接受/拒绝确定量Jw(=N-Nw),然后判断计算出的写入命令接受/拒绝确定量Jw是否等于或大于上述写入数据量个数NW(Jw>=NW)。
当上述的判断结果是肯定的时,即当满足以下条件时,写入命令发布单元20允许发布写入命令。条件如下:
写入数据量个数NW等于或小于写入命令接受/拒绝确定量Jw,并且
即使当发布写入数据时,用于数据的FIFO 2a中的写入数据没有下溢。
图10示出了利用该实施例进行传输的实例。在该实例中,将设置寄存器设置为满足以下条件:
在信道CH0,传输大小为18字节,读取数据宽度为2字节,写入数据宽度为2字节;
在信道CH1,传输大小为8字节,读取数据宽度为2字节,写入数据宽度为4字节;
所有信道中的任意信道传输连续的区域;
单位大小为4字节;
用于数据的FIFO 2a中的数据宽度为4字节,容量为5段;
以所连接总线A的协议和所连接总线B的协议为基础,一条命令引发的数据突发的个数指定为4次;并且
以CH0和CH1的顺序进行传输。
首先,在图10的(a)处,读取命令发布控制单元11以待发布的CH0读取命令为基础,计算待获取的读取数据量个数NR。以读取数据宽度(2字节)和突发的最大个数(4次)为基础,确定读取数据量QR为8字节。该读取数据量QR等于两个数据单位大小(NR=8/4=2)。此外,读取命令发布控制单元11从用于数据的FIFO 2a的空闲空间的段数N0(5)中减去未读取数据量个数Nr(0),然后计算出读取命令拒绝的确定量Jr为5段(=N0-Nr=5-0)。比较该读取命令拒绝的确定量Jr和上述读取数据量个数Nr(=2段),Jr>=NR(5>2)成立。因此,可以认为即使当读取数据时,用于数据的FIFO 2a没有溢出(可以认为可以避免溢出)。因此,读取命令发布控制单元11允许发布读取命令。此外,读取数据计数器13以命令的发布为基础,将未读取数据量个数Nr增加2段(Nr←Nr+NR=0+2=2)。
接下来,在图10的(b)处,读取命令发布控制单元11确定要基于待发布读取命令获取的读取数据量QR为8字节。这意味着按照所述单位大小,读取数据量个数NR为2段。此外,通过从用于数据的FIFO 2a的空闲空间的段数N0(5段)中减去未读取数据量个数Nr(2段),读取命令发布控制单元11计算出读取命令拒绝的确定量Jr(=N0-Nr=5-2)为3段。比较该读取命令拒绝的确定量Jr和上述读取数据量个数Nr(=2段),Jr>=NR(3>2)成立。因此,可以认为即使当读取数据时,用于数据的FIFO 2a没有溢出(可以认为可以避免溢出)。因此,读取命令发布控制单元11允许发布读取命令,虽然这时没有完成前一次的读取命令,但是可以通过发布读取命令作为优先发布来缩短读取数据获取所需的时间。
接下来,在图10的(c)处,读取命令发布控制单元11确定要基于待发布读取命令获取的读取数据量个数为2字节(18-8-8=2)。因此,所确定的读取数据量个数NR没有达到单位大小--4字节。但是,由于它是CH0的最后读取数据,读取命令发布控制单元11通过上舍入计算读取数据量个数NR,然后认为所计算的读取数据量个数NR为一个单位大小(NR=1)。此外,通过从用于数据的FIFO 2a的空闲空间的段数N0(5段)中减去未读取数据量个数Nr(4段),读取命令发布控制单元11计算出读取命令拒绝的确定量Jr(=N0-Nr=5-4)为1段。比较该读取命令拒绝的确定量Jr和上述读取数据个数Nr(=1段),Jr>=Nr成立。因此,可以认为即使当读取数据时,用于数据的FIFO 2a没有溢出(可以认为可以避免溢出)。因此,读取命令发布控制单元11允许发布读取命令,然后继续进行优先发布。
写入命令发布控制单元21以待发布的写入命令为基础,计算所发布的写入数据量个数NW。基于写入数据宽度(2字节)和突发的最大个数(4次),写入命令发布控制单元21确定写入数据量QW为8字节。该写入数据量QW等于2个数据单位大小(NW=8/4=2)。当以读取命令的发布为基础,继续获取读取数据Dr时,数据在用于数据的FIFO 2a中积累。在图10的(d)处,虽然用于数据的FIFO 2a的数据量段数N为2段,但是通过从该数据量中减去未写入数据量个数Nw(0段),写入命令发布控制单元21计算出写入命令拒绝的确定量Jw为8段(=N-Nw=2-0)。比较该写入命令接受/拒绝确定量Jw和上述写入数据量个数NW(=2字节),Jw>=NW成立。因此,可以认为确保写入所需的数据(可以认为可以避免下溢)。因此,写入命令发布控制单元21允许发布写入命令。
在图10的(e)处,虽然待获取的读取数据为2字节,并且不能达到4字节--单位大小,但是由于它是CH0的最后读取数据,因此用于数据的FIFO 2a向前移动指针。据此,用于数据的FIFO 2a的空闲空间的段数N0和用于数据的FIFO 2a的数据量的段数N被改变。
从在图10的(f)处发布的写入命令开始,基于写入数据宽度和突发的最大个数,写入命令发布控制单元21计算出基于接下来待发布的写入命令的写入数据量个数NW为2字节。虽然该写入数据量个数NW没有达到单位大小的4字节,但是由于该数据是CH0的最后写入数据,因此写入命令发布控制单元21通过上舍入计算写入数据量个数NW,并认为其为一个单位大小。在图10的(g)处,根据图10(e)处的读取数据,数据量的FIFO段数N为3段;通过从该数据量的FIFO段数N中减去2段的未写入数据量个数,写入命令发布控制单元21计算出写入数据量个数NW为1段。将其与上述写入数据量个数NW(=1段)进行比较,可以认为确保写入所需的数据(可以认为可以避免下溢)。因此,写入命令发布控制单元21允许发布写入命令。这时,虽然从用于数据的FIFO 2a中读取4字节的数据,但是由于只有2字节的数据有效,因此这2字节的数据被用作写入数据。因此,即使在出现单位大小分数时,也可以正确识别数据量,并且可以执行数据传输。
另外,这些说明仅仅是实例,如果总线协议不需要写入响应,则可以省略写入响应获取单元25。此外,写入主控ID可以为每个信道中的固有ID。同样地,配置不局限于以上所述。
根据该实施例,在每次读取和写入的处理中,可以根据内部存储器的状态以最优时序进行多个信道的传输。此外,可以降低用于计算最优时序的计算时间和电路面积。
(第六实施例)
图11是示出根据本发明第六实施例的半导体集成电路装置200的示意性配置的方框图。本实施例的半导体集成电路装置200包括集成电路40、SDRAM50和外围装置60。集成电路40包括CPU41、DAM传输控制装置100、存储器控制器42和外围控制器43,它们通过总线44互相连接。存储器控制器42连接到SDRAM50,而外围控制器43连接到外围装置60。此外,DMA传输控制装置100包括本发明的命令优先发布功能,该功能在第一到第五实施例之一中说明。
在半导体集成电路装置200中,考虑利用DMA传输控制装置100进行从SDRAM50到外围装置60的数据传输的情况。在DMA传输控制装置100中发布命令时,基于第一到第五实施例中之一所说明的方法,以最优时序优先发布命令。虽然读取命令通过存储器控制器42发送到SDRAM50,在那种情况下,SDRAM50在等待一定时长之后,向DMA传输控制装置100返回读取数据Dr。因此,传输速率变慢。但是,在该实施例中,当通过命令的优先发布,接收两个以上读取命令时,接收后一个的读取命令,并且并行进行对后一个读取命令的处理和对前一个读取命令的处理。因此,在DMA传输控制装置100中,可以实现这样的操作:在发布两个以上读取命令之后,立即返回两个以上读取数据Dr,从而阻止传输速率降低。
此外,在向外围装置60发布写入命令时,可以类似地通过以最优时序优先发布命令来提高吞吐量。此外,在进行从外围装置60到SDRAM50的数据传输的情况下,可应用相同的方法。
因此,本发明不仅在像SDRAN这样的外部存储器中有效,而且在等待时间长的外围装置中也有效,因此,很显然,本发明不局限于外部存储器。本发明在访问位于集成电路40外部的、等待时间很长的内部功能块中也有效。
自然地,关于实现本发明的方法,也可以通过对上述实施例中所描述的两个以上配置进行组合来实现本发明。此外,也可以根据协议采用不同的配置。例如,当协议是根据写入响应请求来返回写入响应时,将针对每个信道的ID用作写入主控ID,并且在写入发布时,将写入响应请求信号加入每个信道的最后传输。从而,写入响应获取单元可以不利用计数器而识别信道传输完成。此外,即使在使用安装有总线适配器的集成电路来代替具有本发明的功能的DMA传输控制装置的情况下,同样可以阻止访问性能恶化。因此,这些所指示的配置不是限制性的。
另外,上述本发明的实施例中所采用的技术和配置是实例,本发明不局限于此。
虽然详细说明了关于本发明的最优具体实例,但是可以以不同的方式改变较佳实施例的部件的组合和排列,只要它们在随后所要求的本发明的精神和保护范围之内。

Claims (30)

1.一种DMA传输控制装置,其进行从传输源侧到传输目的侧的直接存储器访问传输,并包括暂时存储读取数据的内部存储器,该DMA传输控制装置包括:
读取数据计数器,配置为通过在每次发布读取命令时逐次累加应当由所述读取命令获取的读取数据量,并且在每次读取数据时向下计数,来对未读取数据量即尚未传输的数据量进行计数;和
读取命令发布控制单元,配置为判断一读取数据拒绝的确定量是否等于或大于下一获取目标的读取数据量,并当所述判断结果是肯定的时,允许发布所述读取命令,所述读取命令拒绝的确定量是通过从所述内部存储器的空闲空间减去所述未读取数据量而获取的。
2.一种DMA传输控制装置,其进行从传输源侧到传输目的侧的直接存储器访问传输,并包括暂时存储读取数据的内部存储器,该DMA传输控制装置包括:
写入数据计数器,配置为通过在每次发布写入命令时逐次累加应当由所述写入命令发布的写入数据量,并且在每次写入数据时向下计数,来对未写入数据量即尚未传输的数据量进行计数;和
写入命令发布控制单元,配置为判断一写入命令拒绝的确定量是否等于或大于下一发布目标的写入数据量,并且当所述判断结果是肯定的时,允许发布所述写入命令,所述写入命令拒绝的确定量是通过从所述内部存储器中存储的数据量减去所述未写入数据量而获得的。
3.一种DMA传输控制装置,其进行从传输源侧到传输目的侧的直接存储器访问传输,并且包括暂时存储读取数据的内部存储器,该DMA传输控制装置包括:
读取数据计数器,配置为通过在每次发布读取命令时逐次累加应当由所述读取命令获取的读取数据量,并且在每次读取数据时向下计数,来对未读取数据量即尚未传输的数据量进行计数;
读取命令发布控制单元,配置为判断一读取命令拒绝的确定量是否等于或大于下一获取目标的读取数据量,并且当所述判断结果是肯定的时,允许发布所述读取命令,其中所述读取命令拒绝的确定量是通过从所述内部存储器的空闲空间减去所述读取数据计数器的所述未读取数据量而获得的;
写入数据计数器,配置为通过在每次发布所述写入命令时逐次累加应当由所述写入命令发布的写入数据量,并且在每次写入数据时向下计数,来对未写入数据量即尚未传输的数据量进行计数;和
写入命令发布控制单元,配置为判断一写入命令拒绝的确定量是否等于或大于下一发布目标的写入数据量,并且当所述判断结果是肯定的时,允许发布所述写入命令,所述写入命令拒绝的确定量是通过从所述内部存储器中存储的数据量减去所述未写入数据量而获得的。
4.根据权利要求1所述的DMA传输控制装置,进一步包括
读取主控ID发布单元,配置为在发布所述读取命令的时候,输出为每个信道所共用的读取主控ID。
5.根据权利要求2所述的DMA传输控制装置,进一步包括
读取主控ID发布单元,配置为在发布所述读取命令的时候,输出为每个信道所共用的读取主控ID。
6.根据权利要求3所述的DMA传输控制装置,进一步包括
读取主控ID发布单元,配置为在发布所述读取命令的时候,输出为每个信道所共用的读取主控ID。
7.根据权利要求1所述的DMA传输控制装置,进一步包括:
读取命令发布单元,配置为发布所述读取命令;
写入命令发布单元,配置为发布写入命令;
读取数据获取单元,配置为获取所述读取数据;
写入数据发布单元,配置为发布写入数据;和
写入响应获取单元,配置为获取写入响应;其中
所述读取命令发布单元包括读取命令发布控制单元和读取主控ID发布单元,并且
所述写入命令发布单元包括写入命令发布控制单元和写入主控ID发布单元,并且
可以在所述读取命令发布单元、所述写入命令发布单元、所述读取数据获取单元、所述写入数据发布单元和所述写入响应获取单元中进行不同信道的数据传输过程。
8.根据权利要求2所述的DMA传输控制装置,进一步包括:
读取命令发布单元,配置为发布所述读取命令;
写入命令发布单元,配置为发布写入命令;
读取数据获取单元,配置为获取所述读取数据;
写入数据发布单元,配置为发布写入数据;和
写入响应获取单元,配置为获取写入响应;其中
所述读取命令发布单元包括读取命令发布控制单元和读取主控ID发布单元,
所述写入命令发布单元包括写入命令发布控制单元和写入主控ID发布单元,并且
可以在所述读取命令发布单元、所述写入命令发布单元、所述读取数据获取单元、所述写入数据发布单元和所述写入响应获取单元中进行不同信道的数据传输过程。
9.根据权利要求3所述的DMA传输控制装置,进一步包括:
读取命令发布单元,配置为发布所述读取命令;
写入命令发布单元,配置为发布写入命令;
读取数据获取单元,配置为获取所述读取数据;
写入数据发布单元,配置为发布写入数据;和
写入响应获取单元,配置为获取写入响应;其中
所述读取命令发布单元包括读取命令发布控制单元和读取主控ID发布单元,
所述写入命令发布单元包括写入命令发布控制单元和写入主控ID发布单元,并且
可以在所述读取命令发布单元、所述写入命令发布单元、所述读取数据获取单元、所述写入数据发布单元和所述写入响应获取单元中进行不同信道的数据传输过程。
10.根据权利要求7所述的DMA传输控制装置,进一步包括
信道控制单元,配置为控制以下操作步骤中的至少一个:所述读取数据获取单元从所述读取命令发布单元继承信道号码的步骤,所述写入命令发布单元从所述读取数据获取单元继承信道号码的步骤,所述写入数据发布单元从所述写入命令发布单元继承信道号码的步骤,和所述写入响应获取单元从所述写入数据发布单元继承信道号码的步骤。
11.根据权利要求8所述的DMA传输控制装置,进一步包括:
信道控制单元,配置为控制以下操作步骤中的至少一个:所述读取数据获取单元从所述读取命令发布单元继承信道号码的步骤,所述写入命令发布单元从所述读取数据获取单元继承信道号码的步骤,所述写入数据发布单元从所述写入命令发布单元继承信道号码的步骤,和所述写入响应获取单元从所述写入数据发布单元继承信道号码的步骤。
12.根据权利要求9所述的DMA传输控制装置,进一步包括:
信道控制单元,配置为控制以下操作步骤中的至少一个:所述读取数据获取单元从所述读取命令发布单元继承信道号码的步骤,所述写入命令发布单元从所述读取数据获取单元继承信道号码的步骤,所述写入数据发布单元从所述写入命令发布单元继承信道号码的步骤,和所述写入响应获取单元从所述写入数据发布单元继承信道号码的步骤。
13.根据权利要求10所述的DMA传输控制装置,其中
至少在所述读取命令发布单元和所述读取数据获取单元之间、在所述读取数据获取单元和所述写入命令发布单元之间、在所述写入命令发布单元和所述写入数据发布单元之间、或在所述写入数据发布单元和所述写入响应获取单元之间,进一步提供至少一个用于信道的FIFO。
14.根据权利要求11所述的DMA传输控制装置,其中
至少在所述读取命令发布单元和所述读取数据获取单元之间、在所述读取数据获取单元和所述写入命令发布单元之间、在所述写入命令发布单元和所述写入数据发布单元之间或在所述写入数据发布单元和所述写入响应获取单元之间,进一步提供至少一个用于信道的FIFO。
15.根据权利要求12所述的DMA传输控制装置,其中
至少在所述读取命令发布单元和所述读取数据获取单元之间、在所述读取数据获取单元和所述写入命令发布单元之间、在所述写入命令发布单元和所述写入数据发布单元之间或在所述写入数据发布单元和所述写入响应获取单元之间,进一步提供至少一个用于信道的FIFO。
16.根据权利要求10所述的DMA传输控制装置,其中:
所述信道控制单元包括用于信道的FIFO;并且
所述用于信道的FIFO包括以下读取指针中的至少一种:用于所述读取命令发布单元的读取指针、用于所述读取数据获取单元的读取指针,用于所述写入命令发布单元的读取指针、用于所述写入数据发布单元的读取指针和用于所述写入响应获取单元的各读取指针,所述读取指针分别独立地操作。
17.根据权利要求11所述的DMA传输控制装置,其中:
所述信道控制单元包括用于信道的FIFO;并且
所述用于信道的FIFO包括以下读取指针中的至少一种:用于所述读取命令发布单元的读取指针、用于所述读取数据获取单元的读取指针,用于所述写入命令发布单元的读取指针、用于所述写入数据发布单元的读取指针和用于所述写入响应获取单元的各读取指针,所述读取指针分别独立地操作。
18.根据权利要求12所述的DMA传输控制装置,其中:
所述用于信道的FIFO包括以下读取指针中的至少一种:用于所述读取命令发布单元的读取指针、用于所述读取数据获取单元的读取指针,用于所述写入命令发布单元的读取指针、用于所述写入数据发布单元的读取指针和用于所述写入响应获取单元的各读取指针,所述读取指针分别独立地操作。
19.根据权利要求1所述的DMA传输控制装置,其中
利用所述DMA传输控制装置所设置的单位大小来表示所述读取数据计数器中的未读取数据量,和所述待发布读取命令中获取目标的读取数据量。
20.根据权利要求2所述的DMA传输控制装置,其中
利用所述DMA传输控制装置所设置的单位大小来表示所述写入数据计数器中的未写入数据量,和所述待发布写入命令中发布目标的写入数据量。
21.根据权利要求3所述的DMA传输控制装置,其中
利用所述DMA传输控制装置所设置的单位大小来表示所述读取数据计数器中的未读取数据量,所述写入数据计数器中的未写入数据量,所述待发布读取命令中获取目标的读取数据量,和所述待发布写入命令中发布目标的写入数据量。
22.根据权利要求19所述的DMA传输控制装置,其中:
所述内部存储器由FIFO组成;并且
所述FIFO的数据宽度为所述单位大小,即使在所述读取数据信道变化时的最后读取数据不足所述单位大小的情况下,也向前移动写入指针,并且即使在所述写入数据信道变化时的最后写入数据不足所述单位大小时,也向前移动读取指针。
23.根据权利要求20所述的DMA传输控制装置,其中:
所述内部存储器由FIFO组成;并且
所述FIFO的数据宽度为所述单位大小,即使在所述读取数据信道变化时的最后读取数据不足所述单位大小的情况下,也向前移动写入指针,并且即使在所述写入数据信道变化时的最后写入数据不足所述单位大小时,也向前移动读取指针。
24.根据权利要求21所述的DMA传输控制装置,其中:
所述内部存储器由FIFO组成;并且
所述FIFO的数据宽度为所述单位大小,即使在所述读取数据信道变化时的最后读取数据不足所述单位大小的情况下,也向前移动写入指针,并且即使在所述写入数据信道变化时的最后写入数据不足所述单位大小时,也向前移动读取指针。
25.根据权利要求19所述的DMA传输控制装置,其中:
所述内部存储器由FIFO组成;并且
所述FIFO的数据宽度为所述单位大小,即使当所述读取数据的连续区域的所述最后读取数据不足所述单位大小时,也向前移动写入指针,并且即使当所述写入数据的连续区域的最后写入数据不足所述单位大小时,也向前移动读取指针。
26.根据权利要求20所述的DMA传输控制装置,其中:
所述内部存储器由FIFO组成;并且
所述FIFO的数据宽度为所述单位大小,即使当所述读取数据的连续区域的所述最后读取数据不足所述单位大小时,也向前移动写入指针,并且即使当所述写入数据的连续区域的最后写入数据不足所述单位大小时,也向前移动读取指针。
27.根据权利要求21所述的DMA传输控制装置,其中:
所述内部存储器由FIFO组成;并且
所述FIFO的数据宽度为所述单位大小,即使当所述读取数据的连续区域的所述最后读取数据不足所述单位大小时,也向前移动写入指针,并且即使当所述写入数据的连续区域的最后写入数据不足所述单位大小时,也向前移动读取指针。
28.半导体集成电路装置,包括:
根据权利要求1所述的DMA数据传输装置;和
作为所述数据传输装置的传输源侧或传输目的侧的外部存储器。
29.半导体集成电路装置,包括:
根据权利要求2所述的DMA数据传输装置;和
作为所述数据传输装置的传输源侧或传输目的侧的外部存储器。
30.半导体集成电路装置,包括:
根据权利要求3所述的DMA数据传输装置;和
作为所述数据传输装置的传输源侧或传输目的侧的外部存储器。
CNA2007101517477A 2006-09-27 2007-09-27 Dma传输控制装置和半导体集成电路装置 Pending CN101154204A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006262130A JP2008083911A (ja) 2006-09-27 2006-09-27 Dma転送制御装置および半導体集積回路装置
JP2006262130 2006-09-27

Publications (1)

Publication Number Publication Date
CN101154204A true CN101154204A (zh) 2008-04-02

Family

ID=39226369

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2007101517477A Pending CN101154204A (zh) 2006-09-27 2007-09-27 Dma传输控制装置和半导体集成电路装置

Country Status (3)

Country Link
US (1) US20080077716A1 (zh)
JP (1) JP2008083911A (zh)
CN (1) CN101154204A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102622321A (zh) * 2011-01-28 2012-08-01 炬力集成电路设计有限公司 一种数据处理设备及其数据传输方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5387155B2 (ja) * 2009-06-15 2014-01-15 富士通セミコンダクター株式会社 Dma転送制御装置およびdma転送制御方法
US9727504B2 (en) 2012-02-29 2017-08-08 Mitsubishi Electric Corporation Data transfer apparatus, data transfer method, and data transfer program
US10270610B2 (en) * 2016-06-12 2019-04-23 Apple Inc. Selection of a coordinator device for an automated environment
KR102367359B1 (ko) * 2017-04-17 2022-02-25 에스케이하이닉스 주식회사 직렬 시스템 버스 인터페이스 및 직접메모리액세스 컨트롤러를 갖는 전자 시스템 및 그 동작 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3712842B2 (ja) * 1997-08-05 2005-11-02 株式会社リコー データ転送制御方法、データ転送制御装置及び情報記録媒体
JP2002073527A (ja) * 2000-08-25 2002-03-12 Rohm Co Ltd Dmaコントローラ
US6941390B2 (en) * 2002-11-07 2005-09-06 National Instruments Corporation DMA device configured to configure DMA resources as multiple virtual DMA channels for use by I/O resources
US7275124B2 (en) * 2005-02-24 2007-09-25 International Business Machines Corporation Method and system for controlling forwarding or terminating of a request at a bus interface based on buffer availability

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102622321A (zh) * 2011-01-28 2012-08-01 炬力集成电路设计有限公司 一种数据处理设备及其数据传输方法
CN102622321B (zh) * 2011-01-28 2015-06-17 炬芯(珠海)科技有限公司 一种数据处理设备及其数据传输方法

Also Published As

Publication number Publication date
US20080077716A1 (en) 2008-03-27
JP2008083911A (ja) 2008-04-10

Similar Documents

Publication Publication Date Title
CN100561453C (zh) 一种直接内存访问控制器
CN100472494C (zh) 支持多总线多类型存储器的内存仲裁实现系统和方法
CN101540727B (zh) 一种ip报文的硬件分流方法
CN1327370C (zh) 资源管理装置
CN100464318C (zh) 一种实现高效dma传输的dma控制器及传输方法
CN101154204A (zh) Dma传输控制装置和半导体集成电路装置
CN101901200B (zh) 一种基于双AHB Master接口的片上DMA控制器实现方法
US8145815B2 (en) Data processing system
US20160062930A1 (en) Bus master, bus system, and bus control method
US8880745B2 (en) Efficient scheduling of transactions from multiple masters
CN103714027A (zh) 一种直接内存存取控制器的数据传输方法及装置
CN102841871B (zh) 基于高速串行总线的DMA结构的pipeline读写方法
US11386025B2 (en) Daisy chain complex commands
CN102841869A (zh) 一种基于fpga的多通道i2c控制器
CN101916237A (zh) 一种pci总线dma高速数据传输方法
CN102402422B (zh) 处理器组件及该组件内存共享的方法
KR20120040535A (ko) 버스 시스템 및 그것의 동작 방법
CN110099012A (zh) 一种流量控制方法、系统及电子设备和存储介质
CN110188059A (zh) 数据有效位统一配置的流控式fifo缓存结构及方法
CN101324870A (zh) 处理器系统、总线控制方法和半导体装置
CN104765701A (zh) 数据访问方法及设备
CN100481045C (zh) 一种实现软/硬件复用的dma控制器和传输方法
CN101710309A (zh) 一种基于海量数据传输的dma控制器
CN100371918C (zh) 一种直接存储器访问控制器及利用其实现数据传送的方法
US7913013B2 (en) Semiconductor integrated circuit

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20080402