CN101582054B - Dma控制系统、打印装置以及转移指示方法 - Google Patents

Dma控制系统、打印装置以及转移指示方法 Download PDF

Info

Publication number
CN101582054B
CN101582054B CN2009100069805A CN200910006980A CN101582054B CN 101582054 B CN101582054 B CN 101582054B CN 2009100069805 A CN2009100069805 A CN 2009100069805A CN 200910006980 A CN200910006980 A CN 200910006980A CN 101582054 B CN101582054 B CN 101582054B
Authority
CN
China
Prior art keywords
dma control
control module
dma
transfer
channel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2009100069805A
Other languages
English (en)
Other versions
CN101582054A (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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox 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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Publication of CN101582054A publication Critical patent/CN101582054A/zh
Application granted granted Critical
Publication of CN101582054B publication Critical patent/CN101582054B/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控制单元的第一DMA控制单元时,所述转移指示单元根据使用所述多个DMA控制单元的第二DMA控制单元的状态为所述第一DMA控制单元限定转移量,并将所述转移指令提供给所述第一DMA控制单元。

Description

DMA控制系统、打印装置以及转移指示方法
技术领域
本发明涉及DMA控制系统、打印装置以及转移指示方法。
背景技术
已知一种用于控制直接存储器存取(DMA)转移的DMA控制器,在直接存储器存取转移中,各种装置和存储器可在不干扰中央处理单元(CPU)的情况下转移数据。
专利文献1(JP-A-2005-258509)披露了这样一种技术:处理器在存储器中设置分别具有不同优先级的多个描述符区域,并且DMA控制电路优先地在存储器中准备的描述符中取出具有较高优先级的描述符。
专利文献2(JP-A-2006-277363)披露了这样一种技术:包括在模块与存储器之间转移的数据的大小等的描述符信息中包含作为在裁决多个模块使用共享总线的权限时的指标的优先级,并且基于根据描述符信息的优先级来裁决多个模块使用共享总线的权限。
发明内容
本发明的目的在于提供DMA(直接存储器存取)控制系统、打印装置和转移指示方法,该系统、该装置和该方法能够根据使用其他DMA转移单元的状态来控制多个DMA转移单元中的特定DMA转移单元进行DMA转移的转移量。
[1]根据本发明的一个方面,一种DMA控制系统包括多个DMA控制单元和转移指示单元。所述多个DMA控制单元以这样的方式被控制,即:在所述多个DMA控制单元中的一个使用传输路径的同时,防止除了所述多个DMA控制单元中的所述一个之外的其他DMA控制单元使用所述传输路径。并且所述转移指示单元为各个所述DMA控制单元限定DMA转移的转移量,并且将转移指令提供给各个所述DMA控制单元。当所述转移指示单元将转移指令提供给所述多个DMA控制单元的第一DMA控制单元时,所述转移指示单元根据使用所述多个DMA控制单元的第二DMA控制单元的状态为所述第一DMA控制单元限定转移量,并将所述转移指令提供给所述第一DMA控制单元。
[2]根据第[1]项中所描述的DMA控制系统,当所述转移指示单元检测到开始使用所述第二DMA控制单元时,所述转移指示单元(i)废弃生成的待提供给所述第一DMA控制单元的转移指令,并且(ii)根据所述第二DMA控制单元正在被使用的情况为所述第一DMA控制单元限定新转移量,并将新转移指令提供给所述第一DMA控制单元。
[3]根据第[1]项或第[2]项中所描述的DMA控制系统,当所述转移指示单元检测到结束使用所述第二DMA控制单元时,所述转移指示单元(i)废弃生成的待提供给所述第一DMA控制单元的转移指令,并且(ii)根据所述第二DMA控制单元没有正在被使用的情况为所述第一DMA控制单元限定新转移量,并将新转移指令提供给所述第一DMA控制单元。
[4]根据第[1]项中所描述的DMA控制系统,当所述转移指示单元对所述第一DMA控制单元生成转移指令时,所述转移指示单元根据使用除了所述第一DMA控制单元之外的DMA控制单元的状态的组合为所述第一DMA控制单元限定转移量,并将转移指令提供给所述第一DMA控制单元。
[5]根据第[4]项中所描述的DMA控制系统,当所述转移指示单元检测到所述组合的变化时,所述转移指示单元(i)废弃生成的待提供给所述第一DMA控制单元的转移指令,并且(ii)根据所述变化之后的组合为所述第一DMA控制单元限定新转移量,并将新转移指令提供给所述第一DMA控制单元。
[6]根据本发明的另一个方面,一种打印装置包括多个DMA控制单元和转移指示单元。所述多个DMA控制单元以这样的方式被控制,即:当所述多个DMA控制单元中的一个使用传输路径时,防止除了所述多个DMA控制单元中的所述一个之外的其他DMA控制单元使用所述传输路径。并且所述转移指示单元为各个所述DMA控制单元限定DMA转移的转移量,并且将转移指令提供给各个所述DMA控制单元。当所述转移指示单元将转移指令提供给所述多个DMA控制单元的第一DMA控制单元时,所述转移指示单元根据使用所述多个DMA控制单元的第二DMA控制单元的状态为所述第一DMA控制单元限定转移量,并将所述转移指令提供给所述第一DMA控制单元。提供给所述第一DMA控制单元的所述转移指令是为了进行图像读取、打印、图像信息的转换而执行所述图像信息的DMA转移的指令。
[7]根据本发明的一个方面,一种转移指示方法包括:控制步骤,以这样的方式控制多个DMA控制单元,即:在所述多个DMA控制单元中的一个使用传输路径的同时,防止除了所述多个DMA控制单元的所述一个之外的其他DMA控制单元使用所述传输路径;限定步骤,为各个所述DMA控制单元限定DMA转移的转移量;以及提供步骤,将转移指令提供给各个所述DMA控制单元。当将转移指令提供给所述多个DMA控制单元的第一DMA控制单元时,所述限定步骤和所述提供步骤包括根据使用所述多个DMA控制单元的第二DMA控制单元的状态为所述第一DMA控制单元限定转移量以及将所述转移指令提供给所述第一DMA控制单元。
根据第[1]项,可以控制多个DMA控制单元的第一DMA控制单元进行DMA转移的转移量,从而根据使用第二DMA控制单元的状态有效地利用传输路径的带宽。
根据第[2]项,可以与开始使用第二DMA控制单元相关联地进行控制,从而根据第二DMA控制单元正在使用传输路径的情况有效地利用传输路径的带宽。
根据第[3]项,可以与结束使用第二DMA控制单元相关联地进行控制,从而根据第二DMA控制单元没有正在使用传输路径的情况有效地利用传输路径的带宽。
根据第[4]项,可以控制多个DMA控制单元的特定DMA控制单元进行DMA转移的转移量,从而根据除了第一DMA控制单元之外的DMA控制单元的使用状态的组合有效地利用传输路径的带宽。
根据第[5]项,可以根据使用除了第一DMA控制单元之外的DMA控制单元的状态的组合的变化来生成用于有效地利用传输路径的带宽的转移指令。
根据第[6]项,可以控制多个DMA控制单元的特定DMA控制单元进行DMA转移的转移量,从而根据使用第二DMA控制单元的状态有效地利用传输路径的带宽。
根据第[7]项,可以控制多个DMA控制单元中的特定DMA控制单元进行DMA转移的转移量,从而根据使用第二DMA控制单元的状态有效地利用传输路径的带宽。
附图说明
基于下列附图详细地说明本发明的示例性实施例,其中:
图1是示出根据示例性实施例的DMA控制系统的功能构造实例的框图;
图2是示出根据示例性实施例的DMA控制系统的物理构造实例的框图;
图3是示出在采用虚拟存储方法的系统中由DMAC读取的描述符列表实例的简图;
图4是解释用于管理描述符列表的描述符列表管理队列的构造的说明图;
图5是示出由转移指示单元执行的描述符列表的应用操作实例的流程图;
图6是示出由转移指示单元执行的描述符列表的应用操作实例的流程图;
图7是示出由转移指示单元执行的描述符列表的应用操作的另一实例的流程图;
图8是示出由转移指示单元执行的描述符列表的应用操作的另一实例的流程图;
图9是设置为分别将正在使用的通道的组合与描述符数目相关联的表格的实例;
图10是示出DMAC的第一操作实例的流程图;
图11是示出DMAC的通道CH1和CH2的操作实例的顺序图;
图12是示出DMAC的通道CH1和CH2的操作实例的顺序图;
图13是示出DMAC的通道CH1和CH2的操作之间的比较例的顺序图;
图14是示出DMAC的通道CH1和CH2的操作实例的顺序图;
图15是示出DMAC的第二操作实例的流程图;
图16是示出DMAC的通道CH1和CH2的操作实例的顺序图;
图17是示出DMAC的通道CH1和CH2的操作实例的顺序图;
图18是示出DMAC的通道CH1和CH2的操作之间的比较例的顺序图;
图19是示出DMAC的通道CH1和CH2的操作实例的顺序图;
图20是示出DMAC的第三操作实例的流程图;
图21是示出DMAC的通道CH1和CH2的操作实例的顺序图;
图22是示出DMAC的通道CH1和CH2的操作实例的顺序图;
图23是示出DMAC的通道CH1和CH2的操作之间的比较例的顺序图;以及
图24是示出包括根据示例性实施例的DMA控制系统的图像处理系统的构造实例的简图。
具体实施方式
在下文中,参考附图,说明本发明的示例性实施例。
图1是示出根据示例性实施例的DMA控制系统1的功能构造实例的框图。在图1中,DMA控制系统1包括多个DMA控制单元11、12…、控制单元20、转移(传送)指示单元30以及转移请求单元40。在下列说明中,当不必在其中区分时,DMA控制单元11、12…共同称为“DMA控制单元10”。
图2是示出根据示例性实施例的DMA控制系统1的物理构造实例的框图。在图2中,DMA控制系统1包括:CPU 50、存储器60、输入/输出装置70、DMA控制器(在下文中,称为“DMAC”)80、以及用于相互连接这些构成部件的总线B。
在图2的实例中,由具有多个通道的单个DMAC 80实现多个DMA控制单元10和控制单元20。例如,分别由DMAC 80的第一通道CH1、第二通道CH2…实现DMA控制单元11、12…。可以由其他的物理构造,例如多个DMAC和用于控制这些DMAC的控制电路实现多个DMA控制单元10和控制单元20。例如,通用DMAC可以用作具有多个通道的每一个DMAC 80以及多个DMAC。
在图2的实例中,由CPU 50实现图1中的转移指示单元30。具体而言,以这样的方式实现转移指示单元30的功能,即:CPU 50将记录在记录介质上的程序(例如,装置驱动程序)读取到存储器60中并执行。可以由其中记录了程序的诸如CD-ROM等计算机可读记录介质提供程序,或者可以通过通信提供程序作为数据信号。可以由另一种物理构造,例如仅由硬件来实现转移指示单元30。也可以提供将计算机用作多个DMA控制单元10和转移指示单元30的程序。
多个DMA控制单元10的每一个基于转移指令利用传输路径来控制DMA转移。具体而言,多个DMA控制单元10的每一个根据转移指令经由传输路径(例如,总线B)控制从转移源到转移目标的DMA转移。转移源和转移目标表示由转移指令限定的存储器60和输入/输出装置70等。
控制单元20控制多个DMA控制单元10。具体而言,控制单元20以这样的方式控制DMA控制单元,即:在一个DMA控制单元10使用传输路径的同时,其余的DMA控制单元10不使用传输路径。例如,控制单元20根据诸如轮转法或固定优先级顺序的方法等裁决方法裁决多个DMA控制单元10中传输路径的使用。根据一种模式,在将传输路径的使用分配给一个DMA控制单元10的情况下,控制单元20基于单一转移指令允许该一个DMA控制单元10在从开始DMA转移到完成DMA转移的期间内占用传输路径(即通过转移指令)。根据另一种模式,在以将其划分成多个转移单元的方式执行基于单一转移指令的DMA转移的构造中,在将传输路径的使用分配给一个DMA控制单元10的情况下,控制单元20允许该一个DMA控制单元10在从开始单个单元转移到完成单个单元转移的期间内占用传输路径(即通过转移单元)。
转移指示单元30分别为DMA控制单元10生成转移指令,并且将这些转移指令提供给DMA控制单元10。转移指令包括诸如表示转移源的地址的信息、表示转移量的信息、表示转移目标的地址的信息等DMA转移所需的信息。根据一种模式,转移指示单元30分别限定相应的多个DMA控制单元10的转移量,并且将转移指令提供给多个DMA控制单元10。
当转移指示单元30从转移请求单元40接收到对于特定DMA控制单元10进行DMA转移的请求时,例如,该转移指示单元基于该请求为特定DMA控制单元10生成转移指令,并且将转移指令提供给特定DMA控制单元10。在此情况下,转移指示单元30可以基于该请求生成一系列转移指令,并且提供给DMA控制单元10。例如,由较高级的应用程序实现转移请求单元40。
在具体实例中,转移指示单元30生成转移指令并将转移指令存储在预定存储区域中。此后,转移指示单元将表示转移指令的存储位置的信息提供给DMA控制单元10。DMA控制单元10基于由转移指示单元30提供的信息从预定存储区域中读取转移指令。例如,预定存储区域是存储器60内的存储区域。
在转移指示单元30在将转移指令提供给多个DMA控制单元10中的特定DMA控制单元10之后,对于该相同的DMA控制单元10生成后一转移指令的情况下,转移指示单元在基于前一转移指令检测到完成DMA转移之后给出后一转移指令。这样,在基于一系列转移指令执行DMA转移的情况下,由于在基于前一转移指令检测到完成DMA转移之后直到给出后一转移指令会花费时间,所以在各次DMA转移之间会出现空闲时间(间隔)。
根据具体模式,当完成基于转移指令的DMA转移时,DMA控制单元10或控制单元20向转移指示单元30通知DMA转移的完成。然后,转移指示单元30在接收到完成的通知之后将后一转移指令提供给DMA控制单元10。例如,当完成DMA转移时,DMAC 80生成表示完成DMA转移的中断,并且将该中断提供给CPU 50。在接收到中断之后,CPU 50将后一转移指令提供给DMAC 80。在生成中断之后直到应用后一转移指令会出现空闲时间。空闲时间包括中断处理时间、操作系统的开销、DMAC 80的寄存器的设定时间等。
转移指示单元30在为多个DMA控制单元10中的特定DMA控制单元10生成转移指令时根据使用除了特定DMA控制单元10之外的至少一个其余DMA控制单元10的状态控制由特定DMA控制单元10的转移指令限定的DMA转移的转移量。根据一种模式,在对多个DMA控制单元10中的特定DMA控制单元10指示转移时,转移指示单元30根据使用除了特定DMA控制单元10之外的另一DMA控制单元10的状态限定特定DMA控制单元10的DMA转移的转移量,并且将转移指令提供给特定DMA控制单元10。
上述状态是指被使用的状态或者不是根据一种模式的状态。例如,转移指示单元30根据另一DMA控制单元10是否正在被使用控制由转移指令限定的DMA转移的转移量。在此情况下,转移指示单元30基于预定判据判断另一控制单元10是否正在被使用。例如,转移指示单元30在下列情况中每一种情况下判定为“正在被使用”:
(a1)当DMA控制单元10正在执行DMA转移时;
(a2)当在转移指令提供给DMA控制单元10之后还没有完成基于该转移指令的DMA转移时;
(a3)当转移指令提供给DMA控制单元10之后还没有完成基于包括该转移指令的一系列转移指令的DMA转移时;
(a4)当在转移指示单元30接收到对于DMA控制单元10进行DMA转移的请求之后还没有完成根据该进行DMA转移的请求的DMA转移时;以及
(a5)当转移指示单元30在检测到使用DMA控制单元10的开始之后没有检测到使用DMA控制单元10的完成时(例如,当转移指示单元30在接收到开始作业的通知之后没有接收到完成使用特定DMA控制单元10的作业(工作)的通知时)。
根据一种模式,在转移指示单元30检测到开始使用另一DMA控制单元10的情况下,当存在已经生成待提供给特定DMA控制单元10的转移指令时,转移指示单元取消已经生成的转移指令,并且根据另一DMA控制单元10开始使用的情况生成限定转移量的新的转移指令。根据一种模式,在转移指示单元30检测到开始使用另一DMA控制单元10的情况下,当存在已经生成待提供给特定DMA控制单元10的转移指令时,转移指示单元取消已经生成的转移指令。然后,转移指示单元30根据另一DMA控制单元10正在被使用的情况限定转移量,并且将转移指令提供给特定DMA控制单元10。存在下列情况(b1)至(b4)作为检测到开始使用另一DMA控制单元10的情况:
(b1)当检测到DMA控制单元10开始进行DMA转移时;
(b2)当转移指令提供给DMA控制单元10时;
(b3)当转移指示单元30接收到对于DMA控制单元10进行DMA转移的请求时;以及
(b4)当转移指示单元30接收到使用特定DMA控制单元10的作业开始的通知(例如,表示作业开始的通知或表示作业已经开始的通知)时。
根据另一模式,在转移指示单元30检测到使用另一DMA控制单元10完成的情况下,当存在已经生成待提供给特定DMA控制单元10的转移指令时,转移指示单元取消已经生成的转移指令,并且根据另一DMA控制单元10没有正在被使用的情况生成限定转移量的新的转移指令。根据一种模式,在转移指示单元30检测到使用另一DMA控制单元10完成的情况下,当存在已经生成待提供给特定DMA控制单元10的转移指令时,转移指示单元取消已经生成的转移指令,然后,根据另一DMA控制单元10没有正在被使用的情况限定转移量,并且将转移指令提供给特定DMA控制单元10。存在下列情况(c1)至(c5)作为检测到使用另一DMA控制单元10完成的情况:
(c1)当检测到DMA控制单元10进行的DMA转移完成时;
(c2)当检测到DMA控制单元10基于转移指令进行的DMA转移完成时;
(c3)当检测到DMA控制单元10基于一系列转移指令进行的DMA转移完成时;
(c4)当检测到作为请求对象的DMA控制单元10根据由转移指示单元30接收到的请求进行的DMA转移完成时;以及
(c5)在接收到使用DMA控制单元10的作业完成的通知的情况下(例如,将很快完成作业的通知或已经完成作业的通知)。
在DMA控制系统1包括三个或更多个DMA控制单元10的构造中,根据一种模式,在为特定DMA控制单元10生成转移指令的情况下,转移指示单元30根据使用除了特定DMA控制单元10之外的其他DMA控制单元10的状态的组合控制由转移指令限定的DMA转移的转移量。例如,转移指示单元30根据除了特定DMA控制单元10之外的其他DMA控制单元10中正在被使用的DMA控制单元10的组合控制由转移指令限定的DMA转移的转移量。根据一种模式,在为特定DMA控制单元10生成转移指令的情况下,转移指示单元30根据使用除了特定DMA控制单元10之外的其他DMA控制单元10的状态的组合限定特定DMA控制单元10的转移量,并且将转移指令提供给特定DMA控制单元10。
例如,可以预先提供正在被使用的DMA控制单元10的组合与用于控制转移量的控制信息相关联的表格。然后,转移指示单元30参考该表格指定与正在被使用的DMA控制单元10的组合对应的控制信息,并且基于这样指定的控制信息生成转移指令。例如,控制信息是表示根据一个转移指令的转移量的上限的信息。此外,例如,基于DMA转移率的实际测量值设定控制量。例如,根据一种模式,表格的控制信息是可变的,从而可以根据用户的用途而变化。
根据一种模式,当特定DMA控制单元10本身执行DMA转移时,或者当没有使用除了特定DMA控制单元10之外的所有其他DMA控制单元10中的任一个时,生成特定DMA控制单元10的转移指令,从而以转移效率最高的转移量执行DMA转移。
根据另一模式,在转移指示单元30检测到组合的变化的情况下,当存在已经生成待提供给特定DMA控制单元10的转移指令时,转移指示单元取消已经生成的转移指令,并且根据变化之后的组合生成限定转移量的新的转移指令。根据一种模式,在转移指示单元30检测到组合的变化的情况下,当存在已经生成待提供给特定DMA控制单元10的转移指令时,转移指示单元取消已经生成的转移指令,然后根据变化之后的组合限定转移量,并且将转移指令提供给特定DMA控制单元10。
转移指示单元30可以根据使用所有的多个DMA控制单元10或仅仅使用多个DMA控制单元10的一部分的状态给出转移量的控制。也就是说,所有多个DMA控制单元10中的每一个可以是特定DMA控制单元10,或者仅仅多个DMA控制单元10的一部分可以是特定DMA控制单元10。
根据一种模式,DMA控制系统1包含在打印装置中。在此情况下,在执行图像读取、图像信息的打印或转换的过程的情况下,当转移指示单元30为多个DMA控制单元10中的特定DMA控制单元10生成转移指令从而执行图像信息的DMA转移时,转移指示单元根据使用除了特定DMA控制单元10之外的其他DMA控制单元10的状态限定用于特定DMA控制单元10的DMA转移的转移量,并且将转移指令提供给特定DMA控制单元10。例如,当打印装置执行图像读取、图像信息的打印或转换的过程时,当转移指示单元30为特定DMA控制单元10生成转移指令时,转移指示单元根据使用除了特定DMA控制单元10之外的其他DMA控制单元10的状态控制由转移指令限定的DMA转移的转移量。
在下文中,将具体地说明根据示例性实施例的DMA控制系统1的操作。在下列说明中,假定由具有N(N是2或更大的整数)个通道CH1至CHN的DMAC 80实现多个DMA控制单元10和控制单元20。此外,假定由CPU 50和装置驱动程序的结合实现转移指示单元30。此外,假定由CPU 50和较高级的应用程序的结合实现转移请求单元40。
首先,将对当通知DMAC 80的通道CH1时DMA控制系统1的操作的具体实例进行说明。
在本实例中,DMAC 80具有能够对于离散地址连续地转移数据的分散-聚集功能。此外,DMAC 80基于由转移指示单元30生成的描述符执行DMA转移。描述符是包括DMA转移所需信息的转移信息。
转移指示单元30为每一个预定单元的转移量生成描述符,并且通过连接这样生成的多个描述符而生成描述符列表。描述符列表对应于转移指令。描述符列表存储在设置在存储器60中的描述符存储区域中,并且描述符列表的存储地址记录在用于通道CH1的FIFO类型的描述符列表管理队列中。描述符列表管理队列是为DMAC 80的每一个通道准备的。
转移指示单元30将记录在用于通道CH1的描述符列表管理队列中的地址设定为DMAC 80的通道CH1,并且激活通道CH1。这样,DMAC 80依次从存储在这样设定的地址中的描述符列表中逐一地读取描述符,并且根据这样读取的描述符连续地执行通道CH1的DMA转移。
当对于描述符列表中所描述的所有描述符完成了DMA转移时,DMAC 80生成表示完成通道CH1的DMA转移的中断并将其提供给CPU 50。然后,转移指示单元30从通道CH1的描述符列表管理队列中读取下一个描述符列表的地址,并且将这样读取的描述符列表设定为通道CH1。然后,依次读取存储在这样设定的地址中的描述符列表中所描述的描述符,并且连续地执行通道CH1的DMA转移。通过重复地执行这些操作,可以基于一系列描述符列表执行DMA转移,从而最终执行了待转移的所有数据的DMA转移。
图3是示出在采用虚拟存储方法的系统中由DMAC 80读取的描述符列表实例的简图。
通过虚拟存储方法管理存储器60。如图3中右侧图所示,物理上离散的物理地址区域映射在连续的虚拟地址区域上并被管理。在实际存取存储的数据的情况下,以这样的方式存取数据,即:根据地址转换表等将虚拟地址区域的连续地址区域转换成相应的物理地址区域。尽管能够映射在虚拟地址上的物理存储器的最小单位称为页,然而转移指示单元30以页为单位检查物理上分散的数据的地址,并且为每一个数据生成描述符。
如图3中左侧图所示,描述符构造为包括关于下一个描述符地址、转移数据量、转移源地址和转移目标地址的信息。
“下一个描述符地址”是表示依次排列在描述符列表中的描述符中接下来要由DMAC 80读取的描述符的地址的数据。当下一个描述符是描述符列表的描述符中最终要读取的最后一个描述符时,将表示下一个描述符是描述符列表的最后一个描述符的数据存储在下一描述符地址的区域中。根据下一描述符地址,连续地读取存储在物理上离散的地址中的描述符,并且执行DMA转移。
“转移数据量”是用相应的描述符表示经历DMA转移的数据的大小的数据。“转移源地址”是表示存储待转移数据的地址的数据。“转移目标地址”是表示存储通过一定量的转移数据从转移源地址读取的数据的地址的数据。
在本实例中,每一个描述符能够转移的最大数据量是页大小,并且每一个描述符的“转移数据量”设定为等于或小于页大小的固定值(单位转移量)。这样,构成描述符列表的描述符的数目(即描述符列表的描述符的数目)与由描述符列表限定的DMA转移的转移量成比例。
图4是说明用于管理描述符列表的描述符列表管理队列的构造的说明图。描述符列表管理队列是通过将各自表示存储相应的描述符列表的地址(具体而言,存储构成描述符列表的描述符的开头部分处的描述符的地址)的描述符列表指针连续地排列作为列表结构而构造的缓冲区。此外,在描述符列表管理队列的开头部分表示描述符列表指针的描述符列表管理队列指针存储在CPU 50的预定寄存器中(或存储器的预定区域中等)。由于描述符列表管理队列构造为FIFO类型,所以当转移指示单元30读取开头部分的描述符列表指针时,描述符列表管理队列指针被重写以表示下一描述符列表指针。描述符列表管理队列指针为DMAC 80的各个通道而存在。
当新生成描述符列表并将其存储在预定存储区域中时,转移指示单元30在描述符列表管理队列的最后部分增加表示这样生成的描述符列表的地址的描述符列表指针,从而描述符列表的地址以生成的顺序被记录。
当没有描述符列表指针记录在描述符列表管理队列中时,描述符列表管理队列指针设定为空。
在通过通道CH1执行DMA转移的情况下,转移指示单元30将开头部分的用通道CH1的描述符列表管理队列指针表示的描述符列表指针设定为DMAC 80的通道CH1以开始通过通道CH1进行DMA转移,从而基于用描述符列表指针表示的描述符列表执行DMA转移。连续地执行DMA转移,而不会被CPU 50中断,直到完成单个描述符列表的DMA转移。另一方面,在通过通道CH1进行DMA转移的过程中,转移指示单元30以前述方式为通道CH1生成下一个描述符列表和随后的描述符列表,并且将这样生成的这些描述符列表的描述符列表指针记录在用于通道CH1的描述符列表管理队列中。
当完成了单个描述符列表的DMA转移时,DMAC 80在此时刻为CPU 50生成中断。然后,转移指示单元30将用通道CH1的描述符列表管理队列指针表示的下一描述符列表指针设定为DMAC 80的通道CH1,从而执行DMA转移。这样,以记录在用于通道CH1的描述符列表管理队列中的顺序读取用于通道CH1的描述符列表,从而通过通道CH1执行DMA转移。
图5是示出由转移指示单元30执行的描述符列表的给定操作实例的流程图。在下文中,将参考图5,对由转移指示单元30执行的描述符列表的给定操作实例进行说明。尽管将要对通道CH1的情况进行说明,然而也可以以类似的方式对于其他通道执行给定操作。例如,可以重复地执行图5的处理。
转移指示单元30判断描述符指针是否记录在用于通道CH1的描述符列表管理队列中(S11)。
当判定没有记录描述符指针(S11中判断结果为否定(NO))时,转移指示单元30重复步骤S11的处理。
另一方面,当判定记录了描述符指针(S11中判断结果为肯定),转移指示单元30判断是否可以将描述符列表指针提供给通道CH1(S12)。具体而言,当在将描述符列表指针设定为通道CH1之后还没有生成表示完成由通道CH1进行的DMA转移的中断时,转移指示单元30判定不可以提供描述符列表指针,而当生成中断时,判定可以提供描述符列表指针。
当判定可以提供描述符列表指针时(S12中判断结果为肯定),转移指示单元30将用描述符列表管理队列指针表示的描述符列表指针设定为通道CH1(S13),并且结束处理。
另一方面,当判定不可以提供描述符列表指针时(S12中判断结果为否定),转移指示单元30将处理返回到步骤S11。
图6是示出由转移指示单元30执行的用于生成描述符列表的操作实例的流程图。图6示出了在根据使用通道CH2的状态为通道CH1生成描述符列表的情况下的过程。在下文中,将参考图6,对由转移指示单元30执行的用于生成描述符列表的操作实例进行说明。例如,可以重复地执行图6的处理。
转移指示单元30设置在备用状态,直到从转移请求单元40接收到对于通道CH1进行DMA转移的请求为止(S21中判断结果为否定),并且在接收到该请求时使处理前进到步骤S22(S21中判断结果为肯定)。
在步骤S22中,转移指示单元30判断DMAC 80的通道CH2是否正在被使用。具体而言,当在检测到开始使用通道CH2之后还没有检测到完成使用通道CH2时,转移指示单元30判定通道CH2正在被使用。当检测到完成使用时,转移指示单元30判定通道CH2没有正在被使用。
当判定通道CH2没有正在被使用时(S22中判断结果为否定),转移指示单元30将与没有使用通道CH2的情况对应的值D0(D0是1或更大的整数)设定为作为用于生成描述符列表的参数的最大描述符数目D。与没有使用通道CH2情况(即只有通道CH1进行操作的情况)对应的值D0是例如通过预先测量获得的描述符数目,并且是转移效率变得最高的描述符数目。
接下来,转移指示单元30基于最大描述符数目D(=D0)为通道CH1生成描述符列表,该描述符列表用于对由请求指定的待转移的数据执行DMA转移(S24)。具体而言,转移指示单元30以这样的方式生成描述符列表,即:最大描述符数目D(=D0)是构成描述符列表的描述符数目的最大值。这样,假定单个描述符的转移数据量是a,在待转移的数据中还没有对其生成描述符的数据的剩余量大于{a×(D0-1)}的情况下,生成描述符数目D0的描述符列表。反之,当数据的剩余量等于或小于{a×(D0-1)}时,生成小于D0且与剩余数据量相符的描述符数目的描述符列表。
接下来,转移指示单元30判断是否检测到开始使用通道CH2(S25)。具体而言,转移指示单元30判断是否从较高级的应用程序接收到使用通道CH2的作业开始的通知。
当判定还没有检测到开始使用通道CH2时(S25中判断结果为否定),转移指示单元30判断是否完成基于请求的DMA转移(S26)。具体而言,当描述符列表管理队列指针设定为空并且没有对其生成描述符的数据的剩余量是零时,转移指示单元30判定完成DMA转移,否则,判定还没有完成DMA转移。
当判定完成了DMA转移(S26中判断结果为肯定)时,转移指示单元30结束处理。
反之,当判定还没有完成DMA转移时(S26中判断结果为否定),转移指示单元30将处理返回到步骤S24。在步骤S24的第二或随后的处理中,当剩余数据量不是零时生成描述符列表,而当剩余数据量是零时不生成描述符列表。
当在步骤S22中判定通道CH2正在被使用时(S22中判断结果为肯定),转移指示单元30将与通道CH2正在被使用的情况对应的值D1(D1是1或更大的整数)设定为最大描述符数目D(S27)。
然后,转移指示单元30基于最大描述符数目D(=D1)为通道CH1生成描述符列表,该描述符列表用于执行由请求指定的待转移的数据的DMA转移(S28)。具体而言,转移指示单元30以这样的方式生成描述符列表,即:最大描述符数目D(=D1)是构成描述符列表的描述符数目的最大值。这样,假定单个描述符的转移数据量为a,在待转移的数据中还没有对其生成描述符的数据的剩余量大于{a×(D1-1)}的情况下,生成描述符数目D1的描述符列表。反之,当数据的剩余量等于或小于{a×(D1-1)}时,生成小于D1且与剩余数据量相符的描述符数目的描述符列表。
接下来,转移指示单元30判断是否检测到完成使用通道CH2(S29)。具体而言,转移指示单元30判断是否从较高级的应用程序接收到使用通道CH2的作业完成的通知。
当判定还没有检测到完成使用通道CH2时(S29中判断结果为否定),转移指示单元30判断是否完成基于请求的DMA转移(S30)。具体而言,当描述符列表管理队列指针设定为空并且还没有对其生成描述符的数据的剩余量是零时,转移指示单元30判定完成DMA转移,否则,判定还没有完成DMA转移。
当判定完成DMA转移时(S30中判断结果为肯定),转移指示单元30结束处理。
反之,当判定还没有完成DMA转移(S30中判断结果为否定),转移指示单元30将处理返回到步骤S28。在步骤S28的第二或随后的处理中,当剩余数据量不是零时生成描述符列表,而当剩余数据量是零时不生成描述符列表。
当在步骤S25中判定检测到开始使用通道CH2时(S25中判断结果为肯定),转移指示单元30废弃存储在描述符存储区域中的用于通道CH1的所有描述符列表,并且删除记录在用于通道CH1的描述符列表管理队列中的所有描述符列表指针(S31),然后使处理前进到步骤S27。这样,废弃了与通道CH2没有正在被使用的情况相符的描述符数目的描述符列表,并且生成了与通道CH2正在被使用的情况相符的描述符数目的新的描述符列表。当没有存储用于通道CH1的描述符列表时,不执行步骤S31的处理。
当在步骤S29中判定检测到完成使用通道CH2时(S29中判断结果为肯定),转移指示单元30废弃存储在描述符存储区域中的用于通道CH1的所有描述符列表,并且删除记录在用于通道CH1的描述符列表管理队列中的所有描述符列表指针(S32),然后使处理前进到步骤S23。这样,废弃了与通道CH2正在被使用的情况相符的描述符数目的描述符列表,并且生成了与通道CH2没有正在被使用的情况相符的描述符数目的新的描述符列表。当没有存储用于通道CH1的描述符列表时,不执行步骤S32的处理。
在前述实例中,像通道CH1的前述情况那样,转移指示单元30可以根据使用通道CH1的状态为通道CH2生成描述符列表。反之,转移指示单元30也可以不考虑使用通道CH1的状态为通道CH2生成描述符列表。例如,如图7所示,假定最大描述符数目D是常值,转移指示单元30可以为通道CH2生成描述符列表。
在图7中,转移指示单元30设置在备用状态,直到从转移请求单元40接收到对于通道CH2进行DMA转移的请求(S35中判断结果为否定),并且当接收到该请求时使处理前进到步骤S36(S35中判断结果为肯定)。
在步骤S36中,转移指示单元30基于作为预定常值的最大描述符数目D为通道CH2生成描述符列表,该描述符列表用于对由请求指定的待转移的数据执行DMA转移。具体而言,转移指示单元30以这样的方式生成描述符列表,即:最大描述符数目D是构成描述符列表的描述符数目的最大值。这样,假定单个描述符的转移数据量是a,在待转移的数据中还没有对其生成描述符的数据的剩余量大于{a×(D-1)}的情况下,生成描述符数目D的描述符列表。反之,当数据的剩余量等于或小于{a×(D-1)}时,生成小于D且与剩余数据量相符的描述符数目的描述符列表。
然后,转移指示单元30判断是否完成基于请求的DMA转移(S37)。当判定还没有完成DMA转移时(S37中判断结果为否定),处理返回到步骤S36。反之,当判定完成DMA转移时(S37中判断结果为肯定),结束处理。
图8是示出由转移指示单元30执行的用于生成描述符列表的操作的另一实例的流程图。图8示出了根据使用其他通道CH2至CHN的状态为通道CH1生成描述符列表的情况下的过程。在下文中,将参考图8,对由转移指示单元30执行的用于生成描述符列表的操作的另一实例进行说明。
转移指示单元30设置在备用状态,直到从转移请求单元40接收到对于通道CH1进行DMA转移的请求(S41中判断结果为否定),并且当接收到该请求时使处理前进到步骤S42(S41中判断结果为肯定)。
在步骤S42中,转移指示单元30根据其他通道CH2至CHN中正在被使用的通道的组合将描述符数目设定为最大描述符数目D。具体而言,转移指示单元30基于预先设定的表格确定最大描述符数目D,以便分别将正在被使用的通道的组合与描述符数目相关联。例如,该表格中的描述符数目是从DMA转移率的实际测量值获得的最优值。
接下来,转移指示单元30基于在步骤S42中设定的最大描述符数目D为通道CH1生成描述符列表,该描述符列表用于对由请求指定的待转移的数据执行DMA转移(S43)。具体而言,转移指示单元30以这样的方式生成描述符列表,即:最大描述符数目D是构成描述符列表的描述符数目的最大值。这样,假定单个描述符的转移数据量是a,在待转移的数据中还没有对其生成描述符的数据的剩余量大于{a×(D-1)}的情况下,生成描述符数目D的描述符列表。反之,当数据的剩余量等于或小于{a×(D-1)}时,生成小于D且与剩余数据量相符的描述符数目的描述符列表。
然后,转移指示单元30判断是否检测到其他通道CH2至CHN中正在被使用的通道的组合的变化(S44)。例如,转移指示单元30基于来自较高级的应用程序的使用另一个通道的作业的开始或结束的通知来检测组合的变化。
当判定还没有检测到组合的变化时(S44中判断结果为否定),转移指示单元30判断是否完成基于请求的DMA转移(S45)。具体而言,当描述符列表管理队列指针设定为空并且还没有对其生成描述符的数据的剩余量是零时,转移指示单元30判定完成了DMA转移,否则,判定还没有完成DMA转移。
当判定完成了DMA转移(S45中判断结果为肯定)时,转移指示单元30结束处理。
反之,当判定还没有完成DMA转移(S45中判断结果为否定),转移指示单元30将处理返回到步骤S43。在步骤S43的第二或随后的处理中,当剩余数据量不是零时生成描述符列表,而当剩余数据量是零时不生成描述符列表。
当判定检测到组合的变化时(S44中判断结果为肯定),转移指示单元30废弃存储在描述符存储区域中的用于通道CH1的所有描述符列表,并且删除记录在用于通道CH1的描述符列表管理队列中的所有描述符列表指针(S46),然后使处理前进到步骤S42。这样,废弃了与变化之前的组合相符的描述符数目的描述符列表,并且生成与变化之后的组合相符的描述符数目的新的描述符列表。当没有存储用于通道CH1的描述符列表时,不执行步骤S46的处理。
在前述实例中,像通道CH1的前述情况那样,转移指示单元30可以根据使用其他通道的状态为除了通道CH1之外的通道生成描述符列表。反之,转移指示单元30也可以不考虑使用其他通道的状态为除了通道CH1之外的通道生成描述符列表。例如,假定最大描述符数目D是常值,转移指示单元30可以为除了通道CH1之外的通道生成描述符列表。
图9示出了设置为分别将正在被使用的通道的组合与描述符数目相关联的表格的实例。例如,基于图9所示的表格执行步骤S42的处理。在图9中,表格内的数字表示描述符数目,表格内的“-”表示相应的通道没有正在被使用。
在图9所示的表格中,分别为通道CH1至CH3中正在被使用的通道的每一种组合设定提供给正在被使用的通道的描述符数目。
例如,组合#1表示所有通道CH1至CH3都正在被使用的情况。在此情况下,提供给通道CH1、CH2和CH3的描述符数目分别是512、4和1。这样,当在各个通道CH1和CH2正在被使用的情况下生成用于通道CH1的描述符列表时,将“512”设定为最大描述符数目D。此外,当在各个通道CH1和CH3正在被使用的情况下生成用于通道CH2的描述符列表时,将“4”设定为最大描述符数目D。
此外,例如,组合#2表示各个通道CH1和CH2正在被使用而通道CH3没有正在被使用的情况。在此情况下,提供给通道CH1和CH2的描述符数目分别是512和5。这样,当在通道CH2正在被使用而通道CH3没有正在被使用的情况下生成用于通道CH1的描述符列表时,将“512”设定为最大描述符数目D。此外,当在通道CH1正在被使用而通道CH3没有正在被使用的情况下生成用于通道CH2的描述符列表时,将“5”设定为最大描述符数目D。
图10是示出DMAC 80的第一操作实例的流程图。在此操作实例中,各个通道CH1和CH2以描述符列表为单位占用传输路径。在下文中,将参考图10,说明DMAC 80的第一操作的实例。
DMAC 80对通道CH1判断是否存在还没有处理的描述符列表(S51)。具体而言,DMAC 80判断是否为通道CH1设定了描述符列表指针。
当判定存在还没有处理的描述符列表时(S51中判断结果为肯定),DMAC 80通过通道CH1基于此描述符列表来执行DMA转移(S52)。然后,当完成了基于此描述符列表的DMA转移时,DMAC80向CPU 50生成中断(S53),并且使处理前进到步骤S54。
反之,当判定不存在还没有处理的描述符列表时(S51中判断结果为否定),DMAC 80使处理前进到步骤S54。
在步骤S54中,DMAC 80对通道CH2判断是否存在还没有处理的描述符列表。具体而言,DMAC 80判断是否为通道CH2设定了描述符列表指针。
当判定存在还没有处理的描述符列表时(S54中判断结果为肯定),DMAC 80通过通道CH2基于此描述符列表执行DMA转移(S55)。然后,当完成了基于此描述符列表的DMA转移时,DMAC80向CPU 50生成中断(S56),并且使处理前进到步骤S51。
反之,当在步骤S54中判定不存在还没有处理的描述符列表时(S54中判断结果为否定),DMAC 80使处理前进到步骤S51。
图11和图12是示出DMAC 80的通道CH1和CH2的操作实例的顺序图。在本实例中,DMAC 80如图10所示进行操作。如图6所示,根据使用通道CH2的状态生成用于通道CH1的描述符列表。如图7所示,不考虑使用通道CH1的状态生成用于通道CH2的描述符列表。对于通道CH1来说,与通道CH2没有正在被使用的情况对应的最大描述符数目D0是“7”,而与通道CH2正在被使用的情况对应的最大描述符数目D1是“3”。对于通道CH2来说,最大描述符数目D是常值“7”。
根据一种模式,将通道CH1用于低优先级的作业,而将通道CH2用于高优先级的作业。作为在打印装置或复印机中利用DMA转移的作业,存在打印作业、图像读取(扫描)作业、图像转换(渲染)作业、系统管理作业等。例如,当以优先级变高的顺序排列时,这些作业可以以打印、渲染和系统管理的顺序或以扫描、渲染和系统管理的顺序排列。这样,例如,可以将通道CH1用于低优先级的渲染,而将通道CH2用于高优先级的扫描。
在图11和图12中,基于各个描述符的DMA转移部分用矩形表示。对应于各个矩形的描述符数目分别表示在矩形的上边上。圆括号内的数字分别表示描述符列表数目。这些附图的表达方式将应用于后面类似的附图中。
在图11中,只有通道CH1基于一系列描述符列表进行操作以执行DMA转移。在此情况下,各个描述符列表的描述符数目是“7”。当完成了基于描述符列表的DMA转移时,生成中断。然后,在经过了诸如中断处理时间等空闲时间时,执行基于下一个描述符列表的DMA转移。当只有通道CH2进行操作时,执行与只有通道CH1进行操作的前述情况下的操作相似的操作。
在图12中,通道CH1和CH2并行操作,并且这些通道中的每一个基于一系列相应的描述符列表执行DMA转移。在此情况下,通道CH1的各个描述符列表的描述符数目是“3”,而通道CH2的各个描述符列表的描述符数目是“7”。在各个通道中,当开始基于一系列描述符列表的DMA转移时,传输路径被占用直到完成DMA转移为止。因而,在通过这些通道中的一个通道执行DMA转移的同时,不能通过其他通道执行DMA转移。从而,在其他通道出现了等待时间。在图12中,等待时间用阴影区域表示。当完成这一个通道的DMA转移并且生成中断时,开始已经等待的其他通道的DMA转移。
图13是示出DMAC 80的通道CH1与CH2的操作之间的比较例的顺序图。本比较例在DMAC 80和转移指示单元30的操作条件上与图12相同,但是在像通道CH2那样以图7中的方式生成用于通道CH1的描述符列表这一点上与图12不同。也就是说,在本比较例中,基于作为常值的最大描述符数目“7”生成用于通道CH1和CH2的描述符列表。
在图13中,通道CH1和CH2并行操作,并且这些通道中的每一个基于一系列相应的描述符列表执行DMA转移。在此情况下,各个通道CH1和CH2的描述符列表的描述符数目是“7”。
在图13中,通道CH1的等待时间几乎与通道CH2的等待时间相同。反之,在图12中,通道CH2的等待时间比通道CH1的等待时间短。也就是说,通道CH2的DMA转移设定为具有比通道CH1的DMA转移更高的优先级。此外,图12中的通道CH2的等待时间设定为比图13中的通道CH2的等待时间短。
图14是示出DMAC 80的通道CH1和CH2的操作实例的顺序图。在本实例中,DMAC 80和转移指示单元30的操作条件与图12中的相同。
在图14中,首先,只有用于低优先级作业的通道CH1进行操作。具体而言,分别在生成部分D1-1至D1-4中生成用于通道CH1的描述符列表DL1-1至DL1-4。然后,分别在转移部分T1-1至T1-3执行通道CH1的基于描述符列表DL1-1至DL1-4的DMA转移。在这方面,各个描述符列表DL1-1至DL1-4的描述符数目是“7”。
在生成部分D1-4之后,在时刻t1开始利用通道CH2的DMA转移的高优先级作业,并且在时刻t2将此高优先级作业的开始通知到转移指示单元30。作为对该通知的响应,转移指示单元30废弃在生成部分D1-4生成且没有转移的描述符列表DL1-4,并且在生成部分D1-4’中生成描述符数目是“3”的新的描述符列表DL1-4’。在下文中,分别在生成部分D1-5’至D1-15’中生成各自的描述符数目是“3”的描述符列表DL1-5’至DL1-15’。然后,分别在转移部分T1-4至T1-14中执行通道CH1的基于描述符列表DL1-4’至DL1-14’的DMA转移。
反之,在时刻t2之后,通道CH2的DMA转移与通道CH1的DMA转移并行执行。具体而言,分别在生成部分D2-1至D2-END(未示出)中生成用于通道CH2的描述符列表DL2-1至DL2-END。然后,分别在转移部分T2-1至T2-END执行通道CH2的基于描述符列表DL2-1至DL2-END的DMA转移。在这方面,各个描述符列表DL2-1至DL2-END的描述符数目是“7”。
在并行执行通道CH2的DMA转移和通道CH1的DMA转移的期间,在各个通道CH1和CH2中出现了如用阴影区域所示的等待时间。在此情况下,通道CH2的等待时间比通道CH1的等待时间短。
在转移部分T2-END中,在完成高优先级作业之前的时刻t3将完成高优先级作业通知到转移指示单元30。
作为对该通知的响应,转移指示单元30废弃在生成部分D1-15’中生成且没有转移的描述符列表DL1-15’,并且在生成部分D1-15中生成描述符数目是“7”的新的描述符列表DL1-15。在下文中,分别在生成部分D1-16、D1-17…中生成各自的描述符数目是“7”的描述符列表DL1-16、DL1-17…。然后,分别在转移部分T1-15、T1-16…中执行通道CH1的基于描述符列表DL1-15、DL1-16…的DMA转移。
在图11、12和14所示的实例中,当操作单项作业时,控制DMA转移,以便以最高效率的描述符数目执行DMA转移。反之,当执行高优先级作业时,使得低优先级作业的DAM转移的描述符数目小,以便缩短高优先级作业的DMA转移的等待时间。在这方面,以这样的方式设定在执行高优先级作业的情况下低优先级作业的DMA转移的描述符数目(即待调整的描述符数目),即:高优先级作业的DAM转移的等待时间在高优先级作业的DMA转移的容许等待时间之内。具体而言,以这样的方式预先确定通道CH2的最大描述符数目D1,即:高优先级作业的DMA转移的等待时间等于或小于容许等待时间。
此外,在图14的实例中,在开始使用通道CH2的作业时,通知转移指示单元30作业已经开始。然后,在开始通道CH1的DMA转移之前,调整通道CH1的描述符列表。也就是说,对于通道CH1而言,废弃已经生成的描述符列表,并且生成新的描述符列表。这样,可以减少通道CH2一侧的等待时间。
图15是示出DMAC 80的第二操作实例的流程图。在此操作实例中,DMAC 80以被划分成多突发脉冲转移的方式执行基于单个描述符列表的DMA转移。例如,单突发脉冲转移的转移量(即突发脉冲长度)是恒定的。此外,通过轮转处理来控制通道CH1和CH2的传输路径的使用,并且通道CH1和CH2以突发脉冲转移为单位占用传输路径。在下文中,将参考图15,说明DMAC 80的第二操作的实例。
DMAC 80对通道CH1判断是否存在正在处理或还没有处理的描述符列表(S61)。
当判定存在正在处理或还没有处理的描述符列表时(S61中判断结果为肯定),DMAC 80通过通道CH1执行单突发脉冲转移(S62)。
然后,DMAC 80判断是否完成通道CH1的基于描述符列表的DMA转移(S63)。
当判定完成DMA转移时(S63中判断结果为肯定),DMAC 80向CPU 50生成中断(S64),并且使处理前进到步骤S65。
反之,当判定不存在正在处理或还没有处理的描述符列表(S61中判断结果为否定)或者在步骤S63中判定还没有完成DMA转移(S63中判断结果为否定)时,DMAC 80使处理前进到步骤S65。
在步骤S65中,DMAC 80对通道CH2判断是否存在正在处理或还没有处理的描述符列表。
当判定存在正在处理或还没有处理的描述符列表时(S65中判断结果为肯定),DMAC 80通过通道CH2执行单突发脉冲转移(S66)。
然后,DMAC 80判断是否完成通道CH2的基于描述符列表的DMA转移(S67)。
当判定完成DMA转移时(S67中判断结果为肯定(YES)),DMAC 80向CPU 50生成中断(S68),并且使处理前进到步骤S61。
反之,当判定不存在正在处理或还没有处理的描述符列表(S65中判断结果为否定)或者在步骤S67中判定还没有完成DMA转移(S63中判断结果为否定)时,DMAC 80使处理前进到步骤S61。
图16和图17是示出DMAC 80的通道CH1和CH2的操作实例的顺序图。在本实例中,DMAC 80如图15中所示进行操作。如图6所示,根据使用通道CH2的状态生成用于通道CH1的描述符列表。如图7所示,不考虑使用通道CH1的状态生成用于通道CH2的描述符列表。对于通道CH1来说,与通道CH2没有正在被使用的情况对应的最大描述符数目D0是“4”,而与通道CH2正在被使用的情况对应的最大描述符数目D1是“1”。对于通道CH2来说,最大描述符数目D是常值“4”。
根据一种模式,将通道CH1用于低优先级的作业,而将通道CH2用于高优先级的作业。例如,在复印机的情况下,将通道CH1用于低优先级的渲染,而将通道CH2用于高优先级的扫描。
在图16和图17中,基于相应的描述符表示DMA转移部分的矩形中带有竖线的阴影区域表示执行多突发脉冲转移。带有高密度竖线的阴影区域表示由单个通道占用传输路径因此以高频率执行突发脉冲转移。反之,带有低密度竖线的阴影区域表示由两个通道交替地占用传输路径因此以低频率执行突发脉冲转移。在阴影区域的带有低密度竖线的部分中,交替地重复突发脉冲转移的执行部分和等待时间。这些附图的表达方式将应用于后面类似的附图。
在图16中,只有通道CH1基于一系列描述符列表进行操作以执行DMA转移。在此情况下,各个描述符列表的描述符数目是“4”。当只有通道CH2进行操作时,执行与只有通道CH1进行操作的前述情况下的操作相似的操作。
在图17中,通道CH1和CH2并行操作,并且这些通道中的每一个基于一系列相应的描述符列表执行DMA转移。在此情况下,通道CH1的各个描述符列表的描述符数目是“1”,而通道CH2的各个描述符列表的描述符数目是“4”。如图17所示,在执行通道CH2的DMA转移的部分中以低速执行通道CH2的DMA转移。这是由于传输路径的使用权限交替地提供给通道CH1和CH2。反之,在不执行通道CH1的DMA转移的部分中(例如,通道CH1的空闲时间),通道CH2占用传输路径,因此以高速执行通道CH2的DMA转移。
图18是示出DMAC 80的通道CH1与CH2的操作之间的比较例的顺序图。本比较例在DMAC 80和转移指示单元30的操作条件上与图17相同,但是在像通道CH2那样以图7的方式生成用于通道CH1的描述符列表这一点上与图17不同。也就是说,在本比较例中,基于作为常值的最大描述符数目“4”生成用于通道CH1和CH2的描述符列表。
在图18中,通道CH1和CH2并行操作,并且这些通道中的每一个基于一系列相应的描述符列表执行DMA转移。在此情况下,各个通道CH1和CH2的描述符列表的描述符数目是“4”。
在图18中,对各个通道CH1和CH2以几乎相同的频率生成DMA转移之间的空闲时间,因此在通道CH1与CH2之间每单位时间的转移量几乎相同。反之,在图17中,以比通道CH2高的频率生成通道CH1的空闲时间。这样,与通道CH1一侧相比,在通道CH2一侧更频繁地以高速执行DMA转移,因此与通道CH1一侧相比,在通道CH2一侧每单位时间的转移量较大。也就是说,通道CH2一侧的DMA转移设定为具有比通道CH1一侧更高的优先级。
图19是示出DMAC 80的通道CH1和CH2的操作实例的顺序图。在本实例中,DMAC 80和转移指示单元30的操作条件与图17中相同。
在图19中,首先,只有用于低优先级作业的通道CH1进行操作。具体而言,分别在生成部分D1-1至D1-4中生成用于通道CH1的描述符列表DL1-1至DL1-4。然后,分别在转移部分T1-1至T1-3执行通道CH1的基于描述符列表DL1-1至DL1-3的DMA转移。在这方面,各个描述符列表DL1-1至DL1-4的描述符数目是“4”。
在时刻t1开始利用通道CH2的DMA转移的高优先级作业,并且在时刻t2将此高优先级作业的开始通知到转移指示单元30。作为对该通知的响应,转移指示单元30废弃在生成部分D1-4中生成且还没有转移的描述符列表DL1-4,并且在生成部分D1-4’中生成描述符数目是“1”的新的描述符列表DL1-4’。在下文中,分别在生成部分D1-5’至D1-15’中生成各自的描述符数目是“1”的描述符列表DL1-5’至DL1-15’。然后,分别在转移部分T1-4至T1-14中执行通道CH1的基于描述符列表DL1-4’至DL1-14’的DMA转移。
反之,在时刻t2之后,通道CH2的DMA转移与通道CH1的DMA转移并行执行。具体而言,分别在生成部分D2-1至D2-END(未示出)中生成用于通道CH2的描述符列表DL2-1至DL2-END。然后,分别在转移部分T2-1至T2-END中执行通道CH2的基于描述符列表DL2-1至DL2-END的DMA转移。在这方面,各个描述符列表DL2-1至DL2-END的描述符数目是“4”。
在转移部分T2-END之后,在完成高优先级作业之前的时刻t3将高优先级作业的完成通知到转移指示单元30。
作为对该通知的响应,转移指示单元30废弃在生成部分D1-15’中生成且还没有转移的描述符列表DL1-15’,并且在生成部分D1-15中生成描述符数目是“4”的新的描述符列表DL1-15。在下文中,分别在生成部分D1-16、D1-17…中生成各自的描述符数目是“4”的描述符列表DL1-16、DL1-17…。然后,分别在转移部分T1-15、T1-16…中执行通道CH1的基于描述符列表DL1-15、DL1-16…的DMA转移。
图20是示出DMAC 80的第三操作实例的流程图。在本操作实例中,DMAC 80以被划分成多突发脉冲转移的方式执行基于单个描述符列表的DMA转移。通过固定优先级顺序的方法控制通道CH1和CH2对传输路径的使用,以便将通道CH1设定为具有比通道CH2更高的优先级。作为高优先级通道的通道CH1以描述符列表为单位占用传输路径,作为低优先级通道的通道CH2以突发脉冲转移为单位占用传输路径。在下文中,将参考图20,说明DMAC 80的第三操作的实例。
DMAC 80对通道CH1判断是否存在还没有处理的描述符列表(S71)。
当判定存在还没有处理的描述符列表时(S71中判断结果为肯定),DMAC 80通过通道CH1执行单突发脉冲转移(S72)。
然后,DMAC 80判断是否完成通道CH1的基于描述符列表的DMA转移(S73)。
当判定还没有完成DMA转移时(S73中判断结果为否定),DMAC 80将处理返回到步骤S72,并且重复地执行突发脉冲转移。
反之,当判定完成DMA转移时(S73中判断结果为肯定),DMAC 80向CPU 50生成中断(S74),并且使处理前进到步骤S75。
当判定不存在还没有处理的描述符列表时(S71中判断结果为否定),DMAC 80使处理前进到步骤S75。
在步骤S75中,DMAC 80对通道CH2判断是否存在正在处理或还没有处理的描述符列表。
当判定存在正在处理或还没有处理的描述符列表时(S75中判断结果为肯定),DMAC 80通过通道CH2执行单突发脉冲转移(S76)。
然后,DMAC 80判断是否完成通道CH2的基于描述符列表的DMA转移(S77)。
当判定完成DMA转移时(S77中判断结果为肯定),DMAC 80向CPU 50生成中断(S78),并且使处理前进到步骤S71。
反之,当判定不存在正在处理或还没有处理的描述符列表(S75中判断结果为否定)或者在步骤S77中判定还没有完成DMA转移(S77中判断结果为否定)时,DMAC 80使处理前进到步骤S71。
图21和图22是示出DMAC 80的通道CH1和CH2的操作实例的顺序图。在本实例中,DMAC 80如图20所示进行操作。如图6所示,根据使用通道CH2的状态生成用于通道CH1的描述符列表。如图7所示,不考虑使用通道CH1的状态生成用于通道CH2的描述符列表。对于通道CH1来说,与通道CH2没有正在被使用的情况对应的最大描述符数目D0是“4”,而与通道CH2正在被使用的情况对应的最大描述符数目D1是“2”。对于通道CH2来说,最大描述符数目D是常值“4”。
根据一种模式,将高优先级的通道CH1用于高优先级的作业,并且将低优先级的通道CH2用于低优先级的作业。例如,将通道CH1用于高优先级的扫描,并且将通道CH2用于低优先级的渲染。
在图21中,只有通道CH1基于一系列描述符列表进行操作以执行DMA转移。在此情况下,各个描述符列表的描述符数目是“4”。当只有通道CH2进行操作时,执行与只有通道CH1进行操作的前述情况下的操作相似的操作。
在图22中,通道CH1和CH2并行操作,并且这些通道中的每一个基于一系列相应的描述符列表执行DMA转移。在此情况下,通道CH1的各个描述符列表的描述符数目是“2”,而通道CH2的各个描述符列表的描述符数目是“4”。
图23是示出DMAC 80的通道CH1与CH2的操作之间的比较例的顺序图。本比较例在DMAC 80和转移指示单元30的操作条件上与图21相同,但是在像通道CH2那样以图7中的方式生成用于通道CH1的描述符列表这一点上与图21不同。也就是说,在本比较例中,基于作为常值的最大描述符数目“4”生成用于通道CH1和CH2的描述符列表。
在图23中,通道CH1和CH2并行操作,并且这些通道中的每一个基于一系列相应的描述符列表执行DMA转移。在此情况下,各个通道CH1和CH2的描述符列表的描述符数目是“4”。
在图22和图23中,在通道CH1一侧的空闲时间中执行通道CH2的DMA转移。在图23中,在通道CH1一侧以较低的频率生成空闲时间。这样,以低频率执行通道CH2的DMA转移,因此极大地减少了通道CH2的每单位时间的转移量。反之,在图22中,以比图23中的情况更高的频率生成通道CH1一侧的空闲时间,因此更加频繁地执行通道CH2的DMA转移。这样,抑制了通道CH2的每单位时间的转移量的减少程度。例如,在通道CH1一侧的描述符的数目设定为保证通道CH2一侧所需的带宽。
图24是示出包括根据示例性实施例的DMA控制系统的图像处理系统100的构造实例的简图。
图像处理系统100包括具有母板112和控制板114的信息处理单元113、图像输入单元116、图像输出单元118、控制器120和LCD(液晶显示器)122。
母板112包括CPU 124和用作主存储器的存储器128。CPU 124经由集线器126通过专用总线连接到存储器128。存储器128包括用于存储由图像输出单元118输出(打印)的图像数据和由图像输入单元116读取的图像数据的区域。图像数据在存储器和设置在后述控制板114中的存储器114之间进行DMA转移,而不会干扰CPU124。
集线器126与设置在母板112外部的LCD 122连接。LCD 122是在其显示表面上设有触摸面板的液晶显示装置,并且用作界面。
用于连接专用总线的集线器126与用于连接通用总线的集线器130连接。集线器130经由通用总线连接到HDD(硬盘驱动器)132和I/O端口134。HDD 132存储由CPU 124执行的程序和各种数据。I/O端口134用作输入/输出接口并且与图像处理系统100的外围装置等连接。
用于记录由CPU 124执行的程序和各种数据的记录介质不限于HDD,而可以是未示出的CD-ROM、DVD盘、磁光盘、IC卡或ROM等,也可以是诸如远程通信线路上的转移波等传输介质。
母板112设置有通用总线接口136,通用总线接口136与设置在控制器板114上的通用总线接口138连接。
控制板114包括总线桥接器140、存储器144、逻辑电路146、CPU 148和图像处理电路150。总线桥接器140、存储器144、CPU 148和图像处理电路150连接到逻辑电路146,从而经由逻辑电路146在其间传输/接收数据。尽管逻辑电路146是编程为数据转移电路的电路,然而该逻辑电路仅仅接收/传输数据而不控制数据转移。图像处理电路150是使输入的图像数据经历预定图像处理的电路。
总线桥接器140连接到接口138并且还经由通用总线连接到逻辑电路146。总线桥接器140具有通用总线之间的桥接功能和总线主控功能。总线主控功能是在存储器144与图像处理电路150之间传输/接收数据而不干扰控制板114上的CPU 148的功能。具体而言,在控制板114上,在图像输出单元118输出图像时,图像数据经由逻辑电路146从存储器144DMA转移到图像处理电路150。反之,当图像输入单元116读取图像时,通过读取图像这样获得的图像数据经由逻辑电路146从图像处理电路150DMA转移到存储器144。
另一方面,在母板112上的存储器128与控制板114上的存储器144之间转移数据而不干扰母板112上的CPU 124的DMA功能由设置在总线桥接器140中的DMAC 142来实现,并独立于总线桥接器140的总线主控功能。DMAC 142是具有能够对于离散地址连续地转移数据的分散-聚集功能的电路。
设置在控制板114中的连接器152与设置在控制器120中的连接器156连接,控制器120具有控制图像输入单元116和图像输出单元118的控制功能。此外,控制板114的连接器152连接到前述图像处理电路150。经由连接器152和连接器156传输/接收在图像处理电路150中经历图像处理的图像数据。
此外,控制板114设置有与连接器152分离地设置的另一个连接器154。连接器154直接连接到逻辑电路146并且还与设置在控制器120中的连接器158连接。经由这些连接器154和158执行控制器120与控制板114之间的控制数据和消息的传输/接收。
在前述构造中,DMAC 142具有多个通道并且用作多个DMA控制单元10和控制单元20。此外,CPU 124用作转移指示单元30和转移请求单元40。DMAC 142的各个通道分配给图像处理系统100的各种作业。也就是说,各种作业中的每一种利用对应于作业的通道执行DMA转移。根据DMA转移,信息从存储器128转移到存储器144或从存储器144转移到存储器128。
本发明不限于前述示例性实施例,并且在不脱离本发明的要旨的范围内可以以各种方式变化。
出于解释和说明的目的提供了本发明的示例性实施例的前述说明。其本意并不是穷举或将本发明限制为所公开的确切形式。显然,对于本技术领域的技术人员可以进行许多修改和变型。选择和说明该示例性实施例是为了更好地解释本发明的原理及其实际应用,因此使得本技术领域的其他技术人员能够理解本发明所适用的各种实施例并预见到适合于特定应用的各种修改。目的在于通过所附权利要求及其等同内容限定本发明的范围。

Claims (6)

1.一种DMA控制系统,包括:
多个DMA控制单元,其以这样的方式被控制,即:在所述多个DMA控制单元中的一个使用传输路径的同时,防止除了所述多个DMA控制单元中的所述一个之外的其他DMA控制单元使用所述传输路径;以及
转移指示单元,其为各个所述DMA控制单元限定DMA转移的转移量,并且将转移指令提供给各个所述DMA控制单元,
其中,当所述转移指示单元将转移指令提供给所述多个DMA控制单元的第一DMA控制单元时,所述转移指示单元根据使用所述多个DMA控制单元的第DMA控制单元的状态为所述第一DMA控制单元限定转移量,并将所述转移指令提供给所述第一DMA控制单元,并且
当所述转移指示单元检测到结束使用所述第二DMA控制单元时,所述转移指示单元(i)废弃生成的待提供给所述第一DMA控制单元的转移指令,并且(ii)根据所述第二DMA控制单元没有正在被使用的情况为所述第一DMA控制单元限定新转移量,并将新转移指令提供给所述第一DMA控制单元。
2.根据权利要求1所述的DMA控制系统,其中,
当所述转移指示单元检测到开始使用所述第二DMA控制单元时,所述转移指示单元(i)废弃生成的待提供给所述第一DMA控制单元的转移指令,并且(ii)根据所述第DMA控制单元正在被使用的情况为所述第一DMA控制单元限定新转移量,并将新转移指令提供给所述第一DMA控制单元。
3.根据权利要求1所述的DMA控制系统,其中,
当所述转移指示单元对所述第一DMA控制单元生成转移指令时,所述转移指示单元根据使用除了所述第一DMA控制单元之外的DMA控制单元的状态的组合为所述第一DMA控制单元限定转移量,并将转移指令提供给所述第一DMA控制单元。
4.根据权利要求3所述的DMA控制系统,其中,
当所述转移指示单元检测到所述组合的变化时,所述转移指示单元(i)废弃生成的待提供给所述第一DMA控制单元的转移指令,并且(ii)根据所述变化之后的组合为所述第一DMA控制单元限定新转移量,并将新转移指令提供给所述第一DMA控制单元。
5.一种打印装置,包括:
多个DMA控制单元,其以这样的方式被控制,即:当所述多个DMA控制单元中的一个使用传输路径时,防止除了所述多个DMA控制单元中的所述一个之外的其他DMA控制单元使用所述传输路径;以及
转移指示单元,其为各个所述DMA控制单元限定DMA转移的转移量,并且将转移指令提供给各个所述DMA控制单元,
其中,当所述转移指示单元将转移指令提供给所述多个DMA控制单元的第一DMA控制单元时,所述转移指示单元根据使用所述多个DMA控制单元的第二DMA控制单元的状态为所述第一DMA控制单元限定转移量,并将所述转移指令提供给所述第一DMA控制单元,
提供给所述第一DMA控制单元的所述转移指令是为了进行图像读取、打印、图像信息的转换而执行所述图像信息的DMA转移的指令,并且
当所述转移指示单元检测到结束使用所述第二DMA控制单元时,所述转移指示单元(i)废弃生成的待提供给所述第一DMA控制单元的转移指令,并且(ii)根据所述第二DMA控制单元没有正在被使用的情况为所述第一DMA控制单元限定新转移量,并将新转移指令提供给所述第一DMA控制单元。
6.一种转移指示方法,包括:
控制步骤,以这样的方式控制多个DMA控制单元,即:在所述多个DMA控制单元中的一个使用传输路径的同时,防止除了所述多个DMA控制单元的所述一个之外的其他DMA控制单元使用所述传输路径;
限定步骤,为各个所述DMA控制单元限定DMA转移的转移量;以及
提供步骤,将转移指令提供给各个所述DMA控制单元,
其中,当将转移指令提供给所述多个DMA控制单元的第一DMA控制单元时,所述限定步骤和所述提供步骤包括根据使用所述多个DMA控制单元的第二DMA控制单元的状态为所述第一DMA控制单元限定转移量以及将所述转移指令提供给所述第一DMA控制单元,并且
当检测到结束使用所述第二DMA控制单元时,(i)废弃生成的待提供给所述第一DMA控制单元的转移指令,并且(ii)根据所述第二DMA控制单元没有正在被使用的情况为所述第一DMA控制单元限定新转移量,并将新转移指令提供给所述第一DMA控制单元。
CN2009100069805A 2008-05-15 2009-02-18 Dma控制系统、打印装置以及转移指示方法 Expired - Fee Related CN101582054B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2008-128832 2008-05-15
JP2008128832A JP4706720B2 (ja) 2008-05-15 2008-05-15 Dma制御システム、印刷装置、および転送指示プログラム
JP2008128832 2008-05-15

Publications (2)

Publication Number Publication Date
CN101582054A CN101582054A (zh) 2009-11-18
CN101582054B true CN101582054B (zh) 2013-11-20

Family

ID=41317234

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009100069805A Expired - Fee Related CN101582054B (zh) 2008-05-15 2009-02-18 Dma控制系统、打印装置以及转移指示方法

Country Status (3)

Country Link
US (1) US8065448B2 (zh)
JP (1) JP4706720B2 (zh)
CN (1) CN101582054B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4706720B2 (ja) * 2008-05-15 2011-06-22 富士ゼロックス株式会社 Dma制御システム、印刷装置、および転送指示プログラム
KR101814588B1 (ko) 2009-12-05 2018-01-04 아마노 엔자임 가부시키가이샤 변이 효소 및 그 용도
US8959261B2 (en) 2010-06-11 2015-02-17 Panasonic Intellectual Property Management Co., Ltd. Data transfer control device, integrated circuit of same, data transfer control method of same, data transfer completion notification device, integrated circuit of same, data transfer completion notification method of same, and data transfer control system
WO2012039143A1 (ja) * 2010-09-21 2012-03-29 三菱電機株式会社 Dmaコントローラ及びデータ読出装置
JP6038292B2 (ja) * 2013-04-10 2016-12-07 三菱電機株式会社 データ転送装置及びデータ転送方法
JP6221467B2 (ja) * 2013-07-29 2017-11-01 株式会社リコー 画像処理装置、制御方法
JP6206006B2 (ja) * 2013-08-30 2017-10-04 京セラドキュメントソリューションズ株式会社 データ処理装置及び画像形成装置
KR20150122825A (ko) * 2014-04-23 2015-11-03 에스케이하이닉스 주식회사 메모리 컨트롤 유닛 및 그것을 포함하는 데이터 저장 장치
US9817776B2 (en) * 2015-01-19 2017-11-14 Microsoft Technology Licensing, Llc Memory descriptor list caching and pipeline processing
CN106808687B (zh) * 2017-01-05 2019-05-21 深圳晗钧益科技有限公司 一种基于光固化3d打印的arm电路控制系统
CN109714336A (zh) * 2018-12-26 2019-05-03 吴海蒙 一种适用于多设备间通信的嵌入式modbus协议栈

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1485750A (zh) * 2002-08-05 2004-03-31 ������������ʽ���� 数据传输控制系统、电子设备、程序及数据传输控制方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5388237A (en) * 1991-12-30 1995-02-07 Sun Microsystems, Inc. Method of and apparatus for interleaving multiple-channel DMA operations
US5805927A (en) * 1994-01-28 1998-09-08 Apple Computer, Inc. Direct memory access channel architecture and method for reception of network information
JP3525518B2 (ja) * 1994-10-13 2004-05-10 ヤマハ株式会社 データ転送装置
JPH09259071A (ja) * 1996-03-19 1997-10-03 Hitachi Ltd 通信制御装置
US6128674A (en) * 1997-08-08 2000-10-03 International Business Machines Corporation Method of minimizing host CPU utilization in driving an adapter by residing in system memory a command/status block a soft interrupt block and a status block queue
JPH11143812A (ja) * 1997-11-05 1999-05-28 Matsushita Electric Ind Co Ltd Dma回路
US20040093439A1 (en) * 2002-09-24 2004-05-13 Rohm Co., Ltd Data processing control apparatus and DMA controller
US20050198370A1 (en) * 2004-02-01 2005-09-08 Phonex Broadband Corporation Method for creating, deleting, and maintaining logical networks
JP2005258509A (ja) 2004-03-09 2005-09-22 Fujitsu Ltd ストレージ装置
JP2006277363A (ja) 2005-03-29 2006-10-12 Kyocera Mita Corp 情報転送方式,画像形成装置
JP2007249635A (ja) * 2006-03-16 2007-09-27 Nec Corp データ転送装置及びデータ転送方法
JP4706720B2 (ja) * 2008-05-15 2011-06-22 富士ゼロックス株式会社 Dma制御システム、印刷装置、および転送指示プログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1485750A (zh) * 2002-08-05 2004-03-31 ������������ʽ���� 数据传输控制系统、电子设备、程序及数据传输控制方法

Also Published As

Publication number Publication date
US8065448B2 (en) 2011-11-22
JP4706720B2 (ja) 2011-06-22
CN101582054A (zh) 2009-11-18
JP2009277096A (ja) 2009-11-26
US20090287858A1 (en) 2009-11-19

Similar Documents

Publication Publication Date Title
CN101582054B (zh) Dma控制系统、打印装置以及转移指示方法
CN1327370C (zh) 资源管理装置
CN1551592B (zh) 数据传输控制装置、电子设备及数据传输控制方法
CN102347880B (zh) 数据链路层传输器以及优先权分配方法
KR101525872B1 (ko) 반도체 메모리 시스템의 동작 방법
JP3895610B2 (ja) 画像形成装置および画像形成方法
CN102347902B (zh) 发送间隔调整方法、装置和网络设备
CN108363669A (zh) 存储器访问系统、其控制方法、存储介质及图像形成装置
CN103164314B (zh) 基于异步物理层接口的PCIe接口芯片硬件验证方法
KR20180030985A (ko) Usb 2.0 대역폭 예약을 위한 방법 및 시스템
CN108749339A (zh) 一种墙体彩绘打印方法、装置及墙体彩绘机
CN100547572C (zh) 动态建立直接内存访问通路的方法及系统
US6678761B2 (en) Method and apparatus for budget development under universal serial bus protocol in a multiple speed transmission environment
CN107741873A (zh) 业务处理方法及装置
JP3614161B2 (ja) データ転送制御装置、電子機器及びデータ転送制御方法
CN111522770B (zh) 基于fpga的参数化配置的spi控制器及使用方法
CN109145397A (zh) 一种支持并行流水访问的外存仲裁结构
KR100633742B1 (ko) 주변 장치로부터 데이터 전송 크기를 자동으로 갱신하는직접 메모리 액세스 제어 장치 및 방법
CN109918043A (zh) 一种基于虚拟通道的运算单元共享方法和系统
JP2007241882A (ja) データ通信装置および画像形成システム
JP4862593B2 (ja) データ転送装置及び画像形成装置
CN114443400B (zh) 信号测试方法、装置、片上系统、电子设备及存储介质
JP2006099180A (ja) データ転送装置及び画像形成システム
JP2002176464A (ja) ネットワークインタフェース装置
JP2007164713A (ja) リソース管理装置及びリソース管理方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20131120

Termination date: 20190218

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