CN101201933B - 绘图处理单元及方法 - Google Patents
绘图处理单元及方法 Download PDFInfo
- Publication number
- CN101201933B CN101201933B CN2008100003752A CN200810000375A CN101201933B CN 101201933 B CN101201933 B CN 101201933B CN 2008100003752 A CN2008100003752 A CN 2008100003752A CN 200810000375 A CN200810000375 A CN 200810000375A CN 101201933 B CN101201933 B CN 101201933B
- Authority
- CN
- China
- Prior art keywords
- soon
- processing unit
- graphics processing
- memory cache
- address
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1081—Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/65—Details of virtual memory and virtual address translation
- G06F2212/654—Look-ahead translation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
一种绘图处理单元及方法,特别涉及一种绘图处理方法,使绘图处理单元维持一区域快取存储器,并将系统存储器的存取减到最少。于接收到显示读取请求与逻辑地址时,绘图处理单元判断区域快取存储器是否包含对应该逻辑地址的实体地址。假如未包含,则产生快取读取命令,并由系统存储器的对应表中取得一定数目的快取列,例如绘图地址再对应表。经由对应表取得此快取列后,逻辑地址会转换成一对应系统存储器的实体地址,使绘图处理单元可存取系统存储器的数据。当区域快取存储器的一快取列消耗完毕时,可产生下一个快取列读取请求以自对应表取得下一个快取列,并使区域快取存储器保持既定数量的快取列。本发明可增加绘图处理单元的效能,提高系统效率。
Description
技术领域
本发明有关于绘图处理,且特别是有关于一种应用零、以及/或者低帧缓冲器的预取页表信息方法与装置。
背景技术
目前的计算机应用更普遍地强调绘图功能,且较以往更专注绘图处理能力。诸如游戏的应用,通常需要复杂且高度精细的绘图能力,且需要进行大量的运算。为满足客户提升计算机应用绘图能力的需求,例如:游戏,计算机配置亦随之改变。
当计算机的设计,特别是个人计算机,用于满足程序设计者对于娱乐与多媒体应用日益增加的需求时,例如:高画质视频与最新3D游戏,同样地增加系统频宽的高度需求。因此衍生出多种方法用以满足此一极需频宽应用的需求,并且为未来的应用提供额外的频宽空间。除此之外,改善计算机绘图处理单元(graphics processing unit,GPU)的架构不仅须与时并进,更讲求领先。
图1是显示一计算机系统10的部分方块图,且为本领域普通技术人员所能了解。计算机系统10包括一中央处理单元12,经由高速总线或通道18耦接至一系统控制器或北桥14。本领域普通技术人员应了解,北桥14可作为一系统控制器,其透过高速数据通道22及25,例如外围设备互连高速总线(peripheralcomponent interconnect express,PCIe),耦接至系统存储器20与绘图处理单元(GPU)24。北桥14亦可经由高速数据通道19耦接于一南桥16,以处理每个耦接元件间的通讯。举例而言,南桥16可透过总线17耦接一或多个外围设备21,例如一或多个输入/输出装置。
请继续参考北桥14,如上所述其可经由高速总线25耦接至绘图处理单元24。绘图处理单元24包括一区域帧缓冲器28,如图1所示。本领域普通技术人员应了解,区域帧缓冲器28的大小,于一非限定例子中,为512MB缓冲器或者其他配置。然而,区域帧缓冲器28可为某些小型缓冲器,或于某些配置中可完全省略。
如图1所示,绘图处理单元24经由北桥14与外围设备互连高速总线22及25接收来自系统存储器20的数据。如同本领域普通技术人员所了解,绘图处理单元24依循自中央处理单元12所接收的指令来产生绘图数据,用以显示于一耦接至计算机系统的显示装置上,其中,若区域帧缓冲器28存在且大小足够的话,则绘图数据可储存于区域帧缓冲器28,或者,储存于系统存储器20。
区域帧缓冲器28耦接至绘图处理单元24,用以储存部分甚至全部的显示数据。如同本领域普通技术人员所了解,区域帧缓冲器28可用以储存信息,例如:纹理数据以及/或者暂时像素数据。如图1所示,绘图处理单元24可透过区域数据总线29与区域帧缓冲器28交换信息。
若区域帧缓冲器28没有包含任何数据,则绘图处理单元24可执行读取存储器的指令,经由北桥14与数据通道22及25存取系统存储器20。此作法的一潜在缺点为,绘图处理单元24可能无法以足够快的速度存取系统存储器20。于一非限定例子中,当数据通道22及25不是快速数据通道时,则系统存储器的存取将变慢。
为了由系统存储器20存取绘图导向处理的数据,绘图处理单元24可使用一绘图地址再对应表(graphics address remappingtable,GART)从系统存储器20取得数据。此绘图地址再对应表可储存于系统存储器20或区域帧缓冲器28,并提供对应虚体地址的参考实体地址。
若无区域帧缓冲器可以利用,绘图地址再对应表可从而储存于系统存储器20。因此,绘图处理单元24执行一第一取得操作,自系统存储器20的绘图地址再对应表存取数据,用以判断数据储存于系统存储器20的实体地址。收到此信息后,绘图处理单元24于第二取得操作中,取得实体存储器的数据。因此,若区域帧缓冲器28不存在或过小,导致无法储存绘图地址再对应表,绘图处理单元24会大量依赖系统存储器20,且因为须进行多重存储器存取操作,使得延迟时间增加。
因此,为便利具有系统存储器20的显示单元有三种基本配置可供使用。第一种为使用连续存储器地址,例如通过上述的绘图地址再对应表来达成。有了绘图地址再对应表,绘图处理单元24能够将系统存储器20的相异非连续4KB系统存储器的实体页对应至一较大的连续逻辑地址空间,而达成显示或绘制的目的。许多绘图卡系统,例如:图1的计算机系统10,会配备一16倍(×16)的外围设备互连高速总线以链接至北桥14,例如:外围设备互连高速总线25,因此,外围设备互连高速总线通道25所提供的频宽可以满足对应数量数据的传输。
如上所述,于一绘图系统中,如果区域帧存储器28具有足够的容量,绘图地址再对应表实际上可以储存于区域帧缓冲器28中。因此,可使用区域数据总线29来取得区域帧存储器28的绘图地址再对应表,以便绘图处理单元24的显示控制器执行地址再对应。
于此实例中(绘图地址再对应表位于区域帧缓冲器28),显示器的读取延迟时间的总和是区域帧缓冲器28读取时间,再加上转译过程所花费的时间。如上所述,相较于存取系统存储器20,存取区域帧缓冲器28会较快,由于此实例的绘图地址再对应表是在原地取得,则读取延迟时间的影响不会太大。
然而,当计算机系统10没有区域帧缓冲器28时,亦如同上述,则绘图地址再对应表会位于系统存储器20中。因此,为了执行页转译(由一虚体地址至一实体地址),绘图处理单元24的一总线接口单元首先发出对应表的请求。然后转译此显示读取地址,最后发出此显示数据本身的第二个读取请求。此例是利用读取两个总线接口单元系统存储器来实现单一显示的读取。以另一种方式说明,读取绘图处理单元24的显示控制器的延迟时间加倍了,而拖缓绘图处理操作。
因此,存在一个在此之前未曾被提及的需要,用以改善上述的不足与缺点。
发明内容
有鉴于此,本发明提供一种绘图处理方法,使一绘图处理单元(GPU)维持一区域快取存储器,并将系统存储器的存取减到最少。此绘图处理单元具有一相对较小的区域帧缓冲器,或完全没有区域帧缓冲器。于任一实例中,绘图处理单元可用以维持执行显示列时,所需实体地址的一区域快取存储器,以减少绘图处理单元试图存取系统存储器的情况。
绘图相关软件会致使绘图处理单元接收一显示读取请求与一逻辑地址。于一非限定实施例中,显示读取请求与逻辑地址会被绘图处理单元的一总线接口单元(bus interface unit,BIU)的一显示控制器所接收。并判断区域快取存储器是否包含一实体地址,其对应于显示读取请求的逻辑地址。此判断可透过总线接口单元的一命中/未命中元件来执行。
若命中/未命中元件判断此逻辑快取存储器确实包含对应于已接收的逻辑地址的实体地址,则将结果认定为一“命中”。在此情况下,此逻辑地址随后会转换为它所对应的实体地址。转换后的实体地址可透过一控制器转发至计算机的系统存储器以存取所定址的数据。一北桥位于绘图处理单元与系统存储器之间以连接彼此的通讯。
然而,若命中/未命中元件判断此逻辑快取存储器未包含对应于已接收的逻辑地址的实体地址,则结果认定为一“未命中”。于此情况下,总线接口单元的一未命中预取元件可用以取得一既定数目的快取页,其中此快取页来自系统存储器中的一对应表,例如绘图地址再对应表。于一非限定实施例中,可通过一可编程暂存器控制自对应表所取得的快取页(或列)既定数目的数量。于另一未限定实施例中,所取得的既定数目快取页,对应于一显示单元的一列所包含的像素的数量,其中,此显示单元耦接该绘图处理单元。
当命中/未命中测试元件判断区域快取存储器确实包含对应于所取得的逻辑地址的实体地址后,会进行另外一项评估,意即,位于区域快取存储器的快取页的数目是否降低。若是,一命中预取元件产生下一个快取页请求,或类似操作,以自系统存储器的对应表(也就是绘图地址再对应表)取得下一可用的快取页来补足区域快取存储器快取页的数目。如此,区域快取存储器得以维持一位置,足以领先于绘图处理单元目前正在处理的一位置。
此种配置能使绘图处理单元将未命中的判断数目减到最小,从而增加绘图处理单元的效能。绘图处理单元不需重复取得包含实体地址的快取页与于系统存储器本身的数据,进而增加效能。同时取得包含实体地址的快取页以及定址的数据,需包含两独立的系统存储器存取操作,与仅存取系统存储器一次相较而言速度较慢。取而代之,通过尽量确保区域快取存储器包含所接收的逻辑地址的实体地址,绘图处理单元仅需存取系统存储器一次,便可达到实际取回数据的目的,因此操作上更有效率。
本发明提供一种绘图处理方法,用于一绘图处理单元,以维持储存于一页表快取存储器的页表信息,该绘图处理方法包括下列步骤:接收一显示读取请求及对应于欲取得数据的一逻辑地址;判断于该绘图处理单元的页表快取存储器中是否包含对应于该逻辑地址的一实体地址;当该页表快取存储器未包含对应于该逻辑地址的该实体地址时,产生一快取请求取得命令,其中该逻辑地址用以与耦接于该绘图处理单元的一系统存储器沟通;自该系统存储器的一对应表将一既定数目的快取列回传至该绘图处理单元;将该逻辑地址转换为该实体地址;以及自该系统存储器取得与该实体地址对应的数据。
本发明还提供一种绘图处理单元,耦接一系统控制器,该系统控制器耦接至一计算机的一存储器,该绘图处理单元包括:一显示读取控制器,用以接收一显示读取请求及对应于欲存取数据的一逻辑地址;一区域快取存储器,用以储存一既定数目的快取列,其中,该快取列对应于该计算机的该存储器的非连续存储器部分;一测试元件,耦接至该显示读取控制器,并用以判断与该显示读取请求相关的该逻辑地址所对应的一实体地址是否包含于该区域快取存储器内;一第一预取元件,用以于该测试元件输出的结果为该区域快取存储器并未包含与该显示读取请求相关的该逻辑地址所对应的该实体地址时,产生一快取请求取得命令,以自该计算机的该存储器的一对应表中取得该既定数目的快取列;以及一第二预取元件,用以于储存于该区域快取存储器的一快取列消耗完毕时,产生下一个快取请求命令自该计算机的该存储器取得下一个快取列。
本发明又提供一种绘图处理方法,适用于一绘图处理单元缺少一区域帧缓冲器的一计算机系统中,用以使系统存储器的存取减到最少,该绘图处理方法包括下列步骤:判断一实体地址是否包含于该绘图处理单元的一页表快取存储器,该实体地址与存储器的绘图相关数据有关,且对应于一已接收的逻辑地址,其中,该已接收的逻辑地址包含于该页表快取存储器时被转译成该实体地址;当该已接收的逻辑地址所对应的该实体地址并未包含于该页表快取存储器中时,产生一快取请求以自耦接于该绘图处理单元的一存储器取得一既定数目的快取页;以及当该页表快取存储器的一或多个快取页消耗完毕时,产生下一个快取请求命令以自该系统存储器取得一定数目的快取页,使该绘图处理单元的该页表快取存储器中保持该既定数目的快取页。
本发明可增加绘图处理单元的效能,提高系统效率。
附图说明
图1是显示具有一绘图处理单元的计算机系统方块图,其中包括绘图处理单元,以于绘图处理操作中存取储存于系统存储器的数据;
图2是显示图1所示的绘图处理单元方块图,其具有一显示读取地址转译元件用以实施预取操作,使图1中系统存储器的存取减到最少;
图3与图4是显示图1及图2的绘图处理单元判断是否于预取操作时存取系统存储器的步骤流程图;
图5是显示图1及图2的绘图处理单元,由图1系统存储器的一绘图地址再对应表,预取快取列的过程示意图。
具体实施方式
为使本发明的上述目的、特征和优点能更明显易懂,下文特举实施例,并配合所附图示,详细说明如下。
如上所述,图1的绘图处理单元24可用以使图1的系统存储器20的存取减到最小,进而减少绘图处理操作时的读取延迟时间。亦如上述,若区域帧缓冲器28有足够大的容量来储存绘图地址再对应表(GART)及相关数据,延迟时间就能充分减小或保持于可接受的程度范围内。但是,当区域帧缓冲器28容量较小甚至不存在时,则绘图处理单元24不仅需依赖系统存储器20来存取储存的绘图地址再对应表,用以进行存储器转译,还有对应于参考绘图地址再对应表的虚体地址的实体地址的数据。
图2为绘图处理单元24内部的元件方块图,其中绘图处理单元24试图自系统存储器20存取数据或快取列。如同上述,当绘图处理单元24存取系统存储器20的事件愈少(于低或零缓冲器配置下),绘图处理单元24处理绘图操作就愈快。因此,图2的元件,为绘图处理单元24许多其他未显示元件的一部分。
绘图处理单元24包括一总线接口单元30用以接收以及传递数据与指令。于一实施例中,总线接口单元30包括一显示读取地址转译元件31用以使系统存储器20的存取减到最少。图2的显示读取地址转译元件31于此还搭配图3及图4一起说明,其中,图3及图4包括显示读取地址转译元件31的操作步骤流程图。
于图2的一非限定实施例中,及图3与图4的说明中,于一低或零帧缓冲器绘图系统中,为了克服显示读取的过长延迟时间,可实施一预取基础的绘图地址再对应表快取存储器系统。于显示读取操作时,此非限定实施例使得页表取得延迟减到最小甚至消除。
显示读取地址转译元件31包含与一页表快取存储器(或一区域快取存储器)34连接的一显示读取控制器32。于一非限定实施例中,页表快取存储器34用以储存于图砖格式下的页的一条完整显示列。一可编程暂存器(未图示)可用以依据显示器的显示解析度设定单一显示列的大小,从而调整储存于页表快取存储器34的数据数目。于一非限定实施例中,控制页表快取存储器34大小的暂存器位可以符合8-图砖快取列的数目实现,用以完成一显示列。
于图3的流程50中,图2的显示读取控制器32接收一显示读取请求,如步骤52所示。除了此显示读取请求,显示读取控制器32亦接收对应于欲存取的数据的一逻辑地址。之后,于步骤54中,耦接显示读取控制器32的一命中/未命中测试元件38(图2)判断页表快取存储器34是否包含对应于步骤52所接收的逻辑地址的实体地址。此测试的至少一目的为判断实体地址是否储存于显示读取地址转译元件31,或需要自储存于系统存储器20的绘图地址再对应表取得。因此,如图3所示,步骤54显示命中/未命中测试元件38的结果有两种。其中一种结果为“未命中”,意即实体地址未包含于页表快取存储器34中。另一种结果为“命中”,意即对应于步骤52所接收的逻辑地址的实体地址包含于页表快取存储器34。
接续“未命中”的分支,接着于步骤56中,命中/未命中测试元件38促使未命中预取元件41于此事件中产生一快取请求取得命令。此快取请求用以取得对应于已接收的逻辑地址的实体地址。于步骤58中,未命中预取元件41经由多任务器44将此快取请求取得命令递送至北桥14,并进入系统存储器20。
于系统存储器20中,绘图地址再对应表储存于此,因此,可取得与预取命令相关的快取存储器数据,并传回绘图处理单元24。更具体地,如步骤62所示,快取请求取得命令致使一定数目的快取列自绘图地址再对应表而取得,此绘图地址再对应表对应一可编程暂存器项目的一暂存器变量。于一非限定实施例中,此暂存器可使页表快取存储器34保留与维持一完整显示列,以供耦接绘图处理单元24的一显示单元所需。
由系统存储器20中接收绘图地址再对应表的所取得的快取列之后,此快取列会被储存于页表快取存储器34。然后,于步骤64中,显示读取控制器32通过命中/未命中元件38将与快取列相关的逻辑地址转译为区域快取存储器的实体地址。之后,步骤66中命中预取元件42所转译的实体地址自多任务器44输出,并透过北桥14存取储存于系统存储器20中对应于此实体地址的定址数据。
如图3所示,流程50的步骤64及66可接续在步骤54“未命中”的结果的后续步骤62之后;亦可为步骤54“命中”的结果的后续。返回步骤54,若该命中/未命中测试元件38判断此实体地址储存于页表快取存储器34,则结果为“命中”。如同步骤64的说明,于步骤52中,将所接收的逻辑地址转译或改变为储存于页表快取存储器34的一实体地址。然后,自命中预取元件42经由多任务器44将实体地址输出至北桥14,以存取系统存储器20中对应于步骤64中所转译的实体地址的数据。
如上所述,于步骤56、58及62中,最初取得的既定数目的快取列,可透过一可编程暂存器来指定。因此,一起始单页的“未命中”,会导致一整个显示列被取出并储存于页表快取存储器34中。然而,随着步骤54所执行的每个命中/未命中测试,“命中”的结果应比“未命中”多,因而减少存取系统存储器20。
图5显示一显示页地址预取方块示意图80,其为图2中储存于页表快取存储器34的快取列。一开始存取8-图砖页地址快取列0时,结果可能是如图3步骤54所示的“未命中”。换句话说,当图3的流程50开始执行时,页表快取存储器34包含较多图5的快取列80,而命中/未命中元件38的起始结果导致步骤56、58及62被执行,因而取得于图5的快取列0-3,其对应于一完整显示列。
一旦包含于图5的快取列0的所有数据消耗完毕时,则流程继续移动至图5的快取列1,之后,显示读取地址转译元件31取得或预取下一个快取列。于此非限定实施例中,下一个快取列为快取列4。因此,自系统存储器20预取快取列4可与显示读取控制器32保持一足够的领先距离,使显示读取控制器32可存取四组快取列,包括快取列1-4。此预取方法将系统存储器20的实体地址造成的延迟时间减少。
如上所述,快取列0完成后会让显示读取控制器移动至快取列1,但亦产生快取列4的预取(以对角线箭号,由快取列1延伸至快取列4表示)。同样地,快取列1完成后,显示读取控制器32会移动至快取列2,之后,预取快取列5,由快取列2延伸至快取列5,以对角线箭号表示。以此方式,页表快取存储器34持续领先显示读取控制器32,并保持一额外显示列的数据,以将绘图处理单元取得实体地址,以及相关数据所花费的双倍时间最小化。
请参考图4,继续流程50以读取另一快取列,如同前一段的说明。于图3的步骤66完成后,其中显示读取地址转译元件31输出一实体地址,以读取对应于系统存储器20的实体地址的数据,然后继续步骤72。于步骤72中,判断(由命中/未命中元件38完成)目前执行的快取列是否已经消耗或完成。如上所述,若步骤72对应于图5的快取列0已完成,则使显示读取控制器32前进至快取列1。若没有完成,则流程50前进步骤52(图3),以接收下一个显示读取请求与执行所需的逻辑地址。
然而,于一非限定实施例中,若快取列0已经消耗完毕(所有数据都已使用),则步骤72的结果为是,导致显示读取控制器32移动至下一个储存于页表快取存储器34的快取列(快取列1)。之后,于步骤74中命中预取元件42产生下一个快取请求命令,以便预取下一个快取列。于绘图处理单元24中,命中预取元件42透过总线接口单元30的多任务器44,将下一个快取请求命令递送至北桥14及系统存储器20所储存的绘图地址再对应表。
下一个快取列,例如快取列4,于一非限定实施例中,是自绘图地址再对应表及系统存储器20取得。快取列4被回传并储存于页表快取存储器34。因此如上所述,图5中的对角线箭号指到前一个快取存储器消耗后所预取的下一个快取列,其中前一个快取存储器已预取并储存于页表快取存储器34。如上所述,依此方式,显示读取控制器32就能够保持足够数目的快取列于页表快取存储器34中,用以将任何接收的逻辑地址转译至相对应的实体地址。此种配置可减少总线接口单元30透过系统存储器20读取实体地址,然后再读取实体地址对应的数据的次数,因此种方式会产生双次读取且增加延迟时间。
以此非限定实施例继续说明,当图3步骤54判断一初始“未命中”的结果后,会接续执行图3的步骤56、58及62以取得页0-3,并使页表快取存储器34拥有四组快取列。然而,当任一快取列消耗完毕后,对应于步骤74、76及78的命中预取操作会导致一额外快取列的增加,例如:快取列0消耗完毕之后,图5所示的快取列4。
接着,于步骤54每次“命中”后,步骤72(由命中/未命中元件38)会判断是否应自系统存储器20的绘图地址再对应表取得一额外快取列。若是,如步骤74、76及78所显示,命中预取元件42取得一额外快取列。因此,于一非限定实施例中,页表快取存储器34随时保持一指定数量的实体地址,并领先于正在处理的地址,并将拖慢处理操作的数据取得双倍操作数量减到最少。
以上所述仅为本发明较佳实施例,然其并非用以限定本发明的范围,任何熟悉本项技术的人员,在不脱离本发明的精神和范围内,可在此基础上做进一步的改进和变化,因此本发明的保护范围当以本申请的权利要求书所界定的范围为准。
附图中符号的简单说明如下:
12:中央处理单元
14:北桥(系统控制器)
16:南桥
20:系统存储器
21:外围设备
24:绘图处理单元
28:区域帧缓冲器
30:总线接口单元
31:显示读取地址转译元件
32:显示读取控制器
34:页表快取存储器
38:命中/未命中测试元件
41:未命中预取元件
42:命中预取元件
44:多任务器。
Claims (10)
1.一种绘图处理方法,其特征在于,用于一绘图处理单元,以维持储存于一页表快取存储器的页表信息,该绘图处理方法包括下列步骤:
接收一显示读取请求及对应于欲取得数据的一逻辑地址;
判断于该绘图处理单元的页表快取存储器中是否包含对应于该逻辑地址的一实体地址;
当该页表快取存储器未包含对应于该逻辑地址的该实体地址时,产生一快取请求取得命令,其中该逻辑地址用以与耦接于该绘图处理单元的一系统存储器沟通;
自该系统存储器的一对应表将一既定数目的快取列回传至该绘图处理单元;
将该逻辑地址转换为该实体地址;以及
自该系统存储器取得与该实体地址对应的数据。
2.根据权利要求1所述的绘图处理方法,其特征在于,当该页表快取存储器包含对应于该逻辑地址的该实体地址时,则不产生该快取请求取得命令。
3.根据权利要求1所述的绘图处理方法,其特征在于,当位于该页表快取存储器的前一个读取的快取列消耗完毕时,则产生下一个快取请求命令。
4.根据权利要求1所述的绘图处理方法,其特征在于,该绘图处理单元不具备区域帧缓冲器。
5.一种绘图处理单元,其特征在于,耦接至一系统控制器,该系统控制器耦接至一计算机的一存储器,该绘图处理单元包括:
一显示读取控制器,用以接收一显示读取请求及对应于欲存取数据的一逻辑地址;
一区域快取存储器,用以储存一既定数目的快取列,其中,该快取列对应于该计算机的该存储器的非连续存储器部分;
一测试元件,耦接至该显示读取控制器,并用以判断与该显示读取请求相关的该逻辑地址所对应的一实体地址是否包含于该区域快取存储器内;
一第一预取元件,用以于该测试元件输出的结果为该区域快取存储器并未包含与该显示读取请求相关的该逻辑地址所对应的该实体地址时,产生一快取请求取得命令,以自该计算机的该存储器的一对应表中取得该既定数目的快取列;以及
一第二预取元件,用以于储存于该区域快取存储器的一快取列消耗完毕时,产生下一个快取请求命令自该计算机的该存储器取得下一个快取列。
6.根据权利要求5所述的该绘图处理单元,其特征在于,更包括:
一系统控制器,耦接于该绘图处理单元及该计算机的该存储器之间,其中,该系统控制器将自耦接于该系统控制器的一处理器所接收的该显示读取请求发送至该绘图处理单元;
一可编程暂存器,用以建立该既定数目快取列,其为一定数目的快取列,对应于耦接至该绘图处理单元的一显示器单元的完整显示列,其中,该所取得的既定数目的快取列与该快取请求取得命令相关;以及
一多任务器,耦接于该第一预取元件、该第二预取元件及该显示读取控制器,用以将信号输出至该系统控制器。
7.根据权利要求5所述的该绘图处理单元,其特征在于,该第二预取元件,用以产生该下一个快取请求命令,以于该区域快取存储器中保持一定数目的快取列,能领先于绘图处理单元目前正在处理的一位置,其中,该区域快取存储器对应于一耦接至该绘图处理单元的一显示单元的一完整显示列。
8.一种绘图处理方法,其特征在于,适用于一绘图处理单元缺少一区域帧缓冲器的一计算机系统中,用以使系统存储器的存取减到最少,该绘图处理方法包括下列步骤:
判断一实体地址是否包含于该绘图处理单元的一页表快取存储器,该实体地址与耦接于该绘图处理单元的一系统存储器的绘图相关数据有关,且对应于一已接收的逻辑地址,其中,该已接收的逻辑地址包含于该页表快取存储器时被转译成该实体地址;
当该已接收的逻辑地址所对应的该实体地址并未包含于该页表快取存储器中时,产生一快取请求以自该系统存储器取得一既定数目的快取页;以及
当该页表快取存储器的一或多个快取页消耗完毕时,产生下一个快取请求命令以自该系统存储器取得一定数目的快取页,使该绘图处理单元的该页表快取存储器中保持该既定数目的快取页。
9.根据权利要求8所述的绘图处理方法,其特征在于,该既定数目的快取页自该系统存储器的一绘图地址再对应表取得。
10.根据权利要求8所述的绘图处理方法,其特征在于,更包括以下步骤:
自该系统存储器取得该既定数目的快取页后,将该已接收的逻辑地址转译为该实体地址。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/742,747 US20080276067A1 (en) | 2007-05-01 | 2007-05-01 | Method and Apparatus for Page Table Pre-Fetching in Zero Frame Display Channel |
US11/742,747 | 2007-05-01 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101201933A CN101201933A (zh) | 2008-06-18 |
CN101201933B true CN101201933B (zh) | 2010-06-02 |
Family
ID=39517087
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008100003752A Active CN101201933B (zh) | 2007-05-01 | 2008-01-08 | 绘图处理单元及方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20080276067A1 (zh) |
CN (1) | CN101201933B (zh) |
TW (1) | TW200844898A (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9569363B2 (en) * | 2009-03-30 | 2017-02-14 | Via Technologies, Inc. | Selective prefetching of physically sequential cache line to cache line that includes loaded page table entry |
US8397049B2 (en) * | 2009-07-13 | 2013-03-12 | Apple Inc. | TLB prefetching |
US8405668B2 (en) | 2010-11-19 | 2013-03-26 | Apple Inc. | Streaming translation in display pipe |
US9134954B2 (en) | 2012-09-10 | 2015-09-15 | Qualcomm Incorporated | GPU memory buffer pre-fetch and pre-back signaling to avoid page-fault |
US9563571B2 (en) | 2014-04-25 | 2017-02-07 | Apple Inc. | Intelligent GPU memory pre-fetching and GPU translation lookaside buffer management |
US9507726B2 (en) | 2014-04-25 | 2016-11-29 | Apple Inc. | GPU shared virtual memory working set management |
US20150378920A1 (en) * | 2014-06-30 | 2015-12-31 | John G. Gierach | Graphics data pre-fetcher for last level caches |
CN107038125B (zh) * | 2017-04-25 | 2020-11-24 | 上海兆芯集成电路有限公司 | 具有加速预取请求的独立流水线的处理器高速缓存 |
KR102554419B1 (ko) | 2017-12-26 | 2023-07-11 | 삼성전자주식회사 | 프리페칭된 그래픽스 데이터를 이용하여 타일 기반 렌더링을 수행하는 방법 및 장치 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5584003A (en) * | 1990-03-29 | 1996-12-10 | Matsushita Electric Industrial Co., Ltd. | Control systems having an address conversion device for controlling a cache memory and a cache tag memory |
US5949436A (en) * | 1997-09-30 | 1999-09-07 | Compaq Computer Corporation | Accelerated graphics port multiple entry gart cache allocation system and method |
US6115793A (en) * | 1998-02-11 | 2000-09-05 | Ati Technologies, Inc. | Mapping logical cache indexes to physical cache indexes to reduce thrashing and increase cache size |
CN1444148A (zh) * | 2003-04-09 | 2003-09-24 | 威盛电子股份有限公司 | 具有多种规格兼容性传输信道的计算机系统 |
CN1135477C (zh) * | 1999-01-15 | 2004-01-21 | 英特尔公司 | 实现动态显示存储器的方法和装置 |
Family Cites Families (55)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58134357A (ja) * | 1982-02-03 | 1983-08-10 | Hitachi Ltd | ベクトルプロセッサ |
US4599721A (en) * | 1984-04-02 | 1986-07-08 | Tektronix, Inc. | Programmable cross bar multiplexer |
CA2045789A1 (en) * | 1990-06-29 | 1991-12-30 | Richard Lee Sites | Granularity hint for translation buffer in high performance processor |
US5821940A (en) * | 1992-08-03 | 1998-10-13 | Ball Corporation | Computer graphics vertex index cache system for polygons |
US5465337A (en) * | 1992-08-13 | 1995-11-07 | Sun Microsystems, Inc. | Method and apparatus for a memory management unit supporting multiple page sizes |
US5479627A (en) * | 1993-09-08 | 1995-12-26 | Sun Microsystems, Inc. | Virtual address to physical address translation cache that supports multiple page sizes |
US5706478A (en) * | 1994-05-23 | 1998-01-06 | Cirrus Logic, Inc. | Display list processor for operating in processor and coprocessor modes |
JP3169779B2 (ja) * | 1994-12-19 | 2001-05-28 | 日本電気株式会社 | マルチスレッドプロセッサ |
EP0739148B1 (de) * | 1995-04-21 | 2012-05-30 | Siemens Aktiengesellschaft | Systeme und Verfahren zur Fernprogrammierung von Mobilfunkstationen und Mobilfunkstation dafür |
JP3727711B2 (ja) * | 1996-04-10 | 2005-12-14 | 富士通株式会社 | 画像情報処理装置 |
US5805875A (en) * | 1996-09-13 | 1998-09-08 | International Computer Science Institute | Vector processing system with multi-operation, run-time configurable pipelines |
US5987582A (en) * | 1996-09-30 | 1999-11-16 | Cirrus Logic, Inc. | Method of obtaining a buffer contiguous memory and building a page table that is accessible by a peripheral graphics device |
US5963192A (en) * | 1996-10-11 | 1999-10-05 | Silicon Motion, Inc. | Apparatus and method for flicker reduction and over/underscan |
US5809563A (en) * | 1996-11-12 | 1998-09-15 | Institute For The Development Of Emerging Architectures, Llc | Method and apparatus utilizing a region based page table walk bit |
US5999198A (en) * | 1997-05-09 | 1999-12-07 | Compaq Computer Corporation | Graphics address remapping table entry feature flags for customizing the operation of memory pages associated with an accelerated graphics port device |
US6249853B1 (en) * | 1997-06-25 | 2001-06-19 | Micron Electronics, Inc. | GART and PTES defined by configuration registers |
US6282625B1 (en) * | 1997-06-25 | 2001-08-28 | Micron Electronics, Inc. | GART and PTES defined by configuration registers |
US6069638A (en) * | 1997-06-25 | 2000-05-30 | Micron Electronics, Inc. | System for accelerated graphics port address remapping interface to main memory |
US6192457B1 (en) * | 1997-07-02 | 2001-02-20 | Micron Technology, Inc. | Method for implementing a graphic address remapping table as a virtual register file in system memory |
US5933158A (en) * | 1997-09-09 | 1999-08-03 | Compaq Computer Corporation | Use of a link bit to fetch entries of a graphic address remapping table |
US5936640A (en) * | 1997-09-30 | 1999-08-10 | Compaq Computer Corporation | Accelerated graphics port memory mapped status and control registers |
US5905509A (en) * | 1997-09-30 | 1999-05-18 | Compaq Computer Corp. | Accelerated Graphics Port two level Gart cache having distributed first level caches |
US6144980A (en) * | 1998-01-28 | 2000-11-07 | Advanced Micro Devices, Inc. | Method and apparatus for performing multiple types of multiplication including signed and unsigned multiplication |
US6223198B1 (en) * | 1998-08-14 | 2001-04-24 | Advanced Micro Devices, Inc. | Method and apparatus for multi-function arithmetic |
US6298431B1 (en) * | 1997-12-31 | 2001-10-02 | Intel Corporation | Banked shadowed register file |
US6092175A (en) * | 1998-04-02 | 2000-07-18 | University Of Washington | Shared register storage mechanisms for multithreaded computer systems with out-of-order execution |
US6252610B1 (en) * | 1998-05-29 | 2001-06-26 | Silicon Graphics, Inc. | Method and apparatus for efficiently switching state in a graphics pipeline |
US6208361B1 (en) * | 1998-06-15 | 2001-03-27 | Silicon Graphics, Inc. | Method and system for efficient context switching in a computer graphics system |
US6205531B1 (en) * | 1998-07-02 | 2001-03-20 | Silicon Graphics Incorporated | Method and apparatus for virtual address translation |
US6378060B1 (en) * | 1998-08-24 | 2002-04-23 | Microunity Systems Engineering, Inc. | System to implement a cross-bar switch of a broadband processor |
US6292886B1 (en) * | 1998-10-12 | 2001-09-18 | Intel Corporation | Scalar hardware for performing SIMD operations |
US6329996B1 (en) * | 1999-01-08 | 2001-12-11 | Silicon Graphics, Inc. | Method and apparatus for synchronizing graphics pipelines |
US6392655B1 (en) * | 1999-05-07 | 2002-05-21 | Microsoft Corporation | Fine grain multi-pass for multiple texture rendering |
US6886090B1 (en) * | 1999-07-14 | 2005-04-26 | Ati International Srl | Method and apparatus for virtual address translation |
US6437788B1 (en) * | 1999-07-16 | 2002-08-20 | International Business Machines Corporation | Synchronizing graphics texture management in a computer system using threads |
US6476808B1 (en) * | 1999-10-14 | 2002-11-05 | S3 Graphics Co., Ltd. | Token-based buffer system and method for a geometry pipeline in three-dimensional graphics |
US6717577B1 (en) * | 1999-10-28 | 2004-04-06 | Nintendo Co., Ltd. | Vertex cache for 3D computer graphics |
US6353439B1 (en) * | 1999-12-06 | 2002-03-05 | Nvidia Corporation | System, method and computer program product for a blending operation in a transform module of a computer graphics pipeline |
US6456291B1 (en) * | 1999-12-09 | 2002-09-24 | Ati International Srl | Method and apparatus for multi-pass texture mapping |
US6690380B1 (en) * | 1999-12-27 | 2004-02-10 | Microsoft Corporation | Graphics geometry cache |
US6433789B1 (en) * | 2000-02-18 | 2002-08-13 | Neomagic Corp. | Steaming prefetching texture cache for level of detail maps in a 3D-graphics engine |
US6483505B1 (en) * | 2000-03-17 | 2002-11-19 | Ati International Srl | Method and apparatus for multipass pixel processing |
US6724394B1 (en) * | 2000-05-31 | 2004-04-20 | Nvidia Corporation | Programmable pixel shading architecture |
US6782432B1 (en) * | 2000-06-30 | 2004-08-24 | Intel Corporation | Automatic state savings in a graphics pipeline |
US6678795B1 (en) * | 2000-08-15 | 2004-01-13 | International Business Machines Corporation | Method and apparatus for memory prefetching based on intra-page usage history |
US6715057B1 (en) * | 2000-08-31 | 2004-03-30 | Hewlett-Packard Development Company, L.P. | Efficient translation lookaside buffer miss processing in computer systems with a large range of page sizes |
DE60038172T2 (de) * | 2000-09-25 | 2009-02-26 | Bull S.A. | Verfahren um Daten in einem Verarbeitungsystem zu übertragen |
US6806880B1 (en) * | 2000-10-17 | 2004-10-19 | Microsoft Corporation | System and method for efficiently controlling a graphics rendering pipeline |
US6784895B1 (en) * | 2000-10-17 | 2004-08-31 | Micron Technology, Inc. | Programmable multiple texture combine circuit for a graphics processing system and method for use thereof |
US6681311B2 (en) * | 2001-07-18 | 2004-01-20 | Ip-First, Llc | Translation lookaside buffer that caches memory type information |
US6762765B2 (en) * | 2001-12-31 | 2004-07-13 | Intel Corporation | Bandwidth reduction for zone rendering via split vertex buffers |
US6833831B2 (en) * | 2002-02-26 | 2004-12-21 | Sun Microsystems, Inc. | Synchronizing data streams in a graphics processor |
US6904511B2 (en) * | 2002-10-11 | 2005-06-07 | Sandbridge Technologies, Inc. | Method and apparatus for register file port reduction in a multithreaded processor |
US20050253858A1 (en) * | 2004-05-14 | 2005-11-17 | Takahide Ohkami | Memory control system and method in which prefetch buffers are assigned uniquely to multiple burst streams |
US20080028181A1 (en) * | 2006-07-31 | 2008-01-31 | Nvidia Corporation | Dedicated mechanism for page mapping in a gpu |
-
2007
- 2007-05-01 US US11/742,747 patent/US20080276067A1/en not_active Abandoned
- 2007-11-16 TW TW096143434A patent/TW200844898A/zh unknown
-
2008
- 2008-01-08 CN CN2008100003752A patent/CN101201933B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5584003A (en) * | 1990-03-29 | 1996-12-10 | Matsushita Electric Industrial Co., Ltd. | Control systems having an address conversion device for controlling a cache memory and a cache tag memory |
US5949436A (en) * | 1997-09-30 | 1999-09-07 | Compaq Computer Corporation | Accelerated graphics port multiple entry gart cache allocation system and method |
US6115793A (en) * | 1998-02-11 | 2000-09-05 | Ati Technologies, Inc. | Mapping logical cache indexes to physical cache indexes to reduce thrashing and increase cache size |
CN1135477C (zh) * | 1999-01-15 | 2004-01-21 | 英特尔公司 | 实现动态显示存储器的方法和装置 |
CN1444148A (zh) * | 2003-04-09 | 2003-09-24 | 威盛电子股份有限公司 | 具有多种规格兼容性传输信道的计算机系统 |
Non-Patent Citations (1)
Title |
---|
JP昭62-177645A 1987.08.04 |
Also Published As
Publication number | Publication date |
---|---|
TW200844898A (en) | 2008-11-16 |
US20080276067A1 (en) | 2008-11-06 |
CN101201933A (zh) | 2008-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101201933B (zh) | 绘图处理单元及方法 | |
US6856320B1 (en) | Demand-based memory system for graphics applications | |
CN1503945B (zh) | 共享转换地址的高速缓存 | |
CN103221995B (zh) | 显示管中的流翻译 | |
US6738890B2 (en) | Data processor | |
DE102012221504B4 (de) | Mehrniveau-Anweisung-Zwischenspeicher-Zuvor-Holen | |
CN107392309A (zh) | 一种基于fpga的通用定点数神经网络卷积加速器硬件结构 | |
US9280464B2 (en) | System and method for simultaneously storing and reading data from a memory system | |
CN101236661A (zh) | 在计算机中管理纹理数据的系统与方法 | |
US8601235B2 (en) | System and method for concurrently managing memory access requests | |
US20120297139A1 (en) | Memory management unit, apparatuses including the same, and method of operating the same | |
WO2011038257A1 (en) | Unified addressing and instructions for accessing parallel memory spaces | |
CN100377117C (zh) | 用于虚实地址变换及读写高速缓冲存储器的方法及装置 | |
US20080109613A1 (en) | Page stream sorter for poor locality access patterns | |
CN113039531B (zh) | 用于分配缓存资源的方法、系统和存储介质 | |
CN105518631A (zh) | 内存管理方法、装置和系统、以及片上网络 | |
CN109614086B (zh) | 基于SystemC和TLM模型的GPU纹理缓冲区数据存储硬件及存储装置 | |
CN104346295A (zh) | 一种缓存刷新方法和装置 | |
CN101425044B (zh) | 一种面向写穿透cache的SDRAM读写方法 | |
CN104067218A (zh) | 分配存储器访问控制策略 | |
CN104156907A (zh) | 一种基于fpga的红外预处理存储系统及存储方法 | |
CN109634583B (zh) | 一种基于SystemC和TLM模型的GPU颜色存储Cache模块的硬件及存储装置 | |
CN106502924A (zh) | 一种内存优化方法及系统 | |
US7050059B2 (en) | Method for a graphics chip to access data stored in a system memory of a computer device | |
CN103186474B (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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20201117 Address after: 6 floor, G District, No. 666, Beijing East Road, Huangpu District, Shanghai Patentee after: Weisheng Electronics (Shanghai) Co.,Ltd. Address before: Taiwan County, Taipei, China Patentee before: Via Technologies, Inc. |