CN100442264C - 封包处理系统与方法 - Google Patents

封包处理系统与方法 Download PDF

Info

Publication number
CN100442264C
CN100442264C CNB2006101361708A CN200610136170A CN100442264C CN 100442264 C CN100442264 C CN 100442264C CN B2006101361708 A CNB2006101361708 A CN B2006101361708A CN 200610136170 A CN200610136170 A CN 200610136170A CN 100442264 C CN100442264 C CN 100442264C
Authority
CN
China
Prior art keywords
data
kenel
continuous
package
unit
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
CNB2006101361708A
Other languages
English (en)
Other versions
CN1952918A (zh
Inventor
陈文中
李亮
S-Y·乔伊斯·程
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.)
Asahi Electronics (Shanghai) Co., Ltd.
Original Assignee
Via Technologies 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 Via Technologies Inc filed Critical Via Technologies Inc
Publication of CN1952918A publication Critical patent/CN1952918A/zh
Application granted granted Critical
Publication of CN100442264C publication Critical patent/CN100442264C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • G06F13/4226Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus with asynchronous protocol

Abstract

一种适用于快速周边元件连接接口系统的封包处理系统与方法。封包处理方法包括通过快速周边元件连接接口接收具有至少一第一型态数据以及第二型态数据的封包。将封包分离为两个连续的群组,第一群组包括第一型态数据且第二群组包括第二型态数据。

Description

