CN101449239B - 具有算术及初等函数单元的图形处理器 - Google Patents

具有算术及初等函数单元的图形处理器 Download PDF

Info

Publication number
CN101449239B
CN101449239B CN2007800187302A CN200780018730A CN101449239B CN 101449239 B CN101449239 B CN 101449239B CN 2007800187302 A CN2007800187302 A CN 2007800187302A CN 200780018730 A CN200780018730 A CN 200780018730A CN 101449239 B CN101449239 B CN 101449239B
Authority
CN
China
Prior art keywords
alu
elementary function
function units
instruction
elementary
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.)
Active
Application number
CN2007800187302A
Other languages
English (en)
Other versions
CN101449239A (zh
Inventor
阿列克谢·V·布尔多
杜云
于春
焦国方
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN101449239A publication Critical patent/CN101449239A/zh
Application granted granted Critical
Publication of CN101449239B publication Critical patent/CN101449239B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • 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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/3016Decoding the operand specifier, e.g. specifier format
    • G06F9/30167Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing
    • G06F9/383Operand prefetching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3851Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Image Generation (AREA)
  • Image Processing (AREA)
  • Advance Control (AREA)

Abstract

本发明说明一种能够有效地执行算术运算并计算初等函数的图形处理器。所述图形处理器具有可执行算术运算的至少一个算术逻辑单元(ALU)及可计算初等函数的至少一个初等函数单元。所述ALU及初等函数单元可经布置使得其可并行操作以改善吞吐量。所述图形处理器还可包括比ALU少的初等函数单元,例如,四个ALU及单个初等函数单元。所述四个ALU可对(1)一个像素的属性的四个分量或(2)四个像素的属性的一个分量执行算术运算。所述单个初等函数单元每次可对一个像素的一个分量进行操作。单个初等函数单元的使用可降低成本,同时仍提供良好的性能。

Description

具有算术及初等函数单元的图形处理器
技术领域
本发明大体来说涉及电路,且更具体来说涉及图形处理器。
背景技术
图形处理器广泛用于再现2维(2-D)及3维(3-D)图像以用于各种应用,例如视频游戏、制图、计算机辅助设计(CAD)、仿真及显像工具、成像等。3-D图像可建模有表面,且每一表面可用多边形(通常为三角形)近似。用于表示3-D图像的三角形的数量取决于表面的复杂性以及图像的所需分辨率且可以相当大,例如数百万个。每一三角形由三个顶点界定,且每一顶点与例如空间坐标、色彩值及纹理坐标等各种属性相关联。每一属性可具有多达四个分量。
图形处理器可执行各种图形操作以再现图像。所述图形操作可包括光栅化、模版及深度测试、纹理映射、着色等。所述图像由许多三角形组成,且每一三角形由图片元素(像素)组成。所述图形处理器通过确定每一三角形内的每一像素的分量值来再现所述三角形。
图形处理器可采用着色器核心来执行某些图形操作,例如着色。着色是高度复杂的图形操作,其涉及照明、遮蔽等。所述着色器核心可需要计算超越初等函数,例如正弦、余弦、倒数、对数、指数、平方根及倒数平方根。这些初等函数可用多项式表达式近似,可通过由算术逻辑单元(ALU)执行的相对简单的指令来评价所述多项式表达式。然而,着色器性能可因使用ALU以此方式计算初等函数而受到损失。
发明内容
本文中说明能够高效地执行算术运算并计算初等函数的图形处理器。术语“操作”与“函数”有时可互换使用。图形处理器包含着色器核心及可能的其它单元。所述着色器核心具有可执行算术运算的至少一个ALU及可计算初等函数的至少一个初等函数单元。在某些实施例中,所述ALU及初等函数单元经布置及互连使得其可并行对相同或不同线程的指令进行操作以改善吞吐量。举例来说,所述ALU可执行一个线程的一个指令,且所述初等函数单元可同时执行另一线程的另一指令。这些线程可用于相同或不同的图形应用程序。
在其它实施例中,所述着色器核心具有比ALU少的初等函数单元,例如四个ALU及单个初等函数单元。所述四个ALU可对(1)一个像素的属性的四个分量或(2)多达四个像素的属性的一个分量执行算术运算。所述单个初等函数单元每次可处理一个像素的一个分量。使用单个初等函数单元可降低成本(因为,初等函数单元比ALU复杂且成本比ALU高),同时仍提供良好的性能(因为初等函数具有比算术运算低的平均使用)。
下文进一步详细说明本发明的各个方面及实施例。
附图说明
结合图式阅读下文所述的详细说明,人们将明了本发明的特征及性质,在所有图式中相同的参考字符对应地进行标识。
图1显示支持图形应用程序的图形处理器。
图2图解说明像素的属性及分量。
图3A显示使用四个标量ALU的像素并行处理。
图3B显示使用一个四元组ALU的分量并行处理。
图4显示具有4单元ALU核心及4单元初等函数(EF)核心的着色器核心。
图5显示具有并行ALU核心及EF核心的着色器核心。
图6显示具有4单元ALU核心及1单元EF核心的着色器核心。
图7显示具有图形处理器的无线装置的框图。
具体实施方式
本文所用“实例性”一词意指“用作实例、示例或例示”。在本文中任何称为“实例性”的实施例或设计未必应视为较其它实施例或设计为优选或有利。
图1显示图形系统100的框图,图形系统100支持N个图形应用程序/程序110a到110n,其中大体来说N>1。图形系统100可以是独立的系统或较大系统(计算系统、无线通信装置等)的部分。图形应用程序110a到110n可用于视频游戏、图形等,且可同时运行。每一图形应用程序110可产生线程以实现所需的结果。线程(或执行线程)指示可通过一个或一个以上指令序列执行的具体任务。线程允许图形应用具有由不同单元同时执行的多个任务且进一步允许不同的图形应用共用资源。
图形处理器120从图形应用程序110a到110n接收线程并执行这些线程所指示的任务。在图1所示的实施例中,图形处理器120包括着色器核心/处理器130、纹理引擎140及高速缓冲存储器系统150。核心通常是指集成电路内的处理单元。术语“核心”、“引擎”、“处理器”及“处理单元”经常可互换使用。着色器核心130可执行某些图形操作(例如,着色)且可计算超越初等函数。纹理引擎140可执行其它图形操作,例如纹理映射。高速缓冲存储器系统150可包括一个或一个以上高速缓存器,其为可存储用于着色器核心130及纹理引擎140的数据及指令的高速存储器。
图形处理器120可包括其它处理及控制单元、引擎及存储器。举例来说,图形处理器120可包括执行三角形设置、光栅化、模版印刷及深度测试、属性设置、像素内插等的一个或一个以上额外引擎。本文中所说明的各种图形操作在所属技术领域中已知。所述额外引擎可耦合在图形应用程序110与着色器核心130之间或可耦合到着色器核心130。图形处理器120可实施软件接口,例如开放性图形库(OpenGL)、Direct3D等。开放性图形库说明于口期为2004年10月22日的标题为“OpenGL
Figure G2007800187302D0003093420QIETU
图形系统:说明书”的文件的2.0版本中,所述文件公开可得。
主存储器160是离图形处理器120更远定位(例如,芯片外)的大型较慢的存储器。主存储器160存储可加载到高速缓冲存储器系统150内的高速缓存器中的数据及指令。
图2图解说明像素的属性及分量。如上所述,2-D或3-D图像可由许多三角形组成,且每一三角形可由像素组成。每一像素可具有各种属性,例如空间坐标、色彩值、纹理坐标等。每一属性可具有多达四个分量。举例来说,可通过针对水平及垂直坐标(x及y)及深度(z)的三个分量或通过四个分量x、y、z及w给出空间坐标,其中w是齐次坐标的第四项。齐次坐标用于某些图形操作,例如转换、缩放、旋转等。色彩值通常由红色(r)、绿色(g)及蓝色(b)给出。纹理坐标通常由水平及垂直坐标(u及v)给出。像素也可与其它属性相关联。
在许多情况下,需要处理将要再现的图像中的像素群组。可基于各种因素(例如,硬件需要、性能等)来选择群组大小。2x2的群组大小可提供各种因素之间的良好折衷。可以若干种方式执行对2x2格中的四个像素的处理。
图3A显示分别使用四个相同的标量ALU(ALU1到ALU4)对四个像素1到4的像素并行处理。在此实例中,正被处理的属性的四个分量标示为Ap,1、AP,2、AP,3及Ap,4,其中p为像素索引且对于像素1到4来说p∈{1,2,3,4}。这些分量可用于空间坐标、色彩值、纹理坐标等。将要应用到所述四个分量的四个操作数标示为Bp.1、BP,2、BP,3及Bp,4(其中p∈{1,2,3,4})且可以是常数。在此实例中,所述ALU执行相乘与累加(MAC)操作。因此,每一像素的四个分量与所述四个操作数相乘,且累加所述四个中间结果以产生所述像素的最终结果。
对于图3A中的像素并行处理,每一标量ALU处理一个像素的四个分量,且所述四个ALU同时处理所述四个像素。ALU1在第一时钟周期T1中将分量A1,1与B1,1相乘,然后在第二时钟周期T2中将分量A1,2与B1,2相乘且将此结果与现有结果累加,然后在第三时钟周期T3中将分量A1,3与B1,3相乘且将此结果与现有结果累加,然后在第四时钟周期T4中将分量A1,4与B1,4相乘且将此结果与现有结果累加。ALU2到ALU4以类似方式分别对像素2到4的分量进行处理。
图3B显示使用一个四元组ALU对四个像素的分量并行处理,所述ALU还可称为基于向量的ALU。对于分量并行处理,所述四元组ALU每次处理一个像素的所有四个分量。因此,所述四元组ALU将分量A1,1、A1,2、A1,3及A1,4分别与操作数B1,1、B1,2、B1,3及B1,4相乘,且在第一时钟周期T1中将所述四个中间结果累加以获得所述第一像素的最终结果。所述四元组ALU分别在时钟周期T2、T3及T4中以类似方式处理第二、第三及第四像素的分量。
图3A及3B显示用于对多达四个像素的属性的多达四个分量执行四元组处理的两个方案。可通过单个四元组ALU或四个标量ALU执行算术运算的四元组处理。在以下说明中,假设ALU为标量ALU,除非另外陈述。四元组处理可显著改善性能。因此,着色器核心130可设计有用以执行四元组处理的功能。
图4显示具有4单元ALU核心440及4单元初等函数核心450的着色器核心/处理器130a的实施例的框图。着色器核心130a可用于图1中的着色器核心130。
在着色器核心130a内,多路复用器(Mux)410从图形应用程序110a到110n接收线程并将这些线程提供到线程调度器及现场寄存器420。线程调度器420执行各种功能以调度并管理线程的执行。线程调度器420确定是否接受新的线程、是否针对每一接受的线程创建寄存器映射表及是否向所述线程分配资源。所述寄存器映射表指示逻辑寄存器地址到物理寄存器堆地址之间的映射。对于每一线程,线程调度器420确定所述线程所需要的资源是否就绪,如果所述线程的任何资源(例如,指令、寄存器堆或纹理读取)未就绪那么将所述线程推入睡眠队列中,且当所有所述资源就绪时将所述线程从所述睡眠队列移动到活跃队列。线程调度器420与加载控制单元460面接,以使所述线程的资源同步。
线程调度器420还管理线程的执行。线程调度器420从指令高速缓存器422提取每一线程的指令,如果需要将每一指令解码,且执行所述线程的流控制。线程调度器420选择要执行的活跃线程,检查所述所选择线程之间是否存在读取/写入端口冲突,如果不存在冲突,那么将一个线程的指令发送到处理核心430中且将另一线程的指令发送到加载控制单元460。线程调度器420维持每一线程的程序/指令计数器且在指令被执行或程序流被更改时更新此计数器。线程调度器420还发出提取未命中指令的请求并移除完成的线程。
指令高速缓存器422存储所述线程的指令。这些指令指示针对每一线程将要执行的具体操作。每一操作可以是算术运算、初等函数、存储器存取操作等。指令高速缓存器422可在需要时通过加载控制单元460加载来自高速缓冲存储器系统150及/或主存储器160的指令。
在图4所示的实施例中,处理核心430包括ALU核心440及初等函数核心450。ALU核心440执行算术运算,例如加法、减法、乘法、相乘与累加、绝对、否定、比较、饱和等。ALU核心440还可执行逻辑操作,例如AND、OR、XOR等。ALU核心440还可执行格式转换,例如从整数到浮点数,且反之亦然。在图4所示的实施例中,ALU核心440可以是单个四元组ALU或四个标量ALU。ALU核心440可对多达四个像素的属性的一个分量执行像素并行处理,如图3A中所示。另一选择为,ALU核心440可对单个像素的属性的多达四个分量执行分量并行处理,如图3B中所示。
在图4所示的实施例中,初等函数核心450由四个初等函数单元组成,所述初等函数单元可计算多达四个像素的属性的一个分量的初等函数(像素并行)或一个像素的属性的多达四个分量的初等函数(分量并行)。初等函数核心450可计算超越初等函数,例如正弦、余弦、倒数、对数、指数、平方根、倒数平方根等,其广泛用于着色器指令中。初等函数核心450可通过在比使用简单的指令执行初等函数的多项式近似所需要的时间短得多的时间内计算所述初等函数来改善着色器性能。
加载控制单元460控制着色器核心130a内各种单元的数据及指令流。加载控制单元460与高速缓冲存储器系统150面接且用来自高速缓冲存储器系统150的数据及指令加载指令高速缓存器422、常量缓冲器432及寄存器堆组/输出缓冲器470。加载控制单元460还将输出缓冲器470中的数据保存到高速缓冲存储器系统150。加载控制单元460还向纹理引擎140提供指令。
常量缓冲器432存储ALU核心440使用的常数值。输出缓冲器470存储临时结果以及所述线程的来自ALU核心440及初等函数核心450的最终结果。多路分用器(Demux)480从输出缓冲器470接收所述已执行线程的最终结果并将这些结果提供到图形应用程序。
在图4所示的实施例中,处理核心430包括ALU核心440及初等函数核心450两者。此实施例允许ALU核心440及初等函数核心450共享将核心440及450耦合到着色器核心130a内的其它单元(例如,线程调度器420及输出缓冲器470)的总线。
初等函数单元通常比ALU复杂。即使对于成本有效的实施方案,初等函数单元通常占据比ALU大得多的电路面积且因此比ALU昂贵。为针对所有着色器指令实现高着色器吞吐量,初等函数单元的数量可经选择以与ALU的数量匹配,ALU的数量在图4所示的实施例中为四个。然而,研究已表明即使广泛使用初等函数,初等函数的平均使用也大大低于ALU操作的平均使用。所述较低的平均使用是因为初等函数比算术运算更少地被调用以及由初等函数处理的分量比算术运算少。举例来说,初等函数通常比算术运算更少地被调用且因此可由较少的初等函数单元充分支持。此外,虽然可能常见对属性的所有四个分量执行加法或乘法(那么此将受益于具有四个ALU),但较不常见对所有四个分量执行初等函数。因此,较少的初等函数单元便可能够在许多情况(其中仅对一子组分量(例如,一个或两个分量)执行初等函数)下提供良好的性能。实施较少的初等函数单元可降低成本,同时仍提供良好的性能。
图5显示具有4单元ALU核心540及L单元初等函数核心550的着色器核心130b的实施例的框图,其中1≤L<4。着色器核心130b也可用于图1中的着色器核心130。着色器核心130b包括多路复用器510、线程调度器及现场寄存器520、指令高速缓存器522、常量缓冲器532、ALU核心540、初等函数核心550、加载控制单元560、寄存器堆组/输出缓冲器570及多路分用器580,其分别以类似于图4中的单元410、420、422、432、440、450、460、470及480的方式操作。
ALU核心540可以是单个四元组ALU或四个标量ALU。ALU核心540经由一组总线耦合到线程调度器520、常量缓冲器532及输出缓冲器570。初等函数核心550可由一个、两个或三个(L)初等函数单元组成,所述初等函数单元可计算一个像素的L个分量或L个像素的一个分量的初等函数。初等函数核心550经由另一组总线耦合到线程调度器520、常量缓冲器532及输出缓冲器570。在图5所示的实施例中,ALU核心540及初等函数核心550彼此单独实施且经由单独总线耦合到着色器核心130b内的其它单元。那么,ALU核心540与初等函数核心550可并行对不同的指令进行操作。这些指令可用于相同或不同的图形应用程序。
在图5所示的实施例中,初等函数单元的数量比ALU的数量少且可基于成本与性能之间的折衷选择。在许多情况下,由于初等函数的较低平均使用,初等函数核心550将能够跟上ALU核心540。线程调度器520在知道L个(而不是四个)初等函数单元可供使用的情况下适当调度初等函数操作。
图6显示具有4单元ALU核心640及1单元初等函数核心650的着色器核心/处理器130c的实施例的框图。着色器核心130c也可用于图1中的着色器核心130。着色器核心130c包括多路复用器、线程调度器及现场寄存器620、指令高速缓存器622、常量缓冲器632、ALU核心640、初等函数核心650、加载控制单元660、寄存器堆组/输出缓冲器670及多路分用器680,其以类似于图4中的单元410、420、422、432、440、450、460、470及480的方式操作。
ALU核心640可以是单个四元组ALU或四个标量ALU。ALU核心640经由一组总线耦合到线程调度器620、常量缓冲器632及输出缓冲器670。初等函数核心650可由单个初等函数单元组成,所述初等函数单元每次可计算一个像素的一个分量的初等函数。在图6所示的实施例中,初等函数核心650耦合到加载控制单元660及输出缓冲器670。此实施例减少支持单独的ALU核心640及初等函数核心650的总线数量。此实施例还可提供其它益处,例如更高效的资源(例如,寄存器堆读取/写入端口、指令解码等)共享。
在所述设计以及初等函数核心650置于着色器核心130c内的情况下,可以适当方式产生初等函数的指令(或EF指令)。如果EF单元的数量等于ALU单元的数量(例如,如图4中所示)且如果所述EF单元具有与所述ALU单元相同的管线等待时间,那么可将所述EF指令作为具有可预测管线延迟的ALU指令来对待。然而,ALU核心640与初等函数核心650的不均匀实施可导致不均匀的吞吐量。因此,在一个实施例中,着色器核心130c将初等函数核心650作为加载资源来对待且以与(例如)纹理加载或存储器加载类似的方式及相同的同步来处理EF指令。举例来说,着色器编译器可将EF指令作为与纹理加载相关的指令而不是作为ALU指令编译,此可能是图4及5中所示实施例中的情况。
所述着色器编译器可在指令中适当包括同步(sync)位。同步位可指示包含所述同步位的当前指令具有与一个或一个以上先前指令的数据相依性,其可具有不可预测的延迟或等待时间。所述不可预测的等待时间可因若干原因而产生。首先,纹理加载或存储器加载的不可预测等待时间可因不可预测的执行状况而产生,例如高速缓存器命中/未命中、存储器存取能力。存储器存取序列等。第二,不可预测的等待时间可由ALU核心与初等函数核心的不均匀实施导致。所述着色器编译器可将同步位插入到与先前EF指令具有数据相依性的指令中,其可具有不可预测的延迟。这些同步位确保所述指令跟随其相依的EF指令且因此处理适当的数据。
在图6所示的实施例中,线程调度器620可产生可与数据加载请求共享总线的初等函数请求。此共享的总线可包含从线程调度器620到加载控制单元660的总线。然而,初等函数核心650可与加载控制单元660中的加载指令并行执行。在另一实施例中,初等函数核心650经由专用总线直接耦合到线程调度器620,例如,如图5中所示。在此实施例中,初等函数请求与数据加载请求可使用单独的总线。在两个实施例中,线程调度器620、ALU核心640、初等函数核心650及加载控制单元660可并行对不同的线程进行操作以改善性能。
图4到6显示着色器核心130a、130b及130c的具体实施例。着色器核心130a、130b及130c也可具有其它变化形式。举例来说,图4中的初等函数核心450可包括少于四个初等函数单元。作为另一实例,图6中的初等函数核心650可包括一个以上初等函数单元,例如两个初等函数单元。
一般来说,着色器核心可包括任何数量的处理、控制及存储器单元,且可以任何方式布置所述处理、控制及存储器单元。还可将这些单元称作其它名称。举例来说,加载控制单元还可称为输入/输出(I/O)接口单元。在某些实施例中,着色器核心可包括比ALU少的初等函数单元以在性能很少降级的情况下降低成本。在其它实施例中,着色器核心可包括单独的ALU核心与初等函数核心,所述ALU核心与初等函数核心可并行对相同或不同图形应用程序的不同指令进行操作。可用所属技术领域中已知的各种设计来实施所述ALU及初等函数单元。着色器核心还可经由同步及/或异步接口与外部单元面接。
本文中所说明的图形处理器及着色器核心可用于无线通信、计算、联网、个人电子装置等。下文说明用于无线通信的图形处理器的实例性使用。
图7显示无线通信系统中无线装置700的实施例的框图。无线装置700可以是蜂窝式电话、终端、手机、个人数字助理(PDA)或某种其它装置。所述无线通信系统可以是码分多址(CDMA)系统、全球移动通信(GSM)系统或某种其它系统。
无线装置700能够经由接收路径及传输路径提供双向通信。在所述接收路径上,通过天线712接收由基站传输的信号并将其提供到接收器(RCVR)714。接收器714调节并数字化所接收的信号,并将样本提供到数字区段720以进行进一步处理。在所述传输路径上,传输器(TMTR)716接收将从数字区段720传输的数据、处理并调节所述数据,并产生经调制信号,所述信号经由天线712传输到基站。
数字区段720包括各种处理及接口单元,例如调制解调器处理器722、视频处理器724、应用处理器726、显示器处理器728、控制器/处理器730、图形处理器740及外部总线接口(EBI)760。调制解调器处理器722执行用于数据传输及接收的处理(例如,编码、调制、解调及解码)。视频处理器724对视频内容(例如,静止图像、移动视频及移动文本)执行处理以用于例如摄录机、视频回放及视频会议等视频应用。应用处理器726执行例如多路呼叫、网页浏览、媒体播放器及用户接口等各种应用的处理。显示器处理器728执行处理以促进视频、图形及文本在显示器单元780上的显示。控制器/处理器730可引导数字区段720内各种处理及接口单元的操作。
图形处理器740执行对图形应用程序的处理且可如上文所说明来实施。举例来说,图形处理器740可包括图1中的着色器核心/处理器130及纹理引擎140。高速缓冲存储器系统750存储用于图形处理器740的数据及/或指令。高速缓冲存储器系统750可用(1)可被指派给图形处理器740内的不同引擎的可配置高速缓存器及/或(2)被指派给具体引擎的专用高速缓存器实施。EBI760促进数字区段720(例如,高速缓存器)与主存储器770之间的数据转移。
数字区段720可用一个或一个以上数字信号处理器(DSP)、微处理器、精简指令集计算机(RISC)等来实施。数字区段720还可制作在一个或一个以上专用集成电路(ASIC)或某种其它类型的集成电路(IC)上。
本文中所说明的图形处理器及着色器核心/处理器可实施于各种硬件单元中。举例来说,所述图形系统及着色器核心/处理器可实施于ASIC、数字信号处理器(DSP)、数字信号处理装置(DSPD)、可编程逻辑装置(PLD)、现场可编程门阵列(FPGA)、处理器、控制器、微控制器、微处理器及其它电子单元中。
图形处理器的某些部分可实施于固件及/或软件中。举例来说,线程调度器及/或加载控制单元可用执行本文中所说明的功能的固件及/或软件模块(例如,程序、功能等)来实施。固件及/或软件代码可存储在存储器(例如,图7中的存储器750或770)中并由处理器(例如,处理器730)执行。所述存储器既可实施于处理器内部也可实施于处理器外部。
提供前文对所揭示实施例的说明旨在使所属技术领域中的技术人员能够制作或使用本发明。所属技术领域中的技术人员将容易地明了这些实施例的各种修改,且本文所定义的一般原理也可在不背离本发明的精神或范围的情况下应用于其它实施例。因此,并非打算将本发明限定为本文所示实施例,而是要赋予其与本文所揭示原理及新颖特征相一致的最宽广范围。

Claims (17)

1.一种用于图像处理器的设备,其包含:
输出缓冲器;
至少一个算术逻辑单元(ALU),其操作以基于ALU指令来执行算术运算;及
至少一个初等函数单元,其操作以基于初等函数单元指令来计算初等函数,其中所述至少一个初等函数单元与所述至少一个ALU独立地耦合至所述输出缓冲器且经配置以并行对不同的指令进行操作,且其中指令包括同步位,所述同步位作为所述ALU指令的一部分,所述同步位确保相依于先前初等函数单元指令的指令跟随所述指令相依的所述先前初等函数单元指令。
2.如权利要求1所述的设备,其包含四个ALU。
3.如权利要求2所述的设备,其中所述四个ALU可操作以对像素的属性的多达四个分量执行算术运算。
4.如权利要求2所述的设备,其中所述四个ALU可操作以对多达四个像素的属性的分量执行算术运算。
5.如权利要求1所述的设备,其包含比ALU少的初等函数单元。
6.如权利要求1所述的设备,其包含单个初等函数单元。
7.如权利要求1所述的设备,其中所述至少一个ALU与所述至少一个初等函数单元具有不同的等待时间。
8.如权利要求1所述的设备,其进一步包含:
加载控制单元,其操作以促进所述至少一个ALU与存储器系统之间及所述至少一个初等函数单元与所述存储器系统之间的数据交换。
9.如权利要求8所述的设备,其中所述至少一个初等函数单元耦合到所述加载控制单元。
10.如权利要求9所述的设备,其中所述至少一个初等函数单元可与所述加载控制单元并行操作。
11.如权利要求9所述的设备,其中对所述至少一个初等函数单元的请求及对所述加载控制单元的加载请求共享总线,且其中所述至少一个初等函数单元及所述加载控制单元可操作以并行执行不同的线程。
12.如权利要求1所述的设备,其进一步包含:
调度器,其操作以从至少一个图形应用程序接收线程并调度所述至少一个ALU及所述至少一个初等函数单元对所述线程的执行。
13.如权利要求12所述的设备,其中所述至少一个初等函数单元耦合到所述调度器。
14.一种集成电路,其包含:
输出缓冲器;
至少一个算术逻辑单元(ALU),其操作以基于ALU指令来执行算术运算;及
至少一个初等函数单元,其操作以给予初等函数单元指令来计算初等函数,其中所述至少一个初等函数单元与所述至少一个ALU独立地耦合至所述输出缓冲器且经配置以并行对不同的指令进行操作,且其中所述指令包括同步位,所述同步位作为所述ALU指令的一部分,所述同步位确保相依于先前初等函数单元指令的指令跟随所述指令相依的所述先前初等函数单元指令。
15.如权利要求14所述的集成电路,其包含四个ALU及少于四个的初等函数单元。
16.一种无线装置,其包含:
图形处理器,其包含输出缓冲器、操作以基于ALU指令来执行算术运算的至少一个算术逻辑单元(ALU)、及操作以基于所述初等函数单元指令来计算初等函数的至少一个初等函数单元,其中所述至少一个初等函数单元与所述至少一个ALU独立地耦合至所述输出缓冲器且经配置以并行对不同的指令进行操作,且其中所述指令包括同步位,所述同步位作为所述ALU指令的一部分,所述同步位确保相依于先前初等函数单元指令的指令跟随所述指令相依的所述先前初等函数单元指令;及
存储器系统,其操作以存储用于所述图形处理器的数据。
17.如权利要求16所述的无线装置,其中所述图形处理器包含四个ALU及少于四个的初等函数单元。
CN2007800187302A 2006-05-25 2007-05-25 具有算术及初等函数单元的图形处理器 Active CN101449239B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/441,696 2006-05-25
US11/441,696 US8884972B2 (en) 2006-05-25 2006-05-25 Graphics processor with arithmetic and elementary function units
PCT/US2007/069803 WO2007140338A2 (en) 2006-05-25 2007-05-25 Graphics processor with arithmetic and elementary function units

Publications (2)

Publication Number Publication Date
CN101449239A CN101449239A (zh) 2009-06-03
CN101449239B true CN101449239B (zh) 2012-07-18

Family

ID=38683594

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007800187302A Active CN101449239B (zh) 2006-05-25 2007-05-25 具有算术及初等函数单元的图形处理器

Country Status (8)

Country Link
US (2) US8884972B2 (zh)
EP (1) EP2024819B1 (zh)
JP (1) JP5006390B2 (zh)
KR (1) KR101012625B1 (zh)
CN (1) CN101449239B (zh)
CA (1) CA2650539A1 (zh)
IN (1) IN266871B (zh)
WO (1) WO2007140338A2 (zh)

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9071344B2 (en) 2005-08-22 2015-06-30 Qualcomm Incorporated Reverse link interference cancellation
US8611305B2 (en) 2005-08-22 2013-12-17 Qualcomm Incorporated Interference cancellation for wireless communications
US8766995B2 (en) 2006-04-26 2014-07-01 Qualcomm Incorporated Graphics system with configurable caches
US20070268289A1 (en) * 2006-05-16 2007-11-22 Chun Yu Graphics system with dynamic reposition of depth engine
US8869147B2 (en) 2006-05-31 2014-10-21 Qualcomm Incorporated Multi-threaded processor with deferred thread output control
US8644643B2 (en) * 2006-06-14 2014-02-04 Qualcomm Incorporated Convolution filtering in a graphics processor
US8766996B2 (en) 2006-06-21 2014-07-01 Qualcomm Incorporated Unified virtual addressed register file
US20080122843A1 (en) * 2006-07-20 2008-05-29 Via Technologies, Inc. Multi-thread vertex shader, graphics processing unit and flow control method
US8345053B2 (en) * 2006-09-21 2013-01-01 Qualcomm Incorporated Graphics processors with parallel scheduling and execution of threads
US9135017B2 (en) * 2007-01-16 2015-09-15 Ati Technologies Ulc Configurable shader ALU units
US20080198166A1 (en) * 2007-02-16 2008-08-21 Via Technologies, Inc. Multi-threads vertex shader, graphics processing unit, and flow control method
US20090160867A1 (en) * 2007-12-19 2009-06-25 Advance Micro Devices, Inc. Autonomous Context Scheduler For Graphics Processing Units
US8248422B2 (en) * 2008-01-18 2012-08-21 International Business Machines Corporation Efficient texture processing of pixel groups with SIMD execution unit
US20090189896A1 (en) * 2008-01-25 2009-07-30 Via Technologies, Inc. Graphics Processor having Unified Shader Unit
US8633936B2 (en) 2008-04-21 2014-01-21 Qualcomm Incorporated Programmable streaming processor with mixed precision instruction execution
US20100046660A1 (en) 2008-05-13 2010-02-25 Qualcomm Incorporated Interference cancellation under non-stationary conditions
US8995417B2 (en) 2008-06-09 2015-03-31 Qualcomm Incorporated Increasing capacity in wireless communication
US9237515B2 (en) 2008-08-01 2016-01-12 Qualcomm Incorporated Successive detection and cancellation for cell pilot detection
US9277487B2 (en) * 2008-08-01 2016-03-01 Qualcomm Incorporated Cell detection with interference cancellation
US8509293B2 (en) * 2008-08-19 2013-08-13 Qualcomm Incorporated Semi-coherent timing propagation for GERAN multislot configurations
US8503591B2 (en) * 2008-08-19 2013-08-06 Qualcomm Incorporated Enhanced geran receiver using channel input beamforming
US9160577B2 (en) 2009-04-30 2015-10-13 Qualcomm Incorporated Hybrid SAIC receiver
US8787509B2 (en) 2009-06-04 2014-07-22 Qualcomm Incorporated Iterative interference cancellation receiver
US8831149B2 (en) 2009-09-03 2014-09-09 Qualcomm Incorporated Symbol estimation methods and apparatuses
US8854381B2 (en) * 2009-09-03 2014-10-07 Advanced Micro Devices, Inc. Processing unit that enables asynchronous task dispatch
US8619928B2 (en) * 2009-09-03 2013-12-31 Qualcomm Incorporated Multi-stage interference suppression
WO2011063568A1 (en) 2009-11-27 2011-06-03 Qualcomm Incorporated Increasing capacity in wireless communications
EP2505017B1 (en) 2009-11-27 2018-10-31 Qualcomm Incorporated Increasing capacity in wireless communications
GB2529075A (en) * 2011-06-16 2016-02-10 Imagination Tech Ltd Graphics processor with non-blocking concurrent architecture
WO2013101119A1 (en) * 2011-12-29 2013-07-04 Intel Corporation Method and apparatus for controlling a mxcsr
CN102622236A (zh) * 2012-01-13 2012-08-01 深圳市妙趣工场信息科技有限公司 一种Geart3D游戏引擎
CN103176948B (zh) * 2013-03-04 2016-06-29 浙江大学 一种低成本的单精度初等函数运算加速器
CN106164850B (zh) * 2014-03-07 2018-11-27 索尼公司 用于阵列处理器的数据推测
US10324723B2 (en) * 2014-07-02 2019-06-18 Nxp Usa, Inc. Systems and methods for processing both instructions and constant values from a memory of a digital processor accessed by separate pointers
US9552229B2 (en) * 2015-05-14 2017-01-24 Atlassian Pty Ltd Systems and methods for task scheduling
US10410311B2 (en) * 2016-03-07 2019-09-10 Intel Corporation Method and apparatus for efficient submission of workload to a high performance graphics sub-system
US10558460B2 (en) 2016-12-14 2020-02-11 Qualcomm Incorporated General purpose register allocation in streaming processor
US10423747B2 (en) * 2017-02-02 2019-09-24 Intel Corporation Method and apparatus for supporting temporal virtualization on a target device
US10417731B2 (en) 2017-04-24 2019-09-17 Intel Corporation Compute optimization mechanism for deep neural networks
US10417734B2 (en) * 2017-04-24 2019-09-17 Intel Corporation Compute optimization mechanism for deep neural networks
CN108564644B (zh) * 2017-12-27 2022-04-08 中国科学院光电研究院 机载主被动三维影像实时成像装置及方法
US10402224B2 (en) * 2018-01-03 2019-09-03 Intel Corporation Microcontroller-based flexible thread scheduling launching in computing environments
GB2580178B (en) * 2018-12-21 2021-12-15 Imagination Tech Ltd Scheduling tasks in a processor
US20200264873A1 (en) * 2019-02-20 2020-08-20 Nanjing Iluvatar CoreX Technology Co., Ltd. (DBA ? Iluvatar CoreX Inc. Nanjing?) Scalar unit with high performance in crypto operation
CN113396400A (zh) 2019-03-15 2021-09-14 英特尔公司 用于针对高速缓存操作提供层级开放划分扇区和可变扇区大小的系统和方法
CN117132450B (zh) * 2023-10-24 2024-02-20 芯动微电子科技(武汉)有限公司 一种可实现数据共享的计算装置和图形处理器

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0627682A1 (en) * 1993-06-04 1994-12-07 Sun Microsystems, Inc. Floating-point processor for a high performance three dimensional graphics accelerator
US6279099B1 (en) * 1994-04-29 2001-08-21 Sun Microsystems, Inc. Central processing unit with integrated graphics functions

Family Cites Families (166)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1103383A (en) * 1964-03-02 1968-02-14 Olivetti & Co Spa Improvements in or relating to apparatus for performing arithmetic operations in digital computers
US4079452A (en) 1976-06-15 1978-03-14 Bunker Ramo Corporation Programmable controller with modular firmware for communication control
NL7807314A (nl) * 1978-07-06 1980-01-08 Philips Nv Inrichting voor het vergroten van de lengte van een logisch computeradres.
JPH03185521A (ja) * 1989-12-15 1991-08-13 Hitachi Ltd データ処理装置
US5208765A (en) * 1990-07-20 1993-05-04 Advanced Micro Devices, Inc. Computer-based method and system for product development
US7006881B1 (en) 1991-12-23 2006-02-28 Steven Hoffberg Media recording device with remote graphic user interface
US6850252B1 (en) 1999-10-05 2005-02-01 Steven M. Hoffberg Intelligent electronic appliance system and method
US5903454A (en) 1991-12-23 1999-05-11 Hoffberg; Linda Irene Human-factored interface corporating adaptive pattern recognition based controller apparatus
JPH0784851A (ja) 1993-09-13 1995-03-31 Toshiba Corp 共有データ管理方法
JP3579461B2 (ja) 1993-10-15 2004-10-20 株式会社ルネサステクノロジ データ処理システム及びデータ処理装置
US6339767B1 (en) * 1997-06-02 2002-01-15 Aurigin Systems, Inc. Using hyperbolic trees to visualize data generated by patent-centric and group-oriented data processing
US5509129A (en) * 1993-11-30 1996-04-16 Guttag; Karl M. Long instruction word controlling plural independent processor operations
US6154725A (en) * 1993-12-06 2000-11-28 Donner; Irah H. Intellectual property (IP) computer-implemented audit system optionally over network architecture, and computer program product for same
GB2285524B (en) 1994-01-11 1998-02-04 Advanced Risc Mach Ltd Data memory and processor bus
EP0676691A3 (en) 1994-04-06 1996-12-11 Hewlett Packard Co Device for saving and restoring registers in a digital computer.
US5694143A (en) 1994-06-02 1997-12-02 Accelerix Limited Single chip frame buffer and graphics accelerator
US5598546A (en) * 1994-08-31 1997-01-28 Exponential Technology, Inc. Dual-architecture super-scalar pipeline
US5526257A (en) * 1994-10-31 1996-06-11 Finlay Fine Jewelry Corporation Product evaluation system
EP1526472A3 (en) * 1995-02-13 2006-07-26 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US5798770A (en) 1995-03-24 1998-08-25 3Dlabs Inc. Ltd. Graphics rendering system with reconfigurable pipeline sequence
US5777629A (en) 1995-03-24 1998-07-07 3Dlabs Inc. Ltd. Graphics subsystem with smart direct-memory-access operation
US5872729A (en) * 1995-11-27 1999-02-16 Sun Microsystems, Inc. Accumulation buffer method and apparatus for graphical image processing
US5774833A (en) * 1995-12-08 1998-06-30 Motorola, Inc. Method for syntactic and semantic analysis of patent text and drawings
US5794016A (en) 1995-12-11 1998-08-11 Dynamic Pictures, Inc. Parallel-processor graphics architecture
US5754840A (en) * 1996-01-23 1998-05-19 Smartpatents, Inc. System, method, and computer program product for developing and maintaining documents which includes analyzing a patent application with regards to the specification and claims
US5944816A (en) 1996-05-17 1999-08-31 Advanced Micro Devices, Inc. Microprocessor configured to execute multiple threads including interrupt service routines
US5793385A (en) 1996-06-12 1998-08-11 Chips And Technologies, Inc. Address translator for a shared memory computing system
WO1998006091A1 (fr) 1996-08-02 1998-02-12 Matsushita Electric Industrial Co., Ltd. Codec vocal, support sur lequel est enregistre un programme codec vocal, et appareil mobile de telecommunications
US5949920A (en) 1996-08-13 1999-09-07 Hewlett-Packard Co. Reconfigurable convolver circuit
JP2970553B2 (ja) 1996-08-30 1999-11-02 日本電気株式会社 マルチスレッド実行方法
TW360823B (en) 1996-09-30 1999-06-11 Hitachi Ltd Data processor and graphic processor
US6614847B1 (en) 1996-10-25 2003-09-02 Texas Instruments Incorporated Content-based video compression
US5870579A (en) 1996-11-18 1999-02-09 Advanced Micro Devices, Inc. Reorder buffer including a circuit for selecting a designated mask corresponding to an instruction that results in an exception
US6049811A (en) * 1996-11-26 2000-04-11 Petruzzi; James D. Machine for drafting a patent application and process for doing same
US5913925A (en) 1996-12-16 1999-06-22 International Business Machines Corporation Method and system for constructing a program including out-of-order threads and processor and method for executing threads out-of-order
US6044354A (en) * 1996-12-19 2000-03-28 Sprint Communications Company, L.P. Computer-based product planning system
US5831640A (en) 1996-12-20 1998-11-03 Cirrus Logic, Inc. Enhanced texture map data fetching circuit and method
US5991865A (en) 1996-12-31 1999-11-23 Compaq Computer Corporation MPEG motion compensation using operand routing and performing add and divide in a single instruction
US6697063B1 (en) 1997-01-03 2004-02-24 Nvidia U.S. Investment Company Rendering pipeline
US6549209B1 (en) 1997-05-22 2003-04-15 Kabushiki Kaisha Sega Enterprises Image processing device and image processing method
US5958041A (en) * 1997-06-26 1999-09-28 Sun Microsystems, Inc. Latency prediction in a pipelined microarchitecture
US6195734B1 (en) 1997-07-02 2001-02-27 Micron Technology, Inc. System for implementing a graphic address remapping table as a virtual register file in system memory
US6061660A (en) * 1997-10-20 2000-05-09 York Eggleston System and method for incentive programs and award fulfillment
JP4634548B2 (ja) 1997-11-04 2011-02-16 ヒューレット・パッカード・カンパニー マルチプロセッサコンピュータシステム及びその動作方法
US6654428B1 (en) 1998-01-13 2003-11-25 Massachusetts Institute Of Technology Systems and methods for wireless communications
JP3666005B2 (ja) * 1998-03-03 2005-06-29 マツダ株式会社 特許情報検索システム、特許情報検索装置、情報検索中継装置並びに特許情報検索方法
US6092175A (en) 1998-04-02 2000-07-18 University Of Washington Shared register storage mechanisms for multithreaded computer systems with out-of-order execution
US6188411B1 (en) 1998-07-02 2001-02-13 Neomagic Corp. Closed-loop reading of index registers using wide read and narrow write for multi-threaded system
US6067531A (en) * 1998-07-21 2000-05-23 Mci Communications Corporation Automated contract negotiator/generation system and method
US7068272B1 (en) 2000-05-31 2006-06-27 Nvidia Corporation System, method and article of manufacture for Z-value and stencil culling prior to rendering in a computer graphics processing pipeline
JP3869947B2 (ja) 1998-08-04 2007-01-17 株式会社日立製作所 並列処理プロセッサ、および、並列処理方法
JP3279260B2 (ja) 1998-08-07 2002-04-30 日本電気株式会社 3次元グラフィックス描画装置
US6226618B1 (en) * 1998-08-13 2001-05-01 International Business Machines Corporation Electronic content delivery system
US6771264B1 (en) 1998-08-20 2004-08-03 Apple Computer, Inc. Method and apparatus for performing tangent space lighting and bump mapping in a deferred shading graphics processor
JP2000148795A (ja) * 1998-08-31 2000-05-30 Canon Inc 画像検索装置及びその方法、コンピュ―タ可読メモリ
US6693719B1 (en) 1998-09-16 2004-02-17 Texas Instruments Incorporated Path to trapezoid decomposition of polygons for printing files in a page description language
US6163839A (en) 1998-09-30 2000-12-19 Intel Corporation Non-stalling circular counterflow pipeline processor with reorder buffer
GB2343601B (en) 1998-11-06 2002-11-27 Videologic Ltd Shading and texturing 3-dimensional computer generated images
US7088865B2 (en) 1998-11-20 2006-08-08 Nikon Corporation Image processing apparatus having image selection function, and recording medium having image selection function program
US6219769B1 (en) 1998-12-09 2001-04-17 Advanced Micro Devices, Inc. Method and system for origin-sensitive memory control and access in data processing systems
US6236977B1 (en) * 1999-01-04 2001-05-22 Realty One, Inc. Computer implemented marketing system
US7904187B2 (en) 1999-02-01 2011-03-08 Hoffberg Steven M Internet appliance system and method
US6480941B1 (en) 1999-02-23 2002-11-12 International Business Machines Corporation Secure partitioning of shared memory based multiprocessor system
WO2000056058A1 (en) 1999-03-18 2000-09-21 British Broadcasting Corporation Watermarking
AU4328000A (en) * 1999-03-31 2000-10-16 Verizon Laboratories Inc. Techniques for performing a data query in a computer system
US6594633B1 (en) * 1999-07-07 2003-07-15 Vincent S. Broerman Real estate computer network
US6345239B1 (en) * 1999-08-31 2002-02-05 Accenture Llp Remote demonstration of business capabilities in an e-commerce environment
US6556992B1 (en) * 1999-09-14 2003-04-29 Patent Ratings, Llc Method and system for rating patents and other intangible assets
US6389418B1 (en) * 1999-10-01 2002-05-14 Sandia Corporation Patent data mining method and apparatus
US6493741B1 (en) 1999-10-01 2002-12-10 Compaq Information Technologies Group, L.P. Method and apparatus to quiesce a portion of a simultaneous multithreaded central processing unit
US6859782B2 (en) * 1999-10-06 2005-02-22 Bob F. Harshaw Method for new product development and market introduction
US6542871B1 (en) * 1999-10-06 2003-04-01 Bob F. Harshaw Method for new product development and market introduction
US6792575B1 (en) 1999-10-21 2004-09-14 Equilibrium Technologies Automated processing and delivery of media to web servers
US6964009B2 (en) 1999-10-21 2005-11-08 Automated Media Processing Solutions, Inc. Automated media delivery system
US6577762B1 (en) 1999-10-26 2003-06-10 Xerox Corporation Background surface thresholding
US6574725B1 (en) 1999-11-01 2003-06-03 Advanced Micro Devices, Inc. Method and mechanism for speculatively executing threads of instructions
US6417851B1 (en) * 1999-12-06 2002-07-09 Nvidia Corporation Method and apparatus for lighting module in a graphics processor
JP3485052B2 (ja) 1999-12-16 2004-01-13 日本電気株式会社 参照画像作成方法、パターン検査装置及び参照画像作成プログラムを記録した記録媒体
US7346518B1 (en) * 1999-12-30 2008-03-18 At&T Bls Intellectual Property, Inc. System and method for determining the marketability of intellectual property assets
US7801830B1 (en) * 1999-12-30 2010-09-21 At&T Intellectual Property I, L.P. System and method for marketing, managing, and maintaining intellectual property
US7389239B1 (en) * 1999-12-30 2008-06-17 At&T Delaware Intellectual Property, Inc. System and method for managing intellectual property
US7127405B1 (en) * 1999-12-30 2006-10-24 Bellsouth Intellectual Property Corp. System and method for selecting and protecting intellectual property assets
US20020032659A1 (en) * 2000-01-27 2002-03-14 Michael Waters System and method for obtaining and developing technology for market
US6516443B1 (en) 2000-02-08 2003-02-04 Cirrus Logic, Incorporated Error detection convolution code and post processor for correcting dominant error events of a trellis sequence detector in a sampled amplitude read channel for disk storage systems
JP2001222712A (ja) 2000-02-08 2001-08-17 Sega Corp 画像処理装置、畳み込み積分回路及びその方法
US6807620B1 (en) * 2000-02-11 2004-10-19 Sony Computer Entertainment Inc. Game system with graphics processor
JP2001236221A (ja) 2000-02-21 2001-08-31 Keisuke Shindo マルチスレッドを利用するパイプライン並列プロセッサ
US6738510B2 (en) 2000-02-22 2004-05-18 Olympus Optical Co., Ltd. Image processing apparatus
US6940545B1 (en) 2000-02-28 2005-09-06 Eastman Kodak Company Face detecting camera and method
US20020095368A1 (en) * 2000-02-29 2002-07-18 Bao Tran Systems and methods for trading intellectual property
US6988008B2 (en) 2000-03-10 2006-01-17 Adept Technology, Inc. Smart camera
US6891533B1 (en) 2000-04-11 2005-05-10 Hewlett-Packard Development Company, L.P. Compositing separately-generated three-dimensional images
US6952440B1 (en) 2000-04-18 2005-10-04 Sirf Technology, Inc. Signal detector employing a Doppler phase correction system
AU2001281162A1 (en) 2000-08-16 2002-02-25 Sun Microsystems, Inc. General purpose processor with graphics/media support
US6636214B1 (en) 2000-08-23 2003-10-21 Nintendo Co., Ltd. Method and apparatus for dynamically reconfiguring the order of hidden surface processing based on rendering mode
US7034828B1 (en) 2000-08-23 2006-04-25 Nintendo Co., Ltd. Recirculating shade tree blender for a graphics system
JP3580789B2 (ja) 2000-10-10 2004-10-27 株式会社ソニー・コンピュータエンタテインメント データ通信システム及び方法、コンピュータプログラム、記録媒体
US20020072995A1 (en) * 2000-11-02 2002-06-13 Smith Frank A. Patent licensing process
GB2369016B (en) 2000-11-09 2004-06-09 Sony Uk Ltd Receiver
US7188069B2 (en) * 2000-11-30 2007-03-06 Syracuse University Method for valuing intellectual property
US6907520B2 (en) 2001-01-11 2005-06-14 Sun Microsystems, Inc. Threshold-based load address prediction and new thread identification in a multithreaded microprocessor
US6662178B2 (en) * 2001-03-21 2003-12-09 Knowledge Management Objects, Llc Apparatus for and method of searching and organizing intellectual property information utilizing an IP thesaurus
US6950927B1 (en) * 2001-04-13 2005-09-27 The United States Of America As Represented By The Secretary Of The Navy System and method for instruction-level parallelism in a programmable multiple network processor environment
US6515443B2 (en) 2001-05-21 2003-02-04 Agere Systems Inc. Programmable pulse width modulated waveform generator for a spindle motor controller
US20040172631A1 (en) 2001-06-20 2004-09-02 Howard James E Concurrent-multitasking processor
US6744433B1 (en) 2001-08-31 2004-06-01 Nvidia Corporation System and method for using and collecting information from a plurality of depth layers
JP3564445B2 (ja) * 2001-09-20 2004-09-08 松下電器産業株式会社 プロセッサ、コンパイル装置及びコンパイル方法
US8342935B1 (en) 2001-09-28 2013-01-01 Bally Gaming, Inc. Integrated display and input system
US6999076B2 (en) 2001-10-29 2006-02-14 Ati Technologies, Inc. System, method, and apparatus for early culling
US20030167379A1 (en) 2002-03-01 2003-09-04 Soltis Donald Charles Apparatus and methods for interfacing with cache memory
US6871264B2 (en) 2002-03-06 2005-03-22 Hewlett-Packard Development Company, L.P. System and method for dynamic processor core and cache partitioning on large-scale multithreaded, multiprocessor integrated circuits
CA2480081C (en) 2002-03-22 2007-06-19 Michael F. Deering Scalable high performance 3d graphics
US6825843B2 (en) 2002-07-18 2004-11-30 Nvidia Corporation Method and apparatus for loop and branch instructions in a programmable graphics pipeline
JP3856737B2 (ja) * 2002-07-19 2006-12-13 株式会社ルネサステクノロジ データ処理装置
US6931489B2 (en) 2002-08-12 2005-08-16 Hewlett-Packard Development Company, L.P. Apparatus and methods for sharing cache among processors
US7360220B2 (en) * 2002-10-31 2008-04-15 Intel Corporation Methods and apparatus for multi-threading using differently coded software segments to perform an algorithm
US7633506B1 (en) 2002-11-27 2009-12-15 Ati Technologies Ulc Parallel pipeline graphics system
US7268785B1 (en) 2002-12-19 2007-09-11 Nvidia Corporation System and method for interfacing graphics program modules
US7268779B2 (en) 2002-12-24 2007-09-11 Intel Corporation Z-buffering techniques for graphics rendering
US7146486B1 (en) * 2003-01-29 2006-12-05 S3 Graphics Co., Ltd. SIMD processor with scalar arithmetic logic units
KR100510131B1 (ko) 2003-01-29 2005-08-26 삼성전자주식회사 픽셀 캐쉬 및 이를 이용한 3차원 그래픽 가속 장치 및 방법
US7145565B2 (en) 2003-02-27 2006-12-05 Nvidia Corporation Depth bounds testing
US7612803B2 (en) 2003-06-10 2009-11-03 Zoran Corporation Digital camera with reduced image buffer memory and minimal processing for recycling through a service center
US7372484B2 (en) 2003-06-26 2008-05-13 Micron Technology, Inc. Method and apparatus for reducing effects of dark current and defective pixels in an imaging device
US7088371B2 (en) 2003-06-27 2006-08-08 Intel Corporation Memory command handler for use in an image signal processor having a data driven architecture
US7015913B1 (en) 2003-06-27 2006-03-21 Nvidia Corporation Method and apparatus for multithreaded processing of data in a programmable graphics processor
US7239322B2 (en) 2003-09-29 2007-07-03 Ati Technologies Inc Multi-thread graphic processing system
US7702817B2 (en) 2003-10-28 2010-04-20 Microsoft Corporation Wireless network access technologies for retrieving a virtual resource via a plurality of wireless network interfaces
GB2409061B (en) 2003-12-09 2006-09-13 Advanced Risc Mach Ltd Table lookup operation within a data processing system
US7015914B1 (en) 2003-12-10 2006-03-21 Nvidia Corporation Multiple data buffers for processing graphics data
US7027062B2 (en) 2004-02-27 2006-04-11 Nvidia Corporation Register based queuing for texture requests
US20050195198A1 (en) 2004-03-03 2005-09-08 Anderson Michael H. Graphics pipeline and method having early depth detection
US7030878B2 (en) 2004-03-19 2006-04-18 Via Technologies, Inc. Method and apparatus for generating a shadow effect using shadow volumes
US7196708B2 (en) 2004-03-31 2007-03-27 Sony Corporation Parallel vector processing
US7873776B2 (en) 2004-06-30 2011-01-18 Oracle America, Inc. Multiple-core processor with support for multiple virtual processors
US7330988B2 (en) 2004-06-30 2008-02-12 Sun Microsystems, Inc. Method and apparatus for power throttling in a multi-thread processor
US7339592B2 (en) 2004-07-13 2008-03-04 Nvidia Corporation Simulating multiported memories using lower port count memories
US7355603B2 (en) 2004-08-04 2008-04-08 Nvidia Corporation Filtering unit for floating-point texture data
US7538765B2 (en) 2004-08-10 2009-05-26 Ati International Srl Method and apparatus for generating hierarchical depth culling characteristics
US6972769B1 (en) 2004-09-02 2005-12-06 Nvidia Corporation Vertex texture cache returning hits out of order
US7388588B2 (en) * 2004-09-09 2008-06-17 International Business Machines Corporation Programmable graphics processing engine
US7576737B2 (en) 2004-09-24 2009-08-18 Konica Minolta Medical & Graphic, Inc. Image processing device and program
JP2006099422A (ja) 2004-09-29 2006-04-13 Konica Minolta Medical & Graphic Inc 画像処理装置、およびプログラム
US7684079B2 (en) 2004-12-02 2010-03-23 Canon Kabushiki Kaisha Image forming apparatus and its control method
US20060136919A1 (en) 2004-12-17 2006-06-22 Sun Microsystems, Inc. System and method for controlling thread suspension in a multithreaded processor
US7358502B1 (en) 2005-05-06 2008-04-15 David Appleby Devices, systems, and methods for imaging
US20070030280A1 (en) 2005-08-08 2007-02-08 Via Technologies, Inc. Global spreader and method for a parallel graphics processor
US7557832B2 (en) 2005-08-12 2009-07-07 Volker Lindenstruth Method and apparatus for electronically stabilizing digital images
US20070073625A1 (en) * 2005-09-27 2007-03-29 Shelton Robert H System and method of licensing intellectual property assets
US7508396B2 (en) 2005-09-28 2009-03-24 Silicon Integrated Systems Corp. Register-collecting mechanism, method for performing the same and pixel processing system employing the same
US7447873B1 (en) 2005-11-29 2008-11-04 Nvidia Corporation Multithreaded SIMD parallel processor with loading of groups of threads
JP4920966B2 (ja) 2005-12-21 2012-04-18 キヤノン株式会社 画像形成装置
CN101359284B (zh) * 2006-02-06 2011-05-11 威盛电子股份有限公司 处理数个不同数据格式的乘法累加单元及其方法
US8860721B2 (en) 2006-03-28 2014-10-14 Ati Technologies Ulc Method and apparatus for processing pixel depth information
US8766995B2 (en) 2006-04-26 2014-07-01 Qualcomm Incorporated Graphics system with configurable caches
US8933933B2 (en) 2006-05-08 2015-01-13 Nvidia Corporation Optimizing a graphics rendering pipeline using early Z-mode
US20070268289A1 (en) 2006-05-16 2007-11-22 Chun Yu Graphics system with dynamic reposition of depth engine
US8869147B2 (en) 2006-05-31 2014-10-21 Qualcomm Incorporated Multi-threaded processor with deferred thread output control
US8644643B2 (en) 2006-06-14 2014-02-04 Qualcomm Incorporated Convolution filtering in a graphics processor
US8766996B2 (en) 2006-06-21 2014-07-01 Qualcomm Incorporated Unified virtual addressed register file
JP4675854B2 (ja) 2006-07-25 2011-04-27 株式会社東芝 パターン評価方法と評価装置及びパターン評価プログラム
US8345053B2 (en) * 2006-09-21 2013-01-01 Qualcomm Incorporated Graphics processors with parallel scheduling and execution of threads
JP2008219523A (ja) 2007-03-05 2008-09-18 Canon Inc 撮像装置及びその制御方法
US7683962B2 (en) 2007-03-09 2010-03-23 Eastman Kodak Company Camera using multiple lenses and image sensors in a rangefinder configuration to provide a range map
CN101743593B (zh) 2007-12-14 2013-07-17 Lsi公司 使用伺服地址标记数据来控制飞行高度的系统和方法
CN101743590B (zh) 2007-12-14 2013-05-29 Lsi公司 用于存储装置中自适应cbd估计的系统和方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0627682A1 (en) * 1993-06-04 1994-12-07 Sun Microsystems, Inc. Floating-point processor for a high performance three dimensional graphics accelerator
US6279099B1 (en) * 1994-04-29 2001-08-21 Sun Microsystems, Inc. Central processing unit with integrated graphics functions

Also Published As

Publication number Publication date
WO2007140338A2 (en) 2007-12-06
IN266871B (zh) 2015-06-10
KR101012625B1 (ko) 2011-02-09
JP2009538486A (ja) 2009-11-05
EP2024819B1 (en) 2012-06-06
CA2650539A1 (en) 2007-12-06
JP5006390B2 (ja) 2012-08-22
WO2007140338A3 (en) 2008-03-06
KR20090021286A (ko) 2009-03-02
US20150022534A1 (en) 2015-01-22
EP2024819A2 (en) 2009-02-18
US8884972B2 (en) 2014-11-11
US20070273698A1 (en) 2007-11-29
CN101449239A (zh) 2009-06-03

Similar Documents

Publication Publication Date Title
CN101449239B (zh) 具有算术及初等函数单元的图形处理器
US8345053B2 (en) Graphics processors with parallel scheduling and execution of threads
KR101076245B1 (ko) 상대 주소 발생
KR101118486B1 (ko) 온-디맨드 멀티 스레드 멀티미디어 프로세서
US8049760B2 (en) System and method for vector computations in arithmetic logic units (ALUs)
US8644643B2 (en) Convolution filtering in a graphics processor
US20060152519A1 (en) Method for operating low power programmable processor
CA2721396A1 (en) Programmable streaming processor with mixed precision instruction execution
US20080204461A1 (en) Auto Software Configurable Register Address Space For Low Power Programmable Processor
WO2017155610A1 (en) Method and apparatus for efficient submission of workload to a high performance graphics sub-system
US7693929B2 (en) Hardware extension for accelerating fractional integer division within 3D graphics and MP3 applications
KR102000894B1 (ko) 이미지 프로세서용 다기능 실행 레인
Anido et al. Interactive ray tracing using a SIMD reconfigurable architecture
US12026801B2 (en) Filter independent L1 mapping of convolution data into general purpose register
CN114489802A (zh) 数据处理装置、数据处理方法及相关产品
Notarangelo et al. A Low Power, Scalable and Runtime Customizable Microprocessor Architecture for Image Processing

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