CN1641614A - 处理器系统,dma控制电路,dma控制方法,dma控制器用控制方法,图形处理方法和图形处理电路 - Google Patents

处理器系统,dma控制电路,dma控制方法,dma控制器用控制方法,图形处理方法和图形处理电路 Download PDF

Info

Publication number
CN1641614A
CN1641614A CNA2005100045075A CN200510004507A CN1641614A CN 1641614 A CN1641614 A CN 1641614A CN A2005100045075 A CNA2005100045075 A CN A2005100045075A CN 200510004507 A CN200510004507 A CN 200510004507A CN 1641614 A CN1641614 A CN 1641614A
Authority
CN
China
Prior art keywords
dma
arithmetical
processor
data transmission
arithmetic processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2005100045075A
Other languages
English (en)
Other versions
CN100454280C (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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Publication of CN1641614A publication Critical patent/CN1641614A/zh
Application granted granted Critical
Publication of CN100454280C publication Critical patent/CN100454280C/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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F16ENGINEERING ELEMENTS AND UNITS; GENERAL MEASURES FOR PRODUCING AND MAINTAINING EFFECTIVE FUNCTIONING OF MACHINES OR INSTALLATIONS; THERMAL INSULATION IN GENERAL
    • F16KVALVES; TAPS; COCKS; ACTUATING-FLOATS; DEVICES FOR VENTING OR AERATING
    • F16K3/00Gate valves or sliding valves, i.e. cut-off apparatus with closing members having a sliding movement along the seat for opening and closing
    • F16K3/30Details
    • F16K3/314Forms or constructions of slides; Attachment of the slide to the spindle
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F16ENGINEERING ELEMENTS AND UNITS; GENERAL MEASURES FOR PRODUCING AND MAINTAINING EFFECTIVE FUNCTIONING OF MACHINES OR INSTALLATIONS; THERMAL INSULATION IN GENERAL
    • F16KVALVES; TAPS; COCKS; ACTUATING-FLOATS; DEVICES FOR VENTING OR AERATING
    • F16K31/00Actuating devices; Operating means; Releasing devices
    • F16K31/44Mechanical actuating means
    • F16K31/53Mechanical actuating means with toothed gearing
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F16ENGINEERING ELEMENTS AND UNITS; GENERAL MEASURES FOR PRODUCING AND MAINTAINING EFFECTIVE FUNCTIONING OF MACHINES OR INSTALLATIONS; THERMAL INSULATION IN GENERAL
    • F16KVALVES; TAPS; COCKS; ACTUATING-FLOATS; DEVICES FOR VENTING OR AERATING
    • F16K31/00Actuating devices; Operating means; Releasing devices
    • F16K31/44Mechanical actuating means
    • F16K31/60Handles
    • 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)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mechanical Engineering (AREA)
  • Image Processing (AREA)
  • Bus Control (AREA)
  • Microcomputers (AREA)
  • Advance Control (AREA)
  • Image Generation (AREA)

Abstract

一种处理器系统,包括:能够并行进行算术处理的多个算术单元;保存所述多个算术单元用于算术处理的数据的存储器;与主处理器的处理并行地执行所述多个算术单元之间的数据传输,及所述多个算术单元和所述存储器之间的数据传输的多个DMA控制器;和与所述主处理器的处理并行地控制所述多个算术单元和所述多个DMA控制器的启动的DMA控制电路。

Description