封包处理系统与方法
技术领域
本发明有关于一种计算机系统,特别是有关于一种计算机传输系统中的数据传输系统与方法。
背景技术
中央处理单元藉由电线或内部总线与存储器以及计算机系统中其它组件进行数据传输。内部组件可藉由总线(通常称为扩展总线(expansion bus))与外部装置进行数据传输。在许多标准中定义通过总线进行数据传输的方法。例如,周边元件连接接口(peripheral component interconnect,PCI)标准是由INTEL所发展出的局部总线(local bus)标准。局部总线包括直接连接至微处理器的数据总线。另一种叫做快速周边元件连接接口(PCI-Express,PCIE)的标准是一种输入/输出(I/O)内连总线标准,包括已定义的通信协议与架构。PCIE标准是PCI标准的延伸,例如将数据传输率加倍。在PCIE中说明双端序列连接(2-way serial connection)沿着两对点对点数据路径(与PCI的单一平行数据总线不同)将数据运载于封包中。PCIE用于高速内连(例如1394b、USB2.0、InfiniBand以及高速以太网络(Gigabit Ethernet))中的高数据传输率。
PCIE的一项考验在于写入组件的操作(例如写入存储器)期间不可以省略字节。例如,在图形处理应用程序中的模板(stencil)(s-数据)与深度(z-数据)操作或是色彩/阿尔法值(alpha)处理不需要使用到整个封包的内容。例如,关于模板与深度的操作,z-数据占据了四个字节中的三个字节,s-数据占据了四个字节中的一个字节,而z值的计算是重要的操作(排除s-数据)。传统解决此问题的方法大致分为两大类。其中一种解决方法是在执行写入操作之前执行读取操作,以使能合并写入,使得不论是否需要执行写入操作的位(例如模板字节)皆会被重新写入。然而,这样的读取与写入方法非常没有效率且会影响效能。
另一项方法是将封包分割为管理单元,以取得传统PCI标准的字节使能特性。也就是,传统PCI标准包括在封包的前端与末端部分提供字节屏蔽(byte mask)(即仅有整个封包内容的部分)。例如,对512-位的封包来说,封包可以被分割为八个事务元(transaction),每个事务元具有八个字节(例如4-位屏蔽位于前端,且4-位屏蔽位于末端)。也就是,对每个片段来说,字节屏蔽可以被使能为仅用于前端或仅用于末端的字节,以处理选择性的写入操作。此方法的缺点是必须附加一标头(header)至每个被分割的封包,使得经过额外的封包标头会降低效能。
发明内容
有鉴于此,本发明提供一种在快速周边元件连接接口环境中的封包处理系统与方法。这样的系统接收至少一封包数据。封包可具有至少一种不同的数据型态,数据型态不需要特别的存取要求。例如,在图形处理环境中使用PCIE通信协议并且可使用两种不同的数据型态(深度数据(z-数据)与模板数据(s-数据))。深度数据处理(z-数据)可能需要对封包中的z-数据执行读取或写入操作,该封包中亦包括模板数据,但是在深度数据处理中不需要对模板数据执行写入操作。在一些封包处理系统的实施例中将z-数据与模板数据分离为连续的字节,分别是第一模板数据群组以及第二z-数据群组。群组可使能封包处理系统选择性地对被排除的另一个群组执行写入操作。
简言之,本发明公开一种封包处理系统,设置于快速周边元件连接接口系统中。接收器经由一快速周边元件连接接口接收一封包,该封包具有至少一第一型态数据以及一第二型态数据。分离器将所述封包分离为两个连续的群组,一第一群组包括所述第一型态数据,一第二群组包括所述第二型态数据。交换逻辑单元,设定为用以对所述第一型态数据以及第二型态数据执行交换。屏蔽逻辑单元,设定为用以对所述第一型态数据以及第二型态数据执行屏蔽。
另外,本发明公开一种封包处理方法,适用于处理一快速周边元件连接接口系统中的一封包,包括通过一快速周边元件连接接口接收所述封包,所述封包具有至少一第一型态数据以及一第二型态数据;以及将所述封包分离为两个连续群组,其中一第一群组包括所述第一型态数据且一第二群组包括所述第二型态数据。
另外,本发明公开一种图形处理系统,包括一快速周边元件连接接口以及一图形处理单元。图形处理单元耦接至所述快速周边元件连接接口,包括一封包逻辑单元,所述封包逻辑单元被设定用以通过所述快速周边元件连接接口接收具有至少两种型态数据的一封包,并且将所述封包分隔为两个连续的群组,一第一群组包括一第一型态数据,一第二群组包括一第二型态数据。
附图说明
图1是显示根据本发明实施例所述的图形处理系统的框图,图形处理系统系作为实施封包处理系统(与方法)的环境。
图2A是显示根据本发明实施例所述的选择部分图1的图形处理系统与封包处理系统的功能框图。
图2B是显示根据本发明实施例所述的图2A的封包处理系统的功能框图。
图3是显示由图2B的封包处理系统所实施的预处理封包内容的架构与字节屏蔽的示意图。
图4是显示对图3的预处理封包执行屏蔽与交换操作所产生的后处理封包内容。
图5是显示根据本发明实施例所述的封包处理方法的流程图。
主要组件符号说明
10:图形处理系统
100、100a:封包处理系统
102:显示装置
103:PCIE接线
104、DIU:显示器界面单元
106:本地存储器
110、MIU:存储器界面单元
114、GPU:图形处理单元
118、PCIE BIU:PCIE总线接口单元
122:芯片组
124:系统存储器
126、CPU:中央处理单元
150:驱动器软件
220、BCI:缓冲器控制初始单元
222、VS:顶点着色器
224、TSU:三角形生成单元
226、STG:跨度与砖产生单元
228:ZL1单元
230:ZL1高速缓存
232:ZL2单元
234:Z高速缓存
236、238:P单元
240、PS:像素着色器
242:纹理高速缓存
244:ZL3单元
246:目的单元
248:D高速缓存
260:分离器
262:屏蔽逻辑单元
264:交换逻辑单元
266:写入逻辑单元
268:接收器
300、400、A、B:封包
302、304:字节屏蔽
303:s-数据
305:z-数据
402:z-数据群组
404:s-数据群组
具体实施方式
为让本发明上述和其它目的、特征、和优点能更明显易懂,下文特举出较佳实施例,并配合附图,作详细说明如下:
实施例:
本发明公开封包处理系统与方法的各种实施例。这样的封包处理系统与方法将字节屏蔽使用于整个封包内容(或是整个封包),以使能对电路组件执行选择写入以及/或读取操作。藉由将字节屏蔽使用于整个封包内容可以改善处理速度与效能(与传统系统相比)。如上所述,传统PCI系统可以将字节屏蔽应用于封包的末端或前端,而非用于封包的整个内容。这样的传统系统必须将封包分解为管理片段并且将标头附加至每个片段。由于附加的标头会使处理时间以及储存需求增加,因此会降低处理效能。本发明所公开的封包处理系统与方法不需要分割封包内容并且将标头附加至每个片段或是不需要执行传统系统中的读取以及写入操作。因此,本发明所公开的封包处理系统与方法可以对组件执行连续的写入操作。
根据本发明实施例所述的以图形处理环境为背景的封包处理系统与方法包括图形处理单元,用以产生三角形(或其它原生)以及PCIE总线的处理深度(z)数据与模板(s)数据。然而,本领域技术人员皆了解其它的总线通信协议与标准同样可以包含于本发明的范围内。再者,本领域技术人员皆了解,即使本发明仅说明写入操作,本发明实施例所公开的原则亦可应用于读取操作中。此外,即使在说明书中仅说明模板与深度数据,同样的操作亦可使用于其它型态的数据,例如对阿尔法值数据与颜色(例如RGB)数据执行分离或交换操作。
图1是显示根据本发明实施例所述的图形处理系统10的框图,图形处理系统10作为实施封包处理系统100(与方法)的环境。在一些实施例中可以将图形处理系统10设定为计算机系统。图形处理系统10可包括由显示器界面单元(display interface unit,DIU)所驱动的显示装置102以及本地存储器106(包括例如显示缓冲器、纹理缓冲器、指令缓冲器以及帧缓冲器(framebuffer)等)。本地存储器106在此亦可以称为帧缓冲器、储存单元或存储器。本地存储器106通过存储器界面单元(memory interface unit,MIU)110而耦接至图形处理单元(graphics processing unit,GPU)114。根据本发明一实施例,MIU 110、GPU 114以及DIU 104耦接至与PCIE兼容的总线接口单元(businterface unit,BIU)118。例如,根据本发明实施例所述的PCIE BIU118可通过使用图形地址重映射表(graphics address remapping table,GART)或是其它存储器映射机制而实现。BIU 118与GPU 114可藉由PCIE接线103而通信耦接,且通过PCIE接线103可提供数据以及/或指令。在本发明一实施例中将BIU 118与MIU 110设定为用以分别根据PCIE通信协议以及双倍数据速率(double data rate,DDR)存储器通信协议传送或接收数据。
BIU 118耦接至芯片组122(例如北桥芯片组)或是开关。芯片组122包括接口电子,用以将来自中央处理单元126的信号增强,并且将来回于系统存储器124的信号与来回于输入/输出装置(未示出)的信号隔开。即使在本发明实施例中藉由PCIE总线通信协议来进行主处理器与GPU 114之间的连接以及/或通信,然而在其它实施例中亦可通过其它方法(例如PCI以及专属高速总线等)来进行主处理器与GPU 114之间的连接以及/或通信。系统存储器124亦包括图形应用程序(未示出)以及驱动器软件150,驱动器软件150藉由CPU126将指令或命令传送至GPU 114与DIU 104中的缓存器。驱动器软件150或具有相同功能的单元可以储存于系统存储器124中,并且由中央处理单元(central processing unit,CPU)126执行。在本发明一实施例中,驱动器软件150提供编译码(例如着色码(shader code))至GPU 114,以在GPU 114中执行处理。
在一些实施例中所使用的额外的图形处理单元经过芯片组122并藉由PCIE总线通信协议而耦接至图1所示的组件。根据本发明实施例所述的图形处理系统10可包括图1中所有的组件,或是包含比图1更少以及/或不同的组件。此外,在一些实施例中可使用额外的组件,例如耦接至芯片组122的南桥芯片。
封包处理系统100可藉由硬件、软件以及/或固件实现。当封包处理系统100藉由硬件实现时(例如图2A中的封包(P)单元),此硬件可通过下列现有技术中的任何一个或组合而实现:具有逻辑门的离散逻辑电路,用以根据数据信号实现逻辑功能、具有适当的组合逻辑门的特定应用集成电路(application specific integrated circuit,ASIC)、可编程门阵列(programmable gate array,PGA)以及现场可编程门阵列(fieldprogrammable gate array,FPGA)等。
当封包处理系统100藉由软件或固件实现时(例如藉由驱动器软件150控制硬件处理),如此包括用以实现逻辑功能的可执行指令的顺序列表的驱动器软件150可包含于计算机的可读介质中,以通过指令执行系统或装置(例如以计算机为基础的系统、包含处理器的系统或是其它可获取来自指令执行系统或装置的指令并执行指令的其它系统)而使用或与其连接。在说明书中,计算机可读介质可以为任何可保留、储存或传递程序的装置,此程序藉由指令执行系统或装置所使用或与其连接。计算机可读系统可以为例如电子、磁性、光学、电磁、红外线或是半导体系统、装置或传输介质,然而其不可用以限制本发明之范围。计算机可读介质还可以包括具有至少一导线的电性连接(电子)、可携式计算机磁盘(磁性)、随机存取存储器(random access memory,RAM)(电子)、只读存储器(read-only memory,ROM)(电子)、可擦可编程只读存储器(erasable programmable read-only memory,EPROM)(电子)、闪存、(电子)、光纤(光学)以及唯独式光盘(光学)。值得注意的是,计算机可读介质可以为具有程序被打印于上的纸或是其它适当的介质,程序藉由对纸或其它介质执行光扫描而被电性捕获、编译、解译或在必要时以适当的方法执行并储存于计算机存储器中。
另外,本发明一些实施例的范围包括将本发明较佳实施例的功能使用于硬件或软件设定介质中的逻辑。
图2A是显示根据本发明实施例所述的GPU 114的部分功能框图,包括标示为100a的封包处理系统100。GPU 114可包括缓冲器控制初始(buffercontrol initialization,BCI)单元220、顶点着色器(vertex shader,VS)222、三角形生成单元(triangle setup unit,TSU)224、跨度与砖产生单元(span and tile generation,STG)226、ZL1单元228、ZL1高速缓存230、ZL2单元232、Z高速缓存234、P单元236与238、像素着色器(pixel shader,PS)240、纹理(T)高速缓存242、ZL3单元244、目的(D)单元246以及D高速缓存248。至少一组件的功能可以固定功能单元来实现或是通过使用实现于可编程处理单元的码来实现。BCI单元220接收来自总线接口单元(例如图1中的BIU 118)的数据或指令,并且开始处理顶点数据。P单元236与238以及ZL1高速缓存230、D高速缓存248分别与存储器界面单元(例如MIU 110与BIU 118)连接。值得注意的是,在一些实施例中,P单元236与238可分别包含于Z高速缓存234与T高速缓存242中。尽管在一些实施例中的封包处理系统100包括较少或较多的组件,根据本发明一实施例所述的P单元236与238(此处分别或共同叫做封包逻辑单元)包括封包处理系统100a(如虚线所示)。例如,封包处理系统100a还可以包括驱动器软件150,驱动器软件150被设定为用来控制P单元236与238以及/或核心处理器(例如引擎)的执行,或在一些实施例中可包含于整体图形处理单元114或图形处理系统10中。
图2B是显示根据本发明实施例所述的封包处理系统100的功能框图。如图所示,封包处理系统100包括分离器(segregator)260、接收器268、写入逻辑单元266以及驱动器软件150。分离器260还包括屏蔽逻辑单元262以及交换逻辑单元264。分离器260被设定为用以将整个封包分为两个连续的群组,第一群组包括第一型态数据且第二群组包括第二型态数据。接收器268被设定为通过PCIE接线(例如来自BIU 118)接收数据。写入逻辑单元266被设定为用以将数据写入高速缓存(例如Z高速缓存234、T高速缓存242)。驱动器软件150被设定为用以调整与控制接收器268与分离器260的功能。本领域技术人员皆了解对于每个封包单元236与238来说,根据本发明所公开的封包处理系统100中的至少一逻辑单元(例如260,268,266等)可以被复制;或在一些实施例中,封包处理系统100中的至少一逻辑单元(例如260,268,266等)可以被封包单元236和238共享。
参照图2A与图2B,在本发明一实施例中的P单元236与238包括逻辑门,包括缓存器,缓存器被设定为用以使能在其它功能之间(例如边缘计算)执行屏蔽(屏蔽逻辑单元262)以及字节交换(交换逻辑单元264)的功能。ZL2单元232与ZL 3单元244存取Z高速缓存234。D单元246耦接至PS 240与ZL3单元244,用以执行着色功能,并且还存取D高速缓存248。PS 240存取T高速缓存242,其相当于根据已知机制所执行的纹理处理。值得注意的是,在一些实施例中,图2A与图2B中所示的至少一组件可以合并为单一组件,否则单一组件的功能可以分布于至少两个组件之间。
在操作中,BCI 220接收来自驱动器软件150或其它软件的指令,以绘制三角形或是其它基本图型(primitive)。BCI 220也根据即将绘制的三角形接收顶点信息。顶点信息传送至VS 222,以执行顶点转换。VS 222可包括在可编程单元(例如核心处理器或GPU 114中的引擎)中执行的着色编程或代码。在一些实施例中,VS 222可以固定功能单元来实现。特别注意的是,对象由对象空间转换至工作空间与屏幕空间以形成三角形。三角形传送至TSU224,TSU 224搜集原生,并且在其它已知的功能之间执行已知的工作,例如产生定界框、淘汰、产生边缘函数并且拒绝三角形级。TSU 224将数据传送至STG单元226,STG单元226提供砖产生(tile generation)功能,因此数据对象会被分割为数个地砖(例如8*8或16*16等)并且传送至ZL1单元228。ZL1单元228如同ZL2单元232与ZL3单元244一样分别执行z值处理,例如对z值执行高阶淘汰(high level rejection)(例如:与低阶淘汰相比,高阶淘汰消耗较少的位)。ZL单元228,232与244的操作分别与ZL1高速缓存230、Z高速缓存234以及Z高速缓存234结合。PS 240可包括于可编程单元(例如核心处理器或GPU114中的引擎)中执行的着色器,可编程单元接收纹理与管线(pipeline)数据,并且提供输出至D单元246与ZL3单元244。在一些实施例中,PS 240可包括固定功能单元。D单元246与ZL3单元244被设定为用以在Z高速缓存234或高速缓存248中的值更新前执行阿尔法值测试与模板测试。
P单元236与238处理封包(例如:执行下述的分离与交换功能)分别对应于储存于Z高速缓存234与T高速缓存242中的z-数据与s-数据。例如,主应用程序可要求对由z-数据(排除s-数据)所取得的表面执行处理。主应用程序的要求藉由驱动器软件150经由BIU 118与GPU 114进行通信而实现。驱动器软件150编程GPU 114中的缓存器并且指示GPU 114中的核心处理器(例如引擎)使能此仅有z的格式。核心处理器根据主应用程序中的驱动器软件150所传达的指令而产生屏蔽,并将屏蔽储存于可以被P单元236与238存取的至少一缓存器中,以使P单元236以及/或238在经由BIU 118或MIU 110输出必要的封包格式(即仅有z的格式)前,执行分离或交换功能。例如,P单元238根据传送至BIU 118的读取要求而接收来自BIU 118的预处理封包格式(参照图3,此封包标示为300)的数据。与读取(或写入)操作相关的封包地址可通过GPU 114中的核心处理单元(例如引擎)产生。参照图3,封包300包括两种不同类型的数据,包括模板(s)数据303以及深度或z-数据305。在此实施例中,三个连续的z-数据305字节(例如z0,z0,z0)搭配单一模板(s)数据303(例如s0)(在图与图4中每个包含或s数据的区块代表一个字节)。P单元238通过使用字节屏蔽302对整个封包内容执行屏蔽操作,并且交换数据以形成具有后处理封包格式的像素封包400,像素封包400包括两个个别连续的群组402(z-数据)与404(s-数据)(如图4所示)。P单元238将至少一群组402或404写入T高速缓存242。值得注意的是,P单元238可将与z数据接写入T高速缓存242中,但是在此实施例中写入操作仅发生于如图3所示的混合格式(例如封包300)。
关于P单元236,Z高速缓存234中的数据是如图3的封包300所示的预处理封包格式。例如,P单元236根据对BIU 118的写入要求对储存于高速缓存234中的封包300执行屏蔽操作,且封包的数据藉由P单元236进行交换。在执行上述屏蔽与交换操作后,数据的格式为如图4所示的包含后处理封包格式的像素封包400的格式。在图2中标示为A与B的不同级将于图3与图4中说明。
参照图3的封包300,封包300代表在图2A中标示为A的封包(预处理封包格式)。如上所述,封包300中重复的型态包括至少两种不同数据类型的组合(例如三个连续的z数据305字节(例如z0,z0,z0)搭配单一模板数据303字节(例如s0))。在操作中,当仅需要对z-数据305执行写入操作时(即排除s-数据303),P单元236(或P单元238,在此实施例中以P单元236做说明)会对整个封包内容300执行字节使能操作。也就是,P单元236将字节屏蔽302用于整个封包300,字节屏蔽302的位型态是将s-数据303去能并使能z-数据。因此,P单元236利用具有数据型态为11101110...1110的字节屏蔽302。也就是,P单元236在每4个位中加入0值,位值为0代表去能功能(即使屏蔽位保持原值)。位值为1代表使能功能,相当于允许被屏蔽的位通过。本领域技术人员皆了解在本发明实施例中所公开的屏蔽位值及其功能在一些实施例中可以具有相反的功能(即1代表去能,0代表使能)。
值得注意的是,当期望对s-数据303执行写入操作时(排除z-数据305),数据型态可以为位型态的反相(如字节屏蔽304所示),也就是00010001...0001。另外,当期望使所有的位通过时,屏蔽位型态可以全部为1(未示出)。因此,P单元236(与238)通过字节屏蔽302而选择性地对封包内容300的组合与连续的字节执行写入操作。
图4显示图2A中标示为B的像素封包400并显示后处理封包格式,后处理封包格式包括两个连续的z-数据群组402与s-数据群组404。像素封包400可经由MIU 110或BIU 118写入本地存储器106中(或是通过P单元238可根据对BIU 118的写入要求将群组402与404之一写入T高速缓存242,或者s-数据与z-数据皆可以上述混合格式写入T高速缓存242)。如图所示,z-数据群组402与s-数据群组404彼此分离,以使能选择写入连续的位或字节的数据。在此实施例中,将群组402中所有的z-数据搬移(例如交换)至封包的前端(例如前48个字节),并且将群组404中所有的s-数据搬移至封包的末端(例如后16个字节)。例如,由于屏蔽位值为0,因此s-数据群组404所使用的16个字节会被保留。如图2A所述,对应于屏蔽位值为1的48个字节使能只对z数据群组402执行写入操作(排除s-数据群组404)。当期望对s-数据群组404执行写入操作时,同样的可以将屏蔽位值为1的部分以0取代。
图5显示根据本发明实施例所述的封包处理方法100b,封包处理方法100b受到结合驱动器软件150与P单元236以及/或238的控制。根据本发明实施例所述的方法包括通过PCIE接线接收具有至少第一型态数据以及第二型态数据的封包(502),并且将整个封包分离为两个连续的群组,第一群组包括第一型态数据且第二群组包括第二型态数据(504)。
图5中任何步骤的说明或是流程图中的方块可以被视为代表模块、片段或部分的程序代码,程序代码包括用以实现步骤中特定逻辑功能的至少一可执行指令,本领域技术人员皆了解,在其它实施例中以不同于上述顺序执行功能(包括同时执行或是以相反的顺序执行)也可以包含于本发明的范围内。
本发明虽以较佳实施例公开如上,然而其并非用以限定本发明的范围,任何本领域技术人员,在不脱离本发明的精神和范围内,允许可做一些更动与润饰,因此本发明的保护范围当视权利要求所限定者为准。

