CN101040270B - 命令传输控制装置和命令传输控制方法 - Google Patents

命令传输控制装置和命令传输控制方法 Download PDF

Info

Publication number
CN101040270B
CN101040270B CN2006800010238A CN200680001023A CN101040270B CN 101040270 B CN101040270 B CN 101040270B CN 2006800010238 A CN2006800010238 A CN 2006800010238A CN 200680001023 A CN200680001023 A CN 200680001023A CN 101040270 B CN101040270 B CN 101040270B
Authority
CN
China
Prior art keywords
command
order
passage
unit
address
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.)
Active
Application number
CN2006800010238A
Other languages
English (en)
Other versions
CN101040270A (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.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Computer Entertainment Inc
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 Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Publication of CN101040270A publication Critical patent/CN101040270A/zh
Application granted granted Critical
Publication of CN101040270B publication Critical patent/CN101040270B/zh
Active 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/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • 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/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1626Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests
    • G06F13/1631Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests through address comparison
    • 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/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1642Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
    • 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/38Information transfer, e.g. on bus
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/001Arbitration of resources in a display system, e.g. control of access to frame buffer by video controller and/or main processor
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/395Arrangements specially adapted for transferring the contents of the bit-mapped memory to the screen
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/12Frame memory handling
    • G09G2360/125Frame memory handling using unified memory architecture [UMA]
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/12Frame memory handling
    • G09G2360/127Updating a frame memory using a transfer of data from a source area to a destination area

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)
  • Communication Control (AREA)

Abstract

有效地控制在多个处理单元之间发送和接收的命令。命令接收器210从外部命令发送实体接收分配了存储器地址的命令。存储器的地址范围被分成多个区域,并且分配信息存储单元228存储分配表,在分配表中为每个区域分配通道。命令存储单元230包含根据每个通道提供的队列,其中每个队列临时存储接收的命令。分布目的地指定单元224通过参考分配表来指定对应于存储器地址的区域,并且执行单元222将接收的命令传输到对应于所述区域的命令存储单元。

Description

