一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于像素写入数据的压缩技术的制作方法

2022-06-12 04:48:28 来源:中国专利 TAG:


1.本公开整体涉及图形处理器架构,并且更具体地涉及配置为压缩由计算任务生成的像素写入数据的电路系统。


背景技术:

2.计算设备可以压缩各种类型的数据,例如,以减小存储器占用空间或带宽。某些类型的任务诸如图形像素着色器可以将数据写入方便的块中以进行压缩。其他类型的任务,诸如计算内核,可生成更多的任意写入。计算内核可以为各种目的执行图像处理,例如,用于计算机游戏中的后处理或用于计算摄影。
附图说明
3.图1a是示出根据一些实施方案的示例性图形处理操作的概述的图示。
4.图1b是示出根据一些实施方案的示例性图形单元的框图。
5.图2是示出根据一些实施方案的具有对应于存储分级结构中不同级别的高速缓存的多级压缩的电路系统的框图。
6.图3是示出根据一些实施方案的具有多级压缩的电路系统的更详细的框图。
7.图4是示出根据一些实施方案的在不同处理阶段的宏块内的像素写入数据块的示例性状态的图。
8.图5是示出根据一些实施方案的用于在写入存储器之前处理不完整块的示例性方法的流程图。
9.图6是示出根据一些实施方案的用于在多个高速缓存级别进行压缩的示例性方法的流程图。
10.图7是示出根据一些实施方案的包括图形处理器的示例性计算设备的框图。
11.图8是示出根据一些实施方案的存储电路设计信息的示例性计算机可读介质的框图。
12.本说明书包括对各种实施方案的参考,以指示本公开并非旨在提及一个特定具体实施,而是提及落入包括所附权利要求书的本公开的实质内的一系列实施方案。特定特征、结构或特性可以与本公开一致的任何合适的方式被组合。
13.在本公开内,不同实体(其可被不同地称为“单元”、“电路”、其他部件等)可被描述或声称成“被配置为”执行一个或多个任务或操作。此表达方式—被配置为[执行一个或多个任务]的[实体]—在本文中用于指代结构(即,物理的事物,诸如电子电路)。更具体地,此表达方式用于指示此结构被布置成在操作期间执行一个或多个任务。结构可被说成“被配置为”执行某个任务,即使该结构当前并非正被操作。“被配置为压缩像素数据块的压缩电路”旨在覆盖例如在操作期间执行此功能的电路,即使所涉及的电路当前并未正在被使用(例如,该电路并未连接到电力)。因此,被描述或表述成“被配置为”执行某个任务的实体是指用于实施该任务的物理的事物,诸如设备、电路、存储有可执行程序指令的存储器等等。
该短语在本文中不被用于指代无形的事物。
[0014]
术语“被配置为”并不旨在意指“可配置为”。例如,未经编程的fpga不会被认为是“被配置为”执行某个特定功能,虽然其可能“可配置为”执行该功能。在适当编程之后,fpga然后可被配置为执行该功能。
[0015]
所附权利要求书中的表述结构“被配置为”执行一个或多个任务明确地旨在对该权利要求要素不援引35 u.s.c.
§
112(f)。于是,所提交的本技术中没有任何权利要求旨在要被解释为具有装置-加-功能要素。如果申请人在申请过程中想要援引112(f)部分,则其将使用“用于[执行功能]的装置”结构来表述权利要求的要素。
[0016]
如本文所用,术语“基于”用于描述影响确定的一个或多个因素。此术语不排除可能有附加因素可影响确定。也就是说,确定可仅基于指定的因素或基于所指定的因素及其他未指定的因素。考虑短语“基于b确定a”。此短语指定b是用于确定a的因素或者b影响a的确定。此短语并不排除a的确定也可基于某个其他因素诸如c。此短语也旨在覆盖a仅基于b来确定的实施方案。如本文所用,短语“基于”与短语“至少部分地基于”是同义的。
[0017]
此外,如本文所用,术语“第一”、“第二”、“第三”等并不一定暗示元件之间的排序(例如,时间顺序)。例如,对“第一”图形操作和“第二”图形操作的参考并不暗示对图形操作的排序,缺少限制这些操作之间的时间关系的附加语言。简而言之,诸如“第一”、“第二”等的参考用作标记,以便于在说明书和所附权利要求中进行参考。
具体实施方式
[0018]
图形处理概述
[0019]
参见图1a,其示出了示出用于处理图形数据的示例性处理流程100的流程图。在一些实施方案中,变换和照明步骤110可涉及基于限定的光源位置、反射率等处理从应用程序接收的顶点的照明信息,将顶点组装成多边形(例如,三角形),以及/或者基于三维空间中的位置来将多边形转换为正确的大小和取向。剪辑步骤115可涉及丢弃在可视区域之外的多边形或顶点。光栅化步骤120可涉及在每个多边形内限定片段并且例如基于多边形顶点的纹理坐标来为每个片段分配初始色值。片段可指定它们重叠的像素的属性,但可基于组合多个片段(例如,在帧缓冲器中)和/或忽略一个或多个片段(例如,如果它们被其他对象覆盖)来确定实际像素属性。着色步骤130可涉及基于照明、阴影、隆起映射、半透明度等来改变像素分量。可将着色像素组装在帧缓冲器135中。现代gpu通常包括允许应用开发者定制着色和其他处理步骤的可编程着色器。因此,在各种实施方案中,图1a的示例性元素可以各种顺序执行,并行执行或省略。还可实施另外的处理步骤。
[0020]
现在参见图1b,示出了根据一些实施方案的例示图形单元150的简化框图。在例示的实施方案中,图形单元150包括可编程着色器160、顶点管185、片段管175、纹理处理单元(tpu)165、图像写入单元170、和存储器接口180。在一些实施方案中,图形单元150被配置为使用可编程着色器160来处理顶点数据和片段数据两者,该可编程着色器可被配置为使用多个执行流水线或实例来并行处理图形数据。
[0021]
在图示实施方案中,顶点管185可包括被配置为处理顶点数据的各种固定功能硬件。顶点管185可被配置为与可编程着色器160通信,以便协调顶点处理。在图示实施方案中,顶点管185被配置为将经处理的数据发送至片段管175和/或可编程着色器160以用于进
一步处理。
[0022]
在图示实施方案中,片段管175可包括被配置为处理像素数据的各种固定功能硬件。片段管175可被配置为与可编程着色器160通信,以便协调片段处理。片段管175可被配置为在来自顶点管185和/或可编程着色器160的多边形上执行光栅化以生成片段数据。顶点管185和/或片断管175可耦接到存储器接口180(未示出耦接)以便访问图形数据。
[0023]
在图示实施方案中,可编程着色器160被配置为接收来自顶点管185的顶点数据和来自片段管175和/或tpu 165的片段数据。可编程着色器160可被配置为对顶点数据执行顶点处理任务,该顶点处理任务可包括顶点数据的各种变换和/或调整。在例示的实施方案中,可编程着色器160还被配置为对像素数据执行片段处理任务,诸如像纹理和着色处理。可编程着色器160可包括用于例如以单指令多数据(simd)方式并行处理数据的多个执行流水线。
[0024]
在例示的实施方案中,tpu 165被配置为调度来自可编程着色器160的片段处理任务。在一些实施方案中,tpu 165被配置为预取纹理数据并将初始颜色分配给片段以供可编程着色器160进一步处理(例如,经由存储器接口180)。tpu 165可被配置为提供例如在规格化整数格式或浮点格式的片段分量。在一些实施方案中,tpu 165被配置为提供呈2x2格式的四个一组(“片段四元组”)的片段,该片段由可编程着色器160中的一组四个执行流水线处理。
[0025]
在一些实施方案中,图像写入单元(iwu)170被配置为存储图像的处理后图块,并且可在将其传输以用于显示或传输给存储器用于存储之前对渲染后图像执行操作。在一些实施方案中,图形单元150被配置为执行分块式延迟渲染(tbdr)。在基于图块的渲染中,屏幕空间的不同部分(例如,像素的正方形或矩形)可以在组合成帧之前被单独处理。在各种实施方案中,存储器接口180可促进与各种存储器分级结构中的一个或多个的通信。
[0026]
多个高速缓存级别压缩的概述
[0027]
图2是示出根据一些实施方案的具有对应于存储分级结构中不同级别的高速缓存的多级压缩的电路系统的框图。在例示的实施方案中,图形处理器包括可编程着色器160、第一级高速缓存210、控制电路系统214、压缩电路系统216、第二级高速缓存220和压缩/打包电路系统226。
[0028]
可编程着色器160可以执行写入像素数据的计算任务。该像素数据可以根据计算内核的指令任意写入,使得不知道何时可以使用连续寻址的像素写入块进行压缩。在一些实施方案中,设备被配置为基于存储在第一级高速缓存210中的数据根据机会累积和压缩,并且还被配置为基于存储在第二级高速缓存220中的数据进行压缩。在第二级高速缓存220大于第一级高速缓存210的实施方案中,较高级别可更有可能完全累积块以进行压缩。尽管本文在计算任务的上下文中讨论了各种示例,但类似的技术可以用于各种类型的图形工作,包括例如具有任意像素写入的像素着色器。
[0029]
第一级高速缓存210和第二级高速缓存220可以使用各种高速缓存技术中的任何一种来实现,并且可以或可以不共享特性,诸如关联性、直写或回写具体实施、存储电路技术、标签大小等。如上所述,在一些实施方案中,第二级高速缓存220被配置为相比于第一级高速缓存210存储更大量的数据。在一些实施方案中,第二级高速缓存220是共享高速缓存(例如,在多个可编程着色器、纹理处理单元、图像写入缓冲器等中)。
[0030]
在一些实施方案中,压缩电路系统216和压缩/打包电路系统226被配置为压缩数据块。在一些实施方案中,压缩电路系统被配置为对一种或多种大小的数据块进行操作。例如,在各种实施方案中,压缩电路系统216可被配置为对64、128或256字节的数据进行操作。例如,根据用于像素数据的精度,这可对应于4
×
4、8
×
4或8
×
8像素的集合的像素写入数据。
[0031]
电路系统216和226可以使用相同的压缩算法或不同的压缩算法。在一些实施方案中,压缩电路系统可以并行使用多个预测器,并且挑选最佳预测器来对给定块进行编码。在一些实施方案中,压缩电路系统216被配置为压缩在第一级高速缓存210中完全累积的任何块,然后将所压缩的块写入第二级高速缓存220。当数据块或数据结构的所有数据元素被存储在存储元件中时,该块或结构在该存储元件中被“完全累积”。例如,对于8
×
4的像素数据块,当存储所有32个像素的像素数据时,该块被完全累积,但在未存储一个或多个像素的数据的情况下不被完全累积。仍然可以对未被完全累积的数据块执行压缩(例如,通过为块中的丢失数据填充默认值),但在一些实施方案中,此类填充被延迟,直到压缩/打包电路系统226,以便确定是否应该将任何较旧的写入与数据块组合。
[0032]
如果压缩电路系统216在需要从第一级高速缓存210逐出块之前未完全累积块,则它可以将块的逐出部分存储在第二级高速缓存220中而不进行压缩。因此,在一些实施方案中,压缩电路系统216可以将元数据发送到第二级高速缓存220,指示数据块的状态(例如,压缩或未压缩)。元数据还可以指示数据块是否在一个或多个高速缓存级别完全累积。
[0033]
在一些实施方案中,压缩/打包电路系统226被配置为将所压缩的块打包成宏块,用于以组合写入的方式写入存储层级结构中的较高级别。在一些实施方案中,宏块包括多个块,例如,8个或32个块。在一些实施方案中,宏块大小小于或等于由图形工作组处理的像素数量(例如,线程组的大小乘以每个线程的像素数量)。在一些实施方案中,宏块的大小对应于第二级高速缓存220中的高速缓存行的大小。
[0034]
如果宏块的一些块未被压缩但可以在第二级高速缓存220中被完全累积,则电路系统226可以压缩这些块。如果需要将宏块写入存储器但它的一些块未被完全累积,则电路系统216可以从存储器中读取不完整块的较旧数据,并且尝试完全累积块以进行压缩。下文参考图5对此类技术进行了更详细的讨论。
[0035]
图3是示出根据一些实施方案的具有多级压缩的电路系统的更详细的框图。在例示的实施方案中,图形处理器包括可编程着色器160、像素后端(pbe)数据路径305、pbe高速缓存310、pbe高速缓存控制电路系统318、多路复用器329和328、压缩器316、l2高速缓存320、宏块记分板312、宏块分级缓冲器314、解压缩器330、压缩/打包电路系统326和存储器管理单元(mmu)340。
[0036]
需注意,pbe电路系统305、310和318可以被包括在图1的图像写入缓冲器单元170的示例性具体实施中,并且pbe高速缓存310是图2的第一级高速缓存210的一个示例。类似地,l2高速缓存320是图2的第二级高速缓存220的一个示例。在图3的具体示例中,l2高速缓存320被配置为经由存储器管理单元340从存储器加载数据,并且将数据存储到存储器。
[0037]
在例示的实施方案中,pbe数据路径305被配置为从可编程着色器160接收像素写入,并且可以对所接收的像素数据执行一个或多个操作。在例示的实施方案中,pbe数据路径305被配置为将用于宏块(mb)可压缩写入的数据发送到mux 329,并且绕过pbe高速缓存。
对于宏块中的每一个块,这些类型的写入可具有完全累积。可编程着色器160可包括具有指示它们是否是宏块可压缩的写入的信息。压缩器316可以压缩mb可压缩写入内的每个块并且将数据存储在l2高速缓存320中(或者另选地,在一些实施方案中,可以将宏块作为一个整体进行压缩)。在例示的实施方案中,pbe数据路径305被配置为在pbe高速缓存310中存储用于非mb可压缩写入的数据。在一些实施方案中,pbe高速缓存控制318被配置为控制pbe高速缓存310的各种功能,包括分配、逐出、保持高速缓存元数据,诸如最近最少使用的信息等。
[0038]
在例示的实施方案中,压缩器316被配置为从pbe高速缓存310接收数据(例如,逐出的数据),并且压缩完全累积的像素数据块。在例示的实施方案中,压缩器316被配置为在l2高速缓存320中存储块(无论是否压缩),以及指示所存储块的状态的元数据。需注意,元数据可以一起存储在l2高速缓存320的一个或多个高速缓存行中,以减少对l2高速缓存320操作的干扰。在一些实施方案中,可以实现单独的硬件元数据缓冲器,以便累积元数据用于组合写入。对于未被完全累积的块,压缩器316可以不压缩这些块,但可以将它们以未压缩的形式存储在l2高速缓存320中。
[0039]
在一些实施方案中,宏块记分板312被配置为跟踪l2高速缓存320内的宏块的充满度和位置。记分板条目可以跟踪有效性、宏块基地址、压缩格式、宏块大小、打包格式、宏块的元数据地址、宏块变为完整所需的像素数量、子块状态信息、超时状态等。宏块记分板312可以响应于检测到完全累积而逐出宏块。在一些实施方案中,宏块记分板312被配置为在超时间隔之后逐出部分覆盖的宏块(这样可减少高速缓存刷新无效所需的宏块的逐出,例如,因为超时的宏块将已被逐出)。在一些实施方案中,为了逐出宏块,宏块记分板312被配置为将宏块中的每个高速缓存行的逐出命令发送到l2高速缓存320,该l2高速缓存将逐出的行发送到宏块分级缓冲器314,并且将逐出的行标记为干净且无效。
[0040]
在一些实施方案中,宏块分级缓冲器314被配置为从l2高速缓存320接收块,并且将块发送到压缩/打包电路系统326。在一些实施方案中,缓冲器314按顺序一次发送一个宏块的块。
[0041]
压缩/打包电路系统326可以压缩未压缩的块,打包所压缩的块,并且将块发送到存储器管理单元340以组合写入的方式写入存储器。需注意,打包可包括在压缩之后调整所压缩的块的地址(鉴于它们的大小已减小),以用于宏块中块的组合写入。在一些实施方案中,压缩电路系统326和压缩器316实现不同的压缩算法。
[0042]
对于未被完全累积的块,宏块分级缓冲器314可经由存储器管理单元340检查存储器中较旧的写入数据。解压缩器330可以解压缩从存储器读取的较旧数据(如果被压缩),并且宏块分级缓冲器314可以尝试将来自存储器的旧写入数据与新块组合。如果该组合提供完全累积,则压缩电路系统326可以正常压缩块。如果该组合不提供完全累积,则设备可以在压缩之前填充块的剩余部分。下文所讨论的图5提供了用于处理在宏块分级缓冲器314中未被完全累积的块的详细的示例性技术。需注意,与宏块中的块相关联的元数据也可以与宏块一起从l2高速缓存320存储到存储器中。
[0043]
如图所示,l2高速缓存320可以经由mux 328绕过分级缓冲器314和压缩/打包电路系统326,例如用于宏块可压缩写入或非压缩写入。在一些实施方案中,设备被配置为在一个或多个处理间隔期间关断计算压缩,例如,使得来自计算内核的像素写入不被压缩并且
电路系统316和326被禁用。
[0044]
图4是示出根据一些实施方案的在处理的各个阶段的示例性块的图。在例示的实施方案中,当块a至n分别在图3的pbe高速缓存和l2高速缓存中时,示出了块a至n的状态。
[0045]
在例示的示例中,块a在pbe高速缓存中是完整的。因此,在逐出时,压缩器316在将块a存储在l2高速缓存中之前对其进行压缩。在例示的示例中,块b在pbe高速缓存中是不完整的,因此在存储在l2高速缓存中时不被压缩。在例示的示例中,块b在l2高速缓存中保持不完整,并且可以在从l2高速缓存逐出时根据图5(下文讨论)进行处理。在例示的示例中,块c在pbe高速缓存中是不完整的,因此不被压缩器316压缩,但是当存储在l2高速缓存中时是完整的。一般来讲,较大的l2高速缓存可以允许完全累积在较小的pbe高速缓存中未被完全累积的块。在各种实施方案中,相对于传统压缩技术,本文所公开的机会多级压缩技术可以有利地提高压缩比、降低功率消耗、提高性能等。
[0046]
图5是示出根据一些实施方案的用于处理未被完全累积的块的示例性方法的流程图。在一些实施方案中,图5的技术与对应于在存储器中存储之前可用的最后一级压缩的高速缓存级别相关(例如,图3的l2高速缓存320和压缩电路系统326)。
[0047]
在510处,在例示的实施方案中,宏块分级缓冲器314接收已经从l2高速缓存320逐出的不完整块。在520处,设备确定不完整块是否已被写入存储器中。如果没有,则流程进行到530,并且设备填充丢失的像素(例如,用默认值,用基于块中累积的其他像素的值,诸如来自块中第一累积像素的颜色值等)。
[0048]
如果该块先前已被写入存储器中,则流程进行到540,并且设备确定该块在存储器中是否被压缩。该确定可以基于先前针对该块生成的元数据,该元数据可以被高速缓存或存储在存储器中,并且与该块相关联。如果未被压缩,则设备在560处读取块,将来自存储器的数据与宏块分级缓冲器314中的数据组合,填充任何丢失的像素,并且压缩块。如果被压缩,则设备在550处读取块,使用解压缩器330来解压缩块,将来自存储器的数据与宏块分级缓冲器314中的数据组合,填充任何丢失的像素,并且压缩块。
[0049]
示例性方法
[0050]
图6是示出根据一些实施方案的用于在多个高速缓存级别进行压缩的示例性方法的流程图。图6所示的方法可以结合本文所公开的计算机电路系统、系统、设备、元件或部件等中的任一者来使用。在各种实施方案中,所示的方法要素中的一些可按与所示次序不同的次序并发执行,或者可被省去。也可根据需要执行附加的方法要素。
[0051]
在610处,在例示的实施方案中,可编程着色器电路系统执行写入像素数据的计算内核的程序指令。
[0052]
在620处,在例示的实施方案中,第一高速缓存电路系统存储来自计算机内核的像素写入数据。
[0053]
在630处,在例示的实施方案中,第一压缩电路系统响应于像素写入数据的第一块在第一高速缓存电路系统中的完全累积而压缩该第一块。在一些实施方案中,对于由可编程着色器电路系统进行的包括阈值数量的块的完整数据的写入类型(例如,宏块可压缩写入),该设备被配置为将像素写入数据的多个块发送到像素写入电路系统,而不将它们存储在第一高速缓存电路系统中。
[0054]
在640处,在例示的实施方案中,第二高速缓存电路系统存储来自计算机内核的像
素写入数据,其中第二高速缓存电路系统相比于第一高速缓存电路系统在存储层级结构中处于较高级别。在一些实施方案中,设备在第二高速缓存电路系统中存储用于第一块和第二块的元数据,其中元数据指示第一块和第二块是否已经被第一压缩电路系统压缩。
[0055]
在650处,在例示的实施方案中,第二压缩电路系统响应于像素写入数据的第二块在第二高速缓存电路系统中的完全累积来压缩该第二块。需注意,例如,第二块在第一高速缓存电路系统中可能尚未完全累积,但可由于其较大的大小而在第二高速缓存电路系统中完全累积。
[0056]
在一些实施方案中,设备包括跟踪像素写入数据的多个块的相应累积状态的跟踪电路系统(例如,宏块记分板312)。在一些实施方案中,响应于从第二高速缓存电路系统逐出未被完全累积的像素写入数据的第三块,设备响应于确定第三块的对应数据未被存储在存储层级结构中的较高级别,为丢失像素插入填充数据并且压缩所填充的第三块。此外,响应于确定第三块的对应数据存储在存储层级结构中的较高级别,设备可以读取对应数据,将所读取的数据与第三块的像素写入数据组合,并且压缩所组合的第三块。此外,如果所读取的数据被压缩,则解压缩器电路系统可以响应于确定第三块的对应数据以压缩格式存储在存储层级结构中的较高级别来解压缩所读取的数据。
[0057]
在660处,在例示的实施方案中,写入电路系统将像素数据的所压缩的第一块和第二块以组合写入的方式写入存储层级结构中的较高级别。组合写入可以存储用于在图形帧的图块上操作的图形工作组的像素数据,并且第一块和第二块可包括用于图块的不同部分的像素数据。
[0058]
在各种实施方案中,所公开的技术可以通过在写入存储器之前压缩数据来有利地减少存储器带宽,并且还可以减少像素数据在存储器中的占用空间。相对于传统技术,这可以提高性能或降低功率消耗。此外,所公开的多级压缩技术可以提高压缩性能、提高压缩比等,同时为在不同时间写入的像素保持适当的像素数据。
[0059]
示例性设备
[0060]
现在参考图7,该图示出了例示设备700的示例性实施方案的框图。在一些实施方案中,可将设备700的元件包括在片上系统内。在一些实施方案中,可将设备700包括在可以是电池供电的移动设备中。因此,设备700的功率消耗可能是重要的设计考虑因素。在例示的实施方案中,设备700包括结构体710、计算复合体720、输入/输出(i/o)桥接部750、高速缓存/存储器控制器745、图形单元150,以及显示单元765。在一些实施方案中,除所示的部件之外和/或代替所示的部件,设备700可包括其他部件(未示出),诸如视频处理器编码器和解码器、图像处理或识别元件、计算机视觉元件等。
[0061]
结构体710可以包括各种互连器、总线、mux、控制器等,并且可以被配置为促进设备700的各种元件之间的通信。在一些实施方案中,结构体710的各部分可被配置为实现各种不同的通信协议。在其他实施方案中,结构体710可实现单个通信协议,并且耦接到结构体710的元件可在内部从单个通信协议转换到其他通信协议。
[0062]
在例示的实施方案中,计算复合体720包括总线接口单元(biu)725、高速缓存730,以及核心735和740。在各种实施方案中,计算复合体720可包括各种数量的处理器、处理器核心和/或高速缓存。例如,计算复合体720可包括1个、2个或4个处理器核心,或任何其他合适的数量。在一个实施方案中,高速缓存730是一组关联l2高速缓存。在一些实施方案中,核
心735和/或740可包括内部指令和/或数据高速缓存。在一些实施方案中,结构体710、高速缓存730或设备700中的其他地方的一致性单元(未示出)可被配置为保持设备700的各种高速缓存之间的一致性。biu 725可被配置为管理计算复合体720和设备700的其他元件之间的通信。处理器核心诸如核心735和740可被配置为执行可包括操作系统指令和用户应用指令的特定指令集架构(isa)的指令。
[0063]
高速缓存/存储器控制器745可被配置为管理结构体710与一个或多个高速缓存和/或存储器之间的数据传输。例如,可将高速缓存/存储器控制器745耦接到l3高速缓存,继而可将该l3高速缓存耦接到系统存储器。在其他实施方案中,可将高速缓存/存储器控制器745直接耦接到存储器。在一些实施方案中,高速缓存/存储器控制器745可包括一个或多个内部高速缓存。
[0064]
如本文所用,术语“耦接到”可指示元件之间的一个或多个连接,并且耦接可包括中间元件。例如,在图7中,图形单元150可被描述为通过结构体710和高速缓存/存储器控制器745“耦接到”存储器。相比之下,在图7的例示的实施方案中,图形单元150“直接耦接”到结构体710,因为不存在中间元件。
[0065]
图形单元150可包括一个或多个处理器和/或一个或多个图形处理单元(gpu)。例如,图形单元150可接收面向图形的指令,诸如metal或指令。图形单元150可基于所接收的面向图形的指令执行专用gpu指令或执行其他操作。图形单元150通常可被配置为并行处理大块数据,并且可在帧缓冲器中构建图像以输出到显示器。图形单元150可包括在一个或多个图形处理流水线中的变换、照明、三角形和/或渲染引擎。图形单元150可输出用于显示图像的像素信息。在各种实施方案中,可编程着色器160可以包括被配置为执行图形程序的高度并行的执行核心,这些图形程序可以包括像素任务、顶点任务和计算任务(其可以是图形相关的或可以不是图形相关的)。
[0066]
在一些实施方案中,可编程着色器160包括公开的高速缓存和压缩电路系统。
[0067]
显示单元765可被配置为从帧缓冲区读取数据并且提供像素值流以用于显示。在一些实施方案中,显示单元765可被配置为显示流水线。另外,显示单元765可被配置为将多个帧混合以产生输出帧。此外,显示单元765可以包括用于耦接到用户显示器(例如,触摸屏或外部显示器)的一个或多个接口(例如,或嵌入式显示端口(edp))。
[0068]
i/o桥接部750可包括被配置为实现例如通用串行总线(usb)通信、安全性、音频和/或低功率永远在线功能的各种元件。i/o桥接部750还可以包括例如脉冲宽度调制(pwm)、通用输入/输出(gpio)、串行外围接口(spi)和/或内部集成电路(i2c)的接口。可将各种类型的外围设备和设备经由i/o桥接部750耦接到设备700。
[0069]
示例性计算机可读介质
[0070]
本公开已经在上文中详细描述了各种示例性电路。意图在于本公开不仅涵盖包括此类电路系统的实施方案,而且还涵盖包括指定此类电路系统的设计信息的计算机可读存储介质。因此,本公开旨在支持不仅涵盖包括所公开电路系统的装置、而且还涵盖以被配置为生成包括所公开电路系统的硬件(例如集成电路)的制造系统识别的格式指定电路系统的存储介质的权利要求。对此类存储介质的权利要求旨在涵盖例如生成电路设计但本身不制造该设计的实体。
[0071]
图8是示出根据一些实施方案的存储电路设计信息的示例性非暂态计算机可读存
储介质的框图。在例示的实施方案中,半导体制造系统820被配置为处理存储在非暂态计算机可读介质810上的设计信息815,并且基于设计信息815制造集成电路830。
[0072]
非暂态计算机可读存储介质810可包括各种适当类型的存储器设备或存储设备中的任一个。非暂态计算机可读存储介质810可以是安装介质,例如cd-rom、软盘或磁带设备;计算机系统存储器或随机存取存储器诸如dram、ddr ram、sram、edo ram、rambus ram等;非易失性存储器诸如闪存、磁介质,例如,硬盘驱动器或光学存储装置;寄存器,或其他类似类型的存储器元件等。非暂态计算机可读存储介质810还可以包括其他类型的非暂态存储器或它们的组合。非暂态计算机可读存储介质810可以包括可驻留在不同位置例如通过网络连接的不同计算机系统中的两个或更多个存储器介质。
[0073]
设计信息815可利用各种适当的计算机语言中的任何语言来指定,包括硬件描述语言诸如但不限于:vhdl、verilog、systemc、systemverilog、rhdl、m、myhdl等。设计信息815可以能被半导体制造系统820用来制造集成电路830的至少一部分。设计信息815的格式可以被至少一个半导体制造系统820识别。在一些实施方案中,设计信息815还可以包括指定集成电路830的综合和/或布局的一个或多个单元库。在一些实施方案中,设计信息整体或部分地以指定单元库元素及其连接性的网表的形式来指定。单独获取的设计信息815可以包括或可以不包括用于制造对应集成电路的足够信息。例如,设计信息815可以指定要制造的电路元件,但不指定它们的物理布局。在这种情况下,设计信息815可能需要与布局信息组合以实际制造指定的电路系统。
[0074]
在各种实施方案中,集成电路830可以包括一个或多个定制宏单元,诸如存储器、模拟或混合信号电路等。在这种情况下,设计信息815可包括与所包括的宏单元相关的信息。此类信息可以包括但不限于电路图捕获数据库、掩模设计数据、行为模型以及设备或晶体管级网表。如本文所用,掩模设计数据可以根据图形数据系统(gdsii)或任何其他合适的格式来格式化。
[0075]
半导体制造系统820可包括被配置为制造集成电路的各种适当元件中的任何元件。这可包括例如用于(例如,在可包括掩模的晶片上)沉积半导体材料、移除材料、改变所沉积材料的形状、(例如,通过掺杂材料或使用紫外线处理来修改介电常数)对材料进行改性等的元件。半导体制造系统820还可被配置为针对正确操作执行所制造电路的各种测试。
[0076]
在各种实施方案中,集成电路830被配置为根据设计信息815指定的电路设计来操作,这可包括执行本文所述的功能中的任何功能。例如,集成电路830可包括图1a至图3或图7中所示的各种元件中的任何元件。另外,集成电路830可被配置为执行本文结合其他部件所述的各种功能。另外,本文所述的功能性可由多个连接的集成电路来执行。
[0077]
如本文所用,形式为“指定被配置为

的电路的设计的设计信息”的短语并不暗示为了满足该要素就必须制造所涉及的电路。相反,该短语表明设计信息描述了一种电路,该电路在被制造时将被配置为执行所指示的动作或者将包括所指定的部件。
[0078]
***
[0079]
尽管上文已经描述了具体实施方案,但这些实施方案并非要限制本公开的范围,即使仅相对于特定特征描述单个实施方案的情况下也是如此。本公开中提供的特征示例意在进行例示,而非限制,除非做出不同表述。上述说明书意在涵盖此类替代形式、修改形式和等价形式,这对知晓本公开有效效果的本领域技术人员将是显而易见的。
[0080]
本公开的范围包括本文(明确或暗示)公开的任意特征或特征的组合或其任意概括,而无论其是否减轻本文解决的任何或所有问题。因此,在本专利申请(或要求享有其优先权的专利申请)进行期间可针对特征的任何此类组合作出新的权利要求。具体地,参考所附权利要求书,可将从属权利要求的特征与独立权利要求的特征进行组合,并可通过任何适当的方式而不是仅通过所附权利要求书中所列举的特定组合来组合来自相应独立权利要求的特征。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献