Claims (20)

1.一种封包处理系统,设置于一快速周边元件连接接口系统中,包括:
一接收器,用以经由一快速周边元件连接接口接收一封包,所述封包具有至少一第一型态数据以及一第二型态数据;
一分离器,用以将所述封包分离为两个连续的群组,一第一群组包括所述第一型态数据且一第二群组包括所述第二型态数据;
所述分离器包括:
一交换逻辑单元,设定为用以对所述第一型态数据以及第二型态数据执行交换;以及
一屏蔽逻辑单元,设定为用以对所述第一型态数据以及第二型态数据执行屏蔽。
2.如权利要求1所述的封包处理系统,还包括一写入逻辑单元,用以将所述两个连续群组之一写入以排除另一群组。
3.如权利要求2所述的封包处理系统,其中所述写入逻辑单元还被设定为用以将所述两个连续群组之一通过一存储器界面单元写入一存储器。
4.如权利要求2所述的封包处理系统,其中所述写入逻辑单元还被设定为用以将所述两个连续群组之一写入一总线接口单元,所述总线接口单元耦接至一系统存储器、一主处理器以及一芯片组之一或任何组合。
5.如权利要求2所述的封包处理系统,其中所述第一型态数据是一连续的模板数据且所述第二型态数据是一连续的深度数据,所述写入逻辑单元还被设定为用以对所述连续的模板数据字节、所述连续的深度数据字节的至少一个执行写入操作。
6.如权利要求2所述的封包处理系统,其中所述第一型态数据是一连续的色彩数据且所述第二型态数据是一连续的阿尔法值数据,所述写入逻辑单元还被设定为用以对所述连续的色彩数据字节、所述连续的阿尔法值数据字节的至少一个执行写入操作。
7.如权利要求1所述的封包处理系统,其中所述第一型态数据是一连续的模板数据且所述第二型态数据是一连续的深度数据,所述屏蔽逻辑单元还被设定为用以产生一使能屏蔽位或一去能屏蔽位或是一使能与去能屏蔽位组合,并且将所述屏蔽位使用于深度数据以及模板数据。
8.如权利要求1所述的封包处理系统,还包括一驱动器软件,设定用以调节与控制所述接收器与分离器的功能。
9.一种封包处理方法,适用于处理一快速周边元件连接接口系统中的一封包,包括:
通过一快速周边元件连接接口接收所述封包,所述封包具有至少一第一型态数据以及一第二型态数据;以及
将所述封包分离为两个连续群组,一第一群组包括所述第一型态数据且一第二群组包括所述第二型态数据;
所述分离包括对所述第一型态数据于第二型态数据执行交换操作,以及对所述第一型态数据于第二型态数据执行屏蔽操作。
10.如权利要求9所述的封包处理方法,还包括写入操作,将所述两个连续群组之一写入以排除另一群组。
11.如权利要求10所述的封包处理方法,其中所述写入操作包括将所述两个连续群组之一通过一存储器界面单元写入一存储器。
12.如权利要求10所述的封包处理方法,其中所述写入操作包括将所述两个连续群组之一写入一总线接口单元,所述总线接口单元耦接至一系统存储器、一主处理器以及一芯片组之一或任何组合。
13.如权利要求10所述的封包处理方法,其中所述第一型态数据是一连续的模板数据且所述第二型态数据是一连续的深度数据,所述写入操作包括对所述连续的模板数据字节、所述连续的深度数据字节的至少一个执行写入操作。
14.如权利要求10所述的封包处理方法,其中所述第一型态数据是一连续的色彩数据且所述第二型态数据是一连续的阿尔法值数据,所述写入操作包括对所述连续的色彩数据字节、所述连续的阿尔法值数据字节的至少一个执行写入操作。
15.如权利要求9所述的封包处理方法,其中所述第一型态数据是一连续的模板数据且所述第二型态数据是一连续的深度数据,所述屏蔽操作包括产生一使能屏蔽位或一去能屏蔽位或是一使能与去能屏蔽位组合,并且将所述屏蔽位使用于深度数据以及模板数据。
16.如权利要求9所述的封包处理方法,还包括调节与控制接收所述封包和分离所述封包。
17.一种图形处理系统,包括:
一快速周边元件连接接口;以及
一图形处理单元,耦接至所述快速周边元件连接接口,所述图形处理单元包括一封包逻辑单元,所述封包逻辑单元被设定用以通过所述快速周边元件连接接口接收具有至少两种型态数据的一封包,并且将所述封包分隔为两个连续的群组,一第一群组包括一第一型态数据和一第二群组包括一第二型态数据,对所述第一型态数据于第二型态数据执行交换操作,以及对所述第一型态数据于第二型态数据执行屏蔽操作。
18.如权利要求17所述的图形处理系统,其中所述第一型态数据是深度数据且所述第二型态数据是模板数据。
19.如权利要求17所述的图形处理系统,其中所述第一型态数据是色彩数据且所述第二型态数据是阿尔法值数据。
20.如权利要求17所述的图形处理系统,还包括一驱动器软件,所述驱动器软件被设定用以通过所述快速周边元件连接接口提供所述封包至所述图形处理单元。
CNB2006101361708A 2005-10-14 2006-10-13 封包处理系统与方法 Active CN100442264C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US72653305P 2005-10-14 2005-10-14
US60/726,533 2005-10-14

