图形处理单元和包括其的装置的制造方法_2

文档序号:9889013阅读:来源:国知局
号,并且类似地,第二信号可被称为第一信号,而不脱离本公开的教导。
[0048] 本文所用的术语仅用于描述具体实施例的目的,并非意在限制本发明。如本文所 用,单数形式"一"、"一个"和"该"旨在也包括复数形式,除非上下文另外明确指出。将进一 步理解,在本说明书中使用术语"包括"和/或"包含",或者"包括"和/或"包含"时,指定特 征、区域、整体、步骤、操作、元件和/或组件的存在,但不排除或添加一个或多个其它特征、 区域、整体、步骤、操作、元件、部件和/或其组合的存在。
[0049] 除非另有定义,这里使用的所有术语(包括技术和科学术语)具有如由普通技术人 员对本发明所属领域中通常理解的相同的含义。将进一步理解,诸如在常用词典中定义的 术语,应该被解释为具有与它们在相关技术和/或本申请的上下文中的含义一致的的含义, 并且不会在被解释理想化的或过于正式的意义,除非在此明确定义。
[0050] 在简要概述中,本发明构思的实施例包括粗糙的细节级别(Leve 1 -of-Detai 1, L0D)几何方案,由此选择了粗糙的L0D几何图中的最接近的L0D几何形状,并且进行只需要 基于最接近的L0D几何形状的附加的几何形状的计算。以这种方式,相同的L0D几何形状可 以被重复使用而无需冗余计算。另外,通过应用最接近的L0D几何形状,可以降低广泛使用 于当前配置中的细分渲染开销。
[0051] 图1是根据本发明构思的一些实施例的计算装置100的框图。计算装置100可以实 施为电子装置,例如电视(TV)(例如,数字TV或智能TV )、个人计算机(PC )、台式计算机、膝上 型计算机、计算机工作站、平板PC、视频游戏平台(或视频游戏控制台)、服务器、或便携式电 子装置。实施实施例的便携式电子装置可以包括但不限于蜂窝电话、智能电话、个人数字助 理(PDA)、企业数字助理(EDA)、数字静态照相机、数字摄像机、便携式多媒体播放器(PMP)、 个人导航装置或便携式导航装置(PND)、移动互联网装置(MID)、可穿戴计算机、物联网 (Ι〇Τ)装置、万物联网(Ι0Ε)装置,或电子书。
[0052] 计算装置100可以包括各种类型的可处理和显示二维(2D)或三维(3D)图形数据的 装置。计算装置100包括片上系统(S〇c)200、一个或多个存储器310-1和310-2,以及显示器 400 〇
[0053] SoC 200可以用作主机计算装置lOOdoC 200可以控制计算装置100的整体操作。 例如,SoC 200可以被替换为集成电路(1C)、应用程序处理器(AP)、或移动AP,其可以执行在 本发明构思的实施例中的下文中描述的以下操作,也即确定是否对模型执行与细分相关的 操作的操作。
[0054] SoC 200可包括中央处理单元(CPU)210、一个或多个存储器控制器220-1和220-2、 用户接口 230、显示控制器240以及也称为图形处理器的图形处理单元(GPU)260,其可以经 由总线201彼此通信。总线201可以实现为外围组件总线(PCI)总线、PCI快速(PCIe)总线、高 级微控制器总线架构(AMBA?)、高级高性能总线(AHB)、高级外设总线(APB)、高级可扩展接 口(AXI)或它们的组合。
[0055] CPU 210可控制SoC 200的操作。根据一些实施例,CPU 210可以估计(也即,计算或 测量)计算装置100的属性或特征中的至少一个,根据估计(即,计算或测量)的结果选择包 括在存储多个准备好的模型的第一存储器310-1的存储区域中的一个地址,并发送所选择 的地址到GPU 260。属性或特征可以包括在GPU 260和存储器310-1或310-2之间的带宽、GPU 260的计算功率、GPU 260最大功耗、基于GPU 260的动态电压频率调节(DVFS)确定的电压和 频率以及GPU 260的温度中的至少一个。
[0056] SoC 200可包括软件(固件)组件和/或硬件组件205,其估计(即,计算或测量)在 GPU 260和存储器310-1或310-2之间的带宽、GPU 260的计算功率、GPU 260的最大功耗,基 于GPU 260的DVFS确定的电压和频率以及GPU 260的温度的至少一个。
[0057] 软件组件可被存储在硬件存储器中,并且由SoC 200中的一个或多个处理器和/或 S〇C200外部的一个或多个处理器执行。例如,软件组件可以由CPU 210执行。至少一个硬件 组件205可以包括计算器、检测器和/或传感器中的至少一个。在CPU 210中执行的软件组件 (例如图2中的应用程序211)可以使用来自至少一个硬件组件205输出的输出信号估算(即, 计算或测量)计算装置100的至少一个属性或特征。
[0058] GPU 260可以从CPU 210接收地址,使用该地址从存储区域中的一个读取模型,例 如使用存取电路252或另一处理器使用模型的几何信息计算该模型的复杂度,将参考复杂 度和所计算的复杂度进行比较,并基于比较结果确定是否对模型执行细分。
[0059]可替代地,CPU 210可以发送在其中存储多个模型的存储器310-1或310-2的多个 存储区域的多个地址到GPU 26(LGPU 260可以从CPU 210接收多个地址,估计(即,计算或测 量)计算装置100的至少一个属性或特征,并基于估计(即,计算或测量)结果选择地址中的 一个。GPU 260可使用所选择的地址从存储区域中的一个读取模型,使用模型的几何信息计 算模型的复杂度,将参考复杂度和所计算的复杂度进行比较,并基于比较结果确定是否要 对模型执行细分。
[0060] 在其中计算装置100是便携式电子装置的实施例中,计算装置100还可以包括电池 203。至少一个硬件组件205和/或在CPU 210中执行的软件组件(例如,图2中的应用211)可 以估计(即,计算或测量)电池203的剩余值。在这种情况下,计算装置100的至少一个属性或 特征可以包括电池203的剩余值或剩余值相关的信息。
[0061] 用户可以通过用户界面230输入到SoC 200的输入,使得CPU 210执行至少一个应 用程序(例如,在图2中的软件应用211)。由CPU 210执行的至少一个应用可以包括操作系统 (0S)、文字处理器应用、媒体播放器应用、视频游戏应用、和/或图形用户界面(GUI)应用。
[0062] 用户可以通过连接到用户界面230的输入装置(未示出)输入到SoC 200的输入。例 如,输入装置可以实施为键盘、鼠标、麦克风或触摸垫。由CPU 210执行的应用(例如,图2中 的211)可以包括可能与图形应用程序编程接口(API)相关的图形渲染指令。
[0063]图形API可以包括开放图形库(OpenGL)的API,嵌入式系统的开放图形库(Open GLES)的API、DirectX API,Renderscript API、WebGL API、或OpenVG?API的一个或多个。 为处理图形渲染指令,CPU 210可以通过总线201发送图形渲染命令到GPU 260。响应于图形 渲染命令,GPU 260可处理(或渲染)图形数据。
[0064]图形数据可以包括点、线、三角形、四边形、块、和/或图元。图形数据也可以包括线 段、椭圆弧、二次贝塞尔曲线和/或三次贝塞尔曲线。
[0065] 响应于来自CPU 210或GPU 260的读请求,该一个或多个存储器控制器220-1和 220-2可以从一个或多个存储器310-1和310-2读数据(例如,图形数据)并可以将数据(例 如,图形数据)发送到相应的元件(例如,210、240、或260)。响应于来自CPU 210或GPU 260的 写请求,一个或多个存储器控制器220-1和220-2可以从相应的元件(例如,210、230、或240) 写数据(例如,图形数据)到一个或多个存储器310-1和310-2。
[0066] 在图1中示出的实施例中,一个或多个存储器控制器220-1和220-2与CPU 210或 GPU 260分离。然而,一个或多个存储器控制器220-1和220-2可以是在CPU 210中、在GPU 260中或一个或多个存储器310-1和310-2中。
[0067] 当第一存储器310-1由易失性存储器形成以及第二存储器310-2由非易失性存储 器形成时,第一存储器控制220-1可以实现为与第一存储器310-1通信并且第二存储器控制 器220-1可以实现为能够与第二存储器310-2进行通信。易失性存储器可以是随机存取存储 器(RAM)、静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、晶闸管的RAM(T-RAM)、零电容 器的RAM(Z-RAM)、或双晶体管RAM(TTRAM)。非易失性存储器可以是电可擦除可编程只读存 储器(EEPR0M)、闪存、磁RAM(MRAM)、自旋转移矩的MRAM、铁电RAM(FeRAM)、相变RAM(PRAM)、 或电阻性内存(RRAM)。非易失性存储器也可以实现为多媒体卡(丽C)、嵌入式丽C(eMMC)、通 用闪存(UFS)、固态驱动器(SSD)、或通用串行总线(USB)闪存驱动器。
[0068] 一个或多个存储器控制器220-1和220-2可以存储可以由CPU 210执行的程序(或 应用)或者指令。另外,一个或多个存储器控制器220-1和220-2可存储由CPU 210执行的程 序要使用的数据。一个或多个存储器控制器220-1和220-2也可以存储与用户应用相关的用 户应用程序和图形数据,并且可以存储由包括在SoC 200中的组件将要使用或生成的数据 (或信息)。一个或多个存储器控制器220-1和220-2可存储用于GPU 260的操作的数据和/或 由GPU 260的操作生成的数据。一个或多个存储器控制器220-1和220-2可存储GPU 260处理 的指令流。
[0069] 显示控制器240可以发送由CPU 210处理的数据或GPU 260处理的数据(例如,图形 数据)到显示器400。显示器400可以实现为监视器、电视监视器、投影装置、薄膜晶体管-液 晶显示器(TFT-IXD)、发光二极管(LED)显示器、有机发光二极管(0LED)显示器、有源矩阵 OLED(AMOLED)显示器、或柔性显示器。
[0070] 显示器400可以集成到(或嵌入到)计算装置100中。显示器400可以是通过无线或 有线通信链路连接到计算装置100的便携式电子装置或独立装置的屏幕。可替代地,显示器 400可以是通过有线或有线链路连接到PC的计算机监视器。
[0071] GPU 260可以从CPU 210接收命令并运行该命令。由GPU 260运行的命令可以包括 图形命令、存储器转移命令、内核执行命令、细分命令、或者纹理命令。GPU 260可以执行图 形操作来渲染图形数据。
[0072] 当由CPU 210运行的应用请求执行图形处理时,CPU 210可以发送图形数据和图形 命令到GPU 260,使得图形数据在显示器400中渲染。图形命令可以包括细分命令和/或纹理 命令。图形数据可以包括顶点数据、纹理数据、或表面数据。表面可包括参数曲面、细分曲 面、三角形网格、或曲线。
[0073] 在一些实施例中,CPU 210可以发送图形命令和图形数据到GPU 260。在其他实施 例中,当CPU 210写入图形命令和图形数据到一个或多个存储器310-1和310-2中时,GHJ 260可以从一个或多个存储器310-1和310-2读出图形命令和图形数据。
[0074] GPU 260可以直接存取GPU高速缓存290。这里,GPU 260可以写入图形数据到GPU的 高速缓存290或从中读取图形数据,而无需使用总线201XPU高速缓存290是可以由GPU 260 存取的GHJ存储器的例子。
[0075] GPU 260和GPU高速缓存290在图1示出的实施例中彼此分离。在其它实施例中,GPU 260可以包括GPU高速缓存290 APU高速缓存290可以由包括DRAM或SRAM或类似物形成。CPU 210或GPU 260可以在包括于一个或多个存
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1