处理器系统,DMA控制电路,DMA控制方法, DMA控制器用控制方法,图形处理方法和图形处理电路
技术领域
本发明涉及能够借助DMA(直接存储器存取)实现数据传输过程的处理器系统,DMA控制电路,DMA控制方法,DMA控制器用控制方法,图形处理方法和图形处理电路。
背景技术
在传统的DMA传输中,与主处理器的操作并行地进行数据传输,以便减小主处理器上的处理负载。在进行DMA传输的时候,主处理器能够进行另一过程。为此,DMA传输适合于传送大量数据,例如图像数据的情况。
一般在DMA控制器的控制下进行DMA传输。主处理器事先在DMA控制器中设置代表进行DMA传输的时间,从其开始进行DMA传输的位置,和对其进行DMA传输的位置的传输控制信息。根据设置信息,DMA控制器进行DMA传输。
另一方面,作为提高处理器系统中的处理速度的方法,已知的有相互并行地排列和操纵多个算术单元的方法。这种情况下,最好相互并行地传送多个算术单元的计算处理结果,并且可安排多个DMA控制器。
但是,当安排多个DMA控制器,使得能够相互并行地进行数据传输过程时,主处理器必须为DMA控制器设置多条传输控制信息,主处理器上的处理负载增大。处理负载与DMA控制器的数目成比例地增大。
发明内容
根据本发明一个实施例的处理器系统包括:
能够并行进行算术处理的多个算术单元;
保存所述多个算术单元用于算术处理的数据的存储器;
与主处理器的处理并行地执行所述多个算术单元之间的数据传输,及所述多个算术单元和所述存储器之间的数据传输的多个DMA控制器;和
与所述主处理器的处理并行地控制所述多个算术单元和所述多个DMA控制器的启动的DMA控制电路。
根据本发明一个实施例的DMA控制电路包括:
分别保存与从主处理器指示的多个指令相关的信息的多个指令存储器;和
与所述主处理器的处理并行地执行均能够并行进行算术处理的多个算术单元之间的数据传输,及保存所述多个算术单元用于算术处理的数据的存储器和所述多个算术单元之间的数据传输,并根据保存在所述多个指令存储器中的信息,启动所述多个算术单元的控制的调度器。
根据本发明一个实施例的控制DAM控制器的方法包括:
把能够并行进行算术处理的算术单元用于算术处理的数据保存到存储器中;
在所述多个算术单元之间,以及在所述多个算术单元和所述存储器之间,并行于主处理器的处理,利用多个DMA控制器进行数据传输;
通过监视所述多个DMA控制器和所述多个算术处理单元,传送表示数据传输完成的数据传输完成信息;
根据数据传输完成信息,确定其它数据传输是否可能;和
当确定数据传输可能时,通过使用所述多个DMA控制器中的至少一个,进行数据传输。
根据本发明一个实施例的图形处理方法包括:
把顶点信息转换成象素信息;
根据象素信息,由多个算术单元产生图像;
把能够并行进行算术处理的所述算术单元用于算术处理的数据保存到存储器中;
在所述多个算术单元之间,以及在所述多个算术单元和所述存储器之间,利用多个DMA控制器进行数据传输;
通过监视所述多个DMA控制器和所述多个算术处理单元,传送表示数据传输已完成的数据传输完成信息;
根据数据传输完成信息,确定其它数据传输是否可能;和
当确定其它数据传输可能时,由所述多个DMA控制器中的至少一个,进行数据传输。
根据本发明一个实施例的图形处理电路包括:
把顶点信息转换成象素信息的象素信息转换器;
能够根据象素信息并行进行算术处理的多个算术单元;
在所述多个算术单元之间,以及在保存所述多个算术单元使用的数据的存储器和所述算术单元之间,进行数据传输的多个DMA控制器;
保存与多个DAM控制器相关的指令信息的指令信息存储器;和
根据保存在所述指令信息存储器中的指令信息,确定所述多个DMA控制器的DMA传输是否可能的控制电路。
附图说明
图1是表示根据本发明第一实施例的处理器系统的示意结构的方框图。
图2是表示图1中所示的图形处理处理器2的内部结构的细节的方框图。
图3是表示控制器21的内部结构的例子的方框图。
图4是表示图3中的专用电路32的内部结构的例子的方框图。
图5是表示图1的控制器21执行的程序的例子的流程图。
图6A和6B表示专用电路32执行的任务的例子。
图7A表示传统DMAC 31的第一操作,图7B表示传统DMAC 31的第二操作,图7C表示根据本实施例的DMAC的操作。
图8是对应于图7A的计时图。
图9是对应于图7B的计时图。
图10是对应于图7C的计时图。
图11表示如何使用同步寄存器的一个例子。
图12表示如何使用同步寄存器的另一例子。
图13表示如何使用同步寄存器的另一例子。
图14表示处理两个指令串的方法。
图15是表示控制器21的程序的例子的数据流程图。
图16表示主处理器1的程序的一个例子。
图17是表示根据第二实施例的控制器21的内部结构的方框图。
图18是表示图17中的专用电路32a的内部结构的例子的方框图。
图19是表示图17中的控制器21执行的程序的例子的流程图。
图20是表示根据本申请的处理器系统装入数字电视机中的情况的方框图。
图21是表示根据本实施例的处理器系统装入视频记录器/播放器中的例子的方框图。
具体实施方式
下面参考附图,说明根据本发明一个实施例的处理器系统,DMA控制电路,DMA控制方法,DMA控制器用控制方法,图形处理方法和图形处理电路。
(第一实施例)
图1是表示根据本发明第一实施例的处理器系统的示意结构的方框图。图1中所示的处理器系统包括主处理器1,图形处理处理器2,主存储器3和I/O处理器4。
主处理器1包括主处理器11,多个数字信号处理器(DSP)和控制与外部电路的输入/输出操作的I/O单元13、14和15。I/O单元13控制与主存储器3的输入/输出操作,I/O单元14控制与图形处理处理器2的输入/输出操作,I/O单元15控制与I/O处理器4的输入/输出操作。
图形处理处理器2包括充当本实施例的特征部分的控制器21,执行与主处理器1的数据交换的I/O单元22,各种通用总线,例如PCI总线,控制视频数据、音频数据等的输入/输出操作的I/O单元23,和执行图形处理计算的图形处理单元24。
图形处理单元24包括把多边形的顶点信息转换成象素数据的象素转换器26,和处理象素数据的多个算术单元(DSP)27。
I/O处理器4控制与通用总线,诸如HDD和DVD之类的外围设备,以及网络的连接。
图2是表示图1中所示的图形处理处理器2的内部结构的细节的方框图。多个算术单元27中的每一个都包括由多个处理器构成的一个处理器群集28,和保存处理器群集28的处理结构的一个存储器29。处理器群集28中的多个处理器能够彼此并行地执行独立过程,并且能够执行一个过程,以致多个处理器群集28共享该过程。存储器29保存处理器群集28的执行结果。图2中所示的控制器21,象素转换器26,I/O单元22及23,和存储器29与公共总线30连接。
图3是表示控制器21的内部结构的例子的方框图。图3中所示的控制器21包括多个DMA控制器(DMAC)31,一个专用电路32,由多个通用处理器构成的一个控制处理器33,一个计时器34,一个中断单元35和一个存储器36。
DMA控制器31执行多个算术单元27之间的数据传输,以及多个算术单元27和存储器36之间的数据传输。专用电路32是专用于该系统的电路,执行关于DMA控制器31和算术单元27的启动控制。控制处理器33根据保存在存储器36中的程序代码,或者来自主处理器1的指令,控制专用电路32。计时器34执行时间管理,并根据需要指令中断单元35执行中断。中断单元35接收来自计时器34的信号,或者来自DMA控制器31或算术单元27的完成信号,对控制处理器33执行中断。
图3中所示的专用电路32,计时器34,中断单元35和存储器36与本地网络37连接。主处理器1也通过I/O单元22与本地网络37连接。存储器36由例如嵌入式DRAM构成。提供例如30个以上的DMA控制器。
图4是表示图3中的专用电路32的内部结构的例子的方框图。该方框图表示其中以控制处理器33的协处理器的形式,连接专用电路32的结构。图4中的专用电路32包括控制处理器I/O单元41,多个DMA寄存器42,一个DMA发布单元43,多个同步寄存器44,和一个同步寄存器控制单元45。
控制处理器I/O单元41与控制处理器33交换数据。DMA寄存器保存DMAC 31的操作所需的各种信息。DMA发布单元43执行把DMA寄存器42中的各种信息传送给DMAC31的过程。从其传送信息的特定DMA寄存器和向其传送信息的特定DMAC 31由控制处理器33确定。通过控制处理器I/O单元41,把所述特定DMA寄存器和特定DMAC 31通知DMA发布单元43。同步寄存器44保存DMAC 31和算术单元27的操作状态。同步寄存器控制单元45控制同步寄存器44的更新。
图5是表示图1的控制器21执行的程序的例子的流程图。该流程图表示当在主处理器1中准备的数据被DMA传送给图形处理处理器2中的存储器36时执行的程序。
当主处理器1准备将由图形处理处理器2处理的数据时,主处理器1把准备完成信号传送给图3中的本地网络37。该信号由图4中的同步寄存器控制单元45接收(步骤S1)。
同步寄存器控制单元45更新同步寄存器44的值(步骤S2)。更具体地说,同步寄存器44被设置成代表主处理器1的数据传输的准备已完成的值。
控制处理器33根据专用指令,通过控制处理器I/O单元41读取同步寄存器44的值,以确认主处理器1的准备已完成(步骤S3)。这里,所述专用指令表示一项任务。包括由控制处理器33和专用电路32执行的专用指令(任务)的指令串表示一个任务串。
通过控制处理器I/O单元41,控制处理器33把DMAC 31的设置信息传送给DMA寄存器42(步骤S4)。
控制处理器33根据专用指令,通过控制处理器I/O单元41启动DMA发布单元43,并指令DMA发布单元43把保存在DMA寄存器42中的DMAC 31的设置信息设置到每个DMAC 31中(步骤S5)。
之后,DMAC 31执行DMA传输。当DMA传输完成时,DMAC31向同步寄存器控制单元45通知DMA传输已完成(步骤S6)。同步寄存器控制单元45更新同步寄存器44(步骤S7)。
控制处理器33根据专用指令,通过控制处理器I/O单元41,读取同步寄存器的值,并确认DMA传输完成(步骤S8)。之后,控制处理器33通过控制处理器I/O单元41启动算术单元27,处理从主处理器1传送给图形处理处理器2中的存储器的数据(步骤S9)。
如上所述,图4中的同步寄存器控制单元45监视同步寄存器44的值。定期监视通常被称为“轮询”。根据本实施例的同步寄存器控制单元45能够通过轮询,监视DMAC 31,算术单元27和主处理器1的操作。
代替用同步寄存器控制单元45监视同步寄存器44,控制处理器33可通过控制处理器I/O单元41监视同步寄存器44。
这样,控制DMAC 31的命令被称为指令,每个命令由例如256位数据构成。专用电路32中的同步寄存器控制单元45和同步寄存器44用作任务调度器。
更具体地说,任务包括与DMAC 31的数据传输控制相关的命令,与算术单元27的启动控制以及算术单元27的初始设置相关的命令,和与关于主处理器1的中断通知相关的命令。
根据本实施例的专用电路32持续执行任务,直到称为阻挡任务(block task)的特殊任务被执行为止。阻挡任务是等待在所述阻挡任务之前发出的任务(DMA执行或者处理器群集的过程)的执行完成的任务。当阻挡任务被执行时,专用电路32等待,直到完成设定的任务的执行为止。
图6A表示专用电路32执行的任务的例子,表示了其中执行任务A、B、C、D、E、F和G的例子。图6A中的任务被写成如图6B中所示的数据流程图。专用电路32执行任务A,等待作为阻挡任务的任务A的执行完成。当完成任务A的执行时,专用电路32并行执行任务F和B。专用电路32等待作为阻挡任务的任务F和B的执行完成。当完成任务F和B的执行时,专用电路32并行执行任务C和D。专用电路32等待作为阻挡任务的任务C和D的执行完成。当完成任务C和D的执行时,专用电路32执行任务E。专用电路32等待作为阻挡任务的任务E的执行完成。当完成任务E的执行时,专用电路32执行任务G。
按照这种方式,图6B中的阻挡任务能够使多个DMA传输同步。
本实施例的专用电路32能够借助除了DMA传输完成的通知之外的事件启动接下来的DMA传输。这里提及的事件是例如算术单元27的计算过程的完成,或者来自主处理器1的通知。
图7A表示传统DMAC 31的第一操作,图7B表示传统DMAC 31的第二操作,图7C表示根据本实施例的DMAC的操作。图8是对应于图7A的计时图,图9是对应于图7B的计时图,图10是对应于图7C的计时图。
图7A和8表示最普及的DMA传输。在完成某一DMA传输之后,执行下一DMA传输。这种情况下,如图8中所示,主处理器1(CPU)执行DMA的指定(t1),算术单元27的寄存器设置(t2),和算术单元27的执行的指定(t3)。DMAC 31执行由主处理器1指定的DMA命令。
在图7A和8中所示的例子中,与DMA传输相关的各种设置和指定,以及算术单元27的执行的指定由主处理器1完成。因此,主处理器1上的负载过大。于是,主处理器1执行另一过程的时段(t4)变短,从而主处理器1的性能降低。
在图7B和9中所示的例子中,能够相互并行地执行多个DMA传输。但是,如图9中所示,主处理器1执行寄存器设置和算术单元27的起动的指定(时段t5)。根据所述指定,DMAC 31传输寄存器设置和算术单元27的起动的指定(时段t6)。该例子中,由于能够并行地对多个DMAC 31进行寄存器设置,因此当要进行寄存器设置的寄存器的数目较大时,能够减小主处理器1上的处理负载。但是,当只重新设置一些寄存器时,和图7A和8中的情况一样,主处理器1上的处理负载增大。
另一方面,在图7C和10中所示的实施例中,不仅只通过利用DMA传输的结束作为触发信号,进行下一DMA传输,而且还利用来自算术单元27或主处理器1的通知作为触发信号,执行下一DMA传输。DMAC 31能够执行算术单元27的寄存器设置,和算术单元27的执行的指定。更具体地说,如图10中所示,当主处理器1指定DMAC31执行DMA传输(时段t7)时,响应该指定,DMAC 31执行算术单元27的寄存器设置(时段t8),DMA传输(时段t9),和算术单元27的执行的指定(时段t10)。当完成计算过程时,算术单元27把计算过程的结束通知DMAC 31。
如图10中所示,由于DMAC 31控制DMA传输和控制算术单元27的执行,主处理器1能够向其它过程分配较长的时间。于是,能够提高主处理器1的性能。
下面更详细地说明主处理器1的操作,以及图形处理处理器2中的控制器21的操作。主处理器1读取保存在主存储器3中的任务串,以便把任务串传送给图形处理处理器2中的存储器。该传输过程可由主处理器1的存储任务直接写入该存储器中,或者DMA传输可实现执行成任务之一。
控制器21中的同步寄存器控制单元45把任务串的指针信息等设置到DMAC 31的DMA寄存器42中。根据DMA寄存器42的内容,DMA发布装置对每个DMAC 31执行各种设置。
控制器21不仅能够执行DMAC 31的启动控制,而且能够执行算术单元27的启动控制。作为当控制器21控制算术单元27时使用的任务,已知的有两种任务,即设置任务和突跳任务(kick task)。设置任务是对算术单元27执行各种设置的任务。更具体地说,进行各种设置,以便显示诸如纹理或顶点之类的三维图像。突跳任务是指定算术单元27的开始执行的任务。
如上所述,在同步寄存器44中,保存DMAC 31,算术单元27等的操作状态。主处理器1能够通过同步寄存器控制单元45,读取同步寄存器44的值。几种方法可被用作使用同步寄存器44的方法。图11、12和13中表示了这些方法中的一个典型方法。
在图11中,某一过程由控制器21执行(步骤S11)。处理结果由写任务写入同步寄存器44(步骤S12)。控制器21中断该任务的执行,直到从主处理器1收到阻挡取消通知为止(步骤S13)。当主处理器1定期进行同步寄存器44的轮询(步骤S13),以获得在写任务中,写入同步寄存器44中的值时,主处理器1把阻挡取消通知控制器21(步骤S15)。
在图12中,控制器21借助突跳任务启动算术单元27(步骤S16),并中断该任务的执行,直到算术单元27中的过程结束为止(步骤S17)。由突跳任务启动的算术单元27执行某一过程(步骤S18)。当完成该过程时,算术单元27把完成通知传送给控制器21,并把返回值写入同步寄存器44(步骤S19)。接收完成通知的控制器21参考通用寄存器的值完成转移(branch)(步骤S20)。
在图13中,控制器21执行某一过程(步骤S21)。当完成该过程时,中断该任务的执行,直到控制器21从主处理器1收到阻挡取消的通知为止(步骤S22)。主处理器1动态设置控制器21重新开始执行该任务的时间(步骤S23)。此时,主处理器1取消控制器21的阻挡,并把返回值写入同步寄存器44中(步骤ST24)。控制器21参考同步寄存器44的值完成转移(步骤ST25)。
如上所述,控制器21能够同时执行多个任务串。作为所述执行的一个例子,下面说明一个程序,执行所述程序,以致数据从主存储器3传送到存储器中,数据的指针被设置到算术单元27中。这种情况下,控制器21同时执行两个任务串,并使任务串同步。所述同步由来自主处理器1的指定实现。
如图14中所示,假定存储器被分成四个区域(下面称为FIFO0-3)。在这两个任务串中的一个任务串(下面称为任务串1)中,主存储器3把数据传送给FIFO 0-3。在另一任务串(下面称为任务串2)中,数据从FIFO 0-3传送给算术单元27。
任务串2实际上借助设置任务,执行对算术单元27的初始设置。算术单元27从存储器读取数据。
图15是表示执行上述两个任务串1和2的控制器21的程序的例子的数据流程图。彼此并行地执行图15中的任务串1和任务串2。在任务串1中,数据被顺序从主存储器3传送给FIFO 0-3。之后,控制器21返回任务串1的顶部(步骤S31-S39)。每次完成向FIFO 0-3的数据传输过程时,该过程被中断。当控制器21从主处理器1收到阻挡取消的通知时,控制器21执行下一数据传输过程。
另一方面,在任务串2中,FIFO 0-3的地址被设置到算术单元27中,顺序重复指定算术单元27启动的过程,控制器21返回任务串2的顶部(步骤S41-S54)。在FIFO 0-3的地址被设置到算术单元27中之后,中断该过程。当主处理器1取消该阻挡时,执行下一过程。
实现图15中的过程的主处理器1的程序的一个例子如图16中所示。
按照这种方式,在第一实施例中,独立于主处理器1安排具有实现多个DMAC 31和多个算术单元27的启动控制的控制器21的图形处理处理器2,从而能够并行于在主处理器1中执行的过程,由控制器21完成DMAC 31的控制和算术单元27的启动指定。因此,能够减小主处理器上的处理负载。
DMAC 31和算术单元27的启动指定也可由除DMA传输结束的通知之外的事件实现。因此,能够执行具有更高自由度的任务过程。
(第二实施例)
在上述第一实施例中,说明了其中DMAC 31和算术单元27的启动由控制器处理器33和专用电路32控制的例子。但是,DMAC 31和算术单元27的启动控制可以只由专用电路32实现。
图17是表示根据第二实施例的控制器21的内部结构的方框图。和图3相同的附图标记表示图17中的相同部分。下面主要说明图3和图17的不同之处。在图17的控制器21中,图3中的控制处理器33和专用电路32被集成为一个专用电路32a。
图17中的专用电路32a根据保存在存储器36中的程序代码,控制DMAC 31和算术单元27。
图18是表示图17中的专用电路32a的内部结构的例子的方框图。图18中的专用电路32a包括一个任务取出解码器51,一个同步管理单元52,一个DMA发布单元43,多个同步寄存器44,和一个同步寄存器控制单元45。
任务取出解码器51解释保存在存储器36中的程序代码。同步管理单元52执行由任务取出解码器51解释的任务,并读取同步寄存器44的值,以便控制算术单元27和DMA发布单元43。
图19是表示图17中的控制器21执行的程序的例子的流程图。下面主要说明图19中的流程图和图5中的流程图之间的不同过程。在同步寄存器控制单元45更新同步寄存器44的值(步骤S62)之后,同步管理单元52根据任务取出解码器51译解的任务,读取同步寄存器44的值(步骤S63)。按照这种方式,确定完成主处理器1的准备中,关于数据传输的准备。
同步管理单元52把各条信息设置到DMAC 31中,以便把将设置在DMAC 31中的各条信息(这种情况下,在主处理器1中准备的数据)传送给图形处理处理器2中的存储器(步骤S64)。
在DMAC 31被启动之后,当DMAC 31结束DMA传输时,完成信号被传送给同步寄存器控制单元45(步骤S65)。同步寄存器控制单元45更新同步寄存器44(步骤S66)。
根据任务取出解码器51译解的任务,同步管理单元52读取同步寄存器44的值(步骤S67),以确认DMAC 31的完成。
根据任务取出解码器51译解的任务,同步管理单元52启动算术单元27,开始处理从主处理器1传送给图形处理处理器2中的存储器的数据(步骤S68)。
如上所述,在第二实施例中,DMAC 31和算术单元27的启动控制只由专用电路32a实现。因此,能够获得比利用通用处理器获得的电路规模更小的电路规模,并且还能够获得低能耗。
上面的每个实施例举例说明了控制器21被安置在图形处理处理器2中的情况。但是,控制器21可在安置在图形处理处理器2之外。
上面的每个实施例举例说明了以不同的芯片的形式,形成主处理器1和图形处理处理器2的情况。但是,主处理器1和图形处理处理器2也可作为宏核心(macro core)形成于同一芯片上。这种情况下,控制器21最好被安排在图形处理处理器2中。但是,控制器21也可安排在图形处理处理器2之外。
上面的每个实施例举例说明了控制器21专用于由图形处理处理器2执行的数据处理的情况。但是,控制器21也可控制另一DMAC,即,主处理器1中的DMAC。这种情况下,可与控制器21无关地在主处理器1中安排另一控制器。主处理器1中的DMAC和图形处理处理器2中的DMAC也可由共同的控制器控制。
如上所述的相同功能也可由代替控制器21的OS(操作系统)处理。
根据本发明的处理器系统可被装入游戏机,家用服务器,电视机,便携式信息设备等中。
图20是表示根据本申请的处理器系统装入数字电视机中的情况的方框图。充当该结构的一个例子的数字电视机包括控制通信信息的数字电路板55。数字电路板55包括实现和图1中一样的功能,控制图像信息的处理器系统56。更具体地说,处理器系统56包括发射/接收视频和通信信息的收发器电路(DEMUX)57,解码器电路58,处理器(CPU)59,图形处理电路(图形引擎)60,和数字格式转换器61。
图21是表示根据本实施例的处理器系统装入视频记录器/播放器中的例子的方框图。作为该结构的一个例子,视频记录器/播放器包括实现和图1中一样的功能,并且控制图像信息的图像信息控制电路62。更具体地说,图像信息控制电路62包括处理器(CPU)63,数字信号处理器(DSP)64,处理视频(图像)数据的处理器65,和处理音频数据的处理器66。