命令传输控制装置和命令传输控制方法
技术领域
本发明涉及控制命令传输的技术,尤其涉及一种控制从外部源接收的命令的传输顺序的技术。 
背景技术
随着近些年来计算机游戏、数字广播等领域中使用的计算机图形技术和图像处理技术的显著进步,需要信息处理装置(如计算机、游戏机和电视机)具有以更高速处理更高清晰度的图像数据的能力。为了满足该需求,不言而喻需要实现算法处理自身的高速度,但适当地在多个处理单元之间分布任务也是很重要的。 
在这种情况下,在多个处理单元之间发送和接收用于指令任务执行的相互控制命令(下面简称为“命令”),并且各处理单元相互关联地操作。例如,处理单元A向另一处理单元B发送若干命令。处理单元B将接收到的命令在其自己的队列中排序。处理单元B按照更容易执行的命令的顺序来执行队列中的命令。这种类型的处理,即,命令排序和无序执行,作为一种有效的技术被广泛采用,它让处理单元A和处理单元B异步地操作,并且总体上提高了多个处理单元的处理效率。 
在处理单元B中排序的命令被传输到任一个命令执行实体。这里,命令执行实体可以是类似硬件的模块,如内置在处理单元B中的各种类型的算术单元,或者是基于软件的模块,如处理单元B所执行的进程。 
从处理单元A发送的命令被传输到处理单元B,然后到所述命令的命令执行实体,从而任务总体上被分布到各种类型的计算资源。 
处理单元B可以具有用于每个命令执行实体的多个队列。当处理单元A将命令发送到处理单元B时,它也可以发送ID信息来显式地标识命令执行实体。在这种情况下,处理单元B根据ID信息,将接收的命令输入到命令执行实体的队列。然后,需要的话,从每个队列向相应命令执行实体发出命令。 
为每个命令执行实体独立地提供队列,这便于平均向处理单元B控制的每个命令执行实体发出命令的机会。例如,即使当命令执行实体α处于忙碌状态且在相应队列中积累了许多命令时,命令执行实体β的队列也不会直接受其影响。这使得不容易发生这样的情况,即,对命令执行实体β的命令发出定时由于命令执行实体α而被过分延迟。 
然而,当处理单元B接收到来自原本没有上述发送ID信息的功能的处理单元C的命令时,更常见的是处理单元B固定地将命令输入到特定队列。因此,当处理单元B接收到来自处理单元C的命令时,命令很可能累积在该特定队列中。即,即使处理单元B具有多个队列,在响应处理单元C的时候也不会享受到这样的好处。照这样,为了有效地利用处理单元B的功能,必要前提是从命令发送实体发送用于标识命令执行实体的ID信息。 
发明内容
做出了本发明以解决前述问题,并且其主要目的是提供有效控制在多个处理单元之间发送和接收的命令的技术。 
根据本发明的一个实施例涉及一种命令传输控制装置。 
该装置,包括:命令接收器,用于从没有唯一指定命令执行实体的外部命令发送实体接收指定了表示命令处理结果的写目的地的地址的命令;通道分配单元,用于通过参考地址范围被分成多个区域并且为每个区域分配通道的分配表来为命令分配用于传输的通道,所述通道是对被接收的命令指定的表示命令处理结果的写目的地的地址分配的通道;命令存储单元,用于将接收的命令临时存储到多个队列中与分配给该命令的通道相对应的队列;和命令传输单元,用于在所述多个队列的每一个中存储的命令当中,将分配到预定通道的命令优先于分配到其他通道的命令传输到命令执行单元。 
这里术语“通道”也可以是物理线路上实现的虚拟线路。每个命令可以被分配到多个通道中的任一个,然后在物理线路上传输。命令传输单元也可以选择要通过其将命令发出的通道,使得按多个通道之间的预定比率发出命令。该装置还可以包括分配改变单元,用于根据所存储的命令数目改变通道的分配比率。通道分配单元也可以分配通道,使得所存储的多个命令以预定比率被分布到多个通道。如果其中多个通道中的任一个被分配的命令数量大于或等于预定数量,则分配改变单元可以改变分配比率,从而更可能分配所 述通道以外的通道。这可以实现防止过于频繁和过多地分配特定通道的情况的进行。 
根据本发明的另一实施例还涉及一种命令传输控制装置。 
该装置特征在于,临时存储从命令发送实体接收的、没有唯一指定命令执行实体的命令,并且根据命令所指定的存储器地址,改变传输多个所接收的命令的顺序。 
根据本发明的另一实施例还涉及一种命令传输控制方法。 
该方法包括以下步骤:从没有唯一指定命令执行实体外部命令发送实体接收指定了表示命令处理结果的写目的地的地址的命令;通过参考地址范围被分成多个区域并且为每个区域分配通道的分配表来为命令分配用于传输的通道,所述通道是对被接收的命令指定的表示命令处理结果的写目的地的地址分配的通道;将接收的命令临时存储到多个队列中与分配给该命令的通道相对应的队列;和在所述多个队列的每一个中存储的命令当中,将分配到预定通道的命令优先于分配到其他通道的命令传输到命令执行单元。 
要注意,通过方法、装置、系统、记录介质、计算机程序对本发明的表示与本实施例一样有效。 
附图说明
图1是信息处理装置的功能框图。 
图2是示出从总体控制单元看来存储器地址的概念的示意图。 
图3是命令传输控制器的功能框图。 
具体实施方式
图1是信息处理装置的功能框图。 
信息处理装置100包括总体控制单元110、图像处理单元120和主存储器140。信息处理装置100连接到显示装置150。显示装置150输出作为总体控制单元110和图像处理单元120的处理结果而获得的图像或视频。信息处理单元100还通过总线118连接到用于控制外部设备的多种I/O设备160。连接到信息处理装置100的I/O设备160可以是多个或者多种类型。总体控制单元110和图像处理单元120每一个形成为单芯片电子设备,并且彼此物理上分离。信息处理装置100形成为进一步包括这些电子设备的电子设备。 
在硬件方面,如图1所示等,作为用于执行多种处理的功能块描述的每个元件,可以由CPU(中央处理单元)、存储器和其他LSI(大规模集成电路)实现。在软件方面,它由具有保留的管理功能的、加载到存储器的程序等实现。因此,本领域技术人员应当理解,这些功能块可以以多种形式实现,例如仅由硬件、仅由软件或者由其组合来实现,而不特别限于这些中的任一个。 
在信息处理装置100中执行操作系统(下面简称为“OS(操作系统)”),用于提供有效利用信息处理装置100的功能和环境以及以统一的方式控制整个装置。在OS上执行多个应用软件。 
总体控制单元110包括主控制单元112和多个子控制单元116。子控制单元116和主控制单元112可以通过总线118相互通信。主控制单元112按照每个应用的基本处理单元分配任务,分配给各个子控制单元116。或者,主 控制单元112可以自己执行任务。在子控制单元116执行它们各自分配的任务的情况下,多个任务被彼此并行地处理。 
下面,将主控制单元112所执行的处理(包括任务分配处理)称为“主进程”,而将子控制单元116所执行的处理称为“子进程”。主控制单元112执行用于信息处理装置100的总体控制的处理,例如具有相对高优先级的有关用户界面的处理。与此相反,子控制单元116执行从主进程分包(subcontract)的处理,例如具有相对低优先级的、后台中执行的计算。 
主控制单元112或子控制单元116中包括的DMAC(直接存储存取控制器)(未示出)通过来自主控制单元112或子控制单元116的命令,利用主存储器140或图像处理单元120中的内置图形存储器128,控制数据传输、数据保存等。 
主存储器140是主要由总体控制单元110使用的存储区域。在主存储器140中,存储与任务的执行状态有关的数据。例如,临时存储作为关于总体控制单元110执行的计算机图形的坐标计算的结果而获得的坐标数据。还有这样的情况,图像处理单元120所生成的数据被保存在该主存储器140中, 
图像处理单元120是专门执行图像处理(例如绘制处理)的单元。图像处理单元120遵照总体控制单元110的指令来执行图像处理。图像处理单元120执行与总体控制单元110所处理的各个任务有关的图像处理,并且将所生成的图像或视频输出到显示装置150。图像处理单元120可以分时并且并行地执行多个图像处理。 
图像处理单元120包括图形存储器128、算术单元130、显示控制器126、控制块124、图像处理侧DMAC 122和命令传输控制器200。这些单元通过总线118相互连接,因此这些单元可以相互通信。 
图形存储器128是用于存储由图像处理单元120使用和管理的图形数据的存储区域。图形存储器128中不仅提供其中存储图像帧数据的帧缓冲器和Z-缓冲器,还提供对应于诸如顶点(vertex)数据、纹理数据和色彩查找表之类的数据的区域,这些数据是在图像帧数据的绘制时参考的基本数据。 
控制块124是用于总体上控制图像处理单元120的块。控制块124执行对算术单元130、图形存储器128和显示控制器126的总体控制,并且进行各个块之间数据传输的同步管理、定时器管理等。 
图像处理侧DMAC 122遵照来自控制块124的命令,控制总体控制单元 110或主存储器140与图形存储器128之间的数据传输、数据保存等。 
显示控制器126生成水平和垂直同步信号,并且根据显示装置150的显示定时,从图形存储器128中存储的帧缓冲器按行依次加载图像帧数据的像素数据。此外,显示控制器126通过将按行加载的像素数据,从包括RGB(红-绿-蓝)色彩值的数字数据转换成对应于显示装置150的格式,而产生输出。 
算术单元130遵照来自控制块124的命令,执行关于图形的各种算术处理。该处理的一个示例可以是基于三维建模数据、通过坐标变换、隐面消除和阴影处理(shading)生成图像帧数据,以及将其写入帧缓冲器的一系列绘制处理。 
算术单元130包括诸如栅格器(rasterizer)132、阴影器单元134和纹理单元136之类的功能块,以便实现尤其对三维图形的高速处理。 
栅格器132从总体控制单元110接收要绘制的基本对象(下面称为“图元”(primitive))的顶点数据,并且执行视图变换,通过投影变换将三维空间上的图元转换成绘制平面上的图形。此外,它执行栅格处理,沿着绘制平面的水平方向扫描绘图平面上的图形,并且将它们逐列转换成量化的像素。图元被栅格器132像素扩展,并且对每个像素计算像素信息。像素信息包括RGB色彩值、指示透明度的α值和指示距视点的深度的Z值。 
栅格器132沿扫描线生成预定大小的像素区域,并且将其输出到阴影器单元134和纹理单元136。从栅格器132输出的像素区域被一次堆积到队列中,并且阴影器单元134逐个处理堆积的像素区域。 
阴影器单元134基于栅格器132计算的像素信息,执行阴影处理,在基于纹理单元136获得的纹理信息的纹理映射之后确定像素色彩,并且在图形存储器128中的帧缓冲器中写入阴影处理之后的图像帧数据。此外,阴影器单元134对写入帧缓冲器的图像帧数据执行诸如雾化或alpha混合之类的处理,确定最终绘制色彩,并且更新帧缓冲器中的图像帧数据。 
纹理单元136从阴影器单元134接收指定纹理数据的参数,从图形存储器128中的纹理缓冲器读出所请求的纹理数据,并且在对其执行预定处理后将其输出到阴影器单元134。 
在从总体控制单元110接收到图像生成所需的基本信息(例如图元的顶点数据)或者图像生成的开始指令后,图像处理单元120独立于总体控制单元110地执行图像处理。图像处理单元120所生成的数据被传输到图形存储 器128和主存储器140。 
图像处理单元120中包括的命令传输控制器200将从总体控制单元110发送到图像处理单元120的命令,发给图像处理单元120中的每个单元。命令传输控制器200不仅接收从总体控制单元100中的主控制单元112或子控制单元116发送的命令,还接收从诸如I/O设备之类的其他设备发送的命令。即,命令传输控制器200笼统地接收从外部命令发送实体发送到图像处理单元120的命令,并且将接收到的命令发到作为命令执行实体的各个单元,例如控制块124和显示控制器126。图像处理单元120中包括的每个单元执行由从命令传输控制器200送来的命令所指定的各个任务。这些单元的每一个形成为图像处理单元120中包含的单芯片电子设备。在本实施例中,“命令”可以是直接定义由命令执行实体执行的控制内容的命令,或者是指令数据传输的命令,或者可以是用于命令执行实体控制的参数。命令被转化成总线118上的分组,然后被传输。 
命令传输控制器200的细节将结合图3描述。 
图2是示出从总体控制单元看来存储器地址的概念的示意图。 
信息处理装置100的存储区域由主控制单元112和子控制单元116内置的高速缓存、主存储器140和图形存储器128、以及其他I/O设备内置的存储器一起组成。在总体控制单元110上执行的进程可以通过虚拟地址存取这些物理存储器。该图示意性示出了对于总体控制单元110中执行的进程的虚拟地址空间。 
该图所示的图像处理器地址区域160是被分配给总体控制单元110所执行的上述进程的、用来控制图像处理单元120的地址范围。总体控制器地址区域162是被分配来控制总体控制单元110的地址范围。主存储器地址区域164是被分配来控制主存储器140的地址。 
在总体控制单元110执行的上述进程中,在指定了命令的处理结果要写入的地址之后,各种类型的命令被传输到图像处理单元120。此时,由总体控制单元110中内置的MMU(存储管理单元)(未示出)将地址转换成物理地址。因此,将物理地址分配给图像单元120从总体控制单元110接收的命令。这个所分配的物理地址可以对应于图形存储器128或主存储器,或者可以对应于总体控制单元110中内置的各个局部存储器。 
图3是示出命令传输控制器的功能的功能框图。 
命令传输控制器200包括命令接收器210、分布单元220、命令存储单元230和命令发出单元240。 
命令接收器210接收来自命令发送实体(如总体控制单元110)的各种类型的命令。分布单元220指定通过哪些通道将接收的命令传输到命令执行实体。尽管总线118自身是单条物理线路,但如果通过将命令分成多个流的方式传输命令,那么总线118也可以实现为单条物理线路中的多条虚拟线路。分布单元220将接收的命令分成多个种类。换而言之,每个命令被分配到通道(其为虚拟线路)中的任一个,其中定义多个种类的传输属性。然后,利用适合可应用的通道的传输属性的方法,将命令传输到各自的命令执行实体。 
命令存储单元230对每个所分配的通道分别存储命令。命令发出单元240通过可应用的通道将存储在命令存储单元230中的命令发到命令执行实体。 
分布单元220包括执行单元222、分布目的地指定单元224和分配信息存储单元228。 
为命令分配的物理地址的范围被分成多个区域。分配信息存储单元228将指示如何定义这些各个区域的分配信息作为表数据(下面称为“分配表”)存储。每个区域可以由起始地址和结束地址指定,例如,第一区域对应于地址“0x00000到0x05000”,而第二区域对应于地址“0x05001到0x18000”。每个区域直接对应于任一个通道。命令存储单元230具有根据这些各个通道的多个队列。例如,分配使得,第一队列232a对应于通道1和第一区域,第二队列232b对应于通道2和第二区域,...,而第n队列232c对应于通道n和第n区域。这样,队列与区域和通道相对应。 
分布目的地指定单元224指定其中命令接收器210接收的命令所指定写目的地的物理地址属于哪个区域,从而指定它要分配到哪个通道。响应于这个所分配的通道,执行单元222将命令传输到命令存储单元230中的任一个队列。这样,命令被分布到命令存储单元230中的各个队列。 
命令发出单元240选择命令存储单元230中的任一个队列,取出所述队列中的命令,并且通过相应通道将其传输到命令执行实体。 
这里,进一步给出对应于各种传输属性的通道的说明。 
例如,假设定义了三个通道—通道A、通道B和通道C。假设通道A要求低延迟和低抖动,并且通道A是用于视频数据传输的通道,传输量的变化较小。通道B是用于传输顶点数据或纹理数据的通道,传输量和传输量变化 比通道A大。通道C是用于传输图形处理控制命令的通道,具有较小传输量,但要求传输顺序的管理。 
这里,假设命令传输的优先级设置为通道A、B和C的顺序。假设通道A、B和C的传输比率设为2∶5∶3。作为一个示例,命令发出单元240首先从对应于通道A的队列中取出一个命令,并且将其传输到命令执行实体。当通过通道A传输了两个命令时,接着从对应于通道B的队列传输命令。在通过通道B传输了五个命令之后,接着从对应于通道C的队列传输命令。在通过通道C传输了三个命令之后,再次从对应于通道A的队列中取出命令。这样,命令发出单元240基于传输优先级和每个通道之间的传输比率,让每个通道传输命令。 
此外,执行通道C中的传输顺序的管理。即,作为关于其中执行有序处理的通道的传输控制方法,有下面两种这样的方法。 
1.当命令被传输到通道C时,继续通过通道C的命令传输,直到取完对应于通道C的队列中的命令为止。即,当选择通道C时,不选择通道A和通道B作为要通过其传输命令的通道,直到对应于通道C的队列中命令用尽为止。 
2.外部命令发送实体通过通道A和B发出命令的顺序不是必须与这些命令被实际传输到命令执行实体的顺序一致。与此相反,在通道C的情况下,控制是这样的,即,保证命令发出的顺序与它们传输的顺序一致。在这种情况下,与1.不同,关于通道A和B的命令传输不会由于关于通道C的命令传输而被阻止。 
这样,为每个通道设置各种类型的传输属性,例如是否保证有序传输。通过如上所述多种传输属性的传输有序控制,可以实现与其中在总线118上实现特性不同的多条线路的控制类似的控制。 
传统上,当命令发送实体不具有发送用于指定总体控制单元110中的命令执行实体的ID信息的功能时,实践中常用的是这样的一种方法,其中即使命令存储单元230具有多个队列,分布单元220也固定地将命令传输到特定队列(下面称为“主队列”)。因此,在这种情况下,命令自然容易集中累积在主队列中。换而言之,存在这样的缺点,即,除非命令发送实体具有指定命令执行实体的功能,否则这种传统类型的命令传输控制器200不能发挥本来的功能。 
作为更具体的示例,在从总体控制单元110向图形存储器128发送指令连续传输图像数据的命令之后,发送用于改变图像处理单元120中的任何单元的设置的命令。于是,设置改变命令再被保存在处于累积了图像传输命令状态的主队列中。因此,即使设置改变命令是在其执行时要求实时性的命令,但由于大量图像传输命令仍会导致执行受影响的不利效果。 
与此相反,根据本实施例的命令传输控制器200根据命令所分配的物理地址,在多个队列之间分布命令。因此,即使命令发送实体不显式地指定命令执行实体,命令存储单元230中提供的多个队列也可以得到有效利用。 
根据本实施例中描述的命令传输控制器200,可以将单个总线118当作它是多个虚拟线路那样使用。常常有这样的情况,命令的特性(如它是图像数据传输命令还是设置改变命令)一定程度上可以由命令所分配的写目的地址来指定。基于该知识,命令传输控制器200根据命令所分配的物理地址,指定用于命令传输的通道。因此,命令传输控制器200可以使用多个通道传输命令,而不需要专门在命令发送实体侧中提供新功能。 
分布目的地指定单元224不是必须通过参考命令所分配的所有地址来指定区域。可以基于地址的一部分,例如高位,来指定该区域。例如,当使用64位大小指定地址时,可以仅低42位用于实际设备中的映射,而其余的高12位可以仅仅被取出,然后用于分布目的地指定单元224。这样,分配表可以根据高位来确定区域的对应关系。如果要处理的地址的位数很大,那么该方法将有效地降低分布目的地指定单元224的处理负载。 
分布目的地指定单元224不是必须根据写目的地址固定地分配通道。例如,分配到第一队列232a和第二队列232b的地址范围可以动态地改变,从而存储在第一队列232a中的命令数目与存储在第二队列232b中的命令数目之比不会变得大于或等于5∶1。这样,可以进行控制使得命令不过度累积在特定序列中。 
尽管在本实施例中,命令执行实体被描述为硬件上的独立单元,但它们可以是例如,软件上的任务,如图像处理单元120中执行的进程或线程。 
基于实施例描述了本发明。这些实施例仅仅是示例性的,并且本领域技术人员应当理解,可以对每个组件及其进程的组合进行各种修改,并且这样的修改仍在本发明范围之内。 
要注意,权利要求书中所述的通道分配单元的主要特征主要是由本实施 例中的分布单元220实现的。权利要求书中所述的命令存储单元的特征是由本实施例中的命令存储单元230实现的。然而可以说,它的主要特征是由命令存储单元230中包括的每个队列实现的。可以说,权利要求书中所述的命令传输单元是由本实施例中的命令发出单元240实现的。本领域技术人员还应当理解,权利要求书中所述的每个构成组件所要实现的功能是由本实施例中的每个功能块的单个单元或者其联合实现的。 
工业应用性 
根据本发明,可以实现有效控制多个处理单元之间发送和接收的命令的效果。 