Publications (2)

Publication Number Publication Date
CN1952918A CN1952918A (zh) 2007-04-25
CN100442264C true CN100442264C (zh) 2008-12-10

Family

ID=38059265

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006101361708A Active CN100442264C (zh) 2005-10-14 2006-10-13 封包处理系统与方法

Country Status (3)

Country Link
US (1) US7657679B2 (zh)
CN (1) CN100442264C (zh)
TW (1) TWI326830B (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8732644B1 (en) 2003-09-15 2014-05-20 Nvidia Corporation Micro electro mechanical switch system and method for testing and configuring semiconductor functional circuits
US8775997B2 (en) 2003-09-15 2014-07-08 Nvidia Corporation System and method for testing and configuring semiconductor functional circuits
US8775112B2 (en) 2003-09-15 2014-07-08 Nvidia Corporation System and method for increasing die yield
US8711161B1 (en) 2003-12-18 2014-04-29 Nvidia Corporation Functional component compensation reconfiguration system and method
US8723231B1 (en) 2004-09-15 2014-05-13 Nvidia Corporation Semiconductor die micro electro-mechanical switch management system and method
US8711156B1 (en) 2004-09-30 2014-04-29 Nvidia Corporation Method and system for remapping processing elements in a pipeline of a graphics processing unit
US8021193B1 (en) 2005-04-25 2011-09-20 Nvidia Corporation Controlled impedance display adapter
US7793029B1 (en) 2005-05-17 2010-09-07 Nvidia Corporation Translation device apparatus for configuring printed circuit board connectors
US8412872B1 (en) * 2005-12-12 2013-04-02 Nvidia Corporation Configurable GPU and method for graphics processing using a configurable GPU
US8417838B2 (en) 2005-12-12 2013-04-09 Nvidia Corporation System and method for configurable digital communication
US8427495B1 (en) 2006-11-01 2013-04-23 Nvidia Corporation Coalescing to avoid read-modify-write during compressed data operations
US9058792B1 (en) * 2006-11-01 2015-06-16 Nvidia Corporation Coalescing to avoid read-modify-write during compressed data operations
US8724483B2 (en) 2007-10-22 2014-05-13 Nvidia Corporation Loopback configuration for bi-directional interfaces
TWI356304B (en) * 2008-04-21 2012-01-11 Ralink Technology Corp Network device of processing packets efficiently a
US8910233B2 (en) * 2008-12-22 2014-12-09 Mediatek Inc. Signal processing apparatuses capable of processing initially reproduced packets prior to buffering the initially reproduced packets
US9331869B2 (en) 2010-03-04 2016-05-03 Nvidia Corporation Input/output request packet handling techniques by a device specific kernel mode driver
US9390042B2 (en) * 2012-07-03 2016-07-12 Nvidia Corporation System and method for sending arbitrary packet types across a data connector

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1069548A (ja) * 1996-04-22 1998-03-10 Internatl Business Mach Corp <Ibm> コンピュータ・グラフィックス・システム
US5777629A (en) * 1995-03-24 1998-07-07 3Dlabs Inc. Ltd. Graphics subsystem with smart direct-memory-access operation
CN1577303A (zh) * 2003-06-25 2005-02-09 株式会社日立制作所 半导体集成电路

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5585824A (en) * 1991-07-22 1996-12-17 Silicon Graphics, Inc. Graphics memory apparatus and method
US5491811A (en) * 1992-04-20 1996-02-13 International Business Machines Corporation Cache system using mask bits to recorder the sequences for transfers of data through cache to system memory
US5856832A (en) * 1997-01-13 1999-01-05 Hewlett-Packard Company System and method for parsing multiple sets of data
US6002412A (en) * 1997-05-30 1999-12-14 Hewlett-Packard Co. Increased performance of graphics memory using page sorting fifos
US6094429A (en) * 1998-03-02 2000-07-25 Motorola, Inc. Method for accessing and providing access to a packet channel
US6104413A (en) * 1998-03-11 2000-08-15 Industrial Technology Research Institute Methods and systems for storing texels retrievable in a single cycle
US6532018B1 (en) * 1999-04-19 2003-03-11 Microsoft Corporation Combined floating-point logic core and frame buffer
AU2001286383A1 (en) * 2000-05-05 2001-11-26 Ruby B. Lee A method and system for performing permutations with bit permutation instructions
US6614438B1 (en) * 2000-05-30 2003-09-02 Koninlijke Philips Electronics N.V. Data-processing arrangement for processing different types of data
US20020169808A1 (en) * 2000-12-12 2002-11-14 Fromm Eric C. System and method for reordering data
US6919902B2 (en) * 2002-06-03 2005-07-19 Seiko Epson Corporation Method and apparatus for fetching pixel data from memory
US7420568B1 (en) * 2003-12-17 2008-09-02 Nvidia Corporation System and method for packing data in different formats in a tiled graphics memory
US7286134B1 (en) * 2003-12-17 2007-10-23 Nvidia Corporation System and method for packing data in a tiled graphics memory
US7474313B1 (en) * 2005-12-14 2009-01-06 Nvidia Corporation Apparatus, method, and system for coalesced Z data and color data for raster operations

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5777629A (en) * 1995-03-24 1998-07-07 3Dlabs Inc. Ltd. Graphics subsystem with smart direct-memory-access operation
JPH1069548A (ja) * 1996-04-22 1998-03-10 Internatl Business Mach Corp <Ibm> コンピュータ・グラフィックス・システム
CN1577303A (zh) * 2003-06-25 2005-02-09 株式会社日立制作所 半导体集成电路

Also Published As

Publication number Publication date
US7657679B2 (en) 2010-02-02
CN1952918A (zh) 2007-04-25
TWI326830B (en) 2010-07-01
TW200715130A (en) 2007-04-16
US20070088877A1 (en) 2007-04-19

Similar Documents

Publication Publication Date Title
CN100442264C (zh) 封包处理系统与方法
US8069288B2 (en) Mechanism to flexibly support multiple device numbers on point-to-point interconnect upstream ports
CN100568187C (zh) 一种用于对调试消息进行掩码的方法和装置
US7412554B2 (en) Bus interface controller for cost-effective high performance graphics system with two or more graphics processing units
CN101089836B (zh) 用于具有一个或多个图形处理单元的图形系统的母板
CN1952979B (zh) 多重图形处理器系统及方法
US8490110B2 (en) Network on chip with a low latency, high bandwidth application messaging interconnect
WO2021244194A1 (zh) 寄存器的读写方法、芯片、子系统、寄存器组及终端
CN107704413A (zh) 一种基于vpx架构的加固型并行信息处理平台
CN108153686A (zh) 多接口cpu模块
US20040141518A1 (en) Flexible multimode chip design for storage and networking
CN101436171A (zh) 模块化通信控制系统
CN105260332A (zh) 一种对cpld数据包进行有序存储的方法及系统
CN100520755C (zh) 来自快速pci接口的映射sdvo功能
US20080052431A1 (en) Method and Apparatus for Enabling Virtual Channels Within A Peripheral Component Interconnect (PCI) Express Bus
CN1503948A (zh) 流水线化的ata设备初始化
US7791613B2 (en) Graphics memory switch
US8041868B2 (en) Bus relay device and bus control system including bus masters, interconnect section, and bridge section
CN112131176A (zh) 一种基于pcie的fpga快速局部重构方法
CN208046756U (zh) 视频显示处理装置
US5666556A (en) Method and apparatus for redirecting register access requests wherein the register set is separate from a central processing unit
CN100527095C (zh) 同步存取方法及其系统以及绘图处理单元
US7034837B2 (en) Method, system, and computer program product for determining a structure of a graphics compositor tree
CN1763706A (zh) 计算机和可拆卸地连接到其上的图形卡
CN210038775U (zh) 片上系统

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
ASS Succession or assignment of patent right

Owner name: S3 GRAPHICS (SHANGHAI) CO., LTD.

Free format text: FORMER OWNER: WEISHENG ELECTRONIC CO. LTD.

Effective date: 20110623

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 000000 TAIPEI COUNTY, TAIWAN, CHINA TO: 201203 NO. 2537, JINKE ROAD, ZHANGJIANG HIGH-TECH. PARK, PUDONG NEW DISTRICT, SHANGHAI, CHINA

TR01 Transfer of patent right

Effective date of registration: 20110623

Address after: 201203 Chinese Shanghai Zhangjiang High Tech Park of Pudong New Area Jinke Road No. 2537

Patentee after: Asahi Electronics (Shanghai) Co., Ltd.

Address before: 000000 Taipei County, Taiwan, China

Patentee before: Weisheng Electronic Co., Ltd.