Claims (23)

1、一种处理器系统,包括:
能够并行进行算术处理的多个算术单元;
保存所述多个算术单元用于算术处理的数据的存储器;
与主处理器的处理并行地执行所述多个算术单元之间的数据传输,及所述多个算术单元和所述存储器之间的数据传输的多个DMA控制器;和
与所述主处理器的处理并行地控制所述多个算术单元和所述多个DMA控制器的启动的DMA控制电路。
2、按照权利要求1所述的处理器系统,其中所述DMA控制电路控制所述多个DMA控制器的启动,以致所述多个DMA控制器并行进行数据传输。
3、按照权利要求1所述的处理器系统,其中所述DMA控制电路根据规定的事件,控制所述多个算术单元和所述多个DMA控制器的启动,所述规定的事件至少包括从所述DMA控制器传送的数据传输完成的通知,从所述算术单元传送的算术处理完成的通知,和从所述主处理器传送的通知之一。
4、按照权利要求3所述的处理器系统,还包括保存与所述多个算术单元和所述多个DMA控制器的操作状态相关的信息的状态存储器,
其中所述DMA控制电路根据保存在所述状态存储器中的内容,控制所述多个算术单元和所述多个DMA控制器的启动。
5、按照权利要求4所述的处理器系统,还包括保存操作所述多个DMA控制器所需的信息的DMA信息存储器,
其中所述DMA控制电路根据保存在所述状态存储器中的内容,更新保存在所述DMA信息存储器中的内容。
6、按照权利要求1所述的处理器系统,其中所述DMA控制电路执行所述多个算术单元和所述多个DMA控制器的初始设置。
7、按照权利要求1所述的处理器系统,其中所述DMA控制电路包括:
根据通用程序代码执行算术处理的通用处理器;和
根据固有算法执行算术处理的专用算术处理电路,
其中所述专用算术处理电路根据来自通用处理器的指令,控制所述多个算术单元和所述多个DMA控制器的启动。
8、按照权利要求7所述的处理器系统,其中所述通用处理器根据其中描述所述多个算术单元和所述多个DMA控制器的启动序列的程序代码,指令所述专用算术处理电路。
9、按照权利要求1所述的处理器系统,其中所述DAM控制电路包括:
保存其中描述所述多个算术单元和所述多个DMA控制器的启动序列的程序代码的启动序列存储器;和
根据保存在所述启动序列存储器中的程序代码,控制所述多个算术单元和所述多个DMA控制器的启动的启动控制器。
10、按照权利要求1所述的处理器系统,还包括:
一个主处理器;和
与所述主处理器连接,执行图形处理的图形处理处理器,
其中所述多个算术单元,所述存储器,所述多个DMA控制器和所述DMA控制电路都设置在所述图形处理处理器之内。
11、按照权利要求10所述的处理器系统,其中所述图形处理处理器包括:
把多边形的顶点信息转换成象素数据的象素转换器;和
所述象素转换器,所述DMA控制电路和所述存储器共同连接的总线,
其中所述多个算术单元通过利用所述象素转换器的输出和保存在所述存储器中的数据,进行算术运算。
12、按照权利要求1所述的处理器系统,其中所述存储器是独立于主存储器单独设置的嵌入式DRAM。
13、一种DMA控制电路,包括:
分别保存与从主处理器指示的多个指令相关的信息的多个指令存储器;和
与所述主处理器的处理并行地执行均能够并行进行算术处理的多个算术单元之间的数据传输,及保存所述多个算术单元用于算术处理的数据的存储器和所述多个算术单元之间的数据传输,并根据保存在所述多个指令存储器中的信息,启动所述多个算术单元的控制的调度器。
14、一种控制DAM控制器的方法,包括:
把能够并行进行算术处理的算术单元用于算术处理的数据保存到存储器中;
在所述多个算术单元之间,以及在所述多个算术单元和所述存储器之间,并行于主处理器的处理,利用多个DMA控制器进行数据传输;
通过监视所述多个DMA控制器和所述多个算术处理单元,传送表示数据传输完成的数据传输完成信息;
根据数据传输完成信息,确定其它数据传输是否可能;和
当确定数据传输可能时,通过使用所述多个DMA控制器中的至少一个,进行数据传输。
15、一种图形处理方法,包括:
把顶点信息转换成象素信息;
根据象素信息,由多个算术单元产生图像;
把能够并行进行算术处理的所述算术单元用于算术处理的数据保存到存储器中;
在所述多个算术单元之间,以及在所述多个算术单元和所述存储器之间,利用多个DMA控制器进行数据传输;
通过监视所述多个DMA控制器和所述多个算术处理单元,传送表示数据传输已完成的数据传输完成信息;
根据数据传输完成信息,确定其它数据传输是否可能;和
当确定其它数据传输可能时,由所述多个DMA控制器中的至少一个,进行数据传输。
16、一种图形处理电路,包括:
把顶点信息转换成象素信息的象素信息转换器;
能够根据象素信息并行进行算术处理的多个算术单元;
在所述多个算术单元之间,以及在保存所述多个算术单元使用的数据的存储器和所述算术单元之间,进行数据传输的多个DMA控制器;
保存与多个DAM传输相关的指令信息的指令信息存储器;和
根据保存在所述指令信息存储器中的指令信息,确定所述多个DMA控制器的DMA传输是否可能的控制电路。
17、按照权利要求16所述的图形处理电路,其中所述控制电路通过监视所述多个DMA控制器,确定DMA传输是否完成。
18、按照权利要求17所述的图形处理电路,其中所述指令信息是表示所述多个DMA控制器和所述多个算术单元之间的DMA传输是否完成的信息。
19、按照权利要求16所述的图形处理电路,其中所述控制电路控制所述多个DMA控制器的启动,从而所述多个DMA控制器并行进行数据传输。
20、按照权利要求16所述的图形处理电路,其中所述控制电路根据规定的事件,控制所述多个算术单元和所述多个DMA控制器的启动,所述规定的事件至少包括从所述DMA控制器传送的数据传输完成的通知,从所述算术单元传送的算术处理完成的通知,和从所述主处理器传送的通知之一。
21、按照权利要求16所述的图形处理电路,其中所述控制电路包括:
根据通用程序代码执行算术处理的通用处理器;和
根据固有算法执行算术处理的专用算术处理电路,
其中所述专用算术处理电路根据所述通用处理器的指令,控制所述多个算术单元和所述多个DMA控制器的启动。
22、按照权利要求16所述的图形处理电路,其中设置30个以上的所述DMA控制器。
23、按照权利要求16所述的图形处理电路,其中所述指令信息存储器是嵌入式DRAM。
CNB2005100045075A 2004-01-16 2005-01-14 处理器系统,dma控制电路,dma控制方法,dma控制器用控制方法,图形处理方法和图形处理电路 Expired - Fee Related CN100454280C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004009351A JP2005202767A (ja) 2004-01-16 2004-01-16 プロセッサシステム、dma制御回路、dma制御方法、dmaコントローラの制御方法、画像処理方法および画像処理回路
JP2004009351 2004-01-16