Claims (7)

1.一种命令传输控制装置,包括:
命令接收器,用于从没有唯一指定命令执行实体的外部命令发送实体接收指定了表示命令处理结果的写目的地的地址的命令;
通道分配单元,用于通过参考地址范围被分成多个区域并且为每个区域分配通道的分配表来为命令分配用于传输的通道,所述通道是对被接收的命令指定的表示命令处理结果的写目的地的地址分配的通道;
命令存储单元,用于将接收的命令临时存储到多个队列中与分配给该命令的通道相对应的队列;和
命令传输单元,用于在所述多个队列的每一个中存储的命令当中,将分配到预定通道的命令优先于分配到其他通道的命令传输到命令执行单元。
2.如权利要求1所述的命令传输控制装置,其中,所述通道分配单元根据接收的命令指定的表示命令处理结果的写目的地的地址的预定一部分,指定要分配的通道。
3.如权利要求1所述的命令传输控制装置,其中,所述命令传输单元选择要向其发出命令的通道,使得按多个通道之间的预定比率发出命令。
4.如权利要求1所述的命令传输控制装置,其中,命令执行实体形成为单芯片电子设备。
5.如权利要求1所述的命令传输控制装置,其中,所述命令传输控制装置和命令执行实体集成地形成为单芯片电子设备。
6.如权利要求1所述的命令传输控制装置,其中,所述装置形成为物理上与命令发送实体分离的电子设备。
7.一种命令传输控制方法,包括以下步骤:
从没有唯一指定命令执行实体外部命令发送实体接收指定了表示命令处理结果的写目的地的地址的命令;
通过参考地址范围被分成多个区域并且为每个区域分配通道的分配表来为命令分配用于传输的通道,所述通道是对被接收的命令指定的表示命令处理结果的写目的地的地址分配的通道;
将接收的命令临时存储到多个队列中与分配给该命令的通道相对应的队列;和
在所述多个队列的每一个中存储的命令当中,将分配到预定通道的命令优先于分配到其他通道的命令传输到命令执行单元。
CN2006800010238A 2005-06-14 2006-05-10 命令传输控制装置和命令传输控制方法 Active CN101040270B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP174209/2005 2005-06-14
JP2005174209A JP4443474B2 (ja) 2005-06-14 2005-06-14 コマンド転送制御装置およびコマンド転送制御方法
PCT/JP2006/309768 WO2006134746A1 (en) 2005-06-14 2006-05-10 Command transfer controlling apparatus and command transfer controlling method

