CN104012059A - 协处理器之间的直接链路同步通信 - Google Patents

协处理器之间的直接链路同步通信 Download PDF

Info

Publication number
CN104012059A
CN104012059A CN201180075946.9A CN201180075946A CN104012059A CN 104012059 A CN104012059 A CN 104012059A CN 201180075946 A CN201180075946 A CN 201180075946A CN 104012059 A CN104012059 A CN 104012059A
Authority
CN
China
Prior art keywords
coprocessor
graph data
data
producer
consumer
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
CN201180075946.9A
Other languages
English (en)
Other versions
CN104012059B (zh
Inventor
M·叶
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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of CN104012059A publication Critical patent/CN104012059A/zh
Application granted granted Critical
Publication of CN104012059B publication Critical patent/CN104012059B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • 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/12Synchronisation between the display unit and other units, e.g. other display units, video-disc players
    • 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/363Graphics controllers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • H04N21/42653Internal components of the client ; Characteristics thereof for processing graphics
    • 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/06Use of more than one graphics processor to process data before displaying to one or more screens
    • 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
    • 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/18Timing circuits for raster scan displays
    • 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/393Arrangements for updating the contents of the bit-mapped memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • Computer Graphics (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

本发明描述了系统、装置、制品和方法,其中包括以下操作:通过直接链路,在协处理器图形数据生产者和协处理器图形数据消耗者之间传送同步通知,而无需将这些通信传递经过中央处理单元。

Description

协处理器之间的直接链路同步通信
背景技术
在当前的片上系统(SoC)处理器中,存在着在不同的处理内核之间使用协作的多种应用。例如,这种协作可以是在图形内核的三维(3D)引擎和WiFi组件之间。
通常,这种协作由数据传输消息和/或同步消息组成。对于数据传输消息而言,可以通过DMA(直接存储器存取)或者存储器映射来进行这种消息传送。对于同步消息而言,这些消息通常由中央处理单元(CPU)来处理。
当前,一些用户在观看视频或者玩游戏时,可能仍然承受裂屏现象。通常,当显示控制器扫描缓冲器,而该缓冲器正在同时被更新时,可能发生这种裂屏。这些对于该缓冲器的读和写的冲突,将产生裂屏。当用户正在玩游戏或者观看视频时,对屏幕进行频繁地更新;很有可能的是,显示控制器与缓冲器的更新相冲突,并引入裂屏。
对于由于显示控制器扫描和向缓冲器写数据的冲突所产生的裂屏问题,一种解决方案是使用反转方法。在该反转方法中,可以将新屏幕内容首先写入到后台缓冲器。随后,当显示控制器完成活动区域的扫描,并在接收到垂直消隐间隙(VBLANK)中断之后,系统可以将后台缓冲器与前台缓冲器进行反转。
附图说明
在附图中,通过示例的方式,而不是通过限制的方式示出本申请所描述的材料。为了说明的简化和清楚起见,在附图中描述的元素没有按比例进行示出。例如,为了清楚说明起见,可以相对于其它元素,对一些元素的尺寸进行扩大。此外,在认为适当时,在附图之中重复的附图标记指示相应的或者类似的元素。在附图中:
图1是一种示例性图形处理系统的示意图;
图2是示出一种示例性同步处理的流程图;
图3是操作中的示例性图形处理系统的示意图;
图4是一种示例性系统的示意图;
图5是一种示例性系统的示意图,其所有部件根据本发明的至少一些实现来布置。
具体实施方式
现在参照封闭图来描述一个或多个实施例或者实现。虽然讨论了特定的配置和排列,但应当理解的是,这仅仅只是用于示例性目的。本领域普通技术人员应当认识到,在不脱离本发明的精神和保护范围的基础上,可以使用其它配置和排列。对于相关领域的普通技术人员来说显而易见的是,本申请所描述的技术和/或排列还可以用于不同于本申请所描述的系统和应用的多种其它系统和应用。
虽然下面的描述阐述了可以在诸如片上系统(SoC)体系结构之类的体系结构中表现的各种实现,但本申请所描述的技术和/或排列的实现并不限于特定的结构和/或计算系统,其可以通过用于类似目的的任何体系结构和/或计算系统来实现。例如,使用诸如多个集成电路(IC)芯片和/或封装的各种体系结构和/或诸如机顶盒、智能电话等之类的各种计算设备和/或消费电子(CE)设备,可以实现本申请所描述的技术和/或排列。此外,虽然下面的描述阐述了诸如系统组件的逻辑实现、类型和相互关系、逻辑划分/综合选项等之类的众多特定细节,但本发明可以在不使用这些特定细节的情况下实现。在其它实例中,为了不对本申请所公开的材料造成模糊,没有详细地显示诸如控制结构和完整的软件指令序列之类的一些材料。
本申请所公开的材料可以用硬件、固件、软件或者其任意组合来实现。此外,本申请所公开的材料还可以实现成在机器可读介质上存储的指令,其可以由一个或多个处理器进行读取和执行。机器可读介质可以包括用于存储或发送具有能由机器(例如,计算设备)读取的形式的信息的任何介质和/或装置。例如,机器可读存储介质可以包括:只读存储器(ROM);随机存取存储器(RAM);磁盘存储介质;光存储介质;闪存设备;电、光、声或者其它形式的传播信号(例如,载波波形、红外信号、数字信号等)等。
说明书中对于“一种实现”、“一个实现”、“一种示例性实现”等的引用,指示所描述的实现可以包括具体特征、结构或者特性,但并不需要每一种实现都包括该特定特征、结构或特性。此外,这种短语并不是必须指代相同的实现。此外,当结合一种实现来描述特定的特征、结构或特性时,提出了结合其它实现(无论本申请是否对其进行了明确描述)实施这种特征、结构或特性,也在本领域普通技术人员的知识范围之内。
如下面所更详细描述的,一些示例性实现可以包括:用于通过直接链路,在协处理器图形数据生产者和协处理器图形数据消耗者之间传输同步通知,而无需传送这些通信经过中央处理单元的操作。
图1是根据本发明的至少一些实现来布置的图形处理系统100的示意图。在所示出的实现中,图形处理系统100可以包括与中央处理单元(CPU)102、图形处理单元(GPU)104、显示控制器106和/或缓冲器108。在一些示例中,图形处理系统100可以包括:为了清楚说明起见而在图1中没有示出的其它部件。例如,图形处理系统100可以包括射频类型(RF)收发机和/或天线。此外,IVI系统100还可以包括诸如扬声器、显示器、加速器、存储器、路由器、网络接口逻辑等之类的其它部件,为了清楚说明起见,在图1中没有示出这些部件。
在操作中,GPU 104可以配置为:将图像数据传送到缓冲器108。类似地,显示控制器106可以配置为:对来自缓冲器108的图像数据进行扫描。
在所示出的实现中,GPU 104可以包括二维(2D)加速器模块110、三维(3D)引擎模块112、视频解码器模块114等和/或其组合。在一些实现中,本申请将2D加速器模块110、3D引擎模块112和/或视频解码器模块114描述成协处理器图形数据生产者的示例。如本申请所使用的,术语“协处理器图形数据生产者”可以指代:配置为生成由协处理器图形数据消耗者使用的图像数据的非CPU处理器。
在一些实现中,本申请将显示控制器106和/或无线显示(WiDi)模块(没有示出)描述成协处理器图形数据消耗者的示例。如本申请所使用的,术语“协处理器图形数据消耗者”可以指代:配置为使用来自协处理器图形数据生产者的图像数据的非CPU处理器。
在一些实现中,CPU 102、协处理器图形数据生产者(例如,包括2D加速器模块110、3D引擎模块112和/或视频解码器模块114的GPU 104的全部或者一部分)和协处理器图形数据消耗者(例如,显示控制器106和/或WiDi)构成片上系统(SoC)处理器的一部分。但是,这仅仅只是一种示例性实现,可以用非SoC方式来实现CPU 102、GPU 104和/或显示控制器106。
在一些示例中,一个模块可以配置为:根据操作的实际stag,操作成协处理器图形数据生产者和协处理器图形数据消耗者。例如,当扫描从视频解码器模块类型114协处理器图形数据生产者生成的图像数据时,3D引擎模块112可以操作成协处理器图形数据消耗者。
在一个示例中,协处理器图形数据生产者可以包括3D引擎模块112,协处理器图形数据消耗者可以包括显示控制器106。在另一个示例中,协处理器图形数据生产者可以包括视频解码器模块,协处理器图形数据消耗者可以包括显示控制器106。在另外的示例中,协处理器图形数据生产者可以包括2D加速器模块,协处理器图形数据消耗者可以包括显示控制器106。
在协处理器图形数据消耗者包括WiDi模块的实现中,该WiDi模块可以无线地向无线显示器传输该图像信息,显示控制器106可以最终接收该图像信息。在这种实现中,协处理器图形数据生产者可以包括二维(2D)加速器模块110、三维(3D)引擎模块112、视频解码器模块114等和/或其组合。
在所示出的实现中,当在操作中时,缓冲器108可以包括活动区域131部分、边界132部分、前沿134部分、同步136部分、后沿138部分和/或边界140部分。如本申请所使用的,术语“缓冲器”可以指代下面的缓冲器类型中的一个或多个:帧缓冲器、渲染缓冲器、前台缓冲器、后台缓冲器和/或其组合。
在一些示例中,显示控制器106可以逐行地扫描缓冲器108。此外,显示控制器106可以配置为:向GPU 104(例如,3D引擎模块112)发送中断消息。当显示控制器106完成活动区域131的扫描时,显示控制器106可以产生针对3D引擎模块112的中断消息。在一些示例中,这种中断消息可以是垂直消隐间隙(VBLANK)中断。例如,这种VBLANK中断可以在缓冲器108的操作的前沿134部分之后发生。
在VBLANK中断之后,在显示控制器106再次扫描活动区域131之前,存在一个间隔。3D引擎模块112可以首先将最新的屏幕图像数据传送到缓冲器108的后台缓冲器(没有示出,其具有地址A)部分。当VBLANK中断被触发并被GPU 104接收到时,GPU 104可以使用包括地址A的消息(例如,指针)来通知显示控制器106:后台缓冲器已准备好扫描。其后,显示控制器106可以将后台缓冲器对待成下一个活动区域,对其进行扫描(例如,执行反转)。换言之,可以将指向后台缓冲器的指针存储在显示控制器106中,但通过GPU 104进行更新(例如,通过写显示控制器106中的寄存器来直接更新,或者仅仅通过经由直接链路150向显示控制器106发送该消息来间接更新)。
在操作中,可以通过直接链路150,在协处理器图形数据生产者(例如,2D加速器模块110、3D引擎模块112和/或视频解码器模块114)和协处理器图形数据消耗者(例如,显示控制器106和/或WiDi)之间直接传输同步消息。在一些示例中,直接链路150可以包括:协处理器图形数据生产者和协处理器图形数据消耗者之间的一个或多个直接有线连接(例如,该芯片中的直接有线连接)。在其它示例中,直接链路150可以包括:协处理器图形数据生产者和协处理器图形数据消耗者之间的片上网络(NoC)中的路由。例如,可以在不涉及CPU 102的情况下,显示控制器106和3D引擎模块112之间传输VBLANK中断。
另外地或者替代地,可以通过直接存储器存取类型数据传输(DMA)或者存储器映射类型数据传输,执行CPU 102和协处理器图形数据生产者(例如,2D加速器模块110、3D引擎模块112和/或视频解码器模块114)之间的通信,或者CPU 102和协处理器图形数据消耗者(例如,显示控制器106和/或WiDi)之间的通信。
在典型的3D应用显示场景中,如果3D应用在运行,则3D引擎模块112可以首先将3D输出渲染到帧缓冲器108,其后,显示控制器106可以从帧缓冲器108读取数据,并将该数据发送给屏幕(没有示出),对其进行最终显示。当显示控制器106正在从帧缓冲器108读取数据时,3D引擎模块112不能向帧缓冲器108写数据;否则显示控制器106可能读到破碎的图像,导致裂屏。
不是由CPU 102来处理3D引擎模块112和显示控制器106之间的同步,显示控制器可以向3D引擎112通知该显示控制器106刚刚读完了最后一帧,现在将另一个帧提交到缓冲器108是安全的。用此方式,由于3D引擎模块112和显示控制器106可以通过直接链路150(例如,直接信号连接)来简单地彼此通话,因此可以避免CPU 102在显示控制器106和3D引擎模块112之间的协调。
类似的实现可以用于诸如无线显示(WiDi)、视频播放等之类的其它场景。例如,在WiDi的情况下,无线模块(没有示出)可以从帧缓冲器108读取数据,3D引擎模块112(或者2D加速器110、视频解码器模块114等)可以向帧缓冲器108写入数据。用此方式,由于3D引擎模块112和该无线模块可以通过直接链路150(例如,直接信号连接)来简单地彼此通话,使得该无线模块不会读取破碎的帧,并将其发送给远程显示屏,因此可以避免CPU 102在该无线模块和3D引擎模块112之间的协调。
在另一种实现中,视频播放可以涉及视频解码器模块114(例如,PowerVR的MSVDX内核)、3D引擎模块112和/或显示控制器106。在该示例中,视频解码器模块114可以将解码后的帧提交到一个缓冲器(通常以YUV格式),随后3D引擎112读取该数据,并作为纹理(例如,以RGB格式)提交给帧缓冲器108,最后显示控制器106可以从帧缓冲器108读取数据,并将该数据发送到屏幕。这三个协处理内核之间的协调,可以通过视频解码器模块114和3D引擎模块112之间的第一直接链路150,以及3D引擎模块112和显示控制器106之间的第二直接链路150来处理。在该示例中,当3D引擎模块112扫描视频解码器模块类型114协处理器图形数据生产者所生成的图像数据时,其可以操作成协处理器图形数据消耗者,当向帧缓冲器108提交数据时,其可以操作成协处理器图形数据生产者。
当内核间协调经过CPU 102时,其可能使CPU 102非常繁忙。例如,由于显示控制器106的VSYNC信号大约每秒到达六十次,该信号可以阻止CPU 102进入低功率状态。此外,如果CPU 102繁忙,则通过CPU 102的内核间协调可能危及整体性能,即使这些协处理内核不繁忙。例如,在内核间协调经过CPU 102的情况下,即使两个应用主要使用单独的协处理内核,视频播放也可能干扰无线模块。
除了在协处理内核之间使用直接链路150以促进内核间同步之外,这些协作的协处理内核可以配置为根据某些协议进行行动。这些协议可以配置为:考虑这种直接通信。下面参照图3来更详细地讨论一些示例性协议。另外地或者替代地,可以向这些协处理内核添加一些额外(但相对较小)的逻辑,来处理这些协调协议。增加到每一个协处理内核用于同步协议处理的这种额外逻辑,可能改变现有的协处理内核的行为。例如,这种逻辑可以保持3D引擎模块112写入,直到从显示控制器106接收到VSYNC信号为止。
图2是根据本发明的至少一些实现布置的,用于示出一种示例性同步处理200的流程图。在所示出的实现中,处理200可以包括一个或多个操作、功能或者动作,如方框202、204和/或206中的一个或多个所示出的。举一个非限制性的示例,本申请将参照图1的示例性图形处理系统100来描述处理200。
处理200可以开始于方框202,“从中央处理单元接收初始数据消息”,其中在该操作中,可以从中央处理单元接收初始数据消息。例如,可以通过协处理器图形数据生产者,从中央处理单元接收该初始数据消息。
处理可以从操作202转到操作204,“通过直接链路,接收与协处理器图形数据消耗者相关联的中断类型同步通知”,其中在该操作中,可以接收中断类型同步通知。例如,可以通过协处理器图形数据生产者,从协处理器图形数据消耗者接收中断类型同步通知。
在一些示例中,可以通过直接链路,在协处理器图形数据生产者和协处理器图形数据消耗者之间传输中断类型同步通知。例如,可以通过直接链路,从协处理器图形数据消耗者接收中断类型同步通知,而无需传送这些通信经过中央处理单元。
处理可以从操作204转到操作206,“传送与所述初始数据消息相关联的图像数据”,其中在该操作中,可以传送与所述初始数据消息相关联的图像数据。例如,可以通过协处理器图形数据生产者,向缓冲器传送与所述初始数据消息相关联的图像数据。这种传送可以响应于中断类型同步通知而发生。
在下面关于图3所更详细讨论的实现的一个或多个示例中,示出了与处理200有关的一些另外的和/或替代的细节。
图3是根据本发明的至少一些实现布置的,示例性图形处理系统100和运行的同步处理300的示意图。在所示出的实现中,处理300可以包括一个或多个操作、功能或者动作,如动作310、312、314、316、318、320、322和/或324中的一个或多个所示出的。举一个非限制性的示例,本申请将参照图1的示例性图形处理系统100来描述处理300。
在所示出的实现中,图形处理系统100可以包括CPU 102、协处理器图形数据生产者304、协处理器图形数据消耗者306和/或缓冲器108。另外,缓冲器108可以包括后台缓冲器和/或前台缓冲器(没有示出)。如上所述,CPU 102、协处理器图形数据生产者304、协处理器图形数据消耗者306和/或缓冲器108能够彼此之间进行通信。虽然如图3中所示,图形处理系统100包括与特定的模块相关联的一组特定的方框或者动作,但这些方框或者动作也可以与和本申请所示出的特定模块不相同的模块相关联。
处理300可以开始于方框310,“传输初始数据”,其中在该操作中,可以传输初始数据。例如,可以通过协处理器图形数据生产者304,从CPU 102接收该初始数据消息。
处理可以从操作310转到操作312,“生成图像数据”,其中在该操作中,可以生成图像数据。例如,协处理器图形数据生产者304可以响应于来自CPU 102的初始数据消息,生成图像数据。
处理可以从操作312转到操作314,“数据生成同步”,其中在该操作中,可以传输数据生成类型同步通知。例如,可以通过协处理器图形数据生产者304、协处理器图形数据消耗者306,来传输该数据生成类型同步通知。在一些示例中,可以响应于已生成该图像数据,来传输该数据生成类型同步通知。
处理可以从操作314转到操作316,“中断同步”,其中在该操作中,可以接收中断类型同步通知。例如,可以通过协处理器图形数据生产者304,从协处理器图形数据消耗者306接收中断类型同步通知。
例如,可以通过显示控制器106,向CPU 102传输该中断。在一些示例中,可以至少部分地基于确定该缓冲器108处于发送该中断的适当点,来传输该中断。例如,协处理器图形数据消耗者306可以确定:缓冲器108的扫描位于用于发送该中断的适当点。
处理可以从操作316转到操作318,“传送图像数据”,其中在该操作中,可以传送与所述初始数据消息相关联的图像数据。例如,可以通过协处理器图形数据生产者304,向缓冲器108传送与所述初始数据消息相关联的图像数据。这种传送可以响应于中断类型同步通知而发生。
在一些实现中,当缓冲器108位于适当的中断点时,可以向缓冲器108传送图像数据(参见,例如,在图1中的缓冲器108的操作的前沿134部分之后)。
处理可以从操作318转到操作320,“数据传送同步”,其中在该操作中,可以传输数据传送类型同步通知。例如,可以通过协处理器图形数据生产者304,向协处理器图形数据消耗者306来传输数据传送类型同步通知。在一些示例中,可以响应于图像数据的传输已停止,来传输数据传送类型同步通知。
处理可以从操作320转到操作322,“数据位置”,其中在该操作中,可以传输位置通知。例如,可以通过协处理器图形数据生产者304,向协处理器图形数据消耗者306来传输位置通知。在一些示例中,可以响应于图像数据的传输已停止,来传输该位置通知。这种位置通知可以指示该图像数据被传送到的缓冲器位置。在一些示例中,可以将该位置通知与操作320的数据传送类型同步通知进行组合。
处理可以从操作322转到操作324,“扫描缓冲器”,其中在该操作中,可以对缓冲器108进行扫描。例如,可以通过协处理器图形数据消耗者306,从缓冲器108中扫描图像数据。在一些实现中,当协处理器图形数据生产者304没有向缓冲器108写数据时,可以通过协处理器图形数据消耗者306来扫描缓冲器108。例如,可以响应于数据传送类型同步通知和/或位置通知,通过协处理器图形数据消耗者306来扫描缓冲器108。
在操作中,处理300和/或处理200可以进行操作,使得可以通过直接链路(例如,参见图1的直接链路150),在协处理器图形数据生产者304和协处理器图形数据消耗者306之间,传输数据生成类型同步通知、中断类型同步通知、数据传送类型同步通知、位置通知等,而无需传送这些通信经过CPU 102。
在协处理器图形数据生产者304是3D引擎,协处理器图形数据消耗者306是显示控制器的示例性实现中,可以仅仅允许3D引擎在VBlank时段期间对帧类型缓冲器108进行更新。在该示例中,不是CPU 102向3D引擎通知VSYNC信号,而是可以通过直接内核间同步,将VSYNC信号从显示控制器直接传输到3D引擎。这种直接内核间同步可以旁路CPU 102,允许其它协处理内核304和306彼此之间进行直接协调。例如,在直接信号连接和同步协议的情况下,协处理内核304和306可以进行协作来处理某种数据,高效地完成某些任务,同时对CPU 102进行旁路。
在协处理器图形数据生产者304是3D引擎,协处理器图形数据消耗者306是显示控制器的示例性实现中,在该3D引擎和显示控制器之间,可以存在有线类型直接链路(例如,信号连接)。通过该直接链路,某些信号可以由一个处理内核304发起,并由另一个协处理内核306进行接收,同时对CPU 102进行旁路。例如,显示控制器可以通过这种直接链路,对CPU 102进行旁路,来向3D引擎发送VSYNC信号。
由于CPU被旁路,因此协处理器图形数据生产者304和协处理器图形数据消耗者306可以具有规定的同步协议。在接收到这些同步通信之后,协处理内核304/306可以根据这些规定的同步协议来采取动作。例如,在显示控制器和3D引擎之间,一种协议可以是:“在接收到VSYNC信号时,缓冲图像数据;否则,3D引擎应当保持,并且不碰该帧缓冲器”。
在3D引擎和显示控制器示例中,在从显示控制器接收到VSYNC信号之后,增加的电路逻辑可以仅仅只启用3D引擎的写入功能,该电路逻辑可以只使用与一打晶体管相比更少的晶体管。对于一些协处理内核(例如,PowerVR的SGX内核)来说,这种协处理内核可以运行程序或者甚至一些简单的操作系统(例如,微核);因此,可以在具有或者不具有任何额外的电路逻辑的情况下,对这些内核间协调协议进行处理。
虽然示例性处理200和300的实现(如图2和图3所示出的)可以包括以所示出的顺序来示出的所有模块的执行,但本发明在该方面并不受限,在各个示例中,处理200和300的实现可以包括仅仅所示出的模块的一个子集的执行,和/或以与所示出的不相同的顺序来执行。
此外,图2和图3的模块中的任何一个或多个,可以是响应于一个或多个计算机程序产品所提供的指令来执行的。这些程序产品可以包括提供指令的信号承载介质,其中当这些指令被例如处理器执行时,可以提供本申请所描述的功能。这些计算机程序产品可以用任何形式的计算机可读介质来提供。因此,例如,包括一个或多个处理器内核的处理器,可以响应于计算机可读介质向该处理器传送的指令,执行图4和图5中所示出的模块里的一个或多个。
如本申请所描述的任何实现里所使用的,术语“模块”指代:配置为提供本申请所描述的功能的软件、固件和/或硬件的任意组合。软件可以实现成软件包、代码和/或指令集或者指令,如本申请所描述的任何实现里所使用的,例如,“硬件”可以包括下面各项中的单一一个或者任意组合:硬件连接电路、可编程电路、状态机电路和/或存储由可编程电路执行的指令的固件。可以将这些模块统一或者单个地实现成形成大型系统的一部分的电路,例如,集成电路(IC)、片上系统(SoC)等。
图4根据本发明,示出了一种示例系统400。在各个实现中,系统400可以是媒体系统,但系统400并不限于该上下文。例如,系统400可以并入到个人计算机(PC)、膝上型计算机、超级本计算机、平板计算机、触摸板、便携式计算机、手持计算机、掌上计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视、智能设备(例如,智能电话、智能平板或者智能电视)、移动互联网设备(MID)、消息设备、数据通信设备等。
在各种实现中,系统400包括耦接到显示器420的平台402。平台402可以从诸如内容服务设备430或内容传送设备440或者其它类似内容源之类的内容设备接收内容。可以使用包括一个或多个导航特征的导航控制器450,来与例如平台402和/或显示器420进行交互。下面将更详细地描述这些组件中的每一个。
在各种实现中,平台402可以包括芯片集405、处理器410、存储器412、存贮设备414、图形子系统415、应用416和/或无线电装置418的任意组合。芯片集405可以提供处理器410、存储器412、存贮设备414、图形子系统415、应用416和/或无线电装置418之间的相互通信。例如,芯片集405可以包括能够提供与存贮设备414的相互通信的存贮适配器(没有示出)。
处理器410可以实现成复杂指令集计算机(CISC)或者精简指令集计算机(RISC)处理器;x86指令集兼容处理器、多核或者任何其它微处理器或中央处理单元(CPU)。在各种实现中,处理器410可以是双核处理器、双核移动处理器等。
存储器412可以实现成易失性存储器件,例如,但不限于:随机存取存储器(RAM)、动态随机存取存储器(DRAM)或者静态RAM(SRAM)。
存贮设备414可以实现成非易失性存储设备,例如,但不限于:磁盘驱动器、光盘驱动器、磁带驱动器、内部存贮设备、附着存贮设备、闪存、电池供电的SDRAM(同步DRAM)和/或网络可访问存贮设备。在各种实现中,存贮设备414可以包括:例如,当包括多个硬盘驱动器时,增加存贮性能,以增强有价值数字媒体的保护的技术。
图形子系统415可以执行诸如静止或者视频之类的图像的处理,以进行显示。例如,图形子系统415可以是图形处理单元(GPU)或者视觉处理单元(VPU)。可以使用模拟或者数字接口来与图形子系统415和显示器420进行通信耦合。例如,该接口可以是高精度多媒体接口、显示端口、无线HDMI和/或遵循无线HD的技术中的任何一种。图形子系统415可以集成到处理器410或芯片集405中。在一些实现中,图形子系统415可以是通信耦合到芯片集405的单机卡。
本申请所描述的图形和/或视频处理技术可以用各种硬件体系结构来实现。例如,图形和/或视频功能可以集成在一个芯片集之中。替代地,可以使用离散图形和/或视频处理器。再举一种实现,这些图形和/或视频功能可以由包括多核处理器的通用处理器来提供。在另外的实施例中,可以将这些功能实现在消费电子设备中。
无线电装置418可以包括能够使用各种适当的无线通信技术,来发送和接收信号的一个或多个无线装置。这些技术可以涉及一个或多个无线网络之间的通信。示例性无线网络包括(但不限于)无线局域网(WLAN)、无线个域网(WPAN)、无线城域网(WMAN)、蜂窝网络和卫星网络。在这些网络之间的通信中,无线电装置418可以根据任何版本的一个或多个可适用标准进行操作。
在各种实现中,显示器420可以包括任何电视类型监视器或显示器。例如,显示器420可以包括计算机显示屏、触摸屏显示器、视频监视器、类似电视设备和/或电视。显示器420可以是数字和/或模拟的。在各种实现中,显示器420可以是全息显示器。此外,显示器420可以是能接收视觉投影的透明接口。这种投影可以传送各种形式的信息、图像和/或对象。例如,这种投影可以是移动增强现实(MAR)应用的视觉覆盖。在一个或多个软件应用416的控制之下,平台402可以在显示器420上显示用户界面422。
在各种实现中,内容服务设备430可以由任何国家、国际和/或独立服务持有,因此可通过互联网来访问平台402,例如。内容服务设备430可以耦接到平台402和/或显示器420。平台402和/或内容服务设备430可以耦接到网络460,以便传输(例如,发送和/或接收)去往和来自网络460的媒体信息。此外,内容传送设备440还可以耦接到平台402和/或显示器420。
在各种实现中,内容服务设备430可以包括有线电视盒、个人计算机、网络、电话、具备互联网能力的设备或者能够传送数字信息和/或内容的器具、以及能够通过网络460或者直接在内容提供商和平台402和/或显示器420之间单向或者双向传输内容的任何其它类似的设备。应当理解的是,可以通过网络460,单向和/或双向地传输去往和来自系统400中的组件和内容提供商里的任何一个的内容。内容的示例可以包括任何媒体信息,例如其包括视频、音乐、医疗和游戏信息等。
内容服务设备430可以接收诸如有线电视节目(其包括媒体信息、数字信息和/或其它内容)之类的内容。内容提供商的示例可以包括:任何有线或卫星电视或者无线或互联网内容提供商。所提供的示例并不意味着以任何方式来限制根据本发明的实现。
在各种实现中,平台402可以从具有一个或多个导航特征的导航控制器450接收控制信号。例如,控制器450的这些导航特征可以用于与用户界面422进行交互。在一些实施例中,导航控制器450可以是指向设备,其可以是允许用户向计算机输入空间(例如,连续和多个维度的)数据的计算机硬件组件(具体而言,人类接口设备)。诸如图形用户界面(GUI)之类的很多系统、电视和监视器允许用户使用物理手势,控制和提供计算机或电视的数据。
可以通过移动指针、光标、对焦环或者在显示器(例如,显示器420)上显示的其它视觉指示符,在该显示器上复制控制器450的导航特征的移动。例如,在软件应用416的控制之下,位于导航控制器450上的导航特征可以映射到在用户界面422上显示的虚拟导航特征,举例而言。在一些实施例中,控制器450可以不是单独的组件,而可以集成到平台402和/或显示器420中。但是,本发明并不限于本申请所示出和描述的这些元素或者上下文。
在各种实现中,驱动器(没有示出)可以包括:用于在初始启动之后(例如,当启用时),通过触摸一个按钮,使用户能瞬时地打开和关闭类似电视的平台402的技术。程序逻辑可以使平台402能将内容流式传送到媒体适配器或者其它内容服务设备430或者内容传送设备440,即使当该平台关闭时。此外,例如,芯片集405可以包括针对(5.1)环绕声音频和/或高清晰度(7.1)环绕声音频的硬件和/或软件支持。驱动器可以包括用于集成图形平台的图形驱动器。在一些实施例中,图形驱动器可以包括快速外围组件互连(PCI)图形卡。
在各种实现中,可以将系统400中所示出的组件里的任何一个或多个集成在一起。例如,可以将平台402和内容服务设备430集成在一起,或者可以将平台402和内容传送设备440集成在一起,或者可以将平台402、内容服务设备430和内容传送设备440集成在一起,例如。在各种实施例中,平台402和显示器420可以是一个集成单元。例如,可以将显示器420和内容服务设备430集成在一起,或者将显示器420和内容传送设备440集成在一起。这些示例并不意味着对本发明进行限制。
在各种实施例中,可以将系统400实现成无线系统、有线系统或者二者的组合。当实现成无线系统时,系统400可以包括适合于通过诸如一付或多付天线、发射机、接收机、收发机、放大器、过滤器、控制逻辑等之类的无线共享介质,进行通信的组件和接口。无线共享介质的示例可以包括无线频谱的一部分,例如,RF频谱等。当实现成有线系统时,系统400可以包括适合于通过诸如输入/输出(I/O)适配器、用于连接I/O适配器与相应的有线通信介质的物理连接器、网络接口卡(NIC)、盘控制器、视频控制器、音频控制器等之类的有线通信介质,进行通信的组件和接口。有线通信介质的示例可以包括金属线、电缆、金属导线、印刷电路板(PCB)、背板、交换矩阵、半导体材料、双绞线、同轴电缆、光纤光缆等。
平台402可以建立用于传输信息的一个或多个逻辑或物理信道。该信息可以包括媒体信息和控制信息。媒体信息可以指代:表示用于用户的内容的任何数据。例如,内容的示例可以包括:来自于语音会话的数据、视频会议、流媒体视频、电子邮件(“email”)消息、语音邮件消息、字母数字符号、图形、图像、视频、文本等。例如,来自于语音会话的数据可以是语音信息、静默时段、背景噪声、舒适噪声、音调等。控制信息可以指代:表示命令的任何数据、用于扩增系统的指令或控制词。例如,可以使用控制信息将媒体信息路由通过系统,或者指示一个节点以预定的方式来处理该媒体信息。但是,这些实施例并不限于在图4中所示出或描述的元素或上下文。
如上所述,系统400可以用多种物理类型或者形状因子来体现。图5示出了可以体现系统400的小型形状因子设备500的实现。在一些实施例中,例如,设备500可以实现成具有无线能力的移动计算设备。移动计算设备可以指代具有处理系统和移动功率源或电源(例如,一个或多个电池)的任何设备。
如上所述,移动计算设备的示例可以包括个人计算机(PC)、膝上型计算机、超级本计算机、平板计算机、触摸板、便携式计算机、手持计算机、掌上计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视、智能设备(例如,智能电话、智能平板或者智能电视)、移动互联网设备(MID)、消息设备、数据通信设备等。
此外,移动计算设备的示例还可以包括:被布置为由人类进行穿戴的计算机,例如,腕表计算机、手指计算机、环计算机、眼镜计算机、腰带计算机、臂带计算机、鞋计算机、衣服计算机和其它可穿戴计算机。在各种实施例中,例如,移动计算设备可以实现成能够执行计算机应用、以及语音通信和/或数据通信的智能电话。虽然通过示例的方式,在将移动计算设备实现成智能电话的基础上,描述了一些实施例,但应当理解的是,也可以使用其它无线移动计算设备来实现其它实施例。这些实施例在本上下文中并不受限。
如图5中所示,设备500可以包括壳体502、显示器504、输入/输出(I/O)设备506和天线508。此外,设备500还可以包括导航特征512。显示器504可以包括任何适当的显示单元,以便显示适合于移动计算设备的信息。I/O设备506可以包括:用于向移动计算设备输入信息的任何适当的I/O设备。用于I/O设备506的示例可以包括:字母数字键盘、数字键盘、触摸板、输入键、按键、开关、跷板开关、麦克风、扬声器、语音识别设备和软件等。此外,还可以通过麦克风(没有示出)的方式,将信息输入到设备500中。语音识别设备(没有示出)可以对该信息进行数字化。这些实施例在本上下文中并不受限。
各种实施例可以使用硬件元件、软件元件或者二者的组合来实现。硬件元件的示例可以包括处理器、微处理器、电路、电路元件(例如,晶体管、电阻、电容、电感等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片集等。软件的示例可以包括软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例行程序、子例行程序、函数、方法、过程、软件界面、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或者其任意组合。判断一个实施例是使用硬件元件还是软件元件来实现,可以根据任意数量的因素来变化,例如,期望的计算速率、功率电平、热容忍度、处理循环预算、输入数据速率、输出数据速率、存储器资源、数据总线速度和其它设计方案或者性能约束。
至少一个实施例的一个或多个方面可以通过在机器可读介质上存储的表示性指令来实现,这些指令表示处理器中的各种逻辑,当机器读取这些指令时,使得该机器创造用于执行本申请所描述的技术的逻辑。这些表示(其称为“IP核”)可以存储在有形的、机器可读介质上,并提供给各个客户或者制造工厂,以便装载到实际制造该逻辑或者处理器的制造机器中。
虽然参照各种实现描述了本申请所阐述的某些特征,但该描述并不旨在以限制性的含义来解释。因此,对于本领域普通技术人员来说显而易见的是,本申请所描述的实现的各种修改,以及与本发明公开内容有关的其它实现,认为落入本发明的精神和保护范围之内。

Claims (30)

1.一种计算机实现的方法,包括:
通过协处理器图形数据生产者,从中央处理单元接收初始数据消息;
通过所述协处理器图形数据生产者,接收与协处理器图形数据消耗者相关联的中断类型同步通知;
响应于所述中断类型同步通知,通过所述协处理器图形数据生产者,向缓冲器传送与所述初始数据消息相关联的图像数据,
其中,所述协处理器图形数据生产者通过直接链路,从所述协处理器图形数据消耗者接收所述中断类型同步通知,而不将此通信传递通过所述中央处理单元。
2.根据权利要求1所述的方法,还包括:
响应于所述初始数据消息,通过所述协处理器图形数据生产者,生成与所述初始数据消息相关联的所述图像数据;以及
响应于所述图像数据已生成,通过所述协处理器图形数据生产者,向所述协处理器图形数据消耗者传送数据生成类型同步通知。
3.根据权利要求1所述的方法,还包括:
响应于所述图像数据的所述传送已停止,通过所述协处理器图形数据生产者,向所述协处理器图形数据消耗者传送数据传送类型同步通知;以及
响应于所述图像数据的所述传送已停止,通过所述协处理器图形数据生产者,向所述协处理器图形数据消耗者传送位置通知,其中,所述位置通知指示所述图像数据已被传送到的缓冲器位置。
4.根据权利要求1所述的方法,还包括:
响应于所述图像数据的所述传送已停止,通过所述协处理器图形数据生产者,向所述协处理器图形数据消耗者传送数据传送类型同步通知;以及
响应于所述数据传送类型同步通知,通过所述协处理器图形数据消耗者,从所述缓冲器中扫描所述图像数据。
5.根据权利要求1所述的方法,其中,所述协处理器图形数据生产者通过直接存储器存取类型数据传输(DMA)或存储器映射类型数据传输,从所述中央处理单元接收所述初始数据消息。
6.根据权利要求1所述的方法,其中,所述直接链路包括:所述协处理器图形数据生产者和所述协处理器图形数据消耗者之间的直接有线连接。
7.根据权利要求1所述的方法,其中,所述直接链路包括:所述协处理器图形数据生产者和所述协处理器图形数据消耗者之间的片上网络(NoC)中的路由。
8.根据权利要求1所述的方法,其中,所述中央处理单元、所述协处理器图形数据生产者和所述协处理器图形数据消耗者全部构成片上系统(SoC)处理器的一部分。
9.根据权利要求1所述的方法,其中,所述协处理器图形数据生产者包括3D引擎模块、视频解码器模块、或2D加速器模块。
10.根据权利要求1所述的方法,其中,所述协处理器图形数据消耗者包括显示控制器或无线显示(WiDi)模块。
11.根据权利要求1所述的方法,其中,所述缓冲器包括以下缓冲器类型中的一个或多个:帧缓冲器、渲染缓冲器、前台缓冲器和/或后台缓冲器。
12.根据权利要求1所述的方法,还包括:
响应于所述初始数据消息,通过所述协处理器图形数据生产者,生成与所述初始数据消息相关联的所述图像数据;
响应于所述图像数据已生成,通过所述协处理器图形数据生产者,向所述协处理器图形数据消耗者传送数据生成类型同步通知;
响应于所述图像数据的所述传送已停止,通过所述协处理器图形数据生产者,向所述协处理器图形数据消耗者传送数据传送类型同步通知;
当所述图像数据的所述传送已停止时,通过所述协处理器图形数据生产者,向所述协处理器图形数据消耗者传送位置通知,其中,所述位置通知指示所述图像数据已被传送到的缓冲器位置;
响应于所述数据传送类型同步通知和所述位置通知,通过所述协处理器图形数据消耗者,从所述缓冲器中扫描所述图像数据,
其中,在所述协处理器图形数据生产者和所述协处理器图形数据消耗者之间,通过所述直接链路来传送数据生成类型同步通知、数据传送类型同步通知和所述位置通知,而不将此通信传递通过所述中央处理单元,
其中,所述协处理器图形数据生产者通过直接存储器存取类型数据传输(DMA)或存储器映射类型数据传输,从所述中央处理单元接收所述初始数据消息,
其中,所述直接链路包括一个或多个链路,其中包括:所述协处理器图形数据生产者和所述协处理器图形数据消耗者之间的直接有线连接、或所述协处理器图形数据生产者和所述协处理器图形数据消耗者之间的片上网络(NoC)中的路由,
其中,所述中央处理单元、所述协处理器图形数据生产者和所述协处理器图形数据消耗者全部构成片上系统(SoC)处理器的一部分,
其中,所述协处理器图形数据生产者包括3D引擎模块、视频解码器模块、或2D加速器模块,
其中,所述协处理器图形数据消耗者包括显示控制器或无线显示(WiDi)模块,
其中,所述缓冲器包括以下缓冲器类型中的一个或多个:帧缓冲器、渲染缓冲器、前台缓冲器和/或后台缓冲器。
13.一种包括计算机程序产品的制品,所述计算机程序产品具有存储在其中的指令,当所述指令被执行时,导致进行以下操作:
通过协处理器图形数据生产者,从中央处理单元接收初始数据消息;
通过所述协处理器图形数据生产者,接收与协处理器图形数据消耗者相关联的中断类型同步通知;
响应于所述中断类型同步通知,通过所述协处理器图形数据生产者,向缓冲器传送与所述初始数据消息相关联的图像数据,
其中,所述协处理器图形数据生产者通过直接链路,从所述协处理器图形数据消耗者接收所述中断类型同步通知,而不将此通信传递通过所述中央处理单元。
14.根据权利要求13所述的制品,其中,当所述指令被执行时,还导致进行以下操作:
响应于所述初始数据消息,通过所述协处理器图形数据生产者,生成与所述初始数据消息相关联的所述图像数据;以及
响应于所述图像数据已生成,通过所述协处理器图形数据生产者,向所述协处理器图形数据消耗者传送数据生成类型同步通知。
15.根据权利要求13所述的制品,其中,当所述指令被执行时,还导致进行以下操作:
响应于所述图像数据的所述传送已停止,通过所述协处理器图形数据生产者,向所述协处理器图形数据消耗者传送数据传送类型同步通知;以及
响应于所述图像数据的所述传送已停止,通过所述协处理器图形数据生产者,向所述协处理器图形数据消耗者传送位置通知,其中,所述位置通知指示所述图像数据已被传送到的缓冲器位置。
16.根据权利要求13所述的制品,其中,当所述指令被执行时,还导致进行以下操作:
响应于所述图像数据的所述传送已停止,通过所述协处理器图形数据生产者,向所述协处理器图形数据消耗者传送数据传送类型同步通知;以及
响应于所述数据传送类型同步通知,通过所述协处理器图形数据消耗者,从所述缓冲器中扫描所述图像数据。
17.根据权利要求13所述的制品,其中,所述直接链路包括:所述协处理器图形数据生产者和所述协处理器图形数据消耗者之间的直接有线连接。
18.根据权利要求13所述的制品,其中,所述直接链路包括:所述协处理器图形数据生产者和所述协处理器图形数据消耗者之间的片上网络(NoC)中的路由。
19.一种装置,包括:
协处理器图形数据消耗者;以及
协处理器图形数据生产者,其中,所述协处理器图形数据生产者配置为:通过直接链路与协处理器图形数据消耗者进行通信,其中,所述协处理器图形数据生产者配置为:
从中央处理单元接收初始数据消息;
接收与所述协处理器图形数据消耗者相关联的中断类型同步通知;
响应于所述中断类型同步通知,向缓冲器传送与所述初始数据消息相关联的图像数据,
其中,所述协处理器图形数据生产者通过所述直接链路,从所述协处理器图形数据消耗者接收所述中断类型同步通知,而不将此通信传递通过所述中央处理单元。
20.根据权利要求19所述的装置,其中,所述协处理器图形数据生产者还配置为:
响应于所述初始数据消息,生成与所述初始数据消息相关联的所述图像数据;
响应于所述图像数据已生成,向所述协处理器图形数据消耗者传送数据生成类型同步通知;
响应于所述图像数据的所述传送已停止,向所述协处理器图形数据消耗者传送数据传送类型同步通知;以及
响应于所述图像数据的所述传送已停止,向所述协处理器图形数据消耗者传送位置通知,其中,所述位置通知指示所述图像数据已被传送到的缓冲器位置。
21.根据权利要求19所述的装置,其中,所述协处理器图形数据生产者还配置为:响应于所述图像数据的所述传送已停止,向所述协处理器图形数据消耗者传送数据传送类型同步通知,其中,所述协处理器图形数据消耗者还配置为:响应于所述数据传送类型同步通知,从所述缓冲器中扫描所述图像数据。
22.根据权利要求19所述的装置,其中,所述直接链路包括:所述协处理器图形数据生产者和所述协处理器图形数据消耗者之间的直接有线连接。
23.根据权利要求19所述的装置,其中,所述直接链路包括:所述协处理器图形数据生产者和所述协处理器图形数据消耗者之间的片上网络(NoC)中的路由。
24.根据权利要求19所述的装置,其中,所述协处理器图形数据生产者通过直接存储器存取类型数据传输(DMA)或存储器映射类型数据传输,从所述中央处理单元接收所述初始数据消息,
其中,所述中央处理单元、所述协处理器图形数据生产者和所述协处理器图形数据消耗者全部构成片上系统(SoC)处理器的一部分,
其中,所述协处理器图形数据生产者包括3D引擎模块、视频解码器模块、或2D加速器模块,
其中,所述协处理器图形数据消耗者包括显示控制器或无线显示(WiDi)模块,以及
并且其中,所述缓冲器包括以下缓冲器类型中的一个或多个:帧缓冲器、渲染缓冲器、前台缓冲器和/或后台缓冲器。
25.一种系统,包括:
显示器;
中央处理单元;
缓冲器;
协处理器图形数据消耗者,其中,所述协处理器图形数据消耗者配置为:向所述显示器传送图像数据;以及
协处理器图形数据生产者,其中,所述协处理器图形数据生产者通信地耦合到所述缓冲器和所述中央处理单元,其中,所述协处理器图形数据生产者配置为:通过直接链路与协处理器图形数据消耗者进行通信,其中,所述协处理器图形数据生产者配置为:
从所述中央处理单元接收初始数据消息;
接收与所述协处理器图形数据消耗者相关联的中断类型同步通知;
响应于所述中断类型同步通知,向所述缓冲器传送与所述初始数据消息相关联的图像数据,
其中,所述协处理器图形数据生产者通过所述直接链路,从所述协处理器图形数据消耗者接收所述中断类型同步通知,而不将此通信传递通过所述中央处理单元。
26.根据权利要求25所述的系统,其中,所述协处理器图形数据生产者还配置为:
响应于所述初始数据消息,生成与所述初始数据消息相关联的所述图像数据;
响应于所述图像数据已生成,向所述协处理器图形数据消耗者传送数据生成类型同步通知;
响应于所述图像数据的所述传送已停止,向所述协处理器图形数据消耗者传送数据传送类型同步通知;以及
响应于所述图像数据的所述传送已停止,向所述协处理器图形数据消耗者传送位置通知,其中,所述位置通知指示所述图像数据已被传送到的缓冲器位置。
27.根据权利要求25所述的系统,其中,所述协处理器图形数据生产者还配置为:响应于所述图像数据的所述传送已停止,向所述协处理器图形数据消耗者传送数据传送类型同步通知,其中,所述协处理器图形数据消耗者还配置为:响应于所述数据传送类型同步通知,从所述缓冲器中扫描所述图像数据。
28.根据权利要求25所述的系统,其中,所述直接链路包括:所述协处理器图形数据生产者和所述协处理器图形数据消耗者之间的直接有线连接。
29.根据权利要求25所述的系统,其中,所述直接链路包括:所述协处理器图形数据生产者和所述协处理器图形数据消耗者之间的片上网络(NoC)中的路由。
30.根据权利要求25所述的系统,其中,所述协处理器图形数据生产者通过直接存储器存取类型数据传输(DMA)或存储器映射类型数据传输,从所述中央处理单元接收所述初始数据消息,
其中,所述中央处理单元、所述协处理器图形数据生产者和所述协处理器图形数据消耗者全部构成片上系统(SoC)处理器的一部分,
其中,所述协处理器图形数据生产者包括3D引擎模块、视频解码器模块、或2D加速器模块,
其中,所述协处理器图形数据消耗者包括显示控制器或无线显示(WiDi)模块,以及
并且其中,所述缓冲器包括以下缓冲器类型中的一个或多个:帧缓冲器、渲染缓冲器、前台缓冲器和/或后台缓冲器。
CN201180075946.9A 2011-12-26 2011-12-26 协处理器之间的直接链路同步通信 Expired - Fee Related CN104012059B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2011/084634 WO2013097071A1 (en) 2011-12-26 2011-12-26 Direct link synchronization communication between co-processors

Publications (2)

Publication Number Publication Date
CN104012059A true CN104012059A (zh) 2014-08-27
CN104012059B CN104012059B (zh) 2017-09-01

Family

ID=48696167

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180075946.9A Expired - Fee Related CN104012059B (zh) 2011-12-26 2011-12-26 协处理器之间的直接链路同步通信

Country Status (6)

Country Link
US (1) US9443279B2 (zh)
EP (1) EP2798804A4 (zh)
CN (1) CN104012059B (zh)
IN (1) IN2014CN03229A (zh)
TW (1) TWI585713B (zh)
WO (1) WO2013097071A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115955733A (zh) * 2022-12-30 2023-04-11 中国科学院计算技术研究所 一种通信基带处理器

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013097071A1 (en) 2011-12-26 2013-07-04 Intel Corporation Direct link synchronization communication between co-processors
US9286472B2 (en) 2012-05-22 2016-03-15 Xockets, Inc. Efficient packet handling, redirection, and inspection using offload processors
US20130318276A1 (en) * 2012-05-22 2013-11-28 Xockets IP, LLC Offloading of computation for rack level servers and corresponding methods and systems
WO2014113056A1 (en) 2013-01-17 2014-07-24 Xockets IP, LLC Offload processor modules for connection to system memory
CN103902498B (zh) * 2013-12-18 2016-12-07 曲阜师范大学 一种面向异构计算的软件定义服务器系统及方法
US11132203B2 (en) * 2014-08-14 2021-09-28 Texas Instruments Incorporated System and method for synchronizing instruction execution between a central processor and a coprocessor
GB2540382B (en) * 2015-07-15 2020-03-04 Advanced Risc Mach Ltd Data processing systems
US10296393B2 (en) * 2016-09-19 2019-05-21 Texas Instruments Incorporated Method for scheduling a processing device
KR102223032B1 (ko) * 2017-03-27 2021-03-04 삼성전자주식회사 디스플레이 구동 장치

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004097789A1 (en) * 2003-04-30 2004-11-11 Nokia Corporation Synchronization of image frame update
CN101080698A (zh) * 2004-12-20 2007-11-28 辉达公司 使用可编程硬件进行的实时显示后处理
US20080055322A1 (en) * 2006-08-31 2008-03-06 Ryan Thomas E Method and apparatus for optimizing data flow in a graphics co-processor
US7522167B1 (en) * 2004-12-16 2009-04-21 Nvidia Corporation Coherence of displayed images for split-frame rendering in multi-processor graphics system
CN101553795A (zh) * 2005-11-30 2009-10-07 凯利斯塔技术股份有限公司 多用户显示代理服务器
CN102103487A (zh) * 2009-12-17 2011-06-22 英特尔公司 用于在单个指令中执行移位和异或运算的方法和装置
US20110148890A1 (en) * 2009-12-23 2011-06-23 Nikos Kaburlasos Synchronized media processing

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6480200B1 (en) * 2000-06-09 2002-11-12 Hewlett-Packard Company Method and apparatus for deferred texture validation on a multi-tasking computer
US20060082580A1 (en) * 2004-10-05 2006-04-20 Raymond Chow Method and apparatus for triggering frame updates
WO2013097071A1 (en) 2011-12-26 2013-07-04 Intel Corporation Direct link synchronization communication between co-processors

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004097789A1 (en) * 2003-04-30 2004-11-11 Nokia Corporation Synchronization of image frame update
US7522167B1 (en) * 2004-12-16 2009-04-21 Nvidia Corporation Coherence of displayed images for split-frame rendering in multi-processor graphics system
CN101080698A (zh) * 2004-12-20 2007-11-28 辉达公司 使用可编程硬件进行的实时显示后处理
CN101553795A (zh) * 2005-11-30 2009-10-07 凯利斯塔技术股份有限公司 多用户显示代理服务器
US20080055322A1 (en) * 2006-08-31 2008-03-06 Ryan Thomas E Method and apparatus for optimizing data flow in a graphics co-processor
CN102103487A (zh) * 2009-12-17 2011-06-22 英特尔公司 用于在单个指令中执行移位和异或运算的方法和装置
US20110148890A1 (en) * 2009-12-23 2011-06-23 Nikos Kaburlasos Synchronized media processing

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115955733A (zh) * 2022-12-30 2023-04-11 中国科学院计算技术研究所 一种通信基带处理器

Also Published As

Publication number Publication date
EP2798804A4 (en) 2015-09-23
CN104012059B (zh) 2017-09-01
IN2014CN03229A (zh) 2015-07-03
TW201333876A (zh) 2013-08-16
US9443279B2 (en) 2016-09-13
US20140204099A1 (en) 2014-07-24
TWI585713B (zh) 2017-06-01
WO2013097071A1 (en) 2013-07-04
EP2798804A1 (en) 2014-11-05

Similar Documents

Publication Publication Date Title
CN104012059A (zh) 协处理器之间的直接链路同步通信
US9916162B2 (en) Using a global barrier to synchronize across local thread groups in general purpose programming on GPU
TWI578153B (zh) 適應性圖形次級系統電源及效能管理
CN104050040B (zh) 媒体重放工作负荷调度器
TWI535277B (zh) 用於深度緩衝之方法、設備及系統
CN103988190A (zh) 用于通过外部显示-数据i/o端口来扩展图形处理的方法、设备及系统
US9251731B2 (en) Multi-sampling anti-aliasing compression by use of unreachable bit combinations
CN103959198A (zh) 降低3d工作负荷的功率
CN104067318A (zh) 使用三维光栅化的时间连续碰撞检测
US10373288B2 (en) Transpose of image data between a linear and a Y-tiled storage format
CN105103512A (zh) 分布式图形处理
CN104054049B (zh) 用于复制源数据从而实现对源数据的并行处理的方法和系统
US10936766B2 (en) Techniques for parallel execution of RANSAC algorithm
WO2015199971A1 (en) Graphics workload submissions by unprivileged applications
TWI493536B (zh) 在與顯示控制器相關連的中斷暫存器中設定中斷範圍之操作的系統、設備及物件、和電腦實施方法
KR20200144702A (ko) 증강 현실 미디어 콘텐츠의 적응적 스트리밍 시스템 및 적응적 스트리밍 방법
JP5968463B2 (ja) データを別の記憶装置にコピーせずにデータソースによりバッファに格納されたデータを処理するためのポインタのスワッピング
US9304731B2 (en) Techniques for rate governing of a display data stream
US20140015816A1 (en) Driving multiple displays using a single display engine
CN103975586A (zh) 3d显示器的分辨率损失减轻
US9705964B2 (en) Rendering multiple remote graphics applications
TWI502539B (zh) 用於隨機柵格化之使用線性邊界的淘汰技術
US20130326351A1 (en) Video Post-Processing on Platforms without an Interface to Handle the Video Post-Processing Request from a Video Player

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
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: 20170901

Termination date: 20211226