Publications (2)

Publication Number Publication Date
CN1641614A true CN1641614A (zh) 2005-07-20
CN100454280C CN100454280C (zh) 2009-01-21

Family

ID=34631870

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100045075A Expired - Fee Related CN100454280C (zh) 2004-01-16 2005-01-14 处理器系统,dma控制电路,dma控制方法,dma控制器用控制方法,图形处理方法和图形处理电路

Country Status (6)

Country Link
US (1) US7627697B2 (zh)
EP (1) EP1557764A3 (zh)
JP (1) JP2005202767A (zh)
KR (1) KR100733943B1 (zh)
CN (1) CN100454280C (zh)
TW (1) TWI276965B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102789438A (zh) * 2011-05-16 2012-11-21 夏普株式会社 直接存储器存取控制装置以及图像形成装置
CN104717433A (zh) * 2015-03-27 2015-06-17 电子科技大学 一种用于视频流信号处理系统的分布式传输装置
CN110069432A (zh) * 2018-01-22 2019-07-30 华大半导体有限公司 带有数据处理功能的外围电路互连系统及其联动方法
CN112749112A (zh) * 2020-12-31 2021-05-04 无锡众星微系统技术有限公司 一种硬件流水结构

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9015397B2 (en) * 2012-11-29 2015-04-21 Sandisk Technologies Inc. Method and apparatus for DMA transfer with synchronization optimization
US7743376B2 (en) * 2004-09-13 2010-06-22 Broadcom Corporation Method and apparatus for managing tasks in a multiprocessor system
JP4723313B2 (ja) * 2005-08-24 2011-07-13 パナソニック株式会社 画像処理装置
JP4530971B2 (ja) 2005-11-07 2010-08-25 株式会社ソニー・コンピュータエンタテインメント 起動処理装置、dma転送システム、dma転送方法
JP4687553B2 (ja) * 2006-04-28 2011-05-25 富士ゼロックス株式会社 画像処理装置
JP4893154B2 (ja) * 2006-08-21 2012-03-07 富士通セミコンダクター株式会社 画像処理装置及び画像処理方法
KR20080105390A (ko) * 2007-05-30 2008-12-04 삼성전자주식회사 플래시 메모리에 사용되는 명령어들을 제어하는 방법 및장치
JP2008299610A (ja) * 2007-05-31 2008-12-11 Toshiba Corp マルチプロセッサ
JP5181907B2 (ja) * 2008-07-31 2013-04-10 株式会社リコー 画像処理装置、画像処理制御方法、画像処理制御プログラム及び記録媒体
US8694750B2 (en) * 2008-12-19 2014-04-08 Nvidia Corporation Method and system for data structure management
US8732350B2 (en) * 2008-12-19 2014-05-20 Nvidia Corporation Method and system for improving direct memory access offload
US9208108B2 (en) * 2008-12-19 2015-12-08 Nvidia Corporation Method and system for improved flash controller commands selection
JP2011070259A (ja) * 2009-09-24 2011-04-07 Mitsubishi Electric Corp データ転送装置及びデータ転送方法
US9536341B1 (en) * 2009-10-19 2017-01-03 Nvidia Corporation Distributing primitives to multiple rasterizers
FR2953308B1 (fr) 2009-12-01 2011-12-09 Bull Sas Systeme autorisant des transferts directs de donnees entre des memoires de plusieurs elements de ce systeme
FR2953307B1 (fr) * 2009-12-01 2011-12-16 Bull Sas Controleur d'acces direct a une memoire pour le transfert direct de donnees entre memoires de plusieurs dispositifs peripheriques
US8683293B2 (en) * 2009-12-16 2014-03-25 Nvidia Corporation Method and system for fast two bit error correction
US20110161553A1 (en) * 2009-12-30 2011-06-30 Nvidia Corporation Memory device wear-leveling techniques
US9594675B2 (en) * 2009-12-31 2017-03-14 Nvidia Corporation Virtualization of chip enables
JP2011159165A (ja) * 2010-02-02 2011-08-18 Fujitsu Ltd 並列計算機システム、並列計算機システムの制御方法及び制御プログラム
US9465728B2 (en) 2010-11-03 2016-10-11 Nvidia Corporation Memory controller adaptable to multiple memory devices
GB2495959A (en) 2011-10-26 2013-05-01 Imagination Tech Ltd Multi-threaded memory access processor
US9430349B2 (en) 2013-01-24 2016-08-30 Xcerra Corporation Scalable test platform in a PCI express environment with direct memory access
US9336108B2 (en) 2013-01-24 2016-05-10 Xcerra Corporation Scalable test platform
US9430348B2 (en) 2013-01-24 2016-08-30 Xcerra Corporation Scalable test platform in a PCI express environment with direct memory access
US9213616B2 (en) * 2013-01-24 2015-12-15 Xcerra Corporation Automated test platform utilizing status register polling with temporal ID
US9459978B2 (en) 2013-01-24 2016-10-04 Xcerra Corporation Automated test platform utilizing segmented data sequencers to provide time controlled test sequences to device under test
KR102415995B1 (ko) * 2015-09-30 2022-06-30 엘지디스플레이 주식회사 영상 처리 장치 및 이를 포함하는 표시장치
CN105847180A (zh) * 2016-03-25 2016-08-10 深圳深宝电器仪表有限公司 一种基于ADSP-BF60x网络通信的DMA配置模式及中断方法
JP7137058B2 (ja) * 2018-09-04 2022-09-14 富士通株式会社 演算処理装置、情報処理装置及び情報処理装置の制御方法
JP7463785B2 (ja) 2020-03-18 2024-04-09 富士フイルムビジネスイノベーション株式会社 情報処理装置

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57111722A (en) * 1980-12-29 1982-07-12 Fujitsu Ltd Dma transfer control system
JP2900359B2 (ja) 1986-10-30 1999-06-02 株式会社日立製作所 マルチプロセッサシステム
JPS6478184A (en) * 1987-06-24 1989-03-23 Nippon Kokan Kk Method and device for deriving length of tubular body by utilizing acoustic wave
US4862407A (en) 1987-10-05 1989-08-29 Motorola, Inc. Digital signal processing apparatus
US5315708A (en) * 1990-02-28 1994-05-24 Micro Technology, Inc. Method and apparatus for transferring data through a staging memory
EP0519348B1 (en) * 1991-06-19 1999-07-28 Hewlett-Packard Company Co-processor supporting architecture adapted to a processor which does not natively support co-processing
US5666520A (en) 1993-03-29 1997-09-09 Hitachi, Ltd. Graphics display system including graphics processor having a register storing a series of vertex data relating to a polygonal line
US6331856B1 (en) 1995-11-22 2001-12-18 Nintendo Co., Ltd. Video game system with coprocessor providing high speed efficient 3D graphics and digital audio signal processing
US5894586A (en) 1997-01-23 1999-04-13 Xionics Document Technologies, Inc. System for providing access to memory in which a second processing unit is allowed to access memory during a time slot assigned to a first processing unit
JPH10334037A (ja) * 1997-05-30 1998-12-18 Sanyo Electric Co Ltd 通信dma装置
JPH1165989A (ja) 1997-08-22 1999-03-09 Sony Computer Entertainment:Kk 情報処理装置
KR19990043773A (ko) * 1997-11-29 1999-06-15 정선종 직접 메모리 액세스 제어기
EP0945788B1 (en) 1998-02-04 2004-08-04 Texas Instruments Inc. Data processing system with digital signal processor core and co-processor and data processing method
US6202106B1 (en) 1998-09-09 2001-03-13 Xilinx, Inc. Method for providing specific knowledge of a structure of parameter blocks to an intelligent direct memory access controller
EP1061439A1 (en) 1999-06-15 2000-12-20 Hewlett-Packard Company Memory and instructions in computer architecture containing processor and coprocessor
US6421744B1 (en) 1999-10-25 2002-07-16 Motorola, Inc. Direct memory access controller and method therefor
JP2001216227A (ja) 2000-02-02 2001-08-10 Hitachi Ltd インターフェース制御装置およびインターフェース制御方法および外部記憶サブシステム
JP2002163239A (ja) 2000-11-22 2002-06-07 Toshiba Corp マルチプロセッサシステムおよびその制御方法
US6779049B2 (en) * 2000-12-14 2004-08-17 International Business Machines Corporation Symmetric multi-processing system with attached processing units being able to access a shared memory without being structurally configured with an address translation mechanism
US6820142B2 (en) * 2000-12-14 2004-11-16 International Business Machines Corporation Token based DMA
US6865631B2 (en) * 2000-12-14 2005-03-08 International Business Machines Corporation Reduction of interrupts in remote procedure calls
JP3895610B2 (ja) * 2001-03-21 2007-03-22 株式会社リコー 画像形成装置および画像形成方法
JP4144240B2 (ja) * 2002-04-12 2008-09-03 セイコーエプソン株式会社 制御装置および制御方法
US7478390B2 (en) * 2003-09-25 2009-01-13 International Business Machines Corporation Task queue management of virtual devices using a plurality of processors

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102789438A (zh) * 2011-05-16 2012-11-21 夏普株式会社 直接存储器存取控制装置以及图像形成装置
CN104717433A (zh) * 2015-03-27 2015-06-17 电子科技大学 一种用于视频流信号处理系统的分布式传输装置
CN110069432A (zh) * 2018-01-22 2019-07-30 华大半导体有限公司 带有数据处理功能的外围电路互连系统及其联动方法
CN110069432B (zh) * 2018-01-22 2023-03-24 小华半导体有限公司 带有数据处理功能的外围电路互连系统及其联动方法
CN112749112A (zh) * 2020-12-31 2021-05-04 无锡众星微系统技术有限公司 一种硬件流水结构
CN112749112B (zh) * 2020-12-31 2021-12-24 无锡众星微系统技术有限公司 一种硬件流水结构