Publications (2)

Publication Number Publication Date
CN101040270A CN101040270A (zh) 2007-09-19
CN101040270B true CN101040270B (zh) 2012-02-22

Family

ID=37532113

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800010238A Active CN101040270B (zh) 2005-06-14 2006-05-10 命令传输控制装置和命令传输控制方法

Country Status (6)

Country Link
US (1) US7725623B2 (zh)
EP (2) EP1894105B1 (zh)
JP (1) JP4443474B2 (zh)
KR (1) KR100864998B1 (zh)
CN (1) CN101040270B (zh)
WO (1) WO2006134746A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4996929B2 (ja) * 2007-01-17 2012-08-08 株式会社日立製作所 仮想計算機システム
US9201790B2 (en) * 2007-10-09 2015-12-01 Seagate Technology Llc System and method of matching data rates
JP5625737B2 (ja) * 2010-10-22 2014-11-19 富士通株式会社 転送装置、転送方法および転送プログラム
JP2012221038A (ja) * 2011-04-05 2012-11-12 Toshiba Corp メモリシステム
US9021179B2 (en) * 2011-06-10 2015-04-28 International Business Machines Corporation Store storage class memory information command
CN102916870A (zh) * 2012-10-26 2013-02-06 苏州阔地网络科技有限公司 一种控制网络连接的方法及系统
CN102932226B (zh) * 2012-10-26 2015-07-15 苏州阔地网络科技有限公司 一种减少网络连接的方法
CN102904899A (zh) * 2012-10-26 2013-01-30 苏州阔地网络科技有限公司 一种动态控制网络连接的方法及系统
US10037150B2 (en) * 2016-07-15 2018-07-31 Advanced Micro Devices, Inc. Memory controller with virtual controller mode
EP3270295A1 (en) * 2016-07-15 2018-01-17 Advanced Micro Devices, Inc. Memory controller with virtual controller mode
WO2023022356A1 (ko) * 2021-08-17 2023-02-23 삼성전자 주식회사 디스플레이 패널을 제어하는 커맨드들을 처리하는 타이밍을 동기화하기 위한 전자 장치 및 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004051488A1 (ja) * 2002-11-29 2004-06-17 Ntt Docomo, Inc. ダウンロードシステム、通信端末、サーバ、及びダウンロード方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5212795A (en) * 1988-10-11 1993-05-18 California Institute Of Technology Programmable DMA controller
EP1067459B1 (en) 1993-04-30 2013-08-28 NEC Corporation Symmetric multiprocessing system with unified environment and distributed system functions
US5752010A (en) * 1993-09-10 1998-05-12 At&T Global Information Solutions Company Dual-mode graphics controller with preemptive video access
JP3190852B2 (ja) 1997-04-24 2001-07-23 甲府日本電気株式会社 情報処理システムのディスパッチ方式
WO1999034294A1 (en) * 1997-12-24 1999-07-08 Creative Technology Ltd. Optimal multi-channel memory controller system
US6205504B1 (en) * 1998-09-30 2001-03-20 International Business Machines Corporation Externally provided control of an I2C bus
JP3558559B2 (ja) 1999-08-19 2004-08-25 Necエレクトロニクス株式会社 情報処理装置
JP4403677B2 (ja) 2001-08-27 2010-01-27 ブラザー工業株式会社 通信装置及び通信システム
JP2003099384A (ja) 2001-09-20 2003-04-04 Nec Corp 負荷分散システム、負荷分散システムのホストコンピュータ、及び負荷分散プログラム
US6931478B2 (en) * 2002-02-06 2005-08-16 International Business Machines Corporation Implicit addressing sequential media drive with intervening converter simulating explicit addressing to host applications
JP2004046392A (ja) 2002-07-10 2004-02-12 Renesas Technology Corp Usbホスト制御回路
US6985970B2 (en) 2003-04-25 2006-01-10 International Business Machines Corporation Data transfer with implicit notification
JP2005010956A (ja) 2003-06-17 2005-01-13 Hitachi Ltd 情報処理装置の制御方法、情報処理装置、情報処理システム、及びプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004051488A1 (ja) * 2002-11-29 2004-06-17 Ntt Docomo, Inc. ダウンロードシステム、通信端末、サーバ、及びダウンロード方法

