为计算装置上部分模糊图形图像促进动态和有效的预启动裁剪的制作方法

文档序号:9471006阅读:281来源:国知局
为计算装置上部分模糊图形图像促进动态和有效的预启动裁剪的制作方法
【技术领域】
[0001]本文中所述实施例一般涉及计算机。更具体地说,实施例涉及一种用于为计算装置上部分模糊图像促进动态和有效的预启动裁剪的机制。
【背景技术】
[0002]显示方位更改和触摸有关的滑动、收缩和拉伸事件等是移动计算装置中相当常见的体验。这些频繁和异步事件经常产生不明显的裁剪的二维(2D)图像,导致部分模糊的像素区域。在为计算采用图形处理单元(GPU)运行时间/驱动程序的常规技术中,一直调度线程以在所有像素上执行内核而不考虑其可见状态,其中,显示范围裁剪的动作被延迟,并且在随后再现阶段中执行。在不断更改图像与显示范围的几何关系的动态模型中,此类常规技术在功率、计算资源等方面是次佳的,并且效率低。此外,前面提及的感觉事件强制在GPU上重复计算,并且带来处理不可见像素的相当大开销。
【附图说明】
[0003]在附图中,实施例以示例方式而不是限制方式示出,图中,相似的标号表示类似的元素。
[0004]图1是根据一实施例的数据处理系统的框图。
[0005]图2是具有一个或更多个处理器核、集成存储器控制器和集成图形处理器的处理器的一实施例的框图。
[0006]图3是图形处理器的一个实施例的框图,图形处理器可以是离散图形处理单元,或者可以是集成有多个处理核的图形处理器。
[0007]图4是用于图形处理器的图形处理引擎的一实施例的框图。
[0008]图5是图形处理器的另一实施例的框图。
[0009]图6示出包括在图形处理引擎的一个实施例中采用的处理元素的阵列的线程执行逻辑。
[0010]图7是示出根据一实施例的图形处理器执行单元指令格式的框图。
[0011]图8是包括图形管线、媒体管线、显示引擎、线程执行逻辑及再现输出管线的图形处理器的另一实施例的框图。
[0012]图9A是示出根据一实施例的图形处理器命令格式的框图,并且图9B是示出根据一实施例的图形处理器命令序列的框图。
[0013]图10示出根据一实施例,用于数据处理系统的示范图形软件体系结构。
[0014]图11A、IlBUlC和IlD示出可应用一个或更多个实施例的各种用例。
[0015]图12示出根据一个实施例,采用动态预启动裁剪机制的计算装置。
[0016]图13示出根据一个实施例的动态预启动裁剪机制。
[0017]图14示出用于促进常规后启动裁剪过程的方法。
[0018]图15A示出根据一个实施例,用于为在计算装置的部分模糊图像促进动态预启动裁剪过程的方法。
[0019]图15B示出根据一个实施例,用于在图形处理单元的计算启动过程的事务序列。
【具体实施方式】
[0020]在下面的描述中,陈述了许多特定细节。然而,实施如本文中所述实施例可无需这些特定的细节。在其它情况下,公知的电路、结构和技术未详细显示以免混淆对此描述的理解。
[0021]实施例代表计算装置(例如,塘智能电话、平板计算机等移动计算装置)中的GPU,为部分模糊图像提供有效预启动裁剪以促进指定图像的相关活跃子空间的有效方案,预启动GPU计算任务。例如并且在一个实施例中,不同于在无贡献像素上分给已经受约束计算装置资源的常规技术,实施例基于GPU计算运行时/驱动程序在预启动内核中依从显示裁剪状态,提供了新颖和创新的技术。运行时/驱动程序随后可调度处理线程只在可见子图像上操作,例如,在与成像算法运行的复杂性和裁剪掉的元素的数量均直接成正比的功率方面产生性能的预期得益。
[0022]可预见的是,实施例不限于任何特定操作系统或平台,并且提供预启动裁剪选项的实施例可受任何数量和类型的操作系统和平台支持或在为这些操作系统或平台采用,诸如(但不限于)Android?上的RenderScript?计算平台等,以使用户有计划地为计算选择关注区域。还可预见的是,实施例可进一步扩展以应用到更广范围的异步裁剪事件实例,如实施例可在各种数据平行系统采用或由其使用以在其相应接口中可能适应和启用预启动裁剪优化。
[0023]如前面提及的一样,基于GPU计算运行时/驱动程序的常规技术提供用于脱离依从被认为是图形特定的状态,并且效率低,因此严重受限于具有自足GPU计算程序的仅限大型静态环境并且不适用于更小动态环境(例如,移动计算环境等)。此类技术在遇到裁剪的图像时效率特别低,这强制常规运行时/驱动程序在所有像素(包括不相关的那些像素)上执行重复再计算并且延迟在再现时的对应裁剪后启动。因此,此类技术成本相当高、功率效率低,在处理导致裁剪图像的触摸事件时且极其低效,并且深深植根于用户体验中。
[0024]实施例提供用于采用适用于装置显示裁剪状态的机制的GPU计算运行时/驱动程序,使得它能够验证活跃的计算元素,并且如果需要,则调用更有效的预启动裁剪。实施例提供用于在功率和资源方面均相当有效的技术,并且提供用于无缝和有效的处理路径。
[0025]概沭-图1-3
图1是根据一实施例的数据处理系统100的框图。数据处理系统100包括一个或更多个处理器102和一个或更多个图形处理器108,并且可以是单个处理器台式系统、多处理器工作站系统或具有大量处理器102或处理器核107的服务器系统。在一实施例中,数据处理系统100是在移动、手持式或嵌入式装置中使用的系统级芯片集成电路(SOC)
数据处理系统100的一实施例能够包括基于服务器的游戏平台、包括游戏和媒体控制台的游戏控制台、移动游戏控制台、手持式游戏控制台或在线游戏控制台,或者包含在其内。在一个实施例中,数据处理系统100是移动电话、智能电话、平板计算装置或移动因特网装置。数据处理系统100也能够包括可佩戴装置,与其耦合或者集成在其内,如和表可佩戴装置、智能眼戴式装置、增强现实装置或虚拟现实装置。在一个实施例中,数据处理系统100是具有一个或更多个处理器102和由一个或更多个图形处理器108生成的图形接口的电视或机顶盒装置。
[0026]一个或更多个处理器102每个包括一个或更多个处理器核107以处理指令,指令在执行时,执行用于系统和用户软件的操作。在一个实施例中,一个或更多个处理器核107的每个核配置成处理特定指令集109。指令集109可促进复杂指令集计算(CISC)、精简指令集计算(RISC)或经极长指令字(VLIW)的计算。多个处理器核107可每个处理不同指令集109,不同指令集可包括促进仿真其它指令集的指令。处理器核108也可包括其它处理装置,如数字信号处理器(DSP)。
[0027]在一个实施例中,处理器102包括高带缓冲存储器104。视体系结构而定,处理器102能够具有单个内部高速缓存或多级内部高速缓存。在一个实施例中,高速缓冲存储器在处理器102的各种组件之间共享。在一个实施例中,处理器102也使用外部高速缓存(例如,第3级(L3)高速缓存或末级高速缓存(LLC)K未示出),外部高速缓存可在使用已知高速缓存相干性技术的处理器核107之间共享。寄存器文件106另外包括在处理器102中,处理器102可包括不同类型的寄存器以便存储不同类型的数据(例如,整数寄存器、浮点寄存器、状态寄存器和指令指针寄存器)。一些寄存器可以是通用寄存器,而其它寄存器可对处理器102的设计是特定的。
[0028]处理器102耦合到处理器总线110以在处理器102与系统10k的其它组件之间传送数据信号。系统100使用示范“集线器”系统体系结构,包括存储器控制器集线器116和输入输出(I/O)控制器集线器130。存储器控制器集线器116促进在存储器装置与系统100的其它组件之间的通信,而I/O控制器集线器(ICH) 130经本地I/O总线提供到I/O装置的连接。
[0029]存储器装置120能够是动态随机存取存储器(DRAM)装置、静态随机存取存储器(SRAM)装置、闪存存储器装置或具有适合性能以充当过程存储器的某一其它存储器装置。存储器120能够存储数据122和指令121以便在处理器102执行过程时使用。存储器控制器集线器116也与可选外部图形处理器112耦合,处理器112可与处理器102中的一个或更多个图形处理器108进行通信以执行图形和媒体操作。
[0030]ICH 130允许外设经高速I/O总线连接到存储器120和处理器102。I/O外设包括音频控制器146、固件接口 128、无线收发器126 (例如,W1-F1、蓝牙)、数据存储装置124(例如,硬盘驱动器、闪存存储器等)及用于耦合遗留装置(例如,个人系统2 (PS/2))装置到系统的遗留I/O控制器。一个或更多个通用串行总线(USB)控制器142连接输入装置,如键盘和鼠标144组合。网络控制器134也可耦合到ICH 130。在一个实施例中,高性能网络控制器(未示出)耦合到处理器总线110。
[0031]图2是具有一个或更多个处理器核102A-N、集成存储器控制器114和集成图形处理器208的处理器200的一实施例的框图。处理器200能够包括另外的核,直至并且包括由虚线框表示的另外核102N。每个核102-N包括一个或更多个内部高速缓存单元104A-N。在一个实施例中,每个核也具有到一个或更多个共享缓存单元106的访问权。
[0032]内部缓存单元104A-N和共享缓存单元106表示处理器200内的高速缓冲存储器层次结构。高速缓冲存储器层次结构可包括在每个核内的至少一级的指令和数据高速缓存和一个或更多个级的共享中级高速缓存,如第2级(L2)、第3级(L3)、第4级(L4)或其它级的高速缓存,其中,在外部存储器前的最高级的高速缓存被分类为末级高速缓存(LLC)。在一个实施例中,高速缓存相干性逻辑保持在各种高速缓存单元106与104A-N之间的相干性。处理器200也可包括有一个或更多个总线控制器单元116的集和系统代理110。一个或更多个总线控制器单元管理外设总线集,如一个或更多个外设组件互连总线(例如,PC1、PCI Express)ο系统代理110提供用于各种处理器组件的管理功能性。在一个实施例中,系统代理110包括一个或更多个集成存储器控制器114以管理对各种外部存储器装置(未示出)的访问。
[0033]在一个实施例中,一个或更多个核102A-N包括对同时多线程的支持。在此类实施例中,系统代理110包括用于在多线程处理期间协调和操作核102A-N的组件。系统代理110可另外包括功率控制单元(P⑶),该单元包括调节核102A-N和图形处理器208的功率状态的逻辑和组件。
[0034]处理器200另外包括图形处理器208以执行图形处理操作。在一个实施例中,图形处理器208与共享缓存单元106集和包括一个或更多个集成存储器控制器114的系统代理单元110耦合。在一个实施例中,显示控制器211与图形处理器208耦合以驱动到一个或更多个耦合的显示器的图形处理器输出。显示控制器211可以是经至少一个互连与图形处理器耦合的单独模块,或者可集成在图形处理器208或系统代理110内。
[0035]在一个实施例中,基于环形的互连单元112用于耦合处理器200的内部组件,然而,备选互连单元可使用,如点对点互连、交换互连或包括本领域熟知的技术的其它技术。在一个实施例中,图形处理器208经I/O链路213与环形互连112耦合。
[0036]示范I/O链路214表示多个各种各样的I/O互连至少之一,包括促进在各种处理器组件与诸如eDRAM模块等高性能嵌入式存储器模块218之间通信的封装上I/O互连。在一个实施例中,每个核102A-N和图形处理器208使用嵌入式存储器模块218作为共享的末级高速缓存。
[0037]在一个实施例中,核102A-N是执行相同指令集体系结构的同类核。在另一实施例中,核102A-N在指令集体系结构(ISA)方面是异类的,其中,一个或更多个核102A-N执行第一指令集,而至少其它核之一执行第一指令集的子集或不同指令集。
[0038]处理器200能够是使用多个工艺技术的任何技术的一个或更多个衬底的一部分或者在衬底上实现,如互补型金属氧化物半导体(CMOS)、双极结/互补型金属氧化物半导体(BiCMOS)或N型金属氧化物半导体逻辑(NMOS)。另外,处理器200能够在一个或更多个芯片上实现,或者实现为除其它组件外,具有所示组件的系统级芯片(SOC)集成电路。
[0039]图3是图形处理器300的一个实施例的框图,图形处理器可以是离散图形处理单元,或者可以是集成有多个处理核的图形处理器。在一个实施例中,经到图形处理器上寄存器的存储器映射的I/o接口和经放入处理器存储器中的命令,与图形处理器进行通信。图形处理器300包括存储器接口 314以访问存储器。存储器接口 314能够是到本地存储器、一个或更多个内部高速缓存、一个或更多个共享的外部高速缓存和/或到系统存储器的接
□O
[0040]图形处理器300也包括显示控制器302以驱动到显示装置320的显示输出数据。显示控制器302包括用于一个或更多个覆盖平面以便显示和构成视频或用户接口元素的多层的硬件。在一个实施例中,图形处理器300包括视频编解码器引擎306以便向和从一个或更多个媒体编码格式或在这些格式之间将媒体进行编码、解码或转码,包括但不限于诸如MPEG-2等运动图像专家组(MPEG)格式、诸如H.264/MPEG-E AVC等高级视频编码(AVC)格式及运动图像和电视工程师学会(SMPTE) 421M/VC-1和诸如JPEG和运动JPEG (MJPEG)格式等联合图像专家组(JPEG)格式。
[0041]在一个实施例中,图形处理器300包括块图像传输(BLIT)引擎304以执行二维(2D)光栅化操作,例如包括比特边界块传输。然而,在一个实施例中,使用图形处理引擎(GPE) 310的一个或更多个组件执行2D图形操作。图形处理引擎310是用于执行包括三维(3D)图形操作和媒体操作等图形操作的计算引擎。
[0042]GPE 310包括用于执行3D操作的3D管线312,如使用对3D基本形状(例如,矩形、三角形等)起作用的处理功能再现三维图像和场景。3D管线312包括在元素内执行各种任务和/或派生执行线程到3D/媒体子系统315的可编程和固定功能元素。虽然3D管线312能够用于执行媒体操作,但GPE 310的一实施例也包括专门用于执行诸如视频后处理和图像增强等媒体操作的媒体管线316。
[0043]在一个实施例中,媒体管线316包括固定功能或可编程逻辑单元,以执行一个或更多个专用媒体操作,如替代或代表视频编解码器引擎306的视频解码加速、视频解交错和视频编码加速。在一个实施例中,媒体管线316另外包括派生线程以便在3D/媒体子系统315上执行的线程派生单元。派生的线程为在3D/媒体子系统中包括的一个或更多个图形执行单元上的媒体操作执行计算。
[0044]3D/媒体子系统315包括用于执行由3D管线312和媒体管线316派生的线程的逻辑。在一个实施例中,管线将线程执行请求发送到3D
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1