Also Published As

Publication number Publication date
KR20050075722A (ko) 2005-07-21
EP1557764A2 (en) 2005-07-27
US7627697B2 (en) 2009-12-01
CN100454280C (zh) 2009-01-21
TW200540634A (en) 2005-12-16
JP2005202767A (ja) 2005-07-28
TWI276965B (en) 2007-03-21
EP1557764A3 (en) 2006-07-26
US20050160200A1 (en) 2005-07-21
KR100733943B1 (ko) 2007-06-29

Similar Documents

Publication Publication Date Title
CN1641614A (zh) 处理器系统,dma控制电路,dma控制方法,dma控制器用控制方法,图形处理方法和图形处理电路
CN1862515A (zh) 数据传送装置、数据传送方法和程序
CN1279469C (zh) 一种处理器中处理数据的方法和处理数据的系统
CN1262944C (zh) 处理器结构
CN1291327C (zh) 计算机处理系统和计算机处理方法
CN1828563A (zh) 处理器及信息处理方法
CN1107287C (zh) 信息处理装置和信息处理方法
CN1828541A (zh) Java操作系统中定时任务的实现方法
CN1522405A (zh) 数据处理设备和同步数据处理设备中的第一与第二处理装置的方法
CN1494690A (zh) 用于宽带网络的计算机体系结构和软件单元
CN1518705A (zh) 处理器结构
CN1255765C (zh) 数据通信系统和方法
CN1202474C (zh) 程序执行装置及便携式信息处理装置
CN1806231A (zh) 提供软件实现的高速缓冲存储器的方法与装置
CN101040268A (zh) 宽带网络计算机体系结构中的外部数据接口
CN1910554A (zh) 多处理器系统中处理器任务迁移的方法与装置
CN101051281A (zh) 多cpu对临界资源进行互斥访问的方法和装置
CN1811718A (zh) 处理器及信息处理方法
CN1892630A (zh) Dma数据传送装置、半导体集成电路装置及数据传送方法
KR100731983B1 (ko) 저전력 무선 디바이스 프로세서용 하드와이어드 스케줄러및 스케줄링 방법
CN1629774A (zh) 信息处理装置以及操作系统
CN101038572A (zh) 数据传送装置及数据传送系统
CN1175346C (zh) 发送数据的设备
CN111158875B (zh) 基于多模块的多任务处理方法、装置及系统
US9170839B2 (en) Method for job scheduling with prediction of upcoming job combinations

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090121

Termination date: 20130114