CN1107923C - 信息处理装置及信息处理方法 - Google Patents
信息处理装置及信息处理方法 Download PDFInfo
- Publication number
- CN1107923C CN1107923C CN98109421A CN98109421A CN1107923C CN 1107923 C CN1107923 C CN 1107923C CN 98109421 A CN98109421 A CN 98109421A CN 98109421 A CN98109421 A CN 98109421A CN 1107923 C CN1107923 C CN 1107923C
- Authority
- CN
- China
- Prior art keywords
- data
- vector processing
- processing unit
- storer
- instruction
- 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
- 230000010365 information processing Effects 0.000 title claims description 10
- 238000000034 method Methods 0.000 title description 12
- 238000012545 processing Methods 0.000 claims abstract description 195
- 230000003750 conditioning effect Effects 0.000 claims description 35
- 238000003672 processing method Methods 0.000 claims description 9
- VRDIULHPQTYCLN-UHFFFAOYSA-N Prothionamide Chemical compound CCCC1=CC(C(N)=S)=CC=N1 VRDIULHPQTYCLN-UHFFFAOYSA-N 0.000 claims 1
- 239000011159 matrix material Substances 0.000 description 24
- 238000010586 diagram Methods 0.000 description 19
- MHABMANUFPZXEB-UHFFFAOYSA-N O-demethyl-aloesaponarin I Natural products O=C1C2=CC=CC(O)=C2C(=O)C2=C1C=C(O)C(C(O)=O)=C2C MHABMANUFPZXEB-UHFFFAOYSA-N 0.000 description 16
- 238000003860 storage Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 8
- 238000003780 insertion Methods 0.000 description 7
- 230000037431 insertion Effects 0.000 description 7
- MJEMIOXXNCZZFK-UHFFFAOYSA-N ethylone Chemical compound CCNC(C)C(=O)C1=CC=C2OCOC2=C1 MJEMIOXXNCZZFK-UHFFFAOYSA-N 0.000 description 5
- 230000000903 blocking effect Effects 0.000 description 4
- 238000012856 packing Methods 0.000 description 4
- 102100029968 Calreticulin Human genes 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 239000004606 Fillers/Extenders Substances 0.000 description 2
- 101100326671 Homo sapiens CALR gene Proteins 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000005611 electricity Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 238000005755 formation reaction Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000010008 shearing Methods 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 239000000428 dust Substances 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Image Generation (AREA)
- Advance Control (AREA)
- Multi Processors (AREA)
- Processing Or Creating Images (AREA)
- Image Processing (AREA)
- Controls And Circuits For Display Device (AREA)
- Digital Computer Display Output (AREA)
- Information Transfer Systems (AREA)
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种数据处理装置,根据插在数据中的元指令传送数据。从存储在标签地址寄存器Dn TADR中的地址ADDR0中读出第一元指令。传送具有由第一元指令规定的长度的第一元指令后的数据。读出存储在由第一元指令规定的地址ADDR2中的第二元指令,及传送具有由第二元指令规定的长度的第二元指令后的数据。读出存储在由第二元指令规定的地址ADDR1中的第三元指令,及传送具有由第三元指令规定的长度的第三元指令后的数据。
Description
技术领域
本发明总地涉及一种信息处理装置及信息处理方法。更具体地,本发明涉及这样一种信息处理装置及信息处理方法,其中,通过它利用在数据本身中插入控制指令来执行根据数据特性的最佳控制,以便控制传送数据的顺序及优先级。
背景技术
由于处理用LSIs频率的增高及其电路集成规模的加大,正在使家用游戏系统及个人计算机的性能不断改善。为了进一步地增强系统处理性能,将多种处理装置、如图形处理器及图像化解处理器(image thawingprocessor)集成在单片LSI上,以便实现一个能进行并行处理的系统。但是,这种单片LSI的存储器成本仍有待降低。于是,将一个存储器由一些处理装置共享来作为一种降低存储器成本的方式。其中存储器被处理装置共享的结构被称为UMA(Unified Memory Architecture,统一存储器结构)。
但是,与处理用LSIs工作频率的增高及其电路集成规模的加大相比较,并与至今用相同成本生产的传统存储器相比较,通用存储器的存储容量并未增大多少,导致了存储器存储容量仍然低的问题,及性能改善仍有待解决的问题。
此外,在存储器由多个处理器共享的结构如UMA中,具有对存储器的存取速度降低的问题,及性能改善仍有待解决的问题。
发明内容
致力于上述问题,本发明的目的是提供一种信息处理装置及信息处理方法,它们允许数据被有效地处理,并通过将控制指令插入到数据本身中而无需过大的存储器的存储容量。
根据本发明的第一方面,提供一种信息处理装置,该装置包括包含主处理单元以及第一和第二矢量处理单元在内的多个处理单元;一个总线及一个存储器,它们在时分基础上被所述多个处理单元共享,以便并行地进行三维图形处理;所述信息处理装置还包括一个表(list)产生装置,用来产生一个包括将要传送到所述第二矢量处理单元的所述三维图形处理的数据,以及用于控制对所述第二矢量处理单元传送所述数据的指令的表;其中,所述表产生装置包括所述主处理单元以及所述第一矢量处理单元。
根据本发明的第二方面,提供一种信息处理装置,包括包含主处理单元以及第一和第二矢量处理单元在内的多个处理单元;一个总线及一个存储器,它们在时分基础上被所述多个处理单元共享,以便并行地进行三维图形处理,其中,所述存储器存储一个包括将要传送到所述第二矢量处理单元的所述三维图形处理的数据,以及用于控制对所述第二矢量处理单元传送所述数据的指令的表,和其中,所述表由所述主处理单元以及所述第一矢量处理单元产生。
根据本发明的第三方面,提供一种信息处理装置,该装置包括包含主处理单元以及第一和第二矢量处理单元在内的多个处理单元;一个总线及一个存储器,它们在时分基础上被所述多个处理单元共享,以便并行地进行三维图形处理,所述信息处理装置还包括一个数据传送装置,用于从所述存储器读出包括将要传送到所述第二矢量处理单元的所述三维图形处理的数据及用于控制从所述存储器向对所述第二矢量处理单元传送所述数据的指令的表,并用于根据所述指令将所述数据传送到所述第二矢量处理单元,其中,所述表由所述主处理单元以及所述第一矢量处理单元产生。
根据本发明的第四方面,提供一种信息处理装置,该装置包括包含主处理单元以及第一和第二矢量处理单元在内的多个处理单元;一个总线及一个存储器,它们在时分基础上被所述多个处理单元共享,以便并行地进行三维图形处理;所述信息处理装置还包括:一个表产生装置,用来产生包括将要传送到所述第二矢量处理单元的所述三维图形处理的数据及用于控制对所述第二矢量处理单元传送所述数据的指令的表,和用来将该表存储在所述存储器中;及一个数据传送装置,用于从所述存储器读出所述表及用于根据包括在所述表中的所述指令将所述表中的所述数据传送到所述第二矢量处理单元,其中,所述表产生装置包括所述主处理单元以及所述第一矢量处理单元。
根据本发明的第五方面,提供一种信息处理方法,其中,一个总线及一个存储器在时分基础上被多个处理单元共享,以便并行地进行三维图形处理,所述多个处理单元包括主处理单元以及第一和第二矢量处理单元,所述信息处理方法包括以下步骤:产生一个包括将要传送到所述第二矢量处理单元的所述三维图形处理的数据及用于对所述第二矢量处理单元传送所述数据的指令的表,及将所述表存储在所述存储器中;从所述存储器中读出所述表;及根据包括在所述表中的所述指令将所述表中的所述数据传送到所述第二矢量处理单元,其中,所述表由所述主处理单元以及所述第一矢量处理单元产生。
在根据本发明第二方面的信息处理装置中,使用存储器来存储包括用于传送到处理单元的三维图形处理数据及用于控制对处理单元传送数据的指令的表。
在根据本发明第三方面的信息处理装置中,使用了数据传送装置来从存储器中读出包括用于传送到处理单元的三维图形处理数据及用于控制对处理单元传送数据的指令的表,并用于根据指令将数据传送到处理单元。
在根据本发明第四方面的信息处理装置中,使用了表产生装置来产生一个包括用于传送到处理单元的三维图形处理的数据及用于控制对处理单元传送数据的指令的表和用来将表存储在存储器中,并使用了数据传送装置,用于从存储器读出表及用于根据包括在表中的指令将表中的数据传送到处理单元。
附图说明
将借助以下的附图来描述本发明的优选实施例:
图1表示其中设有由本发明提出的信息处理装置的一个典型家用游戏系统的平面图;
图2是图1所示家用游戏系统1的前视图;
图3是图1所示家用游戏系统1的侧视图;
图4是表示在图1所示的家用游戏系统1中播放信息的典型CD-ROM的平面图;
图5是表示图1所示家用游戏系统1中典型内部电结构的框图;
图6是表示图5中所示主DMAC 46、主CPU 44、主存储器45、第二矢量处理引擎(VPE1)48及GPU 49的详细结构的框图;
图7是表示对由多个处理器产生的显示表进行处理的过程的示意图;
图8是表示家用游戏系统1的另一典型结构的框图,其中3个处理器控制GPU 49;
图9是表示元指令(meta-instruction)典型格式的示意图;
图10是用于解释根据元指令传送数据的过程的示意图;
图11是用于解释根据元指令传送数据的另一过程的示意图;
图12是用于解释根据元指令传送数据的又一过程的示意图;
图13是用于解释根据显示表传送数据的过程的示意图;及
图14是用于解释阻塞控制(stall control)的示意图。
具体实施方式
图1至3是表示其中设有由本发明提出的信息处理装置的一个典型家用游戏系统的示意图。如图所示,该系统包括一个游戏系统主单元2,外加能与该游戏系统主单元2连接的操作单元17及记录单元38。
如图1至3所示,该游戏系统主单元2具有大致矩形的形状。该游戏系统主体单元2包括:一个位于其中央的盘加载子单元3,用于加载CD-ROM(小型盘只读存储器)40;一个位于游戏系统主单元2适当位置上的复位开关4,用于由用户任意复位一运行应用程序;电源开关5,用于由用户开及关电源;盘操作开关6,用于由用户在盘加载子单元3上加载盘;及连接器7A和7B,它们分别位于右及左侧,用于由用户将游戏系统主单元2连接到操作单元17上(用于当应用程序运行时执行操作)及记录单元38(用于记录运行的应用程序的各种设置信息等)。应当指出,CD-ROM是一种如图4所示的光盘。该CD-ROM是用作运行应用程序记录介质的盘。
如图2及3所示,连接器7A及7B各被设计成两层。在每个连接器7A及7B的上层中,设有记录插入部分8,用于使游戏系统主单元2与记录单元38相连接。另一方面,在每个连接器7A及7B的下层中,设有连接器端子插入部分12,用于使游戏系统主单元2与操作单元17相连接。
记录插入部分8包括一个水平方向长的长方形插口及存储器端子,在其中插入记录单元38。存储器端子布置在插口内部并在图中未示出。当记录单元38未连接在游戏系统主单元2上时,记录插入部分8被一遮板9盖住,用于防止灰尘进入存储器端子,如图2中所示。应当指出,记录单元38具有电可编程ROM,主CPU 44在其中记录应用软件数据。
当将记录单元38安装在游戏系统主单元2上时,用户使用记录单元38的端部将遮板9推到记录插入部分8的内部,接着将记录单元38插入到插口中,直到记录单元38与存储器端子相连接为止。
如图2中所示,连接器端子插入部分12包括一个水平长方插口及一个连接器端子12A,用于将连接器端子插入部分12与操作单元17的连接器端子部分26相连接。
如图1中所示,操作单元17具有能被使用者双手夹持并能被每只手的五指自由移动来操作的结构。操作单元17包括:对称地位于右及左侧的操作子单元18和19;位于操作子单元18及19之间的选择开关22和起动开关23;分别位于操作子单元18及19前方的操作子单元24及25;及连接器26和电缆27,用于将操作单元17与游戏系统主单元2相连接。
图5是该游戏系统主单元2的典型内部电结构的图。如该图所示,游戏系统主单元2具有主总线41及子总线42,它们彼此通过子总线接口(SBUSIF)43相连接。
连接在主总线41上的有:由如微处理器及VPE0(第一矢量处理引擎)71这些部件构成的主CPU(中央处理单元44)(表产生装置);由RAM(随机存取存储器)构成的主存储器45;主DMAC(主直接存储器存取控制器)46(一种数据传送装置);MDEC(MPEG(运动图像专家组)解码器)47;VPE1(第二矢量处理引擎)48。此外,一个GPU(图形处理单元)49通过GPUIF(图形处理单元接口)72也连接在主总线41上。CRTC(CRT控制器)84设置在GPU 49上。另外,帧存储器58连接到GPU 49。
另一方面,连接在子总线42上的有:由如微处理器这样的部件构成的子CPU 50;由RAM构成的子存储器51;子DMAC 52;用于存储程序如操作系统的ROM 53;SPU(声音处理单元)54;通信控制单元(ATM)55;CD-ROM驱动器56,它也作为前述的盘加载子单元3;及输入单元57。输入单元57的连接器端子12A连接到上述操作单元17的连接器端子部分26上。
连接在主总线41及子总线42两者上的SBUSIF 43将来自主总线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-ROM40中读出的、包括多个基本图形如多边形三维物体的数据,产生用于非定型处理(non-type processing)的数据即多边形定义信息。一个三维物体数据的例子是多边形的顶点或代表点的坐标值。VPE0(第一矢量处理引擎)71具有多个处理浮点实数的处理单元,因此可以并行地进行多项浮点处理。
详细地说,主CPU 44及VPE0(第一矢量处理引擎)71进行在多边形单元中需要详细操作的几何处理。这种处理的例子是产生代表树叶被风吹动摇摆状态或汽车前窗被雨滴击打状态的多边形数据。由处理得到的顶点信息及多边形定义信息如阴影方式信息通过主总线41作为多个包提供给主存储器45。
多边形定义信息包括绘图区域设定信息及多边形信息。绘图区域设定信息包括绘图区域的帧存储器58中的偏移量坐标,即绘图区域的帧存储器地址,及在绘图区域以外存在多边形的坐标时、用于取消对该多边形指示的范围进行的绘图操作的绘图剪切区域的坐标。另一方面,多边形信息包括多边形属性信息及顶点信息。这里,多边形属性信息是用于说明阴影方式、ALPHA混合方式(ALPHA blending mode)及纹理映射方式的信息。另一方面,顶点信息是关于顶点绘图区域的坐标、顶点纹理区域的坐标及顶点颜色等的信息。
第二矢量处理引擎(VPE1)48与第一处理引擎(VPE0)71很相似,具有多个处理浮点实数的处理单元,因此可能并行地执行多项浮点处理。VPE1 48能够根据使用操作单元17进行的操作及矩阵操作来产生图像。这就是说,第二矢量处理引擎(VPE1)48产生用于定型处理(type processing)的数据(多边形定义信息),也即,用于相对简单到足以能让VPE1 48中的程序执行的处理。由第二矢量处理引擎(VPE1)48执行的这种处理的例子是具有简单形状的物体如建筑物或汽车的透视变换(radioscopy conversion),平行光源计算及二维曲面的产生。然后,将由VPE1 48产生的多边形定义信息提供到GPUIF 72。
GPUIF 72受到主CPU 44的控制,也通过主总线41从主存储器45接收多边形定义信息。为此原因,GPUIF 72调节处理定时,以使得能防止由主CPU 44产生的多边形定义信息与由第二矢量处理引擎48提供的多边形定义信息发生冲突,并将这些信息传递给GPU 49。
GPU 49使用基于由GPUIF 72提供的多边形定义信息在帧存储器58上绘制表达三维物体的图像。使用表达三维物体的多边形画出的图像以下称为多边形图像。因为GPU 49能够将帧存储器58用作纹理存储器,所以GPU49能进行纹理映射处理,以将帧存储器58中的像素图像作为纹理贴在多边形上。
主DMAC 46用于控制对连接于主总线41上的各种电路来回的DMA传送等。此外,根据SBUSIF 43的状态,主DMAC 46也能够控制对连接于子总线42上各种电路来回的DMA传送等。MDEC 47与主CPU 42同时地操作,对根据MPEG(运动图像专家组)系统或JPEG(联合图像专家组)压缩的数据进行解压缩。
子CPU 50通过执行存储在ROM 53中的程序进行各种处理。子DMAC 52仅当SBUSIF 43与主总线41及子总线42断开时,控制对连接于子总线42上的各种电路来回的DMA传送等。
SPU 54从声音存储器59中读出声音数据,并根据从子CPU 50或子DMAC52接收的声音命令输出作为音频信号的声音数据。然后将输出的音频信号通过放大电路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(scratch pad RAM,SPR)96,数据高速缓冲存储器(D$)97及第一矢量处理引擎(VPE0)71。CPU内核94执行预定指令。指令高速缓冲存储器95用于暂时存储待提供给CPU内核94的指令。便笺式RAM 96用于存储由CPU内核94执行的处理结果。最后,数据高速缓冲存储器97用于存储待由CPU内核94执行处理所使用的数据。
第一矢量处理引擎(VPE0)71包括:微存储器(microMEM)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中,后者与VPE0 71结合起来进行非定型处理。
第二矢量处理引擎(VPE1)48非常相似于第一矢量处理引擎(VPE0)71,包括微存储器(microMEM)103,FMAC(浮点多加法器计算)单元104,除法器(DIV)106,称为VU-MEM的功能单元107及包扩展器(PKE)108。VU-MEM 107包括浮点矢量处理器单元(VU)及嵌入式存储器(MEM)。浮点矢量处理器单元执行存储在微存储器103(以下详述)中的微程序的64位微指令,以便处理存储在VU及嵌入式存储器的内部寄存器中的数据。
PEK 108将根据由主DMAC 46执行的控制所提供的微码扩展成待作为微程序存储于微存储器103中及待由VU执行的微指令,并扩展也是根据由主DMAC 46执行的控制所提供的打包数据的包,及将扩展的包存储在VU-MEM107中使用的嵌入式存储器(MEM)内。FMAC(浮点多加法器计算)单元104执行浮点处理,而除法器(DIV)106执行除法。第二矢量处理引擎48对由主存储器45提供的数据执行定型处理,并将处理结果通过GPU 49供给到GPUIF72。
主存储器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使用该矩阵来产生显示表。
为了处理由第一矢量处理引擎71通过GPUIF 72提供的非定型处理的显示表及由第二矢量处理引擎48提供的定型处理的显示表,GPU 49对于每个显示表保持用于在绘图时引用的绘图偏移量值及剪切范围的图形上下文(graphic context)(即,绘图设置条件)。在以下说明中使用的符号CG0表示用于非定型处理的图形上下文,而符号CG1表示用于定型处理的图形上下文,这将在后面加以描述。
如上所述,例如,PKE 102将根据由主DMAC 109执行的控制从主存储器45通过主总线41提供给第一矢量处理引擎71的微码扩展成待作为微程序存储于微存储器98中及待由VU执行的微指令,并扩展也是根据由DMAC109执行的控制从主存储器45通过主总线41提供的打包的数据例如三维物体的数据的包,将扩展的包存储在VU-MEM 101中所使用的嵌入式存储器(MEM)内。然后,FMAC 99及DIV 100执行多项处理,例如关于三维物体数据的矩阵处理、坐标变换及透视变换。在这时,也与CPU内核94联合执行复杂处理。该处理通常产生出用于绘制树叶被风吹的摇摆状态或汽车前窗被雨滴敲打状态的显示表。
用于在屏幕上描绘以此方式产生的二维物体的显示表(复流(complexstream))在最终被提供给GPUIF 72以前通过主总线41被暂存在主存储器45的MFIFO中。
另一方面,如上所述,PKE 108将根据由主DMAC 46执行的控制从主存储器45通过主总线41提供给第二矢量处理引擎48的微码扩展成待作为微程序存储于微存储器103中及待由VU执行的微指令,并扩展也是根据由主DMAC 46执行的控制从主存储器45通过主总线41提供的打包的数据例如三维物体的数据的包,将扩展的包存储在VU-MEM 107中所使用的嵌入式的存储器(MEM)内。然后,FMAC 104及DIV 106执行多项处理,如关于三维物体数据的矩阵处理、坐标变换及透视变换。基于由主CPU 44及第一矢量处理引擎71联合产生的并从主存储器45通过主总线41提供给第二矢量处理引擎48的矩阵及图形上下文,该处理是相对简单的定型处理。
用于在屏幕上描绘以此方式产生的二维物体的显示表(单流(simplestream))通过主总线41最终提供给GPUIF 72。这两种数据流、即复合流及单流,然后在时分基础上被通过仲裁传送到GPU 49。
GPU 49基于由GPUIF 72提供的显示表执行绘图处理,在帧存储器58中绘制多边形。如果显示表是主存储单元45中的由主CPU 44及第一矢量处理引擎71联合产生的、并接着通过主总线41供给GPU 49的显示表时,GPU 49使用前述的图形上下文GC0执行绘图处理。如果,另一方面,该显示表是由第二矢量处理引擎48产生的显示表时,GPU 49使用前述的图形上下文GC1执行绘图处理。
在帧存储器58中绘制的多边形根据由CRTC 84执行的控制被转换成多边形的输出视频信号。
图7是表示处理两个显示表定时的图。图7中所示的几何子系统0相应于图6中所示的第二矢量处理引擎48,而几何子系统1相应于主CPU 44及第一矢量处理引擎71。描绘子系统(rendering subsystem)相当于GPU 49。应指出,在图中所示的阴影部分表示由任务名称指示的任务处于空闲状态。
图7A是表示其中仅存在一个处理器、即几何子系统0的情况的处理过程的示意图。在此情况下,几何子系统0制作一个显示表(List#0-1),并将该表提供给描绘系统(rendering system)。然后,几何子系统0继续制作List#0-1后面的显示表、即List#0-2,以及后继显示表。描绘系统根据由几何子系统0提供的显示表执行绘图处理。如果在描绘子系统根据List#0-1完成绘图处理的时间点上几何子系统0仍然制作下一显示表(List#0-2)时,描绘子系统进入空闲状态,等待几何子系统0完成下一显示表(List#0-2)的制作,并将该表提供给描绘子系统。
然后,非常类似上述的,如果几何子系统0在描绘子系统根据当前显示表完成绘图处理的时间点上未完成制作下一显示表的处理,描绘子系统进入空闲状态,等待几何子系统0将下一表提供给描绘子系统。
图7B是表示存在两个处理器、即几何子系统0及几何子系统1的情况下处理过程的示意图。在此情况下,当几何子系统0制作显示表(List#0-1)时,描绘子系统将进入空闲状态。为此原因,与由几何子系统1已产生的并存储在主存储器45中的显示表(List#1-1)有关的数据被提供给描绘子系统。当接收到由几何子系统1产生的第一显示表(List#1-1)时,描绘子系统根据由几何子系统1提供给它的附加于第一显示表(List#1-1)的用于几何子系统1的图形上下文执行绘图处理。
当几何子系统0完成处理,产生出第一显示表(List#0-1)时,几何子系统1将下一显示表(List#1-2)提供给描绘系统。在此时,几何子系统1被迫中止将下一显示表(List#1-2)提供给描绘子系统的操作。因此,几何子系统0现在可提供完成的第一显示表(List#0-1)给描绘子系统并开始制作下一显示表(List#0-2)。当从几何子系统0接收到第一显示表(List#0-1)时,描绘子系统根据第一显示表(List#0-1)进行绘图处理。
当描绘子系统根据第一显示表(List#0-1)完成绘图处理时,几何子系统0仍然在制作下一显示表(List#0-2)。为此原因,几何子系统继续暂停的操作,以将下一显示表(List#1-2)提供给描绘子系统。否则,描绘子系统将进入空闲状态。当接收到由几何子系统1产生的下一显示表(List#1-2)时,描绘子系统根据下一显示表(List#1-2)开始执行绘图处理。
然后,类似于以上所述的,仅当几何子系统0仍在制作显示表时几何子系统1提供这样产生的显示表,并将描绘子系统置于空闲状态。其结果是,由多个处理器构成的显示表能有效地被描绘子系统处理。
为了更快地执行坐标变换处理,例如,在多个矢量处理引擎的每个中可与CPU(前述的VU)分开地设置子处理器或坐标变换协处理器,它们共享一个共同的绘图单元即GPU 49,及每个对GPU 49输出显示表。通过使用这种子处理器或共处理器,在每个矢量处理引擎中的CPU(处理器)现在能够对共享GPU 49更频繁地提供显示表。因此,GPU 49必须以更短的时间间隔从一个处理器转换到另一处理器。否则,将在对每个处理器设置的局部存储器中引起溢出。为此原因,对每个处理器分配了优先级,即对几何子系统0及几何子系统1分配了优先级,如图7B所示。当没有显示表要从主处理器(master processor)即具有最高优先级的CPU(图6所示信息处理装置的使用在第二矢量处理引擎48中的CPU、或图7所示的几何子系统0)传送到GPU49时,将访问GPU 49的权利移交给辅处理器(slave processor)即具有的优先级次于主CPU 44的CPU(图6所示信息处理装置的第一矢量处理引擎71中所使用的CPU(VU)、或图7所示的几何子系统1)。
一旦主处理器完成制作显示表的处理并准备好将显示表传送给GPU 49时,迫使辅处理器将访问GPU 49的权利还给主处理器,甚至当显示表仍需要完成并由辅处理器传送给GPU 49时也是如此。
通常,主处理器能以高速进行处理,但其有相对小存储容量的局部存储器。另一方面,辅处理器以相对低的速度进行处理,但具有相对大存储容量的局部存储器。
并且也具有一种信息处理装置,其中用作辅处理器1的辅处理器的处理器2如图8所示地连接。在这种信息处理装置中,具有特别低优先级的处理器需要更大的存储容量的局部存储器以便存储更多的显示表。为此原因,通常低优先级分配给设有主存储器的主处理器。以此方式,主处理器也用作辅处理器。
在由GPU 49进行的绘图处理中,除所述的显示表中的顶点信息外,如上所述地,还需要称为图形上下文的环境参数或绘图设置条件,如绘图偏移量值及绘图时的剪切范围。描绘子系统(即GPU 49)根据用于几何子系统的图形上下文并基于由每个几何子系统(即CPU)提供的显示表进行绘图处理。但是,当显示表供给装置由一个几何子系统转换到另一几何子系统时,必需作大量的重新设置图形上下文的工作。为了解决此问题,描绘子系统保持与几何子系统同样多的图形上下文。
对于提供给GPU的待绘图的每个物体,通常对图7中所示显示表附加图形上下文。其结果是,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字段规定的数据字数已被传送后,存储在地址字段中规定地址上的元指令被处理器执行。
阻塞控制是由处理器本身执行的定时控制,以便使由处理器对主存储器45作出的访问置于等待状态,直到由另一处理器对主存储器作出的访问完成为止。
如果操作码是“REF”,在由存储在地址字段中规定的地址ADDR上的QWC字段规定的数据字数已被传送后,存储在元指令后的地址上的元指令被该处理器执行。如果操作码是“refs”,在由存储在地址字段中规定的地址ADDR上的QWC字段规定的数据字数已通过执行阻塞控制被传送后,存储在该元指令后的地址上的元指令被该处理器执行。如上所述,“REF”元指令用于传送具有由来自地址字段规定的地址的QWC字段中规定的长度的数据。
如果操作码是“call”,在由跟随该元指令的QWC字段规定的数据字数已被传送后,在该包后的地址被推(或载)入寄存器作为返回地址,及存储在元指令的地址字段中规定地址上的元指令被该处理器执行。如果操作码是“ret”,在由该元指令后的QWC规定的数据字数被传送后,在从寄存器弹出(或读出)的地址上所存储的元指令被该处理器执行。应该指出,在执行具有与该“RET”元指令相关的“CALL”操作码的元指令期间,该地址已被作为返回地址推入到寄存器中。如果操作码是“end”,在跟随该元指令的QWC字段规定的数据字数被传送后,该处理结束。
图10是用于解释当元指令的操作码是“next”时由该处理器执行的操作的示意图,该操作码表示跟随在该元指令后的下一数据要被传送。首先,主DMAC 46从存储在一标签地址寄存器(Tag Address register)Dn-TADR中的地址ADDR0读出一个字作为元指令字。假定:元指令为“NEXT,ADDR=ADDR2,LEN=8”,它意味着,操作码是“next”,QWC字段规定待传送的数据长度是8 qwords(四倍长字),其中1 qword为128位,及ADDR2是地址字段中规定的地址。因此,在执行元指令“NEXT,ADDR=ADDR2,LEN=8”时,传送8-qword数据。然后,执行存储在地址ADDR2上的元指令“NEXT,ADDR=ADDR1,LEN=2”。
同样,在执行元指令“NEXT,ADDR=ADDR1,LEN=2”时,在由主DMAC46执行的控制下传送2-qword数据。然后,执行存储在地址ADDR1上的元指令“END,ADDR=-,LEN=8”。在执行元指令“END,ADDR=-,LEN=8”时,传送8-qword数据。然后结束该处理。
图11是用于解释当元指令的操作码是“REF”时,由处理器执行的操作的示意图。首先,主DMAC从存储在标签地址寄存器Dn-TADR中的地址ADDR0中读出1个字作为元指令字。假定,元指令是“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中读出1个字作为元指令字。假定元指令是“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-qword数据。然后,执行元指令“END,ADDR=-,LEN=0”,它的地址在执行图左侧的元指令“CALL,ADDR=ADDR2,LEN=8”时已推入第一寄存器中。在执行元指令“END,ADDR=-,LEN=0”时,无数据传送,因为LEN=0。然后,结束处理。
如上所述,根据插在数据中的元指令控制数据传送。
图13是表示根据插在数据中的元指令控制数据传送的状态的图。当主CPU 44制作显示表(Display List#0)时,与领先Display List#0一帧的显示表(Display List#1)相关的数据被传送给第二矢量处理引擎(VPE1)48。
首先,主CPU 44与第一矢量处理引擎71相结合,制作显示表(DisplayList#0),它包括:具有“NEXT”操作码的元指令,上下文,具有“REF”操作码的元指令,具有“REF”操作码的元指令,矩阵,具有“REF”操作码的元指令,矩阵,具有“REF”操作码的元指令,矩阵,具有“REF”操作码的元指令,具有“REF”操作码的元指令,具有“REF”操作码的元指令,矩阵及具有“RET”操作码的元指令,如图13中所示。
如上所述,当主CPU 44与第一矢量处理引擎71联合制作显示表(表示List#0)时,与领先Display List#0一帧的显示表(Display List#1)相关的数据如下地被传送到第二矢量处理引擎(VPE1)48中。首先,执行具有在Display List#1的首端上具有“NEXT”操作码的元指令,以将后继的上下文传送给第二矢量处理引擎48。然后执行具有在传送的上下文后的“REF”操作码的第一元指令,以便读出存储在主存储器45中的物体数据库内的程序Program0(及然后将该程序传送到第二矢量处理引擎48)。例如,将顶点数据组,即图13所示物体的内容能被存储到一定地方,及仅更新显示表的各矩阵。因此可以产生出基于观察者眼睛的图像。以此方式,具有其内容的数据不会逐帧地改变,如使用元指令从显示表读出程序(将数据传送到第二矢量处理引擎48,而无需包括显示表的数据)。固定数据、如字符及它们之间的常数数据可由不同显示表中的元指令共享。其结果是,通过仅更新包括在显示表中的位置数据(即矩阵)容易地制作显示表,在先制作的现有显示表的内容逐帧地改变。
应当指出,物体数据库包括描述三维物体的三维数据(以下称为Vertexof Object(物体的顶点))及用于解释物体数据的程序。此外,如果要进行物体装饰的纹理作图,作为纹理(称为纹理图像)使用的图像数据也存储在物体数据库中。
然后执行在上述第一“REF”元指令后的具有“REF”操作码的第二元指令,以读出三维坐标数据Vertex of Object 0,即物体Object 0的顶点坐标(然后将Object 0的顶点坐标传送给第二矢量处理引擎48)。然后,将第一矩阵传送给第二矢量处理引擎48(通过执行在第一矩阵开头的第二“REF”元指令后的具有NEXT操作码的元指令)。接着,执行在传送的第一矩阵后的具有“REF”操作码的第三元指令,以读出三维坐标数据Vertex ofObject 1,即物体Object 1的顶点坐标(然后将Object 1的顶点坐标传送给第二矢量处理引擎48)。
然后,将跟随在上述第三“REF”元指令后的第二矩阵通过执行在第二矩阵首端的第三“REF”元指令后的具有NEXT操作码的元指令而发送到第二矢量处理引擎48。随后,执行跟随在被发送的第二矩阵后的具有“REF”操作码的第四元指令,以便再读出三维坐标数据Vertex of Object 1,即,物体Object 1的顶点坐标(及然后将Object 1的顶点坐标传送给第二矢量处理引擎48)。接着,通过执行在第三矩阵首端的第四“REF”元指令后的具有NEXT操作码的元指令将第三矩阵传送给第二矢量处理引擎48。随后,执行在传送的第三矩阵后的具有“REF”操作码的第五元指令,以读出程序Program 3(然后将程序传送给第二矢量处理引擎48)。然后,执行具有上述第五“REF”指令后的“REF”操作码的第六元指令,以从帧存储器58读出纹理图像数据,并将数据传送给第二矢量处理引擎48。
如果纹理图像数据还未存储在帧存储器58中,在通过下个具有“REF”操作码的第七元指令传送物体数据Vertex of Object 4以前,将纹理图像数据传送给帧存储器58。如果纹理图像数据是来自于MDEC 47的化解数据或来自子总线42的传送数据,纹理图像数据逐帧地变化。在此情况下,使用阻塞功能来建立数据传送的同步,这将在下面描述。
当图像数据被传送给第二矢量处理引擎48时,由第二矢量处理引擎48执行的处理被暂停。因此需要在图像数据传送周期时由另外的DMA通道执行的暂停操作来减小图像数据的传送周期。由另外的DMA通道执行的暂停操作可由用于传送图像数据的元指令中的预定控制位来规定。例如,使用图9中所示的元指令的第24位及第25位来作为这种控制位。
然后,执行具有“REF”操作码的最后(第七)元指令,以读出三维坐标数据Vertex of Object 4(然后将该数据传送到第二矢量处理引擎48)。随后,(通过执行在第四矩阵首端的第七“REF”元指令后的具有NEXT操作码的元指令)将最后(第四)矩阵传送给第二矢量处理引擎48。最后,执行具有“RET”操作码的元指令以结束传送处理。
图14是用于解释上述阻塞控制的示意图。假设数据以主存储器中数据存储地址递增的次序从装置0(DEV0)传送到主存储器并然后从主存储器传送到装置1(DEV1)。在此情况下,至少最近由于某原因,主存储器中数据被传送到装置1的地址可能在一时刻超过主存储器中数据从装置0传送到的地址。在此时间中,数据从主存储器到装置1的传送被置于阻塞状态。
在图13所示的数据传送例中,纹理图像数据从MDEC 47的存储器中传送到主存储器45中,然后以主存储器45中数据存储地址增加的次序从主存储器传送到第二矢量处理引擎48中。在此情况下,至少最近由于某原因,主存储器45中数据被传送到第二矢量处理引擎48的地址可能在一时刻超过主存储器45中数据从MDEC 47中的存储器传送到的地址。在此时间中,从主存储器45到第二矢量处理引擎48的纹理图像数据的传送被置于阻塞状态,以建立传送同步。
如上所述,主DMAC 46从显示表中取得一个元指令并执行该元指令,以便将数据分配给各处理器。其结果是,通过事先在由处理器产生显示表的时刻在数据中编程传送数据的次序及形式或优先级,数据可根据数据特性以最佳方式传送。此外,通过事先使处理器以表的形式如显示表形式规定传送数据的次序,就不需要处理器在存储器中保持用于传送工作的不经济的复制数据。其结果是,对存储器不经济的存取次数及显示表的规模被减小了。
此外,对于单个显示表仅需要分别在两处存储待传送的逐帧变化的每个数据部分。显示表中不是逐帧变化的任何部分可存储在所有显示表共享的存储区域中。因此可减少用于存储显示表所需的存储器规模。这就是说,多个显示表可存储在具有小存储容量的存储器中。
除这些以外,因为数据是根据插在数据中的元指令传送的,故易于在多个处理器之间建立读出及写入数据的同步操作。其结果是多个处理器可以共享一个存储器,而不需要在存储器中设置双重缓冲器。
在上述实施例的情况下,数据存储在CD-ROM中。但是,应该指出,也可使用另外的记录介质。
在根据本发明第一方面的信息处理装置中,使用表产生装置来产生包括待传送到处理单元的三维图形处理数据及控制数据传送到处理单元的指令的表。其结果是,首先通过事先在数据中编程传送数据的次序或优先级,数据能根据数据的特性以最佳方式传送。
在根据本发明第二方面的信息处理装置中,使用存储器来存储包括待传送到处理单元的三维图形处理数据及控制数据传送到处理单元的指令的表。其结果是数据能根据事先插在数据中的指令及根据数据的特性以最佳方式来处理。
在根据本发明第三方面的信息处理装置中,使用传送装置来从存储器读出包括待传送到处理单元的三维图形处理数据及控制数据传送到处理单元的指令的表,及根据指令将数据传送到处理单元。其结果是,可以根据数据以高度的效率将存储器资源分配给处理器。
在根据本发明第四方面的信息处理装置及根据本发明第五方面的信息处理方法中,使用表产生装置来产生包括待传送到处理单元的三维图形处理数据及控制数据传送到处理单元的指令的表,并将所述表存储到存储器中,及使用数据传送装置从存储器中读出表及用于根据包括在表中的指令将表中的数据传送到处理单元。其结果是,首先通过事先在数据中编程传送数据的次序或优先级,可以根据数据以最佳方式传送数据。
Claims (9)
1.一种信息处理装置,包括:
包括主处理单元以及第一和第二矢量处理单元在内的多个处理单元;
一个总线及一个存储器,它们在时分基础上被所述多个处理单元共享,以便并行地进行三维图形处理;
所述信息处理装置还包括一个表产生装置,用来产生一个包括将要传送到所述第二矢量处理单元的所述三维图形处理的数据,以及用于控制对所述第二矢量处理单元传送所述数据的指令的表;
其中,所述表产生装置包括所述主处理单元以及所述第一矢量处理单元。
2.一种信息处理装置,包括:
包括主处理单元以及第一和第二矢量处理单元在内的多个处理单元;
一个总线及一个存储器,它们在时分基础上被所述多个处理单元共享,以便并行地进行三维图形处理,
其中,所述存储器存储一个包括将要传送到所述第二矢量处理单元的所述三维图形处理的数据,以及用于控制对所述第二矢量处理单元传送所述数据的指令的表,和
其中,所述表由所述主处理单元以及所述第一矢量处理单元产生。
3.根据权利要求2所述的信息处理装置,其中:
所述存储器被虚拟地分为用于存储对应于预定帧的预定数目的所述表的第一区域及用于存储对应于其它帧的其余所述表的第二区域。
4.根据权利要求3所述的信息处理装置,其中:
仅对逐帧变化的所述表的部分作出复制,所述复制存储在所述存储器的所述第一区域或所述第二区域中,而所述原始部分存储在所述存储器的所述第二区域或所述第一区域中。
5.一种信息处理装置,包括:
包括主处理单元以及第一和第二矢量处理单元在内的多个处理单元;
一个总线及一个存储器,它们在时分基础上被所述多个处理单元共享,以便并行地进行三维图形处理,
所述信息处理装置还包括一个数据传送装置,用于从所述存储器读出包括将要传送到所述第二矢量处理单元的所述三维图形处理的数据及用于控制从所述存储器向对所述第二矢量处理单元传送所述数据的指令的表,并用于根据所述指令将所述数据传送到所述第二矢量处理单元,
其中,所述表由所述主处理单元以及所述第一矢量处理单元产生。
6.根据权利要求5所述的信息处理装置,其中:
当所述存储器一个区域中一个数据需由任一所述处理单元读出的地址变为大于所述存储器的所述区域中被另一所述处理单元最新写入另一个数据的地址时,所述数据传送装置将所述多个处理单元中的所述一个执行所述一个数据的读出的操作置为等待状态。
7.根据权利要求5所述的信息处理装置,其中:
当存储在所述存储器中的一个表的数据根据所述表中的指令被传送给任一所述处理单元时,所述数据传送装置将所述处理单元中的另外任一个对所述数据的访问置为等待状态。
8.一种信息处理装置,包括:
包括主处理单元以及第一和第二矢量处理单元在内的多个处理单元;
一个总线及一个存储器,它们在时分基础上被所述多个处理单元共享,以便并行地进行三维图形处理;
所述信息处理装置还包括:
一个表产生装置,用来产生包括将要传送到所述第二矢量处理单元的所述三维图形处理的数据及用于控制对所述第二矢量处理单元传送所述数据的指令的表,和用来将该表存储在所述存储器中;及
一个数据传送装置,用于从所述存储器读出所述表及用于根据包括在所述表中的所述指令将所述表中的所述数据传送到所述第二矢量处理单元,
其中,所述表产生装置包括所述主处理单元以及所述第一矢量处理单元。
9.一种信息处理方法,其中,一个总线及一个存储器在时分基础上被多个处理单元共享,以便并行地进行三维图形处理,所述多个处理单元包括主处理单元以及第一和第二矢量处理单元,所述信息处理方法包括以下步骤:
产生一个包括将要传送到所述第二矢量处理单元的所述三维图形处理的数据及用于对所述第二矢量处理单元传送所述数据的指令的表,及将所述表存储在所述存储器中;
从所述存储器中读出所述表;及
根据包括在所述表中的所述指令将所述表中的所述数据传送到所述第二矢量处理单元,
其中,所述表由所述主处理单元以及所述第一矢量处理单元产生。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP074930/97 | 1997-03-27 | ||
JP07493097A JP3739888B2 (ja) | 1997-03-27 | 1997-03-27 | 情報処理装置および方法 |
JP074930/1997 | 1997-03-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1198557A CN1198557A (zh) | 1998-11-11 |
CN1107923C true CN1107923C (zh) | 2003-05-07 |
Family
ID=13561575
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN98109421A Expired - Lifetime CN1107923C (zh) | 1997-03-27 | 1998-03-27 | 信息处理装置及信息处理方法 |
Country Status (9)
Country | Link |
---|---|
US (1) | US6219073B1 (zh) |
EP (1) | EP0871142B1 (zh) |
JP (1) | JP3739888B2 (zh) |
KR (1) | KR100562692B1 (zh) |
CN (1) | CN1107923C (zh) |
AU (1) | AU730429B2 (zh) |
CA (1) | CA2232904A1 (zh) |
DE (1) | DE69820143T2 (zh) |
TW (1) | TW394906B (zh) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000155798A (ja) * | 1998-11-18 | 2000-06-06 | Toshiba Corp | 機器制御方法および機器制御システム |
JP3780732B2 (ja) * | 1999-03-10 | 2006-05-31 | 株式会社日立製作所 | 分散制御システム |
US6532018B1 (en) * | 1999-04-19 | 2003-03-11 | Microsoft Corporation | Combined floating-point logic core and frame buffer |
US6397132B1 (en) | 1999-09-30 | 2002-05-28 | Siemens Automotive Corporation | Electronic thronttle control with accident recordal unit |
US6807620B1 (en) | 2000-02-11 | 2004-10-19 | Sony Computer Entertainment Inc. | Game system with graphics processor |
US7093104B2 (en) * | 2001-03-22 | 2006-08-15 | Sony Computer Entertainment Inc. | Processing modules for computer architecture for broadband networks |
US7516334B2 (en) | 2001-03-22 | 2009-04-07 | Sony Computer Entertainment Inc. | Power management for processing modules |
US6809734B2 (en) | 2001-03-22 | 2004-10-26 | Sony Computer Entertainment Inc. | Resource dedication system and method for a computer architecture for broadband networks |
US7231500B2 (en) | 2001-03-22 | 2007-06-12 | Sony Computer Entertainment Inc. | External data interface in a 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 |
US6826662B2 (en) * | 2001-03-22 | 2004-11-30 | Sony Computer Entertainment Inc. | System and method for data synchronization for a computer architecture for broadband networks |
US6526491B2 (en) * | 2001-03-22 | 2003-02-25 | Sony Corporation Entertainment Inc. | Memory protection system and method for computer architecture for broadband networks |
US7444632B2 (en) | 2003-09-25 | 2008-10-28 | International Business Machines Corporation | Balancing computational load across a plurality of processors |
US7496917B2 (en) | 2003-09-25 | 2009-02-24 | International Business Machines Corporation | Virtual devices using a pluarlity of processors |
US7475257B2 (en) | 2003-09-25 | 2009-01-06 | International Business Machines Corporation | System and method for selecting and using a signal processor in a multiprocessor system to operate as a security for encryption/decryption of data |
US7236998B2 (en) | 2003-09-25 | 2007-06-26 | International Business Machines Corporation | System and method for solving a large system of dense linear equations |
US7318218B2 (en) | 2003-09-25 | 2008-01-08 | International Business Machines Corporation | System and method for processor thread for software debugging |
US7549145B2 (en) | 2003-09-25 | 2009-06-16 | International Business Machines Corporation | Processor dedicated code handling in a multi-processor environment |
US7415703B2 (en) | 2003-09-25 | 2008-08-19 | International Business Machines Corporation | Loading software on a plurality of processors |
US7389508B2 (en) | 2003-09-25 | 2008-06-17 | International Business Machines Corporation | System and method for grouping processors and assigning shared memory space to a group in heterogeneous computer environment |
US7382373B2 (en) * | 2003-12-19 | 2008-06-03 | Intel Corporation | Method and apparatus for producing animation |
US8224639B2 (en) | 2004-03-29 | 2012-07-17 | Sony Computer Entertainment Inc. | Methods and apparatus for achieving thermal management using processing task scheduling |
JP4378572B2 (ja) | 2007-06-28 | 2009-12-09 | Necシステムテクノロジー株式会社 | データ転送システム、データ転送方法、ホスト装置及び描画装置 |
TWI520070B (zh) | 2011-03-25 | 2016-02-01 | 軟體機器公司 | 使用可分割引擎實體化的虛擬核心以支援程式碼區塊執行的記憶體片段 |
WO2012162188A2 (en) * | 2011-05-20 | 2012-11-29 | Soft Machines, Inc. | Decentralized allocation of resources and interconnect structures to support the execution of instruction sequences by a plurality of engines |
TWI521343B (zh) | 2011-08-01 | 2016-02-11 | Toshiba Kk | An information processing device, a semiconductor memory device, and a semiconductor memory device |
TWI459201B (zh) | 2012-04-27 | 2014-11-01 | Toshiba Kk | Information processing device |
EP2972836B1 (en) | 2013-03-15 | 2022-11-09 | Intel Corporation | A method for emulating a guest centralized flag architecture by using a native distributed flag architecture |
JP6021759B2 (ja) | 2013-08-07 | 2016-11-09 | 株式会社東芝 | メモリシステムおよび情報処理装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0306533A1 (en) * | 1987-03-17 | 1989-03-15 | Fanuc Ltd. | High-speed floating point operation system |
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 |
US5584011A (en) * | 1994-01-19 | 1996-12-10 | International Business Machines Corporation | Multiprocessor system with parallel execution of data |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5010515A (en) * | 1987-07-28 | 1991-04-23 | Raster Technologies, Inc. | Parallel graphics processor with workload distributing and dependency mechanisms and method for distributing workload |
JPH01181163A (ja) * | 1988-01-13 | 1989-07-19 | Seiko Instr & Electron Ltd | 図形表示システム |
US5136717A (en) * | 1988-11-23 | 1992-08-04 | Flavors Technology Inc. | Realtime systolic, multiple-instruction, single-data parallel computer system |
US5187793A (en) * | 1989-01-09 | 1993-02-16 | Intel Corporation | Processor with hierarchal memory and using meta-instructions for software control of loading, unloading and execution of machine instructions stored in the cache |
EP0389175A3 (en) * | 1989-03-15 | 1992-11-19 | Fujitsu Limited | Data prefetch system |
JPH04219859A (ja) * | 1990-03-12 | 1992-08-10 | Hewlett Packard Co <Hp> | 並列プロセッサに直列命令ストリームデータを分散するハードウェアディストリビュータ |
US5321505A (en) * | 1991-01-11 | 1994-06-14 | Microelectronics & Computer Technology Corporation | Computer scalable visualization system |
US5250940A (en) * | 1991-01-18 | 1993-10-05 | National Semiconductor Corporation | Multi-mode home terminal system that utilizes a single embedded general purpose/DSP processor and a single random access memory |
WO1994002295A1 (en) * | 1992-07-17 | 1994-02-03 | Eero Kivimaa | An arrangement for fixing the blades of a frame saw |
US5325485A (en) * | 1992-10-30 | 1994-06-28 | International Business Machines Corporation | Method and apparatus for displaying primitives processed by a parallel processor system in a sequential order |
JP3304444B2 (ja) * | 1992-11-30 | 2002-07-22 | 富士通株式会社 | ベクトル処理装置 |
JPH06274578A (ja) * | 1993-03-18 | 1994-09-30 | Fuji Facom Corp | 画像情報処理方式 |
US5450542A (en) * | 1993-11-30 | 1995-09-12 | Vlsi Technology, Inc. | Bus interface with graphics and system paths for an integrated memory system |
US5706478A (en) * | 1994-05-23 | 1998-01-06 | Cirrus Logic, Inc. | Display list processor for operating in processor and coprocessor modes |
US5657479A (en) * | 1995-12-04 | 1997-08-12 | Silicon Graphics, Inc. | Hierarchical display list processing in graphics data retrieval system |
US5917505A (en) * | 1995-12-19 | 1999-06-29 | Cirrus Logic, Inc. | Method and apparatus for prefetching a next instruction using display list processing in a graphics processor |
US5983326A (en) * | 1996-07-01 | 1999-11-09 | Sun Microsystems, Inc. | Multiprocessing system including an enhanced blocking mechanism for read-to-share-transactions in a NUMA mode |
US5996058A (en) * | 1996-08-19 | 1999-11-30 | Samsung Electronics Company, Ltd. | System and method for handling software interrupts with argument passing |
-
1997
- 1997-03-27 JP JP07493097A patent/JP3739888B2/ja not_active Expired - Fee Related
-
1998
- 1998-03-19 TW TW087104098A patent/TW394906B/zh not_active IP Right Cessation
- 1998-03-19 AU AU59388/98A patent/AU730429B2/en not_active Expired
- 1998-03-20 CA CA002232904A patent/CA2232904A1/en not_active Abandoned
- 1998-03-25 DE DE69820143T patent/DE69820143T2/de not_active Expired - Lifetime
- 1998-03-25 US US09/048,137 patent/US6219073B1/en not_active Expired - Lifetime
- 1998-03-25 EP EP98302255A patent/EP0871142B1/en not_active Expired - Lifetime
- 1998-03-27 CN CN98109421A patent/CN1107923C/zh not_active Expired - Lifetime
- 1998-03-27 KR KR1019980010671A patent/KR100562692B1/ko not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0306533A1 (en) * | 1987-03-17 | 1989-03-15 | Fanuc Ltd. | High-speed floating point operation system |
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 |
US5584011A (en) * | 1994-01-19 | 1996-12-10 | International Business Machines Corporation | Multiprocessor system with parallel execution of data |
Also Published As
Publication number | Publication date |
---|---|
DE69820143T2 (de) | 2004-10-14 |
AU5938898A (en) | 1998-10-01 |
KR19980080758A (ko) | 1998-11-25 |
AU730429B2 (en) | 2001-03-08 |
KR100562692B1 (ko) | 2006-10-24 |
TW394906B (en) | 2000-06-21 |
JP3739888B2 (ja) | 2006-01-25 |
EP0871142A2 (en) | 1998-10-14 |
CN1198557A (zh) | 1998-11-11 |
CA2232904A1 (en) | 1998-09-27 |
DE69820143D1 (de) | 2004-01-15 |
JPH10269165A (ja) | 1998-10-09 |
EP0871142A3 (en) | 1999-11-03 |
EP0871142B1 (en) | 2003-12-03 |
US6219073B1 (en) | 2001-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1107923C (zh) | 信息处理装置及信息处理方法 | |
CN1107287C (zh) | 信息处理装置和信息处理方法 | |
CN1317648C (zh) | 用于在主机处理器和图形处理器之间优化存储器共享的方法和系统 | |
CN1103476C (zh) | 图像产生装置及其方法、和视频游戏机 | |
US6862027B2 (en) | System and method for parallel execution of data generation tasks | |
US7528836B2 (en) | Programming multiple chips from a command buffer | |
CN1255765C (zh) | 数据通信系统和方法 | |
US7705846B1 (en) | Processing high numbers of independent textures in a 3-D graphics pipeline | |
US20060098022A1 (en) | System and method for transfer of data between processors using a locked set, head and tail pointers | |
CN1522405A (zh) | 数据处理设备和同步数据处理设备中的第一与第二处理装置的方法 | |
US20080106552A1 (en) | Deferred page faulting in virtual memory based sparse texture representations | |
CN1226036A (zh) | 信息处理装置和娱乐系统 | |
US7170512B2 (en) | Index processor | |
US6339427B1 (en) | Graphics display list handler and method | |
CN100351867C (zh) | 高效地进行图像处理的信息处理装置 | |
JP2001243481A (ja) | 画像生成装置 | |
CN1969299A (zh) | 图像生成装置及图像生成方法 | |
US10902545B2 (en) | GPU task scheduling | |
WO2018118367A1 (en) | Mid-render compute for graphics processing | |
CN1267861C (zh) | 用于处理数据的方法和相应的计算机系统 | |
JPH09282470A (ja) | グラフィック処理システム | |
CN1147117A (zh) | 图像处理器和应用该处理器的数据处理系统 | |
CN1236401C (zh) | 数据处理系统和方法、计算机程序和记录介质 | |
CN1910622A (zh) | 三维形状绘制设备和三维形状绘制方法 | |
EP0676719A2 (en) | Method and apparatus for generating images |
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: 20030507 |