CN1107287C - 信息处理装置和信息处理方法 - Google Patents
信息处理装置和信息处理方法 Download PDFInfo
- Publication number
- CN1107287C CN1107287C CN98108283A CN98108283A CN1107287C CN 1107287 C CN1107287 C CN 1107287C CN 98108283 A CN98108283 A CN 98108283A CN 98108283 A CN98108283 A CN 98108283A CN 1107287 C CN1107287 C CN 1107287C
- Authority
- CN
- China
- Prior art keywords
- indicator gauge
- processing unit
- metainstruction
- data
- graphics processing
- 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.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/18—Handling requests for interconnection or transfer for access to memory bus based on priority control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5021—Priority
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/509—Offload
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Image Generation (AREA)
- Advance Control (AREA)
- Controls And Circuits For Display Device (AREA)
- Multi Processors (AREA)
- Image Processing (AREA)
- Processing Or Creating Images (AREA)
Abstract
在信息处理装置中,对多个CPU指定优先权,各CPU按优先权将各自绘图指令显示表发给绘图单元。当主CPU(几何子系统0)正建立表#0-1且绘图单元(绘制子系统)处于空闲状态时,从CPU(几何子系统1)可提供所建立的表#1-1(如果有)给绘图单元。绘图单元接收表#1-1并据此绘图。主CPU完成建立表#0-1的操作时,从CPU将对绘制单元访问权归还给主CPU,使主CPU可将表#0-1提供给绘图单元,绘制单元接收表#0-1并据此开始绘图,以此类推。
Description
技术领域
本发明一般涉及信息处理装置和信息处理方法。特别是本发明涉及这样一种信息处理装置和信息处理方法,其中,使用多个CPU同时产生它们各自指令并根据指定给所述CPU的优先权将所产生的指令传输给绘图单元以允许所述绘图单元高效地执行绘图处理。
背景技术
利用近年来实现的LSI的更大规模的集成,可以将多个相同的电路并行布置在一个LSI中,以允许提高被执行处理的速度。顺便说一下,近年来所生产的视频游戏系统包括一个中央处理单元(CPU)和一个绘图单元。在接收表示将被控制器显示的多边形数据的基础上,CPU执行两维或三维的数据坐标变换并建立一个用于在两维帧缓冲器上绘制所述多边形的绘图指令表。然后CPU将该表(此后该表被称之为显示表)传送给绘图单元以根据所述显示表绘制所述多边形。
但是,对于在具有绘图单元情况下重复执行一定数据量的简单操作的系统来讲,采用并行处理技术改善整个处理系统更加有效。结果是和近年来所生产的并行处理绘图单元比较,所述CPU执行处理的速度相对较慢。另外,为了减少三维模型数据的数量,在每当执行绘图操作时都需要根据很少量的顶点数据(控制点)产生诸如曲面这样的复杂图形。CPU必须承担这种处理负担以产生这种复杂图形。结果是出现了一个问题,就是不能高效地执行绘图处理。
发明内容
针对上述问题,本发明的一个目的是提供一种信息处理装置和信息处理方法,所述装置和方法通过将优先权指定给多个CPU、使各CPU同时工作和从由具有最高级优先权的CPU产生的一个显示表开始的优先权基础上对由各所述CPU产生的显示表进行处理,来实现对数据进行高效处理。
根据本发明的信息处理装置的特征在于,该装置包括:第一矢量处理引擎,用于执行处理以产生第一显示表;第二矢量处理引擎,用于执行处理以产生第二显示表;图形处理单元,用于根据所述第一显示表和第二显示表,通过利用预定定时从所述第一显示表转换到所述第二显示表或相反,执行绘图处理;图形处理单元接口,用于将所述第二显示表传输给所述图形处理单元;和主直接存贮器存取控制器,用于将所述第一显示表传输给所述图形处理单元。其中,当所述第二矢量处理引擎正在进行处理而所述图形处理单元处于等待状态时,如果有所述第一显示表,所述主直接存贮器存取控制器将该显示表提供给所述图形处理单元,并且所述图形处理单元在接收到所述第一显示表时,根据所述第一显示表执行绘图处理。
根据本发明的信息处理方法的特征在于,该方法包括步骤:第一矢量处理引擎执行处理以产生第一显示表;第二矢量处理引擎执行处理以产生第二显示表;图形处理单元根据所述第一显示表和第二显示表,通过利用预定定时从所述第一显示表转换到所述第二显示表或相反,执行绘图处理;图形处理单元接口将所述第二显示表传输给所述图形处理单元;和主直接存贮器存取控制器将所述第一显示表传输给所述图形处理单元。其中,当所述第二矢量处理引擎正在进行处理而所述图形处理单元处于等待状态时,如果有所述第一显示表,所述主直接存贮器存取控制器将该显示表提供给所述图形处理单元,并且所述图形处理单元在接收到所述第一显示表时,根据所述第一显示表执行绘图处理。
附图说明
通过下面参照附图的详细描述,本发明上述和其它目的、特性和优点将变得更加明显。其中,所述附图通过实例示出了本发明的最佳实施例。
下面结合附图描述本发明最佳实施例,其中:
图1示出了一种典型的家庭游戏系统的平面图,它采用了本发明提供的信息处理装置;
图2示出了图1所示家庭游戏系统的正视图;
图3示出了图1所示家庭游戏系统的侧视图;
图4的平面视图示出了利用图1所示家庭游戏系统从中播放信息的典型CD-ROM;
图5示出了图1所示家庭游戏系统典型内部电子结构的框图;
图6的框图示出了图5所示主DMAC 46、主CPU 44、主存储器45、第二矢量处理引擎(VPE1)48和GPU 48的详细结构;
图7示出了用于处理由多个处理器产生的显示表的过程;
图8的框图示出了其中用3个处理器控制GPU 49的家庭游戏系统另一种典型结构;
图9示出了一个元指令(meta-instruction)的典型格式;
图10用于解释根据所述元指令传送数据的过程;
图11用于解释根据所述元指令传送数据的另一个过程;
图12用于解释根据所述元指令传输数据的进一步详细的过程;
图13用于解释根据显示表传送数据的过程;
图14用于解释阻塞控制(stall controll)。
具体实施方式
图1到图3中的每一个示出了应用了本发明所提供的信息处理装置的典型的家庭游戏系统。如这些图所示,家庭游戏系统除包括操作单元17以外还包括一个游戏系统主单元2和可以被连接到游戏系统主单元2上的记录单元38。
如图1到图3所示,游戏系统主单元2几乎是方形的。游戏系统主单元2包括用于在其中心安装CD-ROM(高密度只读存贮器)40的盘安装子单元3、置于游戏系统主单元2上适当位置处并由用户使用任意复位运行应用程序的复位开关4、用于由用户使用接通和关断电源的电源开关5、用于使用户将盘安装到盘安装子单元3上的盘工作开关6和分别位于左右侧用于使用户将游戏系统主单元2连接到所述操作单元17和记录单元38上的连接器7A和7B,所述操作单元17用于当运行一个应用过程时执行操作,而所述记录单元38用于记录运行应用程序时所设置的各种信息等等。注意,CD-ROM是如图4所示的一种光盘。CD-ROM是一种用作运行应用程序记录介质的盘。
如图2和3所示,连接器7A和7B中的每一个都被设计成两级,在连接器7A和7B中每一个的上一级,提供了用于将游戏系统主单元2插入到记录单元38的记录插入部分8。另一方面,在连接器7A和7B每一个的下一级,提供了用于将游戏系统主单元2连接到操作单元17上的连接器端子插入部分12。
记录插入部分8包括一个水平长度的矩形插入孔和一个用于插入记录单元38的存贮端。所述存贮端被置于所述孔内(图中未示出)。由于记录单元38没有连接到游戏系统主单元2上,所以记录插入部分8被活门9覆盖以防止存贮端进脏物等,如图2所示。注意,记录单元38具有一个电可变程ROM,主CPU 44将应用软件数据记录在其中。
当将记录单元38安装在游戏系统主单元2上时,用户使用记录单元38的末端向记录插入部分8内侧按压活门9,并将记录单元38插入到所述插入孔,直到记录单元38与存贮端相连为止。
如图2所示,连接器端子插入部分12包括一个水平长度矩形插入孔和一个用于将连接器插入部分12连接到操作部分17连接器端部分26的连接器端12A。
如图1所示,操作单元17所具有的结构使用户可以用两手保持和夹持并能够通过每只手五指的自由运动进行操作。操作单元17包括对称置于左右侧的操作子单元18和19、和置于操作子单元18和19之间的选择开关22和开始开关23、分别置于操作子单元18和19前面的操作子单元24和25和用于将操作单元17连接到游戏系统主单元2上的连接器26和电缆27。
图5示出了游戏系统主单元2的典型内部电子结构。如图所示,游戏系统主单元2具有通过子总线接口(SBUSIF)43彼此相互连接的主总线41和子总线42。
连接到主总线41的还有由例如微处理器等构件组成的主CPU(中央处理单元)44(表产生装置)和VPE0(第一矢量处理引擎)71、由RAM(随机存取存贮器)构成的主存贮器45、主DMA(直接存贮器存取控制器)46(数据传输装置)、MDEC(MPEG(运动图形专家组)译码器)47、VPE1(第二矢量处理引擎)48。另外,GPU(图形处理单元)49也经过GPUIF(图形处理单元接口)72连接到主总线41上。在GPU49上提供有CRTC(CRT控制器)84。另外,帧存储器58也被连接到GPU49上。
另一方面,连接到子总线42上的有由诸如微处理器等构件构成的子CPU 50、由RAM构成的子存贮器51、子DMAC 52、用于存贮诸如一个操作系统的ROM 53、SPU(声音处理单元)54、通信控制单元(ATM)55、也被用于先前所述盘安装单元3的CD-ROM驱动器56和输入单元57。如上所述,输入单元57的连接器端12A也被连接到操作单元17的连接器端部分26。
由于SBUSIF 43被连接到主总线41和子总线42上,所以它将来自主总线41的数据传送给子总线42,反之将来自子总线42的数据传送给主总线41。
当游戏系统主单元2被激活时,主CPU 44借助于SBUSIF 43从连接到子总线42上的ROM 53中取出激活程序的指令,并执行这些激活程序指令以便激活操作系统。
另外,主CPU 44向CD-ROM驱动器56发出一个读数据请求以便从安装在CD-ROM驱动器56上的CD-ROM 40取得数据和应用程序,并将应用程序载入到主存贮器45。
此外,和第一矢量处理引擎(VPE0)71一起,主CPU 44从CD-ROM 40中读出的包括多个诸如多边形的基本图形的三维对象数据中,产生用于非类型处理的数据,即:多边形规定信息。三维对象数据的一个例子是多边形各点顶点或特征点的坐标值。VPE0(第一矢量处理引擎)71具有多个处理单元,用于处理浮点实数,并能够并行执行多个浮点处理。
具体地说,主CPU 44和VPE0(第一矢量处理引擎)71执行一个几何处理,该处理要在多边形单元中执行细节操作。这种处理的一个例子是产生一个多边形数据,该数据表示树在风吹动下树叶摆动的状态或雨滴打在汽车前窗的状态。然后,通过主总线41将从所述处理中发现的顶点信息和诸如阴影模式信息的多边形规定信息以信息包形式提供给主存贮器45。
所述多边形规定信息包括绘图区域设定信息和多边形信息。所述绘图区域设置信息包括绘图区域帧存贮器58中的偏移坐标,即绘图区域的帧存贮器地址,还包括用于取消由处于所述绘图区域之外一个多边形坐标指出的绘图范围的绘制操作的绘图剪切区域坐标。另一方面,所述多边形信息包括多边形属性信息和顶点信息。这里,所述多边形属性信息是一个用于规定阴影模式、ALPHA混合模式和纹理映像模式的信息。另一方面,所述顶点信息是关于诸如顶点绘图区域中的坐标、顶点纹理区域中的坐标以及顶点颜色的信息。
与第一矢量处理引擎(VPE0)71非常类似,第二矢量处理引擎(VPE1)48具有多个处理单元,用于处理浮点实数由此能够并行执行多个浮点处理。VPE1 48能够根据使用操作单元17执行的操作和矩阵操作产生一个图像,即是说,第二矢量处理引擎(VPE1)48产生用于类型处理的数据(多边形规定信息),即用于相对简单地足以通过用执行VPE1 48上的一个程序来执行的处理的数据。由第二矢量处理引擎(VPE1)48执行的这种处理的例子包括用于诸如建筑物或汽车等具有简单形状的对象的透视变换、平行光源计算和两维曲面的产生。然后,由VPE1 48产生的多边形规定信息被提供给GPUIF72。
受主CPU44控制,GPUIF72还接收经过主总线41来自主存贮器45的多边形规定信息。为此,GPUIF 72调节处理定时以避免来自主CPU 44的多边形规定信息与由第二矢量处理引擎48提供给它的多边形规定信息相冲突,从而将它们传送给GPU 49。
GPU 49使用基于由帧存贮器58上通过GPUIF 72提供给它的多边形规定信息的一个多边形绘制表示三维对象的图像。使用表示三维对象的多边形绘制的图像下面称之为多边形图像。由于GPU 49还可以将帧存贮器58用作纹理存贮器,所以,GPU 49可以执行纹理映像处理以将帧存贮器58中的一个像素图像作为纹理粘贴在一多边形上。
主DMAC 46的一个操作是用于控制到和从连接到主总线41上的各种电路的DMA传输。另外,根据SBUSIF 43的状态,主DMAC 46的一个操作还能够控制到和从连接到子总线42上的各电路的DMA传输。MDEC 47与主CPU 44同时操作,对根据MPEG(运动图形专家组)或JPEG(联合图片专家组)系统压缩的数据解压缩。
通信执行存贮在ROM 53中的程序,子CPU 50执行各种处理。子DMAC52的一个操作是控制到和从只有在SBUSIF 43与主总线41和子总线42脱离连接时才连接到子总线42上的各种电路的DMA传输。
SPU 54从声音存贮器59中读出声音数据,并根据从子CPU 50或子DMAC 52接收的声音命令输出作为音频信号的声音数据。然后,所输出的音频信号通过一个放大器电路201提供给扬声器202,并由扬声器202作为声音最后输出。
通过控制单元(ATM)55被连接到公共通信线路等并用于经过所述线路传送和接收数据。
输入单元57包括:连接器端12A,用于将操作单元17连接到游戏系统主单元2上;视频输入电路82,用于将来自图中未示出的其它装置的视频数据提供给游戏系统主单元2;以及音频输入电路83,用于将来自所述其它装置的音频数据提供给游戏系统主单元2。
图6的框图详细示出了图5所示的主DMAC 46、主CPU 44、主存贮器45、第二矢量处理引擎(VPE1)48和GPU 49的结构。
如图6所示,主CPU 44包括CPU内核(CORE)94,指令高速缓存器(I$)95、高速暂存RAM(SPR)96、数据高速缓存器(D$)97和第一矢量处理引擎(VPE0)71。CPU内核94执行预定指令。指令高速缓存器95用于暂存要提供给CPU内核94的指令。高速暂存RAM 96用于存贮由CPU内核94执行的处理结果。最后,数据高速缓存器97用于暂存将在由CPU内核94执行处理过程中使用的数据。
第一矢量处理引擎(VPE0)71包括:微存贮器(micro MEM)98、FMAC(浮点并行加法器计算)单元99、除法器(DIV)100、称之为VU-MEM的功能单元101和包扩展器(PKE)102。VU-MEM 101包括一个浮点矢量处理器单元(VU)和一个嵌入式存贮器(MEM)。浮点矢量处理器单元执行存贮在微存贮器98中微程序的64位微指令(后面详述),以对存贮在VU和嵌入式存贮器内部寄存器中的数据进行处理。
PKE 102根据在下面详述的由主DMAC 109执行的控制将提供给它的微代码扩展成将被作为微程序存贮在微存贮器98中并由所述VU执行的微指令,并根据由主DMAC 109执行的控制对也提供给它的数据包进行扩展,并将扩展后的包存贮到在VU-MEM 101中使用的嵌入式存贮器(MEM)中。FMAC(浮点并行加法器计算)单元99在除法器(DIV)100执行除法的同时执行浮点处理。如上所述,第一矢量处理引擎(VPE0)71被嵌入主CPU 44之中,该主CPU 44和VPE0 71相结合执行非类型处理。
与第一矢量处理引擎(VPE0)71非常相似,第二矢量处理引擎(VPE1)48包括微存贮器(micro MEM)103,FMAC(浮点并行加法器计算)单元104、除法器(DIV)106、被称作VU-MEM的功能单元107和包扩展器(PKE)108。VU-MEM 107包括浮点矢量处理器单元(VU)和嵌入式存贮器(MEM)。浮点矢量处理器单元执行存贮在微存贮器(micro MEM)103中微程序的64位微指令(后面详述),以便对存贮在VU和嵌入式存贮器内部寄存器中的数据进行处理。
PKE 108根据由主DMAC 46执行的控制将提供给它的微代码扩展成将被作为微程序存贮在微存贮器103中并将由VU执行的微指令,并根据由主DMAC 46执行的控制对也提供给它的数据包进行扩展,将被扩展的包存贮到在VU-MEM 107中使用的嵌入式存贮器(MEM)中。FMAC(浮点并行加法器计算)单元104在除法器(DIV)106执行除法的同时执行浮点处理。第二矢量处理引擎48对从主存贮器45提供给它的数据执行类型处理并通过GPU49将处理结果提供给GPUIF 72。
主存贮器45用于存贮三维对象数据并在需要时将该数据提供给第一矢量处理引擎71和第二矢量处理引擎48。由主CPU 44和第一矢量处理引擎(VPE0)71共同建立的显示表,在通过主总线41提供给GPUIF 72之前,暂存在嵌入到主存贮器45中的存贮器FIFO(MFIFO)中,将所述显示表暂存在存贮器FIFO中的原因在于主CPU 44和第一矢量处理引擎71中的每一个的处理优先权都低于第二矢量处理引擎48的处理优先权,所以必须将所述显示表保存在存贮器FIFO中,直到第二矢量处理引擎48进行空闲状态为止。
另外,主CPU 44和第一矢理处理引擎(VPE0)71共同建立了一个将由第二矢量处理引擎48处理的矩阵,并将该矩阵存贮到主存贮器45中。然后,第二矢量处理引擎48使用所述矩阵构成一个显示表。
为了处理通过GPUIF 72从第一矢量处理引擎71提供的用于非类型处理的显示表、和从第二矢量处理引擎48提供的用于类型处理的显示表,GPU49的一项工作是保持在绘图时针对每个显示表参照的绘图偏移和剪切范围的图形上下文(即绘图设定条件)。在后边描述中使用的注释CG0表示与非类型处理相关的图形上下文,而注释CG1表示与类型处理相关的图形上下文,这还要在后面详述。
例如,如上所述,PKE 102将根据由DMAC 109执行的控制通过主总线41从主存贮器45提供给第一矢量处理引擎71的微代码扩展成将被作为一个微程序存贮在微存贮器98中并将由所述VU执行的微指令,并且还根据由DMAC 109执行的控制对经过主总线41从主存贮器45提供给它的诸如三维对象数据的数据包进行扩展,将被扩展的数据包存贮到在VU-MEM101中使用的嵌入式存贮器(MEM)。然后,FMAC 99和DIV 100对三维对象数据执行诸如矩阵处理,坐标变换以及透视变换等一些处理。同时,与CPU内核94结合还执行复杂处理。所述处理通常导致一个显示表,用于绘制风吹树叶摆动的状态和雨滴击中汽车前窗的状态。
以这种方式在屏幕上建立的用于绘制两维对象的显示表(复杂流)在被最终提供给GPUIF 72之前经过主总线41被暂存在主存贮器45的MFIFO中。
另一方面,如上所述,PKE 108将根据由主DMAC 46所执行控制经过主总线41从主存贮器45提供给第二矢量处理引擎48的微代码扩展成将被作为一个微程序存贮在微存贮器103中并将由VU执行的微指令,并扩展根据由DMAC 46所执行控制经过主总线41从主存贮器45提供给它的诸如三维对象数据的数据包,将被扩展的数据包存贮到在VU-MEM 107中使用的嵌入式存贮器(MEM)中。然后,FMAC 104和DIV 106对三维对象数据执行诸如矩阵处理、坐标变换以及透视变换等一些处理。在由主CPU 44和第一矢量处理引擎71共同建立和经过主总线41从主存贮器45提供给第二矢量处理引擎48的矩阵和图形上下文的基础上,处理是相对简单的类型处理。
用这种方式在屏幕上建立的用于绘制二维对象的显示表(简单流)最终经过主总线41提供给GPUIF 72、然后两个流、即所述复杂流和简单流通过仲裁以时分为基础传输给GPU 49。
GPU 49在通过GPUIF 72提供给它的显示表的基础上执行绘图处理,在帧存贮器58上绘制多边形。如果所述显示表是一个由主CPU 44和第一矢量处理引擎71在主存贮器单元45上共同建立然后经过主总线41提供给GPU 49的显示表,则GPU 49使用较早谈到的图形上下文GC0执行绘图处理。另一方面,如果所述显示表是一个由第二矢量处理引擎48建立的显示表,则GPU 49使用以前所述的图形上下文GC1执行绘图处理。
在帧存贮器58上绘制的多边形被根据CRTC 84执行的控制转换成与该多边形相关的输出视频信号。
图7示出了用于处理两个显示表的时序。图7所示的几何子系统0对应于图6所示的第二矢量处理引擎48,而几何子系统1对应于主CPU 44和第一矢量处理引擎71。绘制子系统对应于GPU 49。注意,图中所示阴影部分表示由任务名指示的任务处于空闲状态。
图7A示出了一种只有一个处理器即几何子系统0情况的处理过程。在这种情况下,几何子系统0形成一个显示表(表#0-1),并将这个表提供给绘制子系统。然后,几何子系统0在表#0-1之后继续形成显示表,即表#0-2和后续显示表。绘制子系统根据从几何子系统0提供给它的显示表(表#0-1)执行绘图处理。如果几何子系统0在绘制子系统根据表#0-1完成绘图处理时仍在形成下一个显示表(表#0-2),则绘制子系统进入空闲状态,等待几何子系统0完成下一个显示表(表#0-2)的建立并将这个表提供给绘制子系统。
此后,与上述类似,如果几何子系统0在绘制子系统完成根据当前显示表的绘图处理时还没有完成形成下一个显示表的处理,则绘制子系统进入空闲状态,等待几何子系统0提供下一个显示表给该绘制子系统。
图7B示出了存在有两个处理器,即几何子系统0和几何子系统1情况下的处理过程。在这种情况下,当几何子系统0正在形成显示表(表#0-1)时,绘制子系统应当处于空闲状态。为此,与已经由几何子系统1建立并存贮在主存贮器45中的显示表(表#1-1)相关的数据被提供给绘制子系统。接收由几何子系统1建立的第一显示表(表#1-1),绘制子系统在附加到由几何子系统1提供给绘制子系统的第一显示表(表#1-1)上并与几何子系统1相关的图形上下文的基础上执行绘图处理。
当几何子系统0完成建立第一显示表(表#0-1)的处理时,几何子系统1将下一个显示表(表#1-2)提供给绘制子系统。此时,几何子系统1被迫停止向绘制子系统提供下一个显示表(表#1-2)的操作。由此,几何子系统0现在能够将已经完成的第一显示表(表#0-1)提供给绘制子系统和开始形成下一个显示表(表#0-2)。从几何子系统0接收第一显示表(表#0-1),绘制子系统在第一显示表(表#0-1)的基础上执行绘图处理。
当绘制子系统在第一显示表(表#0-1)的基础上完成了绘图处理时,几何子系统0仍在形成下一个显示表(表#0-2)。为此,几何子系统1从暂停操作中恢复以将下一个显示表(表#1-2)提供给绘制子系统。不然,绘制子系统将进入空闲状态。接收由几何子系统1建立的下一个显示表(表#1-2),绘制子系统在下一个显示表(表#1-2)的基础上开始执行绘图处理。
然后,与上述相似,几何子系统1只有当几何子系统0仍在形成一个显示表要使绘制子系统处于空闲状态时,才将其建立的显示表提供给绘制子系统。结果是,绘制子系统能够有效处理由多个处理器形成的显示表。
为了更快地执行坐标变换处理,例如,在共享共用绘图单元即GPU 49的多个矢量处理引擎的每一个中分别从CPU(早些时候描述的VU)中提供子处理器或坐标变换协处理器,并且它们均给GPU 49输出显示表。通过使用这种子处理器或协处理器,在每个矢量处理引擎中的CPU(处理器)现在能够更加频繁地将显示表提供给被共享的GPU 49。因此,在短时间间隔内GPU49必须从一个处理器切换到另一个处理器。否则,在提供给每一个处理器的本地存贮器中将产生溢出。为此,优先级被指定给每个处理器,即几何子系统0和几何子系统1,如图7B所示。当不再有显示表从主处理器,即具有最高优先权的CPU或在图6所示信息处理装置情况下在第二矢量处理引擎48中使用的CPU或图7所示的几何子系统0,传输给GPU 49时,对GPU 49进行访问的权利移交给从处理器,即具有仅次于主CPU 44优先权的CPU或在图6所示信息处理装置情况下在第一矢量处理引擎71中使用的CPU(VU)或图7所示的几何子系统1。
主处理器刚一完成形成显示表的处理和作好向GPU 49传送所述显示表的准备,即使从处理器尚未完成传送一显示表给GPU 49时,从处理器也将被迫将对GPU 49访问权返回给主处理器。
通常,主处理器能够高速执行处理但具有相对较小存贮容量的本地存贮器。另一方面,从处理器能够以相对较低的速度执行处理却具有相对较大存贮容量的本地存贮器。
还有一种信息处理装置,其中,还连接了一个作为从处理器1的从处理器的处理器2,如图8所示。在这种信息处理装置中,具有特别低优先权的处理器需要一个具有更大存贮容量的本地存贮器,用于存贮更多个显示表。为此,通常将低优先权指定给具有主存贮器的主处理器。利用这种方式,主处理器也被用作从处理器。
在由GPU 49执行的绘图处理中,除了在显示表中所描述的顶点信息以外,如上所述,也需要诸如绘图时的绘图偏移和剪切范围等被称为绘图上下文的环境参数或绘图设置条件。绘制子系统(即GPU 49)根据用于几何子系统的图形上下文在由每个几何子系统(即CPU)提供显示表的基础上执行绘图处理。但是,当显示表提供者被从一个几何子系统转换到另一个时,必须进行重新设置图形上下文的大量工作。为了解决这个问题,绘制子系统保持和几何子系统一样多的图形上下文。
图形上下文被加到图7所示的通常用于提供给GPU 49以供其绘制每个对象的显示表上。其结果是,GPU 49能够在与所述对象相关的图形上下文的基础上执行与每个对象相关的绘图处理。
几何子系统和绘制子系统共享包括数据总线和地址总线的主总线41。正在访问绘制子系统的几何子系统分别经地址总线和数据总线将几何子系统的ID和由几何子系统建立的显示表传送给绘制子系统。绘制子系统接收所述ID和所述显示表,选择与所述ID对应的图形上下文和在图形上下文的基础上解释所述显示表。然后,绘制子系统在帧缓存器上绘制一个图像。
通过如上所述在优先级基础上使多个处理器(矢量处理引擎或几何子系统)控制GPU 49(绘制子系统),用于暂存的处理器中所形成显示表的每个处理器中提供的本地存贮器的存贮容量可以被减到最小。其结果是可以在不增加本地存贮器成本的情况下在多个处理器中并行执行处理以形成多个显示表。另外,通过在GPU 49(绘制子系统)中保存用于每个处理器的图形上下文,能够减少将在上下文转换期间执行的重复数据传输次数,即额外工作量。
严格地说,多个处理器共享数据总线从而在时间共享基础上共享主存贮器。下面描述在向GPU 49传送数据的期间内根据插入到数据本身中的元指令控制数据的技术。
图9示出了元指令的一般格式。元指令是加到将被传输数据前面的指令。元指令规定被传输数据的长度、数据传输的终点和元指令的操作码。元指令由128位组成,只有图中所示的64位是有效的。在第一个16位数据段QWC中规定将被传输数据尺寸。这个元指令的操作码占据从第24位到第31位的数据段。从第32位到第63位的数据段被用于规定存贮将被传输数据的存储地址或下一个元指令的读出地址。
根据插入到数据中元指令的操作码对数据传输进行控制,如下述。
如果操作码是“cnt”,在跟随在这个元指令之后的QWC段规定的那么多数据字被传输之后,处理器执行跟随这个包(即元指令和数据)之后地址处存储的元指令。如果操作码是“cnts”,在通过执行阻塞控制使跟随在这个元指令之后的QWC数据段规定的那么多数据字被传输之后,利用处理器执行存贮在这个包之后地址处的元指令。如果操作码是“next”,在这个元指令之后的QWC数据段规定的那么多数据字被传输之后,利用处理器执行存贮在由所述地址段中规定地址处的元指令。
所述阻塞控制(stall control)是由处理器本身执行的定时控制,用于将由该处理器构成的对主存贮器45的访问置于等待状态,直到由另一个处理器形成的对主存贮器45的访问完成为止。
如果操作码是“REF”,在由存贮在由所述地址段规定的地址ADDR处的如QWC段规定的那么多数据字被传输之后,由所述处理器执行存贮在这个元指令之后一个地址处的元指令。如果操作码是“refs”,在由存贮在由所述地址段规定的地址ADDR处的如QWC段规定的那么多数据字通过执行阻塞控制被传输之后,由所述处理器执行存贮在这个元指令之后一个地址处的元指令。如上所述,“REF”元指令被用于从地址段规定的地址起传输具有QWC段中所规定长度的数据。
如果操作码是“call”,在由这个元指令之后的如QWC段规定的那么多数据字被传输之后,这个包之后的一个地址被推入(装载)到一个寄存器中作为返回地址,并且由处理器执行存贮在由该元指令地址段规定地址处的元指令。如果操作码是“ret”,在由这个元指令之后的QWC段规定的那么多数据字被传输之后,该处理器执行存贮在从所述寄存器弹出(或读出)的一个地址处的元指令。应当说明,在执行具有与这个“RET”元指令相关的“call”操作码的一个元指令期间,所述地址已经被作为返回地址推入所述寄存器。如果操作码是“end”,在由这个元指令之后QWC段所规定的那么多数据字被传输之后,处理结束。
图10用于解释当元指令的操作码是意味着在这个元指令之后的下一个数据将被传输的“next”时由处理器执行的操作:首先,主DMAC 46从存贮在标识地址寄存器Dn-TADR中的地址ADDR0处读出一个字作为元指令字。假定所述元指令是“NEXT,ADDR=ADDR2,LEN=8”,这意味着操作码是“next”,QWC段规定将被传输数据的长度是8个qword(四倍数的字数目),这里,一个qword是128位,ADDR2是一个在地址段中规定的地址。由此,在执行元指令“NEXT,ADDR=ADDR2,LEN=8”过程中,8个qword的数据被传输。然后执行存贮在地址ADDR2处的元指令“NEXT,ADDR=ADD1,LEN=2”。
同样,在执行元指令“NEXT,ADDR=ADD1,LEN=2”的过程中,在由主DMAC 46执行的控制下的执行2个qword的数据的传输。然后,执行存储在地址ADDR1处的元指令“END,ADDR=-,LEN=8”。在执行元指令“END,ADDR=-,LEN=8”的过程中,8个qword的数据被传输,然后处理结束。
图11用于解释当元指令操作码是“REF”时所述处理器执行的操作。首先,主DMAC 46从存贮在标识地址寄存器Dn-TADR中的地址ADDR0处读出一个字作为元指令字。假字该元指令是“REF,ADDR=ADDR2,LEN=2”。在执行元指令“REF,ADDR=ADDR2,LEN=2”的过程中,存贮在地址ADDR2处的2个qword数据被传输。然后执行这个元指令之后的元指令“REF,ADDR=ADDR1,LEN=8”。
在执行元指令“REF,ADDR=ADDR1,LEN=8”的过程中,存贮在地址ADDR1处的8个qword的数据被传输。然后执行跟在这个元指令之后的元指令“END,ADDR=-,LEN=8”的操作。在元指令“END,ADDR=-,LEN=8”执行的过程中,8个qword的数据被传输,然后,处理结束。
图12用于解释当元指令操作码是“CALL”和“RET”时所述处理器执行的操作。首先,主DMAC 46从存贮在标识地址寄存器Dn-TADR中的地址ADDR0读出一个字用作元指令字,假定这个元指令字是“CALL,ADDR=ADDR1,LEN=0”。(在执行元指令“CALL,ADDR=ADDR1,LEN=0”的过程中,由于LEN=0,所以没有跟在这个元指令之后的数据被传输。跟在这个元指令后面的元指令“CALL,ADDR=ADDR2,LEN=8”的地址被推入第一寄存器作为返回地址)。在执行元指令“CALL,ADDR=ADDR1,LEN=0”之后,执行图12右侧所示并存贮在地址ADDR1处的元指令“CALL,ADDR=ADDR2,LEN=8”。在执行元指令“CALL,ADDR=ADDR2,LEN=8”的过程中,跟随在这个元指令之后的8个qword的数据被传输(从而将跟在这个包之后的元指令“RET,ADDR=-,LEN=0”的地址推入第二寄存器,用作返回地址)。然后执行存贮在地址ADDR2处的元指令“RET,ADDR=-,LEN=8”。
在执行元指令“RET,ADDR=-,LEN=8”的过程中,跟在这个元指令之后的8个qword的数据被传输。然后,执行元指令“RET,ADDR=-,LEN=0”,它的地址已经在执行右侧所示元指令“CALL,ADDR=ADDR2,LEN=8”的过程中推入第二寄存器。在执行元指令“RET,ADDR=-,LEN=0”的过程中,由于LEN=0,所以没有跟在这个元指令之后的数据被传输。然后执行左侧的元指令“CALL,ADDR=ADDR2,LEN=8”,其地址已经在执行图元指令“CALL,ADDR=ADDR1,LEN=0”的过程中被推入第一寄存器。在执行左侧上元指令“CALL,ADDR=ADDR2,LEN=8”的过程中,跟在这个元指令之后的8个qword的数据被传输(从而将跟在这个包之后的元指令“END,ADDR=-,LEN=0”的地址推入第一寄存器用作返回地址)。然后,执行存贮在地址ADDR2处的元指令“RET,ADDR=-,LEN=8”。
在执行元指令“RET,ADDR=-,LEN=8”的过程中,跟在这个元指令之后的8个qworf的数据被传输。然后执行元指令“END,ADDR=-,LEN=0”,其地址已经在执行左侧上元指令“CALL,ADDR=ADDR2,LEN=8”的过程中推入第一寄存器。在执行元指令“END,ADDR=-,LEN=0”的过程中,由于LEN=0,所以没有数据被传输。然后,处理结束。
如上所述,根据插入到数据中的元指令控制数据传输。
图13示出了根据插入到所述数据中元指令控制数据传输的状态。当主CPU 44正在形成一个显示表(显示表#0)时,与超前于显示表#0一帧的显示表(显示表#1)相关的数据被传输给第二矢量处理引擎(VPE1)48。
首先,与第一矢量处理引擎71协同工作的主CPU 44形成一个显示表(显示表#0),包括具有“NEXT”操作码的元指令、上下文、具有操作码“REF”的元指令、具有操作码“REF”的元指令、矩阵、具有“REF”操作码的元指令、矩阵、具有“REF”操作码的元指令、矩阵、具有操作码“REF”的元指令,具有操作码“REF”的元指令、具有操作码“REF”的元指令,矩阵和具有“RET”操作码的元指令,如图13所示。
如上所述,当主CPU 44正在与第一矢量处理引擎71协同形成一个显示表(显示表#0)时,与超前于显示表#0一帧的显示表(显示表#1)相关的数据被如下传输给第二矢量处理引擎(VPE1)48。首先,在显示表#1头部的具有“NEXT”操作码的元指令被执行以将随后的上下文传输给第二矢量处理引擎48。然后,跟在被传输的上下文之后具有“REF”操作码的第一个元指令被执行以读出存贮在主存贮器45中对象数据库内的程序0(和然后将该程序传输给第二矢量处理引擎48)。例如,顶点数据组,即图13所示对象内容可以被存贮在某处且只有显示表的矩阵被更新。这样可以针对观察者视觉产生一个图像。利用这种方式,其内容不逐帧变化的数据诸如程序使用元指令从一个显示表中读出(以将这些数据传输给第二矢量处理引擎48而不必包括该显示表上的全部数据)。其间诸如字符和常数等固定数据可以被不同显示表中的元指令所共享。结果是,仅通过简单更新先前形成的现有显示表的位置数据(即矩阵)(显示表内包含的位置数据的内容逐帧变化),就能够形成新的显示表。
应当说明,对象数据库包括用于描述三维对象(以下也被称为对象顶点)的三维数据和用于解释对象数据的程序。另外,如果在对象装饰上执行纹理映象,用作纹理的图像数据(移之为纹理图像)也被存贮在所述对象数据库中。
然后,跟在上述第一个“REF”元指令之后的具有“REF”操作码的第二个元指令被执行以读出三维坐标数据Vertex of Object0,即对象0的顶点坐标(和然后将对象0的顶点坐标传输给第二矢量处理引擎48)。然后,(通过执行在第一矩阵头部处跟在第二个“REF”元指令之后的具有操作码NEXT的元指令)将第一矩阵传输给第二矢量处理引擎48。然后,执行跟在被传输第一矩阵之后具有“REF”操作码的第三个元指令以读出三维坐标数据Vertex of Object1,即对象1的顶点坐标(然后将对象1的顶点坐标传输给第二处理引擎48)。
然后,跟在上述第三个“REF”元指令之后的第二矩阵被通过执行在第二矩阵头部跟在第三“REF”元指令之后并具有NEXT操作码的一个元指令,被传输给第二矢量处理引擎48。随后,执行跟在被传输第二矩阵之后具有“REF”操作码的第四个元指令以再次读出三维坐标数据Vertex of Object1,即对象1的顶点坐标(然后将对象1的顶点坐标传输给第二矢量处理引擎48)。然后,通过执行在第三矩阵头部处跟在第四“REF”元指令之后的具有操作码NEXT的一个元指令,将第三矩阵传输给第二矢理处理引擎48。然后,执行跟在被传输第三矩阵之后操作码为“REF”的第五元指令以读出程序3(并将该程序传输给第二矢理处理引擎48)。然后,执行跟在上述第五“REF”指令之后操作码为“REF”的第六元指令,以从帧存贮器58中读出纹理图像数据并将该数据传输给第二矢理处理引擎48。
如果纹理图像数据还没有被存贮到帧存贮器58中,在由后面的操作码是“REF”的第七元指令传输对象数据Vertex of Object4之前,所述纹理图像数据被传输给帧存贮器58。如果纹理图像数据是来自MDEC 47的解冻数据或来自子总线42的传输数据,则该纹理图像数据逐帧变化。在这种情况下,如下所述,利用阻塞功能来建立与数据传输的同步。
当图像数据正在被传输给第二矢理处理引擎48时,由第二矢量处理引擎48执行的处理暂停。因此需要暂停在这个周期内由其它DMA通道执行的活动以使图像数据的传输周期最小化。可通过在用于传输图像数据的元指令内的预定控制位规定由其它DMA通道执行活动的暂停。例如,图9所示元指令的第24和第25位可以用作这样的控制位。
然后,执行最后一个(第七个)操作码为“REF”的元指令以读出三维坐标数据Veretx of Object4(然后将该数据传输给第二矢量处理引擎48)。然后,最后一个(第四个)矩阵被传输给第二矢量处理引擎48(通过执行第四矩阵头部处跟在第七“REF”元指令之后的操作码为NEXT的元指令)。最后,执行操作码“REF”的元指令以结束传输处理。
图14用于解释上述的阻塞处理。假设数据被从设备0传输给主存贮器,然后以主存贮器中数据存贮地址增加的顺序再从主存贮器传输给设备1。在这种情况下,由于某种原因主存贮器中将把数据传输给设备1的地址有时会超过主存贮器中最近由设备0传来数据的地址。在此期间,从主存贮器到设备1的数据传输被置于阻塞状态。
在图13所示数据传输的例子中,纹理图像数据被从MDEC 47中的一个存贮器传输给主存贮器45,然后按照主存贮器45中数据存贮地址的增加顺序从主存贮器45传输给第二矢量处理引擎48。在这种情况下,由于某种原因主存贮器45中将把数据传输给第二矢量处理引擎48的地址有时会超过最近从MDEC 47中存贮器将数据传输给主存贮器45中的地址。在此期间,从主存贮器45向第二矢量处理引擎48传输纹理图像数据的操作被置于阻塞状态以建立传输同步。
如上所述,主DMAC 46从显示表中提取元指令并执行这个元指令以给各处理器分配数据。结果是通过预先由处理器建立显示表时在数据中编排传输数据的顺序、格式以及优先权,可以依据所述数据的特征以最佳途径进行数据传输。另外,通过预先使处理器以诸如显示表的一个表的形式规定传输数据的顺序,处理器不再需要在存贮器中保存与传输工作相关的无用复制数据。结果是减小了对存贮器无用访问的次数和显示表大小。
此外,仅需要对每个显示表重复2次单独存贮每个要传输数据中逐帧变化的部分。各显示表的没有逐帧变化的部分可以被存贮在所有显示表共用的存贮区域内。这样,可以减少存贮显示表所需的存贮器容量。就是说,在具有小的存贮容量的存贮器中能存贮多个显示表。
除此之外,由于数据是根据插入到数据中的元指令传输的,读出和写入数据操作的同步可以在多个处理器之间很容易地建立。结果是,多个处理器被允许共享一个存贮器而不需要在所述存贮器中提供双重缓冲器。
在上述实施例的情况下,数据被存贮在CD-ROM中。但是应当说明,也可以使用其它的记录媒体。
利用根据本发明的信息处理装置和信息处理方法,当所述第二矢量处理引擎正在进行处理而所述图形处理单元处于等待状态时,如果有所述第一显示表,所述主直接存贮器存取控制器将该显示表提供给所述图形处理单元,并且所述图形处理单元在接收到所述第一显示表时,根据所述第一显示表执行绘图处理。
Claims (5)
1.一种信息处理装置,包括:
第一矢量处理引擎(71),用于执行处理以产生第一显示表;
第二矢量处理引擎(48),用于执行处理以产生第二显示表;
图形处理单元(49),用于根据所述第一显示表和第二显示表,通过利用预定定时从所述第一显示表转换到所述第二显示表或相反,执行绘图处理;
图形处理单元接口(72),用于将所述第二显示表传输给所述图形处理单元(49);和
主直接存贮器存取控制器(46),用于将所述第一显示表传输给所述图形处理单元(49),
其中,当所述第二矢量处理引擎(48)正在进行处理而所述图形处理单元(49)处于等待状态时,如果有所述第一显示表,所述主直接存贮器存取控制器(46)将该显示表提供给所述图形处理单元(49),并且所述图形处理单元(49)在接收到所述第一显示表时,根据所述第一显示表执行绘图处理。
2.如权利要求1所述的信息处理装置,其中,
所述图形处理单元(49)保持用于执行基于所述第一和第二显示表的绘图处理的参数如所述第一和第二矢量处理引擎那么多;和
当从所述第二矢量处理引擎(48)中的任一个接收所述第二显示表时,所述图形处理单元(49)使用与提供所述第二显示表的所述第二矢量处理引擎(48)相关的一个所述参数执行基于所述第二显示表的绘图处理;和当从所述第一矢量处理引擎(71)中的任一个接收所述第一显示表时,所述图形处理单元(49)使用与提供所述第一显示表的所述第一矢量处理引擎(71)相关的一个所述参数执行所述基于所述第一显示表的绘图处理。
3.如权利要求1所述的信息处理装置,其中,
所述装置还被提供有一个存贮装置(45),用于存贮由所述第一矢量处理引擎(71)产生的所述第一显示表;和
所述主直接存贮器存取控制器(46)将存贮在所述存贮装置(45)中的所述第一显示表传输给所述图形处理单元(49)。
4.如权利要求1所述的信息处理装置,其中,产生的所述第二显示表用于类型处理,而产生的所述第一显示表用于非类型处理。
5.一种在信息处理装置中采用的信息处理方法,包括:
第一矢量处理引擎(71)执行处理以产生第一显示表;
第二矢量处理引擎(48)执行处理以产生第二显示表;
图形处理单元(49)根据所述第一显示表和第二显示表,通过利用预定定时从所述第一显示表转换到所述第二显示表或相反,执行绘图处理;
图形处理单元接口(72)将所述第二显示表传输给所述图形处理单元(49);和
主直接存贮器存取控制器(46)将所述第一显示表传输给所述图形处理单元(49),
其中,当所述第二矢量处理引擎(48)正在进行处理而所述图形处理单元(49)处于等待状态时,如果有所述第一显示表,所述主直接存贮器存取控制器(46)将该显示表提供给所述图形处理单元(49),并且所述图形处理单元(49)在接收到所述第一显示表时,根据所述第一显示表执行绘图处理。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP074931/1997 | 1997-03-27 | ||
JP07493197A JP3681026B2 (ja) | 1997-03-27 | 1997-03-27 | 情報処理装置および方法 |
JP074931/97 | 1997-03-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1197969A CN1197969A (zh) | 1998-11-04 |
CN1107287C true CN1107287C (zh) | 2003-04-30 |
Family
ID=13561604
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN98108283A Expired - Lifetime CN1107287C (zh) | 1997-03-27 | 1998-03-27 | 信息处理装置和信息处理方法 |
Country Status (9)
Country | Link |
---|---|
US (2) | US6119217A (zh) |
EP (1) | EP0867809B1 (zh) |
JP (1) | JP3681026B2 (zh) |
KR (1) | KR100466903B1 (zh) |
CN (1) | CN1107287C (zh) |
AU (1) | AU730714B2 (zh) |
CA (1) | CA2233391A1 (zh) |
DE (1) | DE69827544T2 (zh) |
TW (1) | TW389879B (zh) |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3681026B2 (ja) * | 1997-03-27 | 2005-08-10 | 株式会社ソニー・コンピュータエンタテインメント | 情報処理装置および方法 |
US6389527B1 (en) * | 1999-02-08 | 2002-05-14 | Kabushiki Kaisha Toshiba | Microprocessor allowing simultaneous instruction execution and DMA transfer |
US6859872B1 (en) | 1999-05-12 | 2005-02-22 | Analog Devices, Inc. | Digital signal processor computation core with pipeline having memory access stages and multiply accumulate stages positioned for efficient operation |
US7107302B1 (en) | 1999-05-12 | 2006-09-12 | Analog Devices, Inc. | Finite impulse response filter algorithm for implementation on digital signal processor having dual execution units |
US6820189B1 (en) | 1999-05-12 | 2004-11-16 | Analog Devices, Inc. | Computation core executing multiple operation DSP instructions and micro-controller instructions of shorter length without performing switch operation |
US7111155B1 (en) | 1999-05-12 | 2006-09-19 | Analog Devices, Inc. | Digital signal processor computation core with input operand selection from operand bus for dual operations |
US6452600B1 (en) * | 1999-10-28 | 2002-09-17 | Nintendo Co., Ltd. | Graphics system interface |
US6807620B1 (en) | 2000-02-11 | 2004-10-19 | Sony Computer Entertainment Inc. | Game system with graphics processor |
JP3543942B2 (ja) | 2000-03-02 | 2004-07-21 | 株式会社ソニー・コンピュータエンタテインメント | 画像生成装置 |
US6606689B1 (en) | 2000-08-23 | 2003-08-12 | Nintendo Co., Ltd. | Method and apparatus for pre-caching data in audio memory |
US6643744B1 (en) | 2000-08-23 | 2003-11-04 | Nintendo Co., Ltd. | Method and apparatus for pre-fetching audio data |
US6526491B2 (en) * | 2001-03-22 | 2003-02-25 | Sony Corporation Entertainment Inc. | Memory protection system and method for computer architecture for broadband networks |
US7233998B2 (en) * | 2001-03-22 | 2007-06-19 | Sony Computer Entertainment Inc. | Computer architecture and software cells for broadband networks |
JP2002342783A (ja) * | 2001-05-15 | 2002-11-29 | Namco Ltd | 画像生成システム、画像生成方法および情報記憶媒体 |
JP4542308B2 (ja) * | 2002-12-16 | 2010-09-15 | 株式会社ソニー・コンピュータエンタテインメント | 信号処理用デバイス及び情報処理機器 |
US7895411B2 (en) | 2003-10-02 | 2011-02-22 | Nvidia Corporation | Physics processing unit |
US7739479B2 (en) * | 2003-10-02 | 2010-06-15 | Nvidia Corporation | Method for providing physics simulation data |
US8224639B2 (en) | 2004-03-29 | 2012-07-17 | Sony Computer Entertainment Inc. | Methods and apparatus for achieving thermal management using processing task scheduling |
US20050251644A1 (en) * | 2004-05-06 | 2005-11-10 | Monier Maher | Physics processing unit instruction set architecture |
US8941668B2 (en) * | 2004-06-25 | 2015-01-27 | Nvidia Corporation | Method and system for a scalable discrete graphics system |
US8411093B2 (en) * | 2004-06-25 | 2013-04-02 | Nvidia Corporation | Method and system for stand alone graphics independent of computer system form factor |
US8446417B2 (en) * | 2004-06-25 | 2013-05-21 | Nvidia Corporation | Discrete graphics system unit for housing a GPU |
US9087161B1 (en) * | 2004-06-28 | 2015-07-21 | Nvidia Corporation | Asymmetrical scaling multiple GPU graphics system for implementing cooperative graphics instruction execution |
US7227201B2 (en) * | 2004-08-27 | 2007-06-05 | Texas Instruments Incorporated | CMOS device having different amounts of nitrogen in the NMOS gate dielectric layers and PMOS gate dielectric layers |
US7650266B2 (en) * | 2005-05-09 | 2010-01-19 | Nvidia Corporation | Method of simulating deformable object using geometrically motivated model |
US10026140B2 (en) * | 2005-06-10 | 2018-07-17 | Nvidia Corporation | Using a scalable graphics system to enable a general-purpose multi-user computer system |
US8893016B2 (en) * | 2005-06-10 | 2014-11-18 | Nvidia Corporation | Using a graphics system to enable a multi-user computer system |
WO2008088109A1 (en) * | 2007-01-16 | 2008-07-24 | Tes Co., Ltd | A loadlock chamber having dual-arm and a transportation system for processing semiconductor material using a loadlock chamber having dual-arm |
US7627744B2 (en) * | 2007-05-10 | 2009-12-01 | Nvidia Corporation | External memory accessing DMA request scheduling in IC of parallel processing engines according to completion notification queue occupancy level |
JP2010157901A (ja) | 2008-12-26 | 2010-07-15 | Sony Corp | 信号処理装置、信号処理方法およびプログラム |
JP2012003618A (ja) * | 2010-06-18 | 2012-01-05 | Sony Corp | 情報処理システム、情報処理方法、情報処理装置 |
CN103984669A (zh) | 2013-02-07 | 2014-08-13 | 辉达公司 | 一种用于图像处理的系统和方法 |
US9734546B2 (en) | 2013-10-03 | 2017-08-15 | Nvidia Corporation | Split driver to control multiple graphics processors in a computer system |
EP3113169B1 (en) * | 2015-07-02 | 2018-11-14 | OpenSynergy GmbH | Method for controlling a graphic processing unit in a control unit, in particular of a vehicle, computer program product and system for an embedded control unit |
JP7180516B2 (ja) * | 2019-04-16 | 2022-11-30 | 株式会社デンソー | 車両用装置、車両用装置の制御方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5239654A (en) * | 1989-11-17 | 1993-08-24 | Texas Instruments Incorporated | Dual mode SIMD/MIMD processor providing reuse of MIMD instruction memories as data memories when operating in SIMD mode |
US5301324A (en) * | 1992-11-19 | 1994-04-05 | International Business Machines Corp. | Method and apparatus for dynamic work reassignment among asymmetric, coupled processors |
US5335322A (en) * | 1992-03-31 | 1994-08-02 | Vlsi Technology, Inc. | Computer display system using system memory in place or dedicated display memory and method therefor |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4631674A (en) * | 1985-02-05 | 1986-12-23 | International Business Machines Corporation | Active wait |
US5101341A (en) * | 1988-08-25 | 1992-03-31 | Edgcore Technology, Inc. | Pipelined system for reducing instruction access time by accumulating predecoded instruction bits a FIFO |
US5706478A (en) * | 1994-05-23 | 1998-01-06 | Cirrus Logic, Inc. | Display list processor for operating in processor and coprocessor modes |
US5787241A (en) * | 1995-12-18 | 1998-07-28 | Integrated Device Technology, Inc. | Method and apparatus for locating exception correction routines |
JP3681026B2 (ja) * | 1997-03-27 | 2005-08-10 | 株式会社ソニー・コンピュータエンタテインメント | 情報処理装置および方法 |
-
1997
- 1997-03-27 JP JP07493197A patent/JP3681026B2/ja not_active Expired - Fee Related
-
1998
- 1998-03-23 AU AU59464/98A patent/AU730714B2/en not_active Expired
- 1998-03-23 TW TW087104313A patent/TW389879B/zh not_active IP Right Cessation
- 1998-03-25 EP EP98302259A patent/EP0867809B1/en not_active Expired - Lifetime
- 1998-03-25 DE DE69827544T patent/DE69827544T2/de not_active Expired - Lifetime
- 1998-03-25 US US09/048,140 patent/US6119217A/en not_active Expired - Lifetime
- 1998-03-26 CA CA002233391A patent/CA2233391A1/en not_active Abandoned
- 1998-03-27 CN CN98108283A patent/CN1107287C/zh not_active Expired - Lifetime
- 1998-03-27 KR KR10-1998-0010672A patent/KR100466903B1/ko not_active IP Right Cessation
-
2000
- 2000-07-11 US US09/613,493 patent/US6304952B1/en not_active Expired - Lifetime
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5239654A (en) * | 1989-11-17 | 1993-08-24 | Texas Instruments Incorporated | Dual mode SIMD/MIMD processor providing reuse of MIMD instruction memories as data memories when operating in SIMD mode |
US5335322A (en) * | 1992-03-31 | 1994-08-02 | Vlsi Technology, Inc. | Computer display system using system memory in place or dedicated display memory and method therefor |
US5301324A (en) * | 1992-11-19 | 1994-04-05 | International Business Machines Corp. | Method and apparatus for dynamic work reassignment among asymmetric, coupled processors |
Also Published As
Publication number | Publication date |
---|---|
EP0867809A2 (en) | 1998-09-30 |
EP0867809A3 (en) | 1999-11-17 |
CN1197969A (zh) | 1998-11-04 |
KR100466903B1 (ko) | 2005-06-22 |
TW389879B (en) | 2000-05-11 |
US6119217A (en) | 2000-09-12 |
KR19980080759A (ko) | 1998-11-25 |
DE69827544D1 (de) | 2004-12-23 |
JP3681026B2 (ja) | 2005-08-10 |
US6304952B1 (en) | 2001-10-16 |
AU730714B2 (en) | 2001-03-15 |
DE69827544T2 (de) | 2005-11-10 |
AU5946498A (en) | 1998-10-01 |
CA2233391A1 (en) | 1998-09-27 |
EP0867809B1 (en) | 2004-11-17 |
JPH10269351A (ja) | 1998-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1107287C (zh) | 信息处理装置和信息处理方法 | |
CN1107923C (zh) | 信息处理装置及信息处理方法 | |
CN1203428C (zh) | 信息处理装置 | |
CN1103476C (zh) | 图像产生装置及其方法、和视频游戏机 | |
CN1317648C (zh) | 用于在主机处理器和图形处理器之间优化存储器共享的方法和系统 | |
US6862027B2 (en) | System and method for parallel execution of data generation tasks | |
JP5149985B2 (ja) | 機能拡張型メモリコントローラを備えるグラフィックス処理システム | |
CN1324473C (zh) | 具有图形上下文管理器的图形渲染装置、方法和系统 | |
CN1255765C (zh) | 数据通信系统和方法 | |
US6339427B1 (en) | Graphics display list handler and method | |
JP2001243481A (ja) | 画像生成装置 | |
CN1955933A (zh) | 数据处理设备和方法 | |
JP2005202983A (ja) | 情報処理装置および方法 | |
AU5012001A (en) | Information processing apparatus and information processing method |
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 | ||
CX01 | Expiry of patent term | ||
CX01 | Expiry of patent term |
Granted publication date: 20030430 |