CN100474279C - 数据传送装置、数据传送方法和程序 - Google Patents
数据传送装置、数据传送方法和程序 Download PDFInfo
- Publication number
- CN100474279C CN100474279C CNB2006100778367A CN200610077836A CN100474279C CN 100474279 C CN100474279 C CN 100474279C CN B2006100778367 A CNB2006100778367 A CN B2006100778367A CN 200610077836 A CN200610077836 A CN 200610077836A CN 100474279 C CN100474279 C CN 100474279C
- Authority
- CN
- China
- Prior art keywords
- instruction
- storer
- unit
- memory
- data
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/0202—Constructional details or processes of manufacture of the input device
- G06F3/0221—Arrangements for reducing keyboard size for transport or storage, e.g. foldable keyboards, keyboards with collapsible keys
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Bus Control (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明的数据传送装置具有:在多个总线之间通过直接存储器存取传送数据的DMAC(101a)和DMAC(101b);将指示数据传送的指令作为队列保持的指令队列(106);从指令队列(106)取得指令的总线信息取得部(109);根据所取得的指令所示的传送源或传送目的地来分组所保持的指令的分组部(108);使更多的指令所属的组优先,来决定指令发布的顺序的调度部(110);以及,根据所决定的顺序,来发布指令的选择器(111)。
Description
技术领域
本发明涉及通过直接存储器存取(下面简写为DMA)来传送数据的数据传送装置、数据传送方法和程序。
背景技术
例如,在专利文献1中公开了在多个外围装置和存储器之间控制基于DMA的数据传送的DMA传送控制装置。该DMA传送控制装置具有多个信道,对各信道分配外围装置。将各外围装置和存储器连接到一条总线上。DMA传送控制装置在来自多个外围装置的DMA请求冲突的情况下,对它们进行调解。即,将多个信道分组,从优先级高的组的DMA请求起执行DMA传送。在优先级高的组的DMA请求不存在的情况下,优先级低的组的DMA请求执行DMA传送。对各组内的DMA请求循环执行DMA传送。
由此,在组之间来执行优先级的DMA传送。另外,在各组内,不是仅由特定信道来独占DMA传送,而均匀执行。
专利文献1:(日本)特开平5—204833号公报
但是,根据上述现有技术,对于单一总线上的DMA传送控制信道之间的优先级,但是近年来的媒体处理器等中,要求高效执行独立的多个总线上的DMA传送。
另外,根据上述现有技术,控制外围装置和存储器之间的数据传送,但是在近年来的媒体处理器等中,需要独立的多个总线在存储器之间的DMA传送的高效化。
发明内容
鉴于上述问题的本发明的目的是提供一种在独立的多个总线之间高效执行存储器之间的DMA数据传送的数据传送装置、数据传送方法和程序。
为了解决上述问题,本发明的数据传送装置,在系统中进行数据传送,该系统具有作为独立的总线的第一、第二和第三总线、与第一总线相连的第一存储器、与第二总线相连的第二存储器、与第三总线相连的第三存储器、以及与第三总线相连的第四存储器,其特征在于,包括:第一传送单元,在第一存储器和第三存储器之间或第一存储器和第四存储器之间通过直接存储器存取来传送数据;第二传送单元,在第二存储器和第三存储器之间或第二存储器和第四存储器之间通过直接存储器存取来传送数据;保持单元,将指示数据传送的指令作为队列来保持;取得单元,取得在保持单元中保持的指令;分组单元,根据由取得单元取得的指令所表示的传送源或传送目的地,来分组所保持的指令;调度单元,对组赋予优先级,从优先级高的组开始决定指令发布的顺序;发布单元,根据所决定的顺序,将指令发布到第一传送单元或第二传送单元。
这里,所述调度单元也可对更多的指令所属的组赋予高的优先级。
根据该结构,在与独立的三个总线分别连接的存储器之间,第一传送单元和第二传送单元独立地进行DMA数据传送的情况下,可以使三个总线整体的传送效率提高。具体而言,第一传送单元和第二传送单元可能在以第三存储器或第四存储器为对象的DMA数据传送中产生冲突,但是在调度单元中通过使更多的指令所属的组优先,在DMA数据传送冲突的情况下,可以缩短指令整体的DMA传送时间,可以使总线的使用效率提高。
这里,所述分组单元以传送源的存储器为类别来进行分组。
根据该结构,在固定决定了传送总线(传送源和传送目的地)中的传送目的地的情况下,可以通过分组单元使组的效率提高。
这里,所述分组单元也可将在传送源中指定了第一存储器的指令和在传送源中指定了第二存储器的指令分到不同的组。
根据该结构,例如,在将第一存储器和第二存储器的传送目的地固定决定为第三存储器或第四存储器的情况下,可以通过分组单元使分组的效率提高。
这里,所述分组单元也可以以传送目的地的存储器为类别来进行分组。
根据该结构,在固定决定了传送总线的传送源的情况下,可以通过分组单元使分组的效率提高。
这里,所述分组单元也可将在传送目的地中指定了第一存储器的指令和在传送目的地中指定了第二存储器的指令分到不同的组。
根据该结构,例如在将对第一存储器和第二存储器的传送源固定决定为第三存储器或第四存储器的情况下,可以通过分组单元使分组的效率提高。
这里,所述分组单元也可将在传送源或传送目的地中指定了第一存储器的指令和在传送源或传送目的地中指定了第二存储器的指令分到不同的组。
根据该结构,在第一存储器和第二存储器根据情况可变为传送源或传送目的地的情况下,可以通过分组单元使分组的效率提高。
这里,所述指令也可包含指针和各种参数;所述取得单元从开头的指令开始依次根据指针来取得各种参数。
这里,所述指令也可以是固定长度,所述取得单元也可通过增加固定值来判断下一指令位置。
根据该结构,可以以简单的指针操作来实现依次取得在保持单元中保持的所有的指令。
这里,所述指令也可包含对下一指令的链接;所述取得单元根据所述链接来判断下一指令位置。
根据该结构,即使指令为可变长度,也可通过寻找链接的指针操作来实现。
这里,所述第一存储器也可从第一总线上的主机接收存储器存取指令;所述第二存储器从第二总线上的主机接收存储器存取指令;所述第三和第四存储器仅从所述第一传送单元和第二传送单元中接收存储器存取指令。
根据该结构,第一存储器和第二存储器在分别与其他主机共用的情况下,可以在第一到第三总线整体中高效进行DMA数据传送。
这里,所述数据传送装置也可还具有保留单元,暂时保留第一传送单元或第二传送单元中的执行中的指令。
根据该结构,例如,在执行等待时间(数据传送的时间)慢的情况下,可以根据需要,暂时保留执行中的指令。
这里,所述调度单元也可比较第一传送单元或第二传送单元中的执行中的指令和保持单元中保持的指令,并决定是否应保留执行中的指令。
这里,所述调度单元也可根据第一传送单元或第二传送单元中的执行中的指令的剩余传送大小和保持单元中保持的开头指令的传送大小,来决定是否应保留。
这里,所述指令包含应完成数据传送的时刻,所述调度单元也可根据第一传送单元或第二传送单元中的执行中的指令的数据传送应完成的时刻和剩余时间,来决定是否应保留。
这里,所述数据传送装置也可还具有分割单元,将保持单元中保持的任一个指令分割为两个以上的指令。
这里,所述数据传送装置也可包含于按每个矩形区域来处理表示图像的帧的装置中;所述分割单元在所述矩形区域跨越帧边界的情况下,分割为传送帧内数据的帧内指令和传送帧外数据的帧外指令。
这里,所述帧外指令也可对传送目的地存储器指示仅写入表示帧框的信息。
根据该结构,可以高效地仅DMA数据传送帧内数据。除此之外,由于作为帧外数据不传送无效数据,所以可以使数据传送效率提高。
这里,所述分割单元也可将传送源存储器中的矩形区域分割为两个以上的小区域,并将指令分割为每个小区域的指令。
根据该结构,例如通过将小区域的存取大小变为传送目的地存储器的数据范围,可以使数据传送效率提高。
这里,所述数据传送装置也可还具有时钟停止单元,在第一传送单元或第二传送单元中不存在应执行的指令的情况下,停止对该第一传送单元或第二传送单元的时钟供给。
这里,所述时钟停止单元将指令保持在保持单元中,但是也可在不能发布开头指令的情况下,停止时钟。
根据该结构,可以节约数据传送装置的消耗功率,尤其在便携电话机和PDA等上具有数据传送装置的情况下,可以延迟基于电池的驱动时间。
另外,由于本发明的数据传送方法和程序与上述相同,所以省略细节。
【发明效果】
如上所述,根据本发明的数据传送装置,在与各个独立的三个总线相连的存储器之间,第一传送单元和第二传送单元独立地进行DMA数据传送的情况下,可以使三个总线整体的传送效率提高。具体而言,虽然第一传送单元和第二传送单元会在以第三存储器或第四存储器为对象的DMA数据传送中产生冲突,但是通过在调度单元中使更多的指令所属的组优先,在DMA数据传送冲突的情况下,可以缩短指令整体的DMA传送时间,可以使总线的使用效率提高。
另外,在固定决定了传送总线(传送源和传送目的地)中的传送目的地的情况下,例如,在将第一存储器和第二存储器的传送目的地固定决定为第三存储器或第四存储器的情况下,可以通过分组单元使分组的效率提高。
另外,在固定决定了传送总线中的传送源的情况下,例如在将对第一存储器和第二存储器的传送源固定决定为第三存储器和第四存储器的情况下,可以通过分组单元使分组的效率提高。
另外,在第一存储器和第二存储器根据情况可为传送源或传送目的地的情况下,可以通过分组单元使分组的效率提高。
另外,可以通过简单的指针操作和追寻链接的指针操作来实现从所有的指令取得信息。
另外,例如在执行等待时间(数据传送的时间)慢的情况下,可以根据需要,暂时保留执行中的指令。
另外,通过指令分割,可以提高数据传送效率。
另外,可以节约消耗功率。
附图说明
图1是表示基于本发明的实施方式1的DMA数据传送装置的结构的框图;
图2A是存储器A~存储器D的说明图;
图2B是基于DMAC101a的数据传送的说明图;
图2C是基于DMAC101a的数据传送的说明图;
图3是表示分组部中的分组的一例的说明图;
图4A是表示基于调度部的指令发布的一例的说明图;
图4B是表示指令发布不好的一例的说明图;
图5是指令队列和指令信息取得部的说明图;
图6是表示指令队列中的指令链接的图;
图7是表示本发明的实施方式2中的DMA数据传送装置的结构的框图;
图8是表示基于指令变更部的指令变更的第一例的图;
图9是表示基于指令变更部的指令变更的第二例的图;
图10是表示基于指令变更部的指令变更的第三例的图;
图11是表示本发明的实施方式3中的DMA数据传送装置的结构的框图;
图12是表示本发明的实施方式3中的DMA数据传送装置的结构的框图。
具体实施方式
(实施方式1)
图1是表示本发明的实施方式1中的DMA数据传送装置(下面称作数据传送装置)的结构的框图。该数据传送装置包括DMA执行部101、存储器A102、存储器B103、存储器C104、存储器D105、指令队列106、指令信息取得部107、分组部108、总线信息取得部109、调度部110和选择器111。
DMA执行部101具有DMAC101a和DMAC101b,执行存储器A102、存储器B103、存储器C104、存储器D105之间的DMA数据传送。与存储器A102相连的第一总线、与存储器B103相连的第二总线、与存储器C104和存储器D105相连的第三总线是分别独立的总线。
图2A是存储器A102~存储器D105的说明图。如该图所示,存储器A102和存储器B103是公共存储器。即,存储器A102从第一总线上的主机接收存储器存取指令,存储器B103从第二总线上的主机接收存储器存取指令。因此,存储器A102还存在被DMAC101a之外占用的情况,DMAC101a输出存储器存取指令时,不一定必然可以占用。存储器103也存在被DMAC101b之外占用的情况,DMAC101b输出存储器存取指令时,不一定必然可以占用。
图2B是基于DMAC101a的数据传送的说明图。如该图所示,DMAC101a在存储器A102、存储器C104或存储器D105之间通过直接存储器存取来传送数据。该数据传送可双向进行。
图2C是基于DMAC101b的数据传送的说明图。如该图所示,DMAC101b在存储器B103、存储器C104或存储器D105之间通过直接存储器存取来传送数据。该数据传送可双向进行。
图1中的指令队列106将指示基于DMA的数据传送的指令保持为队列。该指令从各总线上的主机等存储到指令队列106中。指令包含各种参数和指针。各种参数包含传送总线(传送源存储器的起始地址和传送目的地存储器的起始地址)、传送大小、应完成传送的时间等。由于指令队列不在物理的FIFO存储器中作为逻辑队列构成,所以指针指示各种参数的存储位置。指令有固定长度的情况和可变长度的情况。
指令信息取得部107取得在指令队列106中保持的所有指令。在指令是固定长度的情况下,指令信息取得部107通过将固定值加到指针上来求出下一指令的开头位置。另外,在指令是可变长度的情况下,指令中包含链接信息,指令信息取得部107通过将链接信息表示的大小加到指针中来求出下一指令的开头位置。
分组部108根据由指令信息取得部107取得的指令表示的传送源或传送目的地,来分组在指令队列106中保持的指令。具体而言,分组部108将传送源或传送目的地中指定存储器A102的指令和传送源或传送目的地中指定存储器B103的指令分到不同的组。图3表示分组部108中的分组的一例的说明图。该图中的组A是在传送源或传送目的地中指定了存储器A102的指令的组。组B是在传送源或传送目的地中指定了存储器B103的指令的组。例如,指令A1是指示从存储器A102向存储器C104(A→C)的数据传送的指令。其他指令也相同(传送源→传送目的地)。
总线信息取得部109取得表示是否分别对存储器A102、存储器B103、存储器C104、存储器D105进行存取的总线信息。
调度部110对组赋予优先级,从优先级高的组开始决定指令发布的顺序。这时,调度部110对更多的指令所属的组赋予高的优先级。另外,对于指令的发布,调度部110根据总线信息判断对应于各组的开头指令的传送总线是否是空状态,在空状态的情况下,发布指令。但是,在传送总线是空状态,但是组之间开头指令的传送总线冲突的情况下,根据上述优先级来发布指令。另外,在各组内,以指令队列106中的顺序来发布指令。
选择器111在调度部110的控制下,根据通过调度部110决定的顺序,将指令发布到DMAC101a或DMAC101b。
图4A是表示基于调度部110的指令发布的一例的说明图。该图如图3所示那样来分组指令。这时,指令A1和指令B1的传送目的地(存储器C104)冲突。调度部110使与组B相比,更多的指令所属的组A优先,首先发布指令A1。由此,通过DMAC101a来执行指令A1。在基于指令A1的DMA数据传送的执行中,由于不能执行组B的开头的指令B1,所以等待到指令A1完成。在指令A1完成后,调度部110将指令A2发布到DMAC101a,将指令B1发布到DMAC101b。这是因为指令A2和指令B1的传送源彼此(存储器D105和存储器B103)不冲突,传送目的地彼此(存储器A102和存储器C104)也不冲突。之后,调度部110发布指令A3和指令B2。
图4B是表示保留图4A的指令发布的不好的一例的说明图。假设调度部110不使更多的指令所属的组优先,则为如图4B这样的结果。其中,这里,设所有指令的数据传送大小相同,该大小的传送时间为1周期。相对于图4A中以3个周期完成组A和组B的数据传送,图4B中需要4周期。这样,通过使更多的指令所属的组优先,可以缩短组整体的传送所需的时间,可以使总线的使用效率提高。
图5是指令队列和指令信息取得部107的说明图。如该图所示,指令由指针和属性(上述的各种参数)构成。各总线的主机将属性写入到存储器E120中来作为DMA请求,进一步,对指令队列106设置指针。这里,存储器E120也可存在于任一个总线上,从各主机直接或间接写入就可以了。指令信息取得部107根据在指令队列106上设置的指针,从存储器E120中读出属性,并保持到指令队列106中。所保持的属性随时被指令信息取得部107读出到指令队列106中。
图6是表示在指令队列106中保持的指令的链接的说明图。在指令长度为固定长度的情况下,通过将固定值加到当前指令的开头地址上来得到下一指令的开头地址。在指令长度为可变长度的情况下,通过将当前的指令中包含的链接信息表示的大小加到当前的指令的开头地址上,来得到下一指令的开头地址。任何之一都通过链接指令,指令队列106把指令作为队列来保持。指令信息取得部107可通过追寻链接,而从所有的指令中取得属性。
如以上所说明,根据本实施方式的数据传送装置,在与独立的第一总线到第三总线分别连接的存储器之间,在DMAC101a和DMAC101b独立进行DMA数据传送的情况下,可以使三个总线整体的传送效率提高。具体而言,虽然DMAC101a和DMAC101b可在以存储器C104或存储器D105为对象的DMA数据传送中产生冲突,但是通过在调度部101中使更多的指令所属的组优先,当DMA数据传送在应发布的指令之间冲突的情况下,可以缩短指令整体的DMA传送时间,可以使总线的使用效率提高。
另外,分组部108在固定决定了传送总线中的传送源的情况下,也可按传送目的地的存储器为类别来进行分组。由此,指令信息取得部107取得表示传送目的地的参数就可以,所以可以使分组的效率提高。
另外,分组部108在固定决定了传送总线中的传送目的地的情况下,也可以按传送源的存储器为类别来进行分组。由此,指令信息取得部107取得表示传送源的参数就可以,所以可以使分组的效率提高。
(实施方式2)
图7是表示本发明的实施方式2中的DMA数据传送装置的结构的框图。该DMA数据传送装置包含在按每个矩形区域来处理表示图像的帧的装置中,与图1所示的数据传送装置相比,追加了指令变更部201的这一点不同。下面,省略相同点说明,以不同点为中心来进行说明。
指令变更部201分析由指令信息取得部107取得的指令的属性和由总线信息取得部109取得的总线信息,并将指令队列106中保持的任一个指令分割为两个以上的指令。
图8是表示指令变更部201变更指令的第一例的图。该图中,指令1是指令队列106的开头指令,为应传送图像数据中的长方形的区域的数据。该区域由三个矩形区域1~3构成,在矩形区域2的传送总线空的情况下,指令变更部201将指令1分割为指令1—1、指令1—2、指令1—3。指令1—1是用于传送矩形区域2的指令,是可立即发布的指令。指令1—2是用于传送矩形区域1的指令,不能立即发布。指令1—3是用于传送矩形区域3的指令,不能立即发布。将分割后的三个指令通过指令变更部201,代替指令1登记到指令队列106中。由此,可以进一步有效利用总线的空余,可以缩短组整体的传送时间。
图9是表示指令变更部201变更指令的第二例的图。该图中,指令2为应传送跨越帧边界的矩形区域的数据。该区域包含帧内数据和帧外数据,所以指令变更部201分割为用于传送帧内的矩形区域1的数据的帧内指令2—1、和用于传送帧外的矩形区域2的数据的帧外指令2—2。这里,指令2—1是传送帧内的矩形区域1的实际数据的指令。由于帧外的矩形区域1的数据没有含义,所以指令2—2向传送目的地存储器写入表示帧框的信息的指令,以代替传送没有含义的数据。例如,指令2—2指示仅从传送源存储器中仅读出矩形区域内的第一行的帧外数据,并经多次将该数据写入到传送目的地存储器。由此,可以高效地仅DMA数据传送帧内数据。省略帧外数据的矩形区域内第2行之后的读出,由于作为帧外数据,不读出无效的数据,所以可以提高数据传送效率。
图10是表示基于指令变更部201的指令变更的第三例的图。该图中,指令3是指示具有某个矩形范围的矩形数据的传送的指令。在该矩形范围比传送目的地存储器的存取范围广(图10中为3倍)的情况下,指令变更部201将指令3分割为对应于传送目的地存储器的存取范围的矩形区域1~3的三个指令3—1~3—3。由此,可以减少对应于包含了分割后的指令3—1~3—3和其他指令的(多个)指令的整体传送中的总开销,可以提高数据传送效率。这是因为在基于分割后的指令3—1~3—3的各传送之间,可以有进行其他指令的传送的余地。
(实施方式3)
图11是表示本发明的实施方式3中的DMA数据传送装置的结构的框图。该DMA数据传送装置与图7所示的DMA数据传送装置相比,具有DMA执行部301来代替DMA执行部101,具有新的指令保留部302和选择器303,具有调度部310以代替调度部110,在这些方面不同。下面省略相同点说明,以不同点为中心进行说明。
DMA执行部301具有DMAC301a和DMAC301b。DMAC301a除了DMAC101a的功能之外,构成为在DMA数据传送的中途将指示剩余的数据传送的指令输出到指令保留部302。DMAC301b也相同。
指令保留部302暂时保持从DMAC301a或DMAC301b输出的指令。
选择器303输入来自指令队列106的指令和来自指令保留部302的指令,并将任一个指令有选择地输出到DMA执行部301。
调度部310比较DMAC301a或DMAC301b中执行中的指令和在指令队列106中保持的指令,决定是否应保留执行中的指令,进一步,决定所保留的指令的恢复。根据保留和恢复的决定来控制选择器303。
具体而言,调度部310根据DMAC301a或DMAC301b中的执行中的指令的剩余传送大小和指令队列106中保持的各个组的开头指令的传送大小,来决定是否应保留。其中,在剩余传送大小比阈值大时,决定为不保留。这是因为通过仅在执行中的指令中的剩余传送大小比阈值小的情况下保留,可以消除恢复时的恶劣影响(从接收指令到DMA数据传送完成的延迟)。
这样,根据本实施方式中的数据传送装置,例如,在执行等待时间(数据传送的时间)长的指令执行中,可以使执行中的指令暂时保留,而使执行等待时间小的指令或传送大小小的指令先执行。
另外,调度部310可以根据DMAC301a或DMAC310b中的执行中的指令的数据传送应完成的时刻和剩余时刻,决定是否应保留。这时,应完成数据传送的时刻也可作为指令的属性包含在指令中。
(实施方式4)
图12是表示本发明的实施方式4中的DMA数据传送装置的结构的框图。该DMA数据传送装置与图11所示的DMA数据传送装置相比,新具有指令识别部401、DMA执行识别部402和时钟停止部403,在这些方面不同。下面,省略相同点说明,以不同点为中心进行说明。
指令识别部401识别是否从选择器303向各DMAC301a、DMAC301b进行了新的指令发布。
DMA执行识别部402在各DMAC301a、DMAC301b中,识别是否存在应执行的指令。
时钟停止部403在DMAC301a中不存在应执行的指令的情况下,停止对于DMAC301a的时钟信号的供给,在停止中新进行指令发布的情况下,重新开始该时钟信号的供给。另外,在DMAC301b中不存在应执行的指令的情况下,停止对于DMAC301b的时钟信号的供给,在停止中新进行指令发布的情况下,重新开始该时钟信号的供给。
由此,可以节约数据传送装置的消耗功率,尤其在便携电话机和PDA等上具有数据传送装置的情况下,可以延迟电池的驱动时间。
另外,在各实施方式中,调度部110、310对更多的指令所属的组赋予高优先级,但是也可如下这样。即,每进行n(n是2以上)次指令发布时,也可对更多的指令所属的组之外的组赋予高的优先级。由此,在从主机向指令队列106设置的指令的总数有不同的情况下,可以防止指令数少的组陷入指令发布等待状态。
【产业上的可利用性】
本发明适合于在多个总线之间通过直接存储器存取传送数据的数据传送装置,适合于例如在便携电话、DVD装置和数字TV装置等中,编码图像来生成编码串,或用于对编码串进行解码的系统中的数据传送装置。
Claims (17)
1、一种数据传送装置,在系统中进行数据传送,该系统具有作为独立的总线的第一、第二和第三总线、与第一总线相连的第一存储器、与第二总线相连的第二存储器、与第三总线相连的第三存储器、以及与第三总线相连的第四存储器,其特征在于,包括:
第一传送单元,在第一存储器和第三存储器之间或第一存储器和第四存储器之间通过直接存储器存取来传送数据;
第二传送单元,在第二存储器和第三存储器之间或第二存储器和第四存储器之间通过直接存储器存取来传送数据;
保持单元,将指示数据传送的指令作为队列来保持;
取得单元,取得在保持单元中保持的指令;
分组单元,根据由取得单元取得的指令所表示的传送源或传送目的地,来分组所保持的指令;
调度单元,对组赋予优先级,从优先级高的组开始决定指令发布的顺序;
发布单元,根据所决定的顺序,将指令发布到第一传送单元或第二传送单元,
所述调度单元对更多的指令所属的组赋予高的优先级。
2、根据权利要求1所述的数据传送装置,其特征在于:所述分组单元以传送源的存储器为类别来进行分组。
3、根据权利要求2所述的数据传送装置,其特征在于:所述分组单元将在传送源中指定了第一存储器的指令和在传送源中指定了第二存储器的指令分到不同的组。
4、根据权利要求1所述的数据传送装置,其特征在于:所述分组单元以传送目的地的存储器为类别来进行分组。
5、根据权利要求4所述的数据传送装置,其特征在于:所述分组单元将在传送目的地中指定了第一存储器的指令和在传送目的地中指定了第二存储器的指令分到不同的组。
6、根据权利要求1所述的数据传送装置,其特征在于:所述分组单元将在传送源或传送目的地中指定了第一存储器的指令和在传送源或传送目的地中指定了第二存储器的指令分到不同的组。
7、根据权利要求1-6中任一项所述的数据传送装置,其特征在于:所述指令包含指针和各种参数;
所述取得单元从开头的指令开始依次根据指针来取得各种参数。
8、根据权利要求7所述的数据传送装置,其特征在于:所述指令是固定长度,所述取得单元通过增加固定值来判断下一指令位置。
9、根据权利要求7所述的数据传送装置,其特征在于:所述指令包含对下一指令的链接;
所述取得单元根据所述链接来判断下一指令位置。
10、根据权利要求7所述的数据传送装置,其特征在于:所述第一存储器从第一总线上的主机接收存储器存取指令;
所述第二存储器从第二总线上的主机接收存储器存取指令;
所述第三和第四存储器仅从所述第一传送单元和第二传送单元中接收存储器存取指令。
11、根据权利要求7所述的数据传送装置,其特征在于:所述数据传送装置还具有保留单元,该保留单元暂时保留第一传送单元或第二传送单元中的执行中的指令。
12、根据权利要求11所述的数据传送装置,其特征在于:所述调度单元比较第一传送单元或第二传送单元中的执行中的指令和保持单元中保持的指令,并决定是否应保留执行中的指令。
13、根据权利要求7所述的数据传送装置,其特征在于:所述数据传送装置还具有分割单元,该分割单元将保持单元中保持的任一个指令分割为两个以上的指令。
14、根据权利要求13所述的数据传送装置,其特征在于:所述数据传送装置包含于按每个矩形区域来处理表示图像的帧的装置中;
在所述矩形区域跨越帧边界的情况下,所述分割单元将指令分割为传送帧内数据的帧内指令和传送帧外数据的帧外指令。
15、根据权利要求13所述的数据传送装置,其特征在于:所述分割单元将传送源存储器中的矩形区域分割为两个以上的小区域,并将指令分割为每个小区域的指令。
16、根据权利要求7所述的数据传送装置,其特征在于:所述数据传送装置还具有时钟停止单元,在第一传送单元或第二传送单元中不存在应执行的指令的情况下,停止对该第一传送单元或第二传送单元的时钟供给。
17、一种数据传送方法,在系统中进行数据传送,该系统具有作为独立的总线的第一、第二和第三总线、与第一总线相连的第一存储器、与第二总线相连的第二存储器、与第三总线相连的第三存储器、与第三总线相连的第四存储器、在第一存储器和第三存储器之间或第一存储器和第四存储器之间通过直接存储器存取来传送数据的第一传送单元、在第二存储器和第三存储器之间或第二存储器和第四存储器之间通过直接存储器存取来传送数据的第二传送单元、以及将指示数据传送的指令作为队列来进行保持的保持单元,其特征在于,包括如下步骤:
取得在保持单元中保持的指令的步骤;
根据所取得的指令所表示的传送源或传送目的地,来分组所保持的指令的步骤;
使更多的指令所属的组优先,来决定指令发布的顺序的步骤;
根据所决定的顺序,将指令发布到第一传送单元或第二传送单元的步骤。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005139071A JP2006318139A (ja) | 2005-05-11 | 2005-05-11 | データ転送装置、データ転送方法およびプログラム |
JP139071/2005 | 2005-05-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1862515A CN1862515A (zh) | 2006-11-15 |
CN100474279C true CN100474279C (zh) | 2009-04-01 |
Family
ID=37389949
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100778367A Expired - Fee Related CN100474279C (zh) | 2005-05-11 | 2006-05-10 | 数据传送装置、数据传送方法和程序 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7716391B2 (zh) |
JP (1) | JP2006318139A (zh) |
KR (1) | KR20060116729A (zh) |
CN (1) | CN100474279C (zh) |
TW (1) | TW200707213A (zh) |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4704343B2 (ja) * | 2004-07-27 | 2011-06-15 | パナソニック株式会社 | 画像符号化装置及び方法 |
JP2007241612A (ja) * | 2006-03-08 | 2007-09-20 | Matsushita Electric Ind Co Ltd | マルチマスタシステム |
US7930439B2 (en) * | 2006-03-31 | 2011-04-19 | Panasonic Corporation | Command output control apparatus |
EP2018118A1 (en) * | 2006-05-05 | 2009-01-28 | Philips Intellectual Property & Standards GmbH | Sensor unit, bed for a patient and method of modifying a patient´s bed |
KR100722216B1 (ko) * | 2006-11-27 | 2007-05-29 | (주)씨랩시스 | Dmb 신호 처리 기능을 갖는 네비게이션 장치 및네비게이션 장치에서 dmb 신호를 처리하는 방법 |
US20080162852A1 (en) * | 2006-12-28 | 2008-07-03 | Surya Kareenahalli | Tier-based memory read/write micro-command scheduler |
JP4996929B2 (ja) * | 2007-01-17 | 2012-08-08 | 株式会社日立製作所 | 仮想計算機システム |
JP2008181387A (ja) * | 2007-01-25 | 2008-08-07 | Nec Corp | I/oバスシステム及びその管理方法 |
JP2008234059A (ja) * | 2007-03-16 | 2008-10-02 | Fujitsu Ltd | データ転送装置および情報処理システム |
US7779175B2 (en) * | 2007-05-04 | 2010-08-17 | Blackwave, Inc. | System and method for rendezvous in a communications network |
US8887166B2 (en) * | 2008-07-10 | 2014-11-11 | Juniper Networks, Inc. | Resource allocation and modification using access patterns |
US20100011091A1 (en) * | 2008-07-10 | 2010-01-14 | Blackwave Inc. | Network Storage |
US8099402B2 (en) | 2008-07-10 | 2012-01-17 | Juniper Networks, Inc. | Distributed data storage and access systems |
US8191070B2 (en) * | 2008-07-10 | 2012-05-29 | Juniper Networks, Inc. | Dynamic resource allocation |
US8650270B2 (en) * | 2008-07-10 | 2014-02-11 | Juniper Networks, Inc. | Distributed computing with multiple coordinated component collections |
US8706900B2 (en) * | 2008-07-10 | 2014-04-22 | Juniper Networks, Inc. | Dynamic storage resources |
US8954976B2 (en) * | 2008-07-10 | 2015-02-10 | Juniper Networks, Inc. | Data storage in distributed resources of a network based on provisioning attributes |
US8364710B2 (en) * | 2008-07-10 | 2013-01-29 | Juniper Networks, Inc. | Model-based resource allocation |
US9176779B2 (en) * | 2008-07-10 | 2015-11-03 | Juniper Networks, Inc. | Data access in distributed systems |
KR100959136B1 (ko) | 2008-07-16 | 2010-05-25 | 한국전자통신연구원 | 직접 메모리 접근 제어기 및 직접 메모리 접근 채널의데이터 전송 방법 |
US9066141B2 (en) * | 2009-01-21 | 2015-06-23 | Juniper Networks, Inc. | Resource allocation and modification using statistical analysis |
JP5707911B2 (ja) * | 2010-01-27 | 2015-04-30 | 富士通セミコンダクター株式会社 | データ転送制御装置 |
US20110208885A1 (en) * | 2010-02-25 | 2011-08-25 | Panasonic Corporation | Data bus control method and apparatus |
CN102207889B (zh) * | 2010-03-31 | 2013-10-23 | 国际商业机器公司 | 命令控制方法和命令控制器 |
WO2012039143A1 (ja) * | 2010-09-21 | 2012-03-29 | 三菱電機株式会社 | Dmaコントローラ及びデータ読出装置 |
CN102522065A (zh) * | 2011-12-23 | 2012-06-27 | 深圳市奥拓电子股份有限公司 | 一种led显示系统及其通信控制方法 |
US9658975B2 (en) * | 2012-07-31 | 2017-05-23 | Silicon Laboratories Inc. | Data transfer manager |
WO2014201961A1 (en) * | 2013-06-20 | 2014-12-24 | Silicon Motion, Inc. | Control device and access system utilizing the same |
CN104240756B (zh) | 2013-06-20 | 2018-08-21 | 慧荣科技股份有限公司 | 控制装置及存取系统 |
JP6364951B2 (ja) * | 2014-05-22 | 2018-08-01 | ヤマハ株式会社 | Dmaコントローラ |
JP6251417B2 (ja) * | 2014-10-27 | 2017-12-20 | 株式会社日立製作所 | ストレージシステム、及び、記憶制御方法 |
KR102370733B1 (ko) | 2015-04-13 | 2022-03-08 | 에스케이하이닉스 주식회사 | 출력 커맨드들을 전송하는 컨트롤러 및 그것의 동작 방법 |
KR20170060300A (ko) | 2015-11-24 | 2017-06-01 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
KR101980190B1 (ko) * | 2017-09-25 | 2019-05-21 | 서울대학교산학협력단 | 입출력 디바이스 제어 장치, 그것의 동작 방법 및 입출력 디바이스 제어 장치 드라이버의 동작 방법 |
JP6970585B2 (ja) * | 2017-10-31 | 2021-11-24 | 株式会社オリンピア | 遊技機 |
US10657087B2 (en) * | 2018-05-31 | 2020-05-19 | Toshiba Memory Corporation | Method of out of order processing of scatter gather lists |
JP7347157B2 (ja) * | 2019-11-22 | 2023-09-20 | 富士通株式会社 | 情報処理システム、ストレージ制御プログラム、及び、ストレージ制御装置 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4853877A (en) * | 1986-04-21 | 1989-08-01 | Hewlett-Packard Company | Apparatus and method for efficient plotting |
US4949250A (en) | 1988-03-18 | 1990-08-14 | Digital Equipment Corporation | Method and apparatus for executing instructions for a vector processing system |
JP2806672B2 (ja) | 1992-01-28 | 1998-09-30 | 九州日本電気株式会社 | ダイレクトメモリアクセス転送制御装置 |
US5826095A (en) * | 1996-08-27 | 1998-10-20 | Hewlett-Packard Company | Method and apparatus for maintaining the order of data items processed by parallel processors |
US6104414A (en) * | 1997-03-12 | 2000-08-15 | Cybex Computer Products Corporation | Video distribution hub |
US6099585A (en) * | 1998-05-08 | 2000-08-08 | Advanced Micro Devices, Inc. | System and method for streamlined execution of instructions |
JP2000222590A (ja) * | 1999-01-27 | 2000-08-11 | Nec Corp | 画像処理方法及び装置 |
US6598155B1 (en) | 2000-01-31 | 2003-07-22 | Intel Corporation | Method and apparatus for loop buffering digital signal processing instructions |
KR100708096B1 (ko) * | 2000-07-21 | 2007-04-16 | 삼성전자주식회사 | 버스 시스템 및 그 실행 순서 조정방법 |
CN1203419C (zh) | 2001-01-09 | 2005-05-25 | 深圳市中兴集成电路设计有限责任公司 | 一种具有改进结构的微处理器系统 |
US7215680B2 (en) * | 2001-07-26 | 2007-05-08 | Nishan Systems, Inc. | Method and apparatus for scheduling packet flow on a fibre channel arbitrated loop |
JP2003223236A (ja) | 2002-01-30 | 2003-08-08 | Matsushita Electric Ind Co Ltd | データ処理システム |
-
2005
- 2005-05-11 JP JP2005139071A patent/JP2006318139A/ja active Pending
-
2006
- 2006-04-26 TW TW095114941A patent/TW200707213A/zh unknown
- 2006-05-09 US US11/382,379 patent/US7716391B2/en not_active Expired - Fee Related
- 2006-05-10 KR KR1020060041886A patent/KR20060116729A/ko not_active Application Discontinuation
- 2006-05-10 CN CNB2006100778367A patent/CN100474279C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US7716391B2 (en) | 2010-05-11 |
US20060259662A1 (en) | 2006-11-16 |
CN1862515A (zh) | 2006-11-15 |
KR20060116729A (ko) | 2006-11-15 |
JP2006318139A (ja) | 2006-11-24 |
TW200707213A (en) | 2007-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100474279C (zh) | 数据传送装置、数据传送方法和程序 | |
US8200934B2 (en) | Data transfer unit in multi-core processor | |
CN100454280C (zh) | 处理器系统,dma控制电路,dma控制方法,dma控制器用控制方法,图形处理方法和图形处理电路 | |
US7640374B2 (en) | Data transfer apparatus by direct memory access controller | |
JP3573614B2 (ja) | 画像処理装置及び画像処理システム | |
CN100388253C (zh) | 直接存储器存取传输控制器 | |
US7724984B2 (en) | Image processing apparatus | |
JP5169731B2 (ja) | マルチプロセッサシステムlsi | |
US7822949B2 (en) | Command supply device that supplies a command read out from a main memory to a central processing unit | |
US7795955B2 (en) | Semiconductor integrated circuit and power control method | |
JPH10341237A (ja) | Atm通信装置 | |
JP7236173B2 (ja) | データ伝送装置、方法及び読み取り可能な記憶媒体 | |
JP5040050B2 (ja) | 複数チャネルdmaコントローラおよびプロセッサシステム | |
US20200133721A1 (en) | Semiconductor device and systems using the same | |
CN100341012C (zh) | 总线系统及其存取命令的执行调度方法 | |
CN102334108B (zh) | 具有可指派通用寄存器组的处理器 | |
CN114610472A (zh) | 异构计算中多进程管理方法及计算设备 | |
JP2003069630A (ja) | データ転送方法、データ転送装置及びプログラム | |
JP2009252133A (ja) | ベクトル処理装置及びベクトル処理方法 | |
JP4017005B2 (ja) | 演算装置 | |
JP2002157279A (ja) | データ収集装置 | |
KR100502455B1 (ko) | 프로그래머블 컨트롤러 | |
EP2555121B1 (en) | Communication control device, information processing apparatus, and path selecting method | |
CN100461788C (zh) | 为网络处理器调度连接的方法与装置 | |
US20080288952A1 (en) | Processing apparatus and device control unit |
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: 20090401 Termination date: 20130510 |