Also Published As

Publication number Publication date
KR20070083459A (ko) 2007-08-24
EP1894105A4 (en) 2008-09-17
CN101040270A (zh) 2007-09-19
EP1894105B1 (en) 2012-06-27
US20080307115A1 (en) 2008-12-11
KR100864998B1 (ko) 2008-10-23
EP2495665B1 (en) 2015-08-19
WO2006134746A1 (en) 2006-12-21
EP1894105A1 (en) 2008-03-05
US7725623B2 (en) 2010-05-25
EP2495665A2 (en) 2012-09-05
JP2006350555A (ja) 2006-12-28
EP2495665A3 (en) 2014-03-26
JP4443474B2 (ja) 2010-03-31

Similar Documents

Publication Publication Date Title
CN101040270B (zh) 命令传输控制装置和命令传输控制方法
US7633506B1 (en) Parallel pipeline graphics system
CN101124613B (zh) 片段着色管线中增加按比例缩放性的图形处理子系统及方法
US9214007B2 (en) Graphics processor having unified cache system
US9405586B2 (en) Method of dynamic load-balancing within a PC-based computing system employing a multiple GPU-based graphics pipeline architecture supporting multiple modes of GPU parallelization
US7461240B2 (en) Command execution controlling apparatus, command execution instructing apparatus and command execution controlling method
US20100123717A1 (en) Dynamic Scheduling in a Graphics Processor
US7664922B2 (en) Data transfer arbitration apparatus and data transfer arbitration method
CN103019810A (zh) 具有不同执行优先级的计算任务的调度和管理
CN103793876A (zh) 分布式拼接式进行高速缓存
WO2007149979A2 (en) Unified virtual addressed register file
CN103810669A (zh) 在统一l2高速缓存中高速缓存经适应性定制大小的高速缓存像素块
US8363059B2 (en) Rendering processing apparatus, parallel processing apparatus, and exclusive control method
US7644214B2 (en) Information processing apparatus and task execution method
JP2001306532A (ja) データ処理装置およびマルチプロセッサ装置
US6771271B2 (en) Apparatus and method of processing image data
US7880742B2 (en) Information processing device, data transmission method, and electronic apparatus
CN111274161A (zh) 用于加速串行化算法的具有可变等待时间的位置感知型存储器
JP2010118058A (ja) トリプル・バッファリングを使用するデータを処理する方法
Kawai et al. Evaluation of parallel ray tracing algorithm using screen space subdivision for image generation system MAGG

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