CN101025717A - 在计算机系统中延迟命令发出的方法和系统 - Google Patents
在计算机系统中延迟命令发出的方法和系统 Download PDFInfo
- Publication number
- CN101025717A CN101025717A CNA2006101359411A CN200610135941A CN101025717A CN 101025717 A CN101025717 A CN 101025717A CN A2006101359411 A CNA2006101359411 A CN A2006101359411A CN 200610135941 A CN200610135941 A CN 200610135941A CN 101025717 A CN101025717 A CN 101025717A
- Authority
- CN
- China
- Prior art keywords
- order
- event flag
- command
- buffer
- processor
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- 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/10—Program control for peripheral devices
- G06F13/102—Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Image Generation (AREA)
- Image Processing (AREA)
- Multi Processors (AREA)
- Image Input (AREA)
- Information Transfer Systems (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
公开一种在具有多个外围处理器的计算机系统中延迟命令发出的方法,所述多个外围处理器用嵌入多线程中央处理器中的外围设备驱动程序进行操作。在外围设备驱动程序发出第一命令与第一事件标记之后,外围设备驱动程序在发出第一命令之后,生成用于第一外围处理器的第二命令。如果第一和第二命令需要被同步,则存储第二命令,等待返回第一事件标记,并且当返回第一事件标记时,发出第二命令。
Description
技术领域
本发明总的涉及计算机的中央处理单元(CPU)与外围处理单元之间的同步,具体涉及命令发出的定时。
背景技术
在现代计算机系统中,每个外围功能模块(如音频或视频)具有它自己的专用处理子系统,并且这些子系统的操作典型地要求计算机的中央处理单元(CPU)的直接控制。此外,子系统的部件之间的通信与同步典型地是通过硬件连接实现的。例如,在具有两个或更多图形处理单元(GPU)的高级图形处理子系统中,CPU不得不频繁地评估GPU的状态,并且只有当前一或当前命令结束时,才能发出下一提供的(rendering)命令。在其他情况下,当CPU在使用多线程技术为GPU进行某些计算时,GPU在执行需要来自CPU的结果的命令之前,可能不得不等待CPU完成计算。当一个GPU向另一GPU请求数据时,必须在CPU的控制下通过直接硬件连接或总线进行传输,于是CPU在执行后继命令之前,不得不等待数据传输完成。不管是CPU等待GPU还是反过来,等待时间都是一种浪费,并且降低了计算机的整体性能。
因此,期望计算机系统能够尽可能地将硬等待与CPU的操作分开。
发明内容
考虑到上述情况,本发明提供一种方法和系统来移除CPU的一些等待时间、以及外围处理单元的一些空闲时间。换句话说,它增加处理器之间的并行度。
公开一种在具有多个外围处理器的计算机系统中使用延迟命令发出的方法和系统,所述多个外围处理器与嵌入一个或多个中央处理器中的外围设备驱动程序进行操作。在外围设备驱动程序发出具有第一事件标记的第一命令之后,外围设备驱动程序在发出第一命令之后,生成用于第一外围处理器的第二命令。如果第一和第二命令需要被同步,则存储第二命令,等待返回第一事件标记,并且当返回第一事件标记时,发出第二命令。
然而,当下面结合附图阅读特定实施例的描述时,本发明操作的结构和方法、以及其额外目的和优点将会得到最好地理解。
附图说明
图1是传统计算机系统的部分的框图。
图2是根据本发明一个实施例的计算机系统的部分的框图。
图3示出根据本发明一个实施例的命令和事件标记流。
图4A是示出根据本发明一个实施例的命令块生成和同步机制的流程图。
图4B、4C是示出根据本发明一个实施例的每个命令块执行中的三个不同的驱动子程序的流程图。
图5A和5B是示出根据本发明一个实施例的延时命令发出的省时效果的命令时序图。
具体实施方式
图1示出传统计算机系统100的部分。在该系统中,外围设备驱动程序110仅仅是程序,功能在本质上类似使用说明,其为操作系统提供关于如何控制和与外围子系统140的专用处理器120和130通信的信息的指令。驱动程序110没有任何由一个或多个中央处理器(CPU)150替代执行的控制功能。通过硬件连接160或者通过总线170,进行专用处理器120与130之间的通信。
作为本发明的实施例,图2示出多处理器计算机系统200的部分,它具有嵌入一个或多个中央处理器220中的驱动程序210。这里,“嵌入”的意思是驱动程序实际上运行在CPU中,并且使用了一些CPU处理能力,从而驱动程序可以产生存储在缓存中的命令,当需要与其他命令同步时分配事件标记,发出命令并且监视事件标记的返回,而完全没有CPU硬等待。这样的驱动程序实现不需要大规模的硬件支持,因此它也是节省成本的。
计算机系统200还采用命令缓存器230,后者存储驱动程序210发送的即时命令。命令缓存器230可以仅仅是主存储器290中的存储空间,或者是位于任何地方的另一存储器,并且可以由驱动程序210动态地分配。利用中央处理器220的处理能力,驱动程序210指挥将命令缓存到命令缓存器230中和以后从命令缓存器230中发出命令,以及指挥专用处理器240和250与中央处理器220之间的同步。专用处理器可以是专用于图形操作的处理器,称为图形处理单元(CPU)。
图3是示出根据本发明一个实施例的CPU、缓存器与专用处理器之间的命令流的图。为了说明的目的,提供了更多关于命令缓存的细节。嵌入的驱动程序320连同事件标记一起生成命令,然后将其有选择地发送到命令缓存器330和340。专用处理器1350的命令和事件标记被送到命令缓存器1330,而专用处理器2360的命令和事件标记被送到命令缓存2340,从而可以独立和同时发出不同专用处理器的命令。当当前命令需要与另一命令执行同步时,驱动程序320伴随着当前命令生成事件标记。处理器,不管是外围专用处理器350和360、还是中央处理器300,都执行它们相应的命令,并且在执行完成后返回事件标记(如果有的话)。它们之间存在通过通信建立的多种控制机制。例如,中央处理器300可以在其操作中控制这两个缓存器。
图4A展示了图形驱动程序320如何与GPU和CPU同步命令发出的详细流程图。这里,驱动程序320在步骤410A到470A中连续生成命令块而没有在CPU侧的任何延迟。这些命令中的一些在被送到GPU执行之前,要被存储在命令缓存器中。例如,命令块[n-1]410A具有到第一GPU的、请求返回事件标记[i]的命令。第一GPU将在命令块[n-1]410A完成后返回事件标记[i]。在检测到事件标记[i]后,驱动程序320于是可以从命令缓存器中发出需要与命令块[n-1]410A同步的另一命令。这样,消除了CPU对同步事件的硬等待。术语“延迟命令发出”泛指该命令缓存过程。
图4A还示出需要与另一CPU线程同步的命令块[n+m]440A以及需要与第二GPU同步的命令块[n+m+k]470A。在这两种情况中,驱动程序320的存储命令、检查事件标记和发出命令的操作与上面第一GPU情况中的相同。
在每个命令块中,驱动程序320执行特定子程序,如生成新命令和相关事件标记(如果需要的话),检查返回的事件标记,缓存新命令,以及发出缓存的命令,或者如果没有待决的事件标记的话直接发出新命令。这些子程序可以以各种顺序执行。图4B、4C和4D是执行这些子程序的三个例子。
参照图3和图4B,驱动程序320首先在步骤410B中生成当前命令,然后在步骤420B中检查任何返回的事件标记。如果存在返回的事件标记,并且如果相关的命令在缓存器中,则驱动程序320将缓存的命令与其自己的事件标记(如果有的话)一同发出,如步骤430B和440B中所示。这里,“相关”的意思是指在缓存的命令与向缓存器返回事件标记的前一命令之间存在同步需要。如果相关命令不在缓存器中,则驱动程序320在步骤450B中检查当前命令是否与返回的事件标记相关。如果是的话,则它发出当前命令(步骤470B),否则,它缓存当前命令(步骤480B)。
另一方面,如果缓存器中不存在返回的事件标记,则驱动程序320在步骤460B中检查任何待决事件标记。在存在当前命令发出将依赖或相关的待决事件标记的情况下,则驱动程序320缓存当前命令(步骤480B)。在不存在待决相关事件标记的情况下,驱动程序320直接发出当前命令。要注意,在所有命令缓存或发出的情况中,相关的事件标记(如果存在的话)也连同命令一起被缓存或发出。
图4C示出根据本发明另一实施例的另一子程序,其中驱动程序320首先在步骤410C中检查任何返回的事件标记。如果存在返回的事件标记,并且如果相关的命令在缓存器中,则驱动程序320发出缓存的命令(步骤430C)。如果不存在返回的事件标记(步骤410C),或者缓存器中不存在相关命令(步骤420C),则驱动程序320生成当前命令(步骤445C)。如果当前命令与任何返回的事件标记相关(步骤450C),则驱动程序发出当前命令(步骤480C)。如果当前命令不与任何返回的事件标记相关,则它还检查是否存在任何与当前命令相关的待决事件标记(步骤460C)。在存在待决的相关事件标记的情况下,驱动程序320将当前命令与其事件标记(如果有的话)一同缓存(步骤470C),否则驱动程序320发出当前命令与其事件标记(如果存在的话)(步骤480C)。上述事件标记检查过程可以仅限于那些以前向其发送了命令与事件标记的处理器。
在图4B和4C所示的两种情况下,作为替代,如果存在任何待决的事件标记,则总是缓存当前命令。如果驱动程序320只检查事件标记缓存器,则在待决事件标记返回之前,驱动程序320事实上没有办法知道它是否与新生成的当前命令相关。因此如果存在任何待决的事件标记,那么需要缓存当前命令。
图5A和5B是示出减少CPU等待时间和GPU空闲时间的延迟命令发出的时序图。图5A显示不采用延迟命令发出过程的情形。在这种情况下,CPU在时隙500A、510A和520A中分别生成用于第一GPU(或GPU1)在时隙550A、560A和570A中的命令。在时隙502A、512A和522A中生成的命令分别是用于第二GPU(或GPU2)在时隙552A、562A和572A中。由于没有采用命令缓存过程,因此只有当当前GPU操作完成时才能生成和发出后继命令。例如,时隙510A只能在时隙552A之后开始,类似地,时隙520A只能在时隙562A之后开始。在之前发出的命令被执行期间,CPU不得不等待。如图所示,两个相邻时隙之间的时间间隔为CPU等待时间或GPU空闲时间。例如,510A和502A之间的间隔是CPU的等待时间,而560A和550A之间的间隔是GPU1的空闲时间。
与图5A相对比,图5B示出在采用延迟命令发出过程以允许CPU连续生成命令到命令缓存器、而不必等待任何GPU完成命令执行的情形下的时序关系。在这种情况下,CPU在时隙500B、510B和520B中分别生成用于GPU1在时隙550B、560B和570B中的命令。在时隙502B、512B和522B中生成的命令分别是用于GPU2在时隙552B、562B和572B中。如图所示,CPU命令生成时隙510B被上提到紧跟时隙502B的完成,而在GPU2时隙552B结束之前。但是在时隙520B的CPU的第五命令仍然等待时隙552B结束,这是因为该特定命令与GPU2执行之间存在同步需要,在530B的命令和在562B的GPU2执行也是如此。在这样的命令处理系统中,尤其是对于采用这样的延迟命令发出过程的图形系统,由于后继命令已经被生成并在命令缓存器中等待GPU执行,因此获得了好处。另一方面,GPU不需要等待CPU生成命令,并且可以在当前命令结束之后执行下一命令。这在GPU2在时隙562B和572B的情况中进一步示出,其中GPU2没有空闲时间。基于同样的原因,时隙570B和560B之间的GPU1空闲时间也减少。
为了量化通过采用的延迟命令发出过程而节省的时间,如果假设CPU命令生成时间为‘t’,并且GPU1和GPU2的执行时间分别为T1和T2(为了容易估计,假设T1<T2),如图5A所示,不使用延迟命令发出的系统花费3*T2+3*t来完成三个命令周期。图5B的具有延迟命令发出的系统将三周期的时间缩短到3*T2+t。因此,对于三个周期,节省的时间为2*t。一般地说,对于n个命令周期,节省(n-1)*t。
图5A与5B之间的比较还显示出GPU空闲时间的节省。在图5A中,时隙560A与570A之间的GPU1空闲时间为T2-T1+t,并且GPU2空闲时间为t。在图5B中,对应时隙之间的GPU1空闲时间变为T2-T1,或者说节省了t。GPU2空闲时间完全被消除,也节省了t。
本发明提供用于实现本发明不同特征的许多不同的实施例或例子。描述部件或方法的特定例子以帮助阐明本公开。它们当然仅仅是例子,而不是意图将本公开限制于说明书所描述的内容。
本申请要求于2005年10月18日提交的名为“Smart CPU SyncTechnology for MultiGPU Solution”的美国专利申请No.60/727668的优先权。
Claims (15)
1.一种在具有一个或多个专用处理器的计算机系统中延迟命令发出的方法,所述一个或多个专用处理器用运行在一个或多个中央处理器上的设备驱动程序进行操作,该方法包括:
外围设备驱动程序发出第一命令与第一事件标记;
外围设备驱动程序在发出第一命令之后,生成用于第一外围处理器的第二命令;
存储第二命令,等待返回第一事件标记;以及
当返回第一事件标记时,发出第二命令。
2.如权利要求1所述的方法,其中,所述存储第二命令的步骤还包括:将第二命令存储在与第一处理器相关的缓存器中。
3.如权利要求2所述的方法,还包括:
生成用于第二处理器的第三命令;以及
将第三命令存储在与其相关的缓存器中。
4.如权利要求3所述的方法,其中,与第一和第二处理器相关的缓存器是不同的。
5.如权利要求1所述的方法,还包括:检查生成的第二命令是否与第一命令相关,要求在第二命令发出前返回第一事件标记。
6.如权利要求5所述的方法,其中,所述检查步骤还包括:
检查第一事件标记是否已返回;以及
如果还未返回第一事件标记,并且如果第一事件标记与第二命令相关,则检查第一事件标记是否是待决的。
7.如权利要求6所述的方法,其中,所述检查第一事件标记是否已返回的步骤是在如下两个时间之一时执行的:
生成第二命令之后;
生成第二命令之前。
8.一种在具有多个图形处理器的计算机系统中延迟命令发出的方法,所述多个图形处理器用嵌入多线程中央处理器中的图形驱动程序进行操作,该方法包括:
图形驱动程序发出第一命令与第一事件标记;
图形驱动程序在发出第一命令之后,生成用于计算机系统的第一处理器的第二命令;
存储第二命令,等待返回第一事件标记;以及
当返回第一事件标记时,发出第二命令。
9.如权利要求8所述的方法,其中,所述存储第二命令的步骤还包括:将第二命令存储在与第一处理器相关的缓存器中。
10.如权利要求9所述的方法,还包括:
生成到第二处理器的第三命令;以及
将第三命令存储在与其相关的缓存器中。
11.如权利要求10所述的方法,其中,与第一和第二处理器相关的缓存器是不同的。
12.如权利要求8所述的方法,还包括:检查生成的第二命令是否需要等待第一事件标记返回。
13.如权利要求12所述的方法,其中,所述检查步骤还包括:
检查第一事件标记是否已返回;以及
如果还未返回第一事件标记,则检查第一事件标记是否是待决的。
14.如权利要求13所述的方法,其中,所述检查第一事件标记是否已返回的步骤是在如下两个时间之一时执行的:
生成第二命令之后;
生成第二命令之前。
15.一种在高级计算机系统中支持延迟命令发出的系统,该系统包括:
多线程中央处理单元CPU;
具有多个图形处理单元的图形子系统;
至少一个命令缓存器,用于存储命令和相关事件标记;和
嵌入CPU中的图形驱动程序,用于生成要存储在命令缓存器中的命令,当需要同步时分配事件标记,控制命令发出并监视事件标记返回。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US72766805P | 2005-10-18 | 2005-10-18 | |
US60/727,668 | 2005-10-18 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101025717A true CN101025717A (zh) | 2007-08-29 |
CN100489820C CN100489820C (zh) | 2009-05-20 |
Family
ID=38214146
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006101359411A Active CN100489820C (zh) | 2005-10-18 | 2006-10-17 | 在计算机系统中延迟命令发出的方法和系统 |
CNB2006101355923A Active CN100568277C (zh) | 2005-10-18 | 2006-10-18 | 在多重图形处理单元图形子系统中进行多重缓冲 |
CNB2006101355957A Active CN100495435C (zh) | 2005-10-18 | 2006-10-18 | 图像处理单元的并行引擎的同步方法及系统 |
CN2006101355904A Active CN1991903B (zh) | 2005-10-18 | 2006-10-18 | 图形处理事件同步的方法及系统 |
Family Applications After (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006101355923A Active CN100568277C (zh) | 2005-10-18 | 2006-10-18 | 在多重图形处理单元图形子系统中进行多重缓冲 |
CNB2006101355957A Active CN100495435C (zh) | 2005-10-18 | 2006-10-18 | 图像处理单元的并行引擎的同步方法及系统 |
CN2006101355904A Active CN1991903B (zh) | 2005-10-18 | 2006-10-18 | 图形处理事件同步的方法及系统 |
Country Status (3)
Country | Link |
---|---|
US (4) | US7903120B2 (zh) |
CN (4) | CN100489820C (zh) |
TW (4) | TWI322354B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104298621A (zh) * | 2008-11-13 | 2015-01-21 | 英特尔公司 | 共享虚拟存储器 |
CN112231018A (zh) * | 2020-12-15 | 2021-01-15 | 北京壁仞科技开发有限公司 | 用于卸载数据的方法、计算设备和计算机可读存储介质 |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8056093B1 (en) * | 2006-12-07 | 2011-11-08 | Nvidia Corporation | Asynchronous kernel processing for a graphics processing system |
US8390631B2 (en) * | 2008-06-11 | 2013-03-05 | Microsoft Corporation | Synchronizing queued data access between multiple GPU rendering contexts |
US8368701B2 (en) * | 2008-11-06 | 2013-02-05 | Via Technologies, Inc. | Metaprocessor for GPU control and synchronization in a multiprocessor environment |
US9075559B2 (en) | 2009-02-27 | 2015-07-07 | Nvidia Corporation | Multiple graphics processing unit system and method |
US9135675B2 (en) | 2009-06-15 | 2015-09-15 | Nvidia Corporation | Multiple graphics processing unit display synchronization system and method |
CN101930719A (zh) * | 2009-06-18 | 2010-12-29 | 辉达公司 | 自动切换显示器场景模式的方法及系统 |
JP2011048579A (ja) * | 2009-08-26 | 2011-03-10 | Univ Of Tokyo | 画像処理装置及び画像処理方法 |
US8803897B2 (en) * | 2009-09-03 | 2014-08-12 | Advanced Micro Devices, Inc. | Internal, processing-unit memory for general-purpose use |
US8305380B2 (en) * | 2009-09-09 | 2012-11-06 | Advanced Micro Devices, Inc. | Managing resources to facilitate altering the number of active processors |
US20110063306A1 (en) * | 2009-09-16 | 2011-03-17 | Nvidia Corporation | CO-PROCESSING TECHNIQUES ON HETEROGENEOUS GPUs INCLUDING IDENTIFYING ONE GPU AS A NON-GRAPHICS DEVICE |
US20110084982A1 (en) * | 2009-10-12 | 2011-04-14 | Sony Corporation | Apparatus and Method for Displaying Image Data With Memory Reduction |
US8514235B2 (en) * | 2010-04-21 | 2013-08-20 | Via Technologies, Inc. | System and method for managing the computation of graphics shading operations |
CN102497591B (zh) * | 2011-11-11 | 2015-02-18 | 青岛海信移动通信技术股份有限公司 | 一种终端以及该终端与电视进行无线传屏的方法 |
US8692832B2 (en) * | 2012-01-23 | 2014-04-08 | Microsoft Corporation | Para-virtualized asymmetric GPU processors |
US9256915B2 (en) * | 2012-01-27 | 2016-02-09 | Qualcomm Incorporated | Graphics processing unit buffer management |
US9384711B2 (en) | 2012-02-15 | 2016-07-05 | Microsoft Technology Licensing, Llc | Speculative render ahead and caching in multiple passes |
KR101308102B1 (ko) * | 2012-02-24 | 2013-09-12 | (주)유브릿지 | 휴대 단말 및 그 제어 방법 |
US8847970B2 (en) | 2012-04-18 | 2014-09-30 | 2236008 Ontario Inc. | Updating graphical content based on dirty display buffers |
US9177533B2 (en) | 2012-05-31 | 2015-11-03 | Microsoft Technology Licensing, Llc | Virtual surface compaction |
US9230517B2 (en) | 2012-05-31 | 2016-01-05 | Microsoft Technology Licensing, Llc | Virtual surface gutters |
US9286122B2 (en) | 2012-05-31 | 2016-03-15 | Microsoft Technology Licensing, Llc | Display techniques using virtual surface allocation |
US9235925B2 (en) | 2012-05-31 | 2016-01-12 | Microsoft Technology Licensing, Llc | Virtual surface rendering |
CN102750665B (zh) * | 2012-06-01 | 2014-09-24 | 上海鼎为电子科技(集团)有限公司 | 一种图形处理方法、图形处理装置及移动终端 |
US9307007B2 (en) | 2013-06-14 | 2016-04-05 | Microsoft Technology Licensing, Llc | Content pre-render and pre-fetch techniques |
US9507961B2 (en) * | 2013-07-01 | 2016-11-29 | Qualcomm Incorporated | System and method for providing secure access control to a graphics processing unit |
TWI507981B (zh) * | 2013-07-05 | 2015-11-11 | Phison Electronics Corp | 指令執行方法、連接器與記憶體儲存裝置 |
US9818379B2 (en) | 2013-08-08 | 2017-11-14 | Nvidia Corporation | Pixel data transmission over multiple pixel interfaces |
US9916634B2 (en) * | 2015-06-12 | 2018-03-13 | Intel Corporation | Facilitating efficient graphics command generation and execution for improved graphics performance at computing devices |
JP6580380B2 (ja) * | 2015-06-12 | 2019-09-25 | オリンパス株式会社 | 画像処理装置および画像処理方法 |
CN106600521A (zh) * | 2016-11-30 | 2017-04-26 | 宇龙计算机通信科技(深圳)有限公司 | 一种图像处理方法及终端设备 |
WO2018119602A1 (zh) * | 2016-12-26 | 2018-07-05 | 深圳前海达闼云端智能科技有限公司 | 一种渲染方法及装置 |
KR101969219B1 (ko) * | 2017-04-27 | 2019-04-15 | 재단법인대구경북과학기술원 | 빈발 패턴 마이닝 방법 및 장치 |
KR102098253B1 (ko) * | 2018-02-13 | 2020-04-07 | 재단법인대구경북과학기술원 | 분산 시스템 기반 큰 규모 빈발 패턴 마이닝 시스템 및 방법 |
CN109300426A (zh) * | 2018-03-30 | 2019-02-01 | 温州长江汽车电子有限公司 | 一种基于mcu的双tft屏显示系统及其显示方法 |
CN109743453B (zh) * | 2018-12-29 | 2021-01-05 | 出门问问信息科技有限公司 | 一种分屏显示方法及装置 |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2542392B2 (ja) * | 1987-07-31 | 1996-10-09 | シャープ株式会社 | 文字描画装置 |
US4949280A (en) * | 1988-05-10 | 1990-08-14 | Battelle Memorial Institute | Parallel processor-based raster graphics system architecture |
US5519825A (en) * | 1993-11-16 | 1996-05-21 | Sun Microsystems, Inc. | Method and apparatus for NTSC display of full range animation |
US5878216A (en) * | 1995-05-01 | 1999-03-02 | Intergraph Corporation | System and method for controlling a slave processor |
US5657478A (en) * | 1995-08-22 | 1997-08-12 | Rendition, Inc. | Method and apparatus for batchable frame switch and synchronization operations |
US5668958A (en) * | 1995-09-12 | 1997-09-16 | International Business Machines Corporation | Heterogeneous filing system with common API and reconciled file management rules |
US5801717A (en) * | 1996-04-25 | 1998-09-01 | Microsoft Corporation | Method and system in display device interface for managing surface memory |
US5933155A (en) | 1996-11-06 | 1999-08-03 | Silicon Graphics, Inc. | System and method for buffering multiple frames while controlling latency |
US6157395A (en) * | 1997-05-19 | 2000-12-05 | Hewlett-Packard Company | Synchronization of frame buffer swapping in multi-pipeline computer graphics display systems |
US6078339A (en) * | 1998-02-10 | 2000-06-20 | Intel Corporation | Mutual exclusion of drawing engine execution on a graphics device |
US6079013A (en) * | 1998-04-30 | 2000-06-20 | International Business Machines Corporation | Multiprocessor serialization with early release of processors |
US6515662B1 (en) * | 1998-07-16 | 2003-02-04 | Canon Kabushiki Kaisha | Computer apparatus for providing stereoscopic views from monographic images and method |
US6243107B1 (en) | 1998-08-10 | 2001-06-05 | 3D Labs Inc., Ltd. | Optimization of a graphics processor system when rendering images |
US6724390B1 (en) * | 1999-12-29 | 2004-04-20 | Intel Corporation | Allocating memory |
US6747654B1 (en) * | 2000-04-20 | 2004-06-08 | Ati International Srl | Multiple device frame synchronization method and apparatus |
US6828975B2 (en) * | 2001-03-01 | 2004-12-07 | Microsoft Corporation | Method and system for managing graphics objects in a graphics display system |
US20020126122A1 (en) * | 2001-03-12 | 2002-09-12 | Yet Kwo-Woei | Apparatus and method for minimizing the idle time of a computer graphic system using hardware controlled flipping |
US6683614B2 (en) * | 2001-12-21 | 2004-01-27 | Hewlett-Packard Development Company, L.P. | System and method for automatically configuring graphics pipelines by tracking a region of interest in a computer graphical display system |
US6919896B2 (en) * | 2002-03-11 | 2005-07-19 | Sony Computer Entertainment Inc. | System and method of optimizing graphics processing |
US7015915B1 (en) * | 2003-08-12 | 2006-03-21 | Nvidia Corporation | Programming multiple chips from a command buffer |
US7075541B2 (en) * | 2003-08-18 | 2006-07-11 | Nvidia Corporation | Adaptive load balancing in a multi-processor graphics processing system |
US7388581B1 (en) * | 2003-08-28 | 2008-06-17 | Nvidia Corporation | Asynchronous conditional graphics rendering |
US7610061B2 (en) * | 2003-09-20 | 2009-10-27 | Samsung Electronics Co., Ltd. | Communication device and method having a common platform |
US7095416B1 (en) * | 2003-09-22 | 2006-08-22 | Microsoft Corporation | Facilitating performance analysis for processing |
US7522167B1 (en) * | 2004-12-16 | 2009-04-21 | Nvidia Corporation | Coherence of displayed images for split-frame rendering in multi-processor graphics system |
US7545380B1 (en) * | 2004-12-16 | 2009-06-09 | Nvidia Corporation | Sequencing of displayed images for alternate frame rendering in a multi-processor graphics system |
US7383412B1 (en) * | 2005-02-28 | 2008-06-03 | Nvidia Corporation | On-demand memory synchronization for peripheral systems with multiple parallel processors |
US7290074B2 (en) * | 2005-04-06 | 2007-10-30 | Kabushiki Kaisha Toshiba | Back-off timing mechanism |
-
2006
- 2006-10-16 TW TW095138039A patent/TWI322354B/zh active
- 2006-10-17 US US11/581,973 patent/US7903120B2/en active Active
- 2006-10-17 US US11/582,019 patent/US7889202B2/en active Active
- 2006-10-17 CN CNB2006101359411A patent/CN100489820C/zh active Active
- 2006-10-17 US US11/582,020 patent/US7812849B2/en active Active
- 2006-10-17 US US11/581,975 patent/US20070088856A1/en not_active Abandoned
- 2006-10-18 TW TW095138471A patent/TWI328779B/zh active
- 2006-10-18 CN CNB2006101355923A patent/CN100568277C/zh active Active
- 2006-10-18 TW TW095138470A patent/TWI329845B/zh active
- 2006-10-18 CN CNB2006101355957A patent/CN100495435C/zh active Active
- 2006-10-18 TW TW095138378A patent/TWI354240B/zh active
- 2006-10-18 CN CN2006101355904A patent/CN1991903B/zh active Active
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104298621A (zh) * | 2008-11-13 | 2015-01-21 | 英特尔公司 | 共享虚拟存储器 |
CN104298621B (zh) * | 2008-11-13 | 2017-09-12 | 英特尔公司 | 共享虚拟存储器 |
CN112231018A (zh) * | 2020-12-15 | 2021-01-15 | 北京壁仞科技开发有限公司 | 用于卸载数据的方法、计算设备和计算机可读存储介质 |
CN112231018B (zh) * | 2020-12-15 | 2021-03-16 | 北京壁仞科技开发有限公司 | 用于卸载数据的方法、计算设备和计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US7889202B2 (en) | 2011-02-15 |
US20070091098A1 (en) | 2007-04-26 |
TWI329845B (en) | 2010-09-01 |
CN1991906A (zh) | 2007-07-04 |
US20070091099A1 (en) | 2007-04-26 |
CN1991903B (zh) | 2010-05-12 |
US20070091097A1 (en) | 2007-04-26 |
CN100568277C (zh) | 2009-12-09 |
US20070088856A1 (en) | 2007-04-19 |
CN100495435C (zh) | 2009-06-03 |
TWI328779B (en) | 2010-08-11 |
TW200821978A (en) | 2008-05-16 |
TW200821979A (en) | 2008-05-16 |
CN1991903A (zh) | 2007-07-04 |
US7903120B2 (en) | 2011-03-08 |
TW200737035A (en) | 2007-10-01 |
CN100489820C (zh) | 2009-05-20 |
TW200708971A (en) | 2007-03-01 |
TWI322354B (en) | 2010-03-21 |
US7812849B2 (en) | 2010-10-12 |
CN1991904A (zh) | 2007-07-04 |
TWI354240B (en) | 2011-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100489820C (zh) | 在计算机系统中延迟命令发出的方法和系统 | |
US6918058B2 (en) | Semiconductor integrated circuit, system board and debugging system | |
CN101676865B (zh) | 处理器和计算机系统 | |
US20110072242A1 (en) | Configurable processing apparatus and system thereof | |
US20090089515A1 (en) | Memory Controller for Performing Memory Block Initialization and Copy | |
US20090007117A1 (en) | Method and apparatus for performing related tasks on multi-core processor | |
JPH06139189A (ja) | 共有バス調停機構 | |
JPH06266615A (ja) | 順次データ転送型メモリ及び順次データ転送型メモリを用いたコンピュータシステム | |
JPH1049428A (ja) | 演算処理機能付メモリlsiとそれを用いる主記憶システム及びその制御方法 | |
JPH0775018B2 (ja) | プロセッサ間の命令転送を最適化する方法及び装置 | |
US6167529A (en) | Instruction dependent clock scheme | |
TWI507991B (zh) | 多核心處理器及其相關控制方法與電腦系統 | |
WO2005098648A3 (en) | Method and structure for explicit software control of execution of a thread including a helper subthread | |
US20100026691A1 (en) | Method and system for processing graphics data through a series of graphics processors | |
JP2006048661A (ja) | プロセッサとコプロセッサとの間でのデータ転送を制御する演算処理装置 | |
JPH08235149A (ja) | 単一命令・多データ型並列計算機の命令生成・分配装置 | |
JP2007286807A (ja) | 情報処理装置及び情報処理方法 | |
JP2006172266A (ja) | ダイレクトメモリアクセスシステム | |
JPS6315628B2 (zh) | ||
JPS6146552A (ja) | 情報処理装置 | |
JP2007207121A (ja) | データ処理装置及びその制御方法 | |
WO2022209458A1 (ja) | 表示制御装置、表示制御方法 | |
JP2008197943A (ja) | コンピュータシステム | |
JPH1185673A (ja) | 共有バスの制御方法とその装置 | |
KR950008393B1 (ko) | 멀티프로세스 시스템 아비터지연회로 |
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 |