CN105447810B - 数据单元的关联性检查方法以及使用该方法的装置 - Google Patents

数据单元的关联性检查方法以及使用该方法的装置 Download PDF

Info

Publication number
CN105447810B
CN105447810B CN201510788164.XA CN201510788164A CN105447810B CN 105447810 B CN105447810 B CN 105447810B CN 201510788164 A CN201510788164 A CN 201510788164A CN 105447810 B CN105447810 B CN 105447810B
Authority
CN
China
Prior art keywords
mentioned
data cell
execution thread
window
memory location
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
CN201510788164.XA
Other languages
English (en)
Other versions
CN105447810A (zh
Inventor
肖恒
梁莹
阙恒
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.)
Glenfly Tech Co Ltd
Original Assignee
Shanghai Zhaoxin Integrated Circuit Co Ltd
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 Shanghai Zhaoxin Integrated Circuit Co Ltd filed Critical Shanghai Zhaoxin Integrated Circuit Co Ltd
Priority to CN201810802275.5A priority Critical patent/CN108986015B/zh
Priority to CN201510788164.XA priority patent/CN105447810B/zh
Publication of CN105447810A publication Critical patent/CN105447810A/zh
Priority to US15/141,767 priority patent/US9892484B2/en
Application granted granted Critical
Publication of CN105447810B publication Critical patent/CN105447810B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Processing (AREA)
  • Image Generation (AREA)

Abstract

本发明的实施例提出一种数据单元的关联性检查方法。从画素着色器中的第一执行线程接收关联于数据单元的存储器存取请求,以及从窗口缓存器取得数据单元的处理状态。藉由处理状态判断数据单元是否正被第二执行线程处理。如果是,则执行请求拒绝程序,用以避免第一执行线程存取动态随机存取存储器中关联于数据单元的属性值。否则,执行请求允许程序,用以允许上述第一执行线程存取上述动态随机存取存储器中关联上述数据单元的属性值。

Description

数据单元的关联性检查方法以及使用该方法的装置
技术领域
本发明涉及一种三维图形技术,特别是一种数据单元的关联性(dependency)检查方法以及使用该方法的装置。
背景技术
在三维图形管道中,光栅化器(rasterizer)转换像素(primitives)为画素(pixels),并且将画素传送至画素着色器(pixel shader)。画素着色器则用以决定即将写入绘制目标的最后画素颜色。光栅化器顺序性地产生像素,并且为每一个像素产生片元。数据单元(例如,小方块,quads)的信息会摘要出来并打包至执行线程。一个执行线程包含一定数目的数据单元,画素着色器初始并平行执行多个执行线程。执行线程于画素着色器中执行时可能不按照顺序。但是,画素着色器需要依据光栅化器产生数据单元的顺序来输出这些数据单元。然而,对于相同数据单元,执行线程间可能发生未写入便读出的意外。因此,需要一种数据单元的关联性检查方法以及使用该方法的装置,用以避免以上所述的问题。
发明内容
本发明的实施例提出一种数据单元的关联性检查方法。从画素着色器中的第一执行线程接收关联于数据单元的存储器存取请求,以及从窗口缓存器取得数据单元的处理状态。藉由处理状态判断数据单元是否正被第二执行线程处理。如果是,则执行请求拒绝程序,用以避免第一执行线程存取动态随机存取存储器中关联于数据单元的属性值。否则,执行请求允许程序,用以允许上述第一执行线程存取上述动态随机存取存储器中关联上述数据单元的属性值。
本发明的实施例提出一种数据单元的关联性检查装置,包含窗口缓存器及窗口签入器。窗口签入器耦接于窗口缓存器,从画素着色器中的第一执行线程接收关联于数据单元的存储器存取请求;从窗口缓存器取得数据单元的处理状态;藉由处理状态判断数据单元是否正被第二执行线程处理;如果是,则执行请求拒绝程序,用以避免第一执行线程存取动态随机存取存储器中关联于数据单元的属性值;否则,执行请求允许程序,用以允许第一执行线程存取动态随机存取存储器中关联数据单元的属性值。
附图说明
图1是依据本发明实施例的数据单元的关联性检查装置的硬件架构图。
图2是依据本发明实施例的转换到二维影像的像素示意图。
图3是依据本发明实施例的画素处理方法流程图。
图4是依据本发明实施例由窗口检查器130执行的关联性检查方法的流程图。
图5是依据本发明实施例由窗口释放器150执行的关联性检查方法的流程图。
图6是依据本发明实施例的仲裁器的方块图。
具体实施方式
以下说明为完成发明的较佳实现方式,其目的在于描述本发明的基本精神,但并不用以限定本发明。实际的发明内容必须参考之后的权利要求范围。
必须了解的是,使用于本说明书中的“包含”、“包括”等词,用以表示存在特定的技术特征、数值、方法步骤、作业处理、组件以及/或组件,但并不排除可加上更多的技术特征、数值、方法步骤、作业处理、组件、组件,或以上的任意组合。
于权利要求中使用如“第一”、“第二”、“第三”等词是用来修饰权利要求中的组件,并非用来表示之间具有优先权顺序,先行关系,或者是一个组件先于另一个组件,或者是执行方法步骤时的时间先后顺序,仅用来区别具有相同名字的组件。
图1是依据本发明实施例的数据单元的关联性检查装置的硬件架构图。动态随机存取存储器120储存关联于2D影像中画素的属性值,例如坐标、Z值、颜色等。于执行特定作业时,例如,产生光栅顺序视图(ROV,Raster Ordered Views)、融合像素间的画素值等,画素着色器110需要存取动态随机存取存储器(DRAM,Dynamic Random Access Memory)120中的画素的属性值。一个作业通常包含从动态随机存取存储器120读取关联特定位置的属性值、运算以及将关联特定位置的运算结果写回动态随机存取存储器120。于此须注意的是,当画素着色器110中的一个执行线程已经读取特定位置的属性值但尚未将运算结果写回时,特定位置的属性值不能被其它执行线程读取。否则,将发生未写入便读出的意外。图2是依据本发明实施例的转换到二维(2D,two-dimensional)影像的像素示意图。光栅化器依序产生像素210及230,并转换到以小方块(quads)为单位的2D影像,其中反斜线的部分是像素210及230间重叠的区域。当重叠区域中的任一画素同时被关联于像素210及230的执行线程处理时,画素着色器110需保证除非关联于像素210的执行线程处理此画素结束,否则不能让关联于像素230的执行线程开始处理此画素。
图3是依据本发明实施例的画素处理方法的流程图。此方法由画素着色器110中的一个执行线程实施。首先,从缓存器取得待处理的数据单元的信息(步骤S311)。其中,数据单元可为一或多个画素、小方块、片元等。取得信息中至少包含此数据单元于2D影像上的位置。2D影像的位置可以(x,y)坐标、小方块编号(quad number)、片元编号(tile number),或其它信息表示。为保证执行线程间存取相同画素的属性值的顺序符合像素产生的顺序,执行线程向窗口检查器(window checker)130发出关联于此数据单元的存储器存取请求(步骤S313)。存储器存取请求中至少包含此数据单元于2D影像上的位置。接着,于接收到窗口检查器130的请求允许信息(Acknowledgement)后(步骤S315中“是”的路径),从动态随机存取存储器120读取关联于此数据单元的属性值(步骤S331)。于接收到窗口检查器130的请求拒绝信息(Rejection)后(步骤S315中“否”的路径),执行线程可于一段时间后重新向窗口检查器130发出关联于此数据单元的存储器存取请求(步骤S313)。于另一些实施例中,执行线程可于发出存储器存取请求后启动一个定时器,用以计时一段时间。当定时器逾时前接收到窗口检查器130的请求允许信息后(步骤S315中“是”的路径),从动态随机存取存储器120读取关联于此数据单元的属性值(步骤S331)。当定时器逾时后(步骤S315中“否”的路径),重新向窗口检查器130发出关联于此数据单元的存储器存取请求(步骤S313)。于读取所需数据后(步骤S331),执行线程对此数据单元的属性值进行运算(步骤S333),将此数据单元的运算结果写回动态随机存取存储器120(步骤S335),以及通知窗口释放器(windowreleaser)150关联此数据单元的存储器存取结束(步骤S337)。窗口检查器130及窗口释放器150的技术细节将讨论如后。
窗口缓存器160储存每一个数据单元的处理状态,可实施于一读一写类型的静态存取存储器(1R1W type SRAM,Static Random Access Memory)。窗口缓存器160可包含一定数量M的储存格(cell),以及每一储存格包含一定数量N的比特(bit)。每一个比特表示关联于一个数据单元的处理状态,“1”表示此数据单元目前正被一个执行线程处理,“0”表示此数据单元目前没有被任何执行线程处理。例如,为符合画素着色器110的最大处理能力,窗口缓存器160包含256个储存格,以及每一储存格包含256个比特。窗口缓存器160中的数据单元的处理状态寻址与2D影像的位置相符。于一个例子中,第0个储存格中第0至255个比特分别表示坐标(0,0)至(0,255)的画素的处理状态,第1个储存格中第0至255个比特分别表示坐标(1,0)至(1,255)的画素的处理状态,依此类推。于另一个例子中,第0个储存格中第0至255个比特分别表示编号0至255的小方块或片元的处理状态,第1个储存格中第0至255个比特分别表示编号256至511的小方块或片元的处理状态,依此类推。于再一个例子中,第0个储存格中第0至3个比特分别表示编号0的小方块中第0至3个画素的处理状态,第0个储存格中第4至7个比特分别表示编号1的小方块中第0至3个画素的处理状态,依此类推。虽然以上实施例以一读一写类型的静态存取存储器描述,窗口缓存器160亦可以使用二读二写类型的静态存取存储器(2R2W type SRAM)实施,于付出可接受的闸数成本情况下,得到更佳的效能。
图4是依据本发明实施例由窗口检查器130执行的关联性检查方法流程图。首先,窗口检查器130从一个执行线程接收关联于数据单元的存储器存取请求(步骤S411)。存储器存取请求中至少包含此数据单元于2D影像上的位置。依据数据单元的位置计算储存格索引(cell index)后(步骤S413),发出读取指定储存格的请求给仲裁器(Arbiter)140(步骤S431),以及从仲裁器140取得此数据单元的处理状态(步骤S433)。窗口检查器130发出的读取指定储存格的请求包含计算后的储存格索引。于此需注意的是,仲裁器140可一次读取一整个储存格的处理状态并回复给窗口检查器130,接着,窗口检查器130依据数据单元的位置从回复的数据中取得关联于此数据单元的处理状态。例如,假设第0个储存格储存编号0至255小方块的处理状态,以及此数据单元为第7个小方块:窗口检查器130可从仲裁器140回复的256比特的数据中依据数据单元的位置取得比特7的值。窗口检查器130判断此数据单元是否正被另一执行线程处理(步骤S451),若是,则执行请求拒绝程序,用以避免此执行线程存取动态随机存取存储器120中关联此数据单元的属性值(步骤S471至S473);否则,执行请求允许程序,用以允许此执行线程存取动态随机存取存储器120中关联此数据单元的属性值(步骤S491至S495)。于步骤S451,举例来说,当相应比特值为“1”,代表此数据单元正被另一执行线程处理。当相应比特值为“0”,代表此数据单元没有被任何执行线程处理。于请求拒绝程序中,窗口检查器130回复请求拒绝信息给此执行线程(步骤S471),以及发出写入指定储存格的请求给仲裁器140,用以写入原来读取的处理状态至窗口缓存器160中相应于储存格索引的位置(步骤S473)。窗口检查器130发出的写入指定储存格的请求包含计算后的储存格索引。于另一些实施例中,步骤S471可被省略。于请求允许程序中,窗口检查器130回复请求允许信息给此执行线程(步骤S491),更新相应于此数据单元的比特值,用以指出此数据单元正被此执行线程处理(步骤S493),以及发出写入指定储存格的请求给仲裁器140,用以写入更新后的处理状态至窗口缓存器160中相应于储存格索引的位置(步骤S495)。于步骤S495,须注意的是,指定储存格中除了相应于此数据单元的处理状态外,其它的处理状态与原来读取的相同。为简化仲裁器140的锁定设计,指定储存格的读取请求及写入请求是成对执行。也就是说,窗口检查器130发出指定储存格的读取请求后,接着发出此储存格的写入请求。
图5是依据本发明实施例由窗口释放器150执行的关联性检查方法的流程图。首先,窗口释放器150从一个执行线程接收关联于数据单元的存储器存取结束通知(步骤S511)。存储器存取结束通知中至少包含此数据单元于2D影像上的位置。依据数据单元的位置计算储存格索引后(步骤S513),发出读取指定储存格的请求给仲裁器140(步骤S531),更新相应于此数据单元的比特值,用以指出此数据单元没有被任何执行线程处理(步骤S533),以及发出写入指定储存格的请求给仲裁器140,用以写入更新后的处理状态(步骤S535)。窗口释放器150发出的读取及写入指定储存格的请求包含计算后的储存格索引。于此需注意的是,仲裁器140可一次读取一整个储存格的处理状态并回复给窗口释放器150,接着,窗口释放器150依据数据单元的位置更新关联于此数据单元的处理状态。例如,假设第0个储存格储存编号0至255小方块的处理状态,以及此数据单元为第7个小方块:窗口释放器150可从仲裁器140回复的256比特的数据中依据数据单元的位置更新比特7的处理状态。于步骤S535,须注意的是,指定储存格中除了相应于此数据单元的处理状态外,其它的处理状态与原来读取的相同。为简化仲裁器140的锁定设计,指定储存格的读取请求及写入请求也是成对执行。
为了协调窗口检查器130及窗口释放器150的请求,仲裁器140使用如下所述的规则来准许其中之一的请求,用以避免画素着色器110中的一个执行线程已对一个数据单元进行运算但还未写入前,便由另一个执行线程读出此数据单元的意外。图6是依据本发明实施例的仲裁器的方块图。缓存器630纪录窗口检查器130的锁定旗标(lock flag)及储存格索引。当窗口检查器130的锁定旗标为“真(true)”时,代表窗口检查器130已读取窗口缓存器160中指定储存格(以储存格索引表示)的处理状态但尚未写回。当窗口检查器130的锁定旗标为“伪(false)”时,代表窗口检查器130尚未从窗口缓存器160读取新的储存格数据。缓存器630另纪录窗口释放器150的锁定旗标及储存格索引。当窗口释放器150的锁定旗标为“真”时,代表窗口释放器150已读取窗口缓存器160中指定储存格(以储存格索引表示)的处理状态但尚未写回。当窗口释放器150的锁定旗标为“伪”时,代表窗口释放器150尚未从窗口缓存器160读取新的储存格数据。
每当控制单元610从窗口检查器130接收到一个请求(可为读取请求或写入请求),将请求中的储存格索引储存至缓存器630。类似地,每当控制单元610从窗口释放器150接收到一个请求(可为读取请求或写入请求),将请求中的储存格索引储存至缓存器630。控制单元610从缓存器630读取以上所述的锁定旗标及储存索引,并使用以下所述规则选择执行窗口检查器130及窗口释放器150中之一者发出的请求(可为读取请求或写入请求)。在第一个规则中,当窗口检查器130及窗口释放器150的锁定旗标皆为“伪”且两个储存格索引相同时(代表窗口检查器130及窗口释放器150请求读取相同储存格的处理状态),控制单元610选择执行窗口释放器150的读取请求。也就是说,当冲突发生,窗口释放器150的优先权比窗口检查器130高,用以避免如上所述未写入便读出的意外。详细来说,控制单元610驱动存取界面620从指定储存格读取处理状态,回复读取数据给窗口释放器150,以及更改窗口释放器150的锁定旗标为“真”。在第二个规则中,当窗口检查器130的锁定旗标为“真”而窗口释放器150的锁定旗标为“伪”且两个储存格索引不同时(代表窗口检查器130请求写入处理状态至一个储存格而窗口释放器150请求从另一储存格读取处理状态),控制单元610选择执行窗口释放器150的读取请求。详细来说,控制单元610驱动存取界面620从指定储存格读取处理状态,回复读取数据给窗口释放器150,以及更改窗口释放器150的锁定旗标为“真”。在第三个规则中,当窗口检查器130的锁定旗标为“伪”而窗口释放器150的锁定旗标为“真”且两个储存格索引不同时(代表窗口检查器130请求从一个储存格读取处理状态而窗口释放器150请求写入处理状态至另一储存格),控制单元610选择执行窗口检查器130的读取请求。详细来说,控制单元610驱动存取界面620从指定储存格读取处理状态,回复读取数据给窗口检查器130,以及更改窗口检查器130的锁定旗标为“真”。在第四个规则中,当窗口检查器130的锁定旗标为“真”而窗口释放器150的锁定旗标为“伪”且两个储存格索引相同时(代表窗口检查器130请求写入处理状态至一个储存格而窗口释放器150请求从相同储存格读取处理状态),控制单元610选择执行窗口检查器130的写入请求,用以确保执行窗口检查器130的读取及写入请求可依序执行而不让窗口释放器150的读取请求插入至两者之间。详细来说,控制单元610驱动存取界面620写入处理状态至指定储存格,回复写入数据成功的信息给窗口检查器130,以及更改窗口检查器130的锁定旗标为“伪”。在第五个规则中,当窗口检查器130的锁定旗标为“伪”而窗口释放器150的锁定旗标为“真”且两个储存格索引相同时(代表窗口检查器130请求从一个储存格读取处理状态而窗口释放器150请求写入处理状态至相同储存格),控制单元610选择执行窗口释放器150的写入请求,用以确保窗口释放器150的读取及写入请求可依序执行而不让窗口检查器130的读取请求插入至两者之间。详细来说,控制单元610驱动存取界面620写入处理状态至指定储存格,回复写入数据成功的信息给窗口释放器150,以及更改窗口释放器150的锁定旗标为“伪”。在第六个规则中,当窗口检查器130及窗口释放器150的锁定旗标皆为“真”且两个储存格索引不同时(代表窗口检查器130及窗口释放器150请求写入处理状态至不同的储存格),控制单元610选择执行窗口释放器150的写入请求。详细来说,控制单元610驱动存取界面620写入处理状态至指定储存格,回复写入数据成功的信息给窗口释放器150,以及更改窗口释放器150的锁定旗标为“伪”。
于此须注意的是,针对没有冲突的第二、第三及第六个规则中的任一者,可使用窗口检查器130优先的策略裁定。也就是说,控制单元610选择执行窗口检查器130的请求。或者是,以轮替(round-robin)的原则裁定,以获得更平衡的输出(throughput)。例如,当前一次选择执行窗口释放器130的请求时,控制单元610选择执行窗口检查器130的请求;反之亦然。
于另一些实施方式中,可将窗口缓存器160更改为使用缓存器储存如上所述的处理状态,以及设置大量的比较器来完成类似于本发明实施例的功能。然而,这样的实施方式将消耗至少三倍于本发明实施例的闸数成本(gate-count cost)。
虽然图1及图6中包含了以上描述的组件,但不排除在不违反发明的精神下,使用更多其它的附加组件,以达成更佳的技术效果。此外,虽然图3至图5的处理步骤采用特定的顺序来执行,但是在不违反发明精神的情况下,熟习此技术人士可以在达到相同效果的前提下,修改这些步骤间的顺序,所以,本发明并不局限于仅使用如上所述的顺序。
虽然本发明使用以上实施例进行说明,但需要注意的是,这些描述并非用以限缩本发明。相反地,此发明涵盖了熟习此技术人士显而易见的修改与相似设置。所以,申请权利要求范围须以最宽广的方式解释来包含所有显而易见的修改与相似设置。
【符号说明】
110 画素着色器;120 动态随机存取存储器;
130 窗口检查器;140 仲裁器;
150 窗口释放器;160 窗口缓存器;
210、230 像素;S311~S337 方法步骤;
S411~S495 方法步骤; S511~S535方法步骤;
610 控制单元;620 存取界面;
630 缓存器。

Claims (10)

1.一种数据单元的关联性检查方法,包含:
从一画素着色器中的一第一执行线程接收关联于一数据单元的一存储器存取请求;
从一窗口缓存器取得上述数据单元的一处理状态;
藉由上述处理状态判断上述数据单元是否正被一第二执行线程处理;
如果是,则执行一请求拒绝程序,用以避免上述第一执行线程存取一动态随机存取存储器中关联于上述数据单元的属性值;以及
否则,执行一请求允许程序,用以允许上述第一执行线程存取上述动态随机存取存储器中关联上述数据单元的属性值。
2.如权利要求1所述的数据单元的关联性检查方法,其中上述数据单元的上述处理状态以一个比特值表示。
3.如权利要求2所述的数据单元的关联性检查方法,其中,上述比特值为“1”代表上述数据单元正被上述第二执行线程处理,以及上述比特值为“0”代表上述数据单元没有被任何执行线程处理。
4.如权利要求1所述的数据单元的关联性检查方法,其中上述窗口缓存器中的数据单元的处理状态寻址与一二维影像的位置相符。
5.如权利要求4所述的数据单元的关联性检查方法,其中,上述存储器存取请求中包含上述数据单元于上述二维影像上的一位置,以及上述窗口缓存器为一读一写类型或二读二写类型的静态随机存取存储器,于上述从一窗口缓存器取得上述数据单元的一处理状态的步骤,更包含:
依据上述位置计算一储存格索引;
读取上述静态随机存取存储器中相应于上述储存格索引的整个储存格数据;以及
从上述储存格数据取得上述数据单元的上述处理状态。
6.如权利要求5所述的数据单元的关联性检查方法,其中上述请求拒绝程序更包含:
回复一请求拒绝信息给上述第一执行线程;以及
写入原来读取的上述整个储存格数据至上述静态随机存取存储器中相应于上述储存格索引的位置。
7.如权利要求5所述的数据单元的关联性检查方法,其中上述请求允许程序更包含:
回复一请求允许信息给上述第一执行线程;
更新上述整个储存格数据中关联于上述数据单元的上述处理状态,用以指出上述数据单元正被上述第一执行线程处理;以及
写入上述更新后的储存格数据至上述静态随机存取存储器中相应于上述储存格索引的位置。
8.如权利要求1所述的数据单元的关联性检查方法,其中上述数据单元为一画素、一小方块或一片元。
9.如权利要求1所述的数据单元的关联性检查方法,其中,上述窗口缓存器中关联于上述数据单元的上述处理状态透过一仲裁器取得。
10.一种数据单元的关联性检查装置,包含:
一窗口缓存器;以及
一窗口签入器,耦接于上述窗口缓存器,从一画素着色器中的一第一执行线程接收关联于一数据单元的一存储器存取请求;从上述窗口缓存器取得上述数据单元的一处理状态;藉由上述处理状态判断上述数据单元是否正被一第二执行线程处理;如果是,则执行一请求拒绝程序,用以避免上述第一执行线程存取一动态随机存取存储器中关联于上述数据单元的属性值;否则,执行一请求允许程序,用以允许上述第一执行线程存取上述动态随机存取存储器中关联上述数据单元的属性值。
CN201510788164.XA 2015-11-17 2015-11-17 数据单元的关联性检查方法以及使用该方法的装置 Active CN105447810B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201810802275.5A CN108986015B (zh) 2015-11-17 2015-11-17 数据单元的关联性检查方法以及使用该方法的装置
CN201510788164.XA CN105447810B (zh) 2015-11-17 2015-11-17 数据单元的关联性检查方法以及使用该方法的装置
US15/141,767 US9892484B2 (en) 2015-11-17 2016-04-28 Methods for checking dependencies of data units and apparatuses using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510788164.XA CN105447810B (zh) 2015-11-17 2015-11-17 数据单元的关联性检查方法以及使用该方法的装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201810802275.5A Division CN108986015B (zh) 2015-11-17 2015-11-17 数据单元的关联性检查方法以及使用该方法的装置

Publications (2)

Publication Number Publication Date
CN105447810A CN105447810A (zh) 2016-03-30
CN105447810B true CN105447810B (zh) 2018-08-24

Family

ID=55557944

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201510788164.XA Active CN105447810B (zh) 2015-11-17 2015-11-17 数据单元的关联性检查方法以及使用该方法的装置
CN201810802275.5A Active CN108986015B (zh) 2015-11-17 2015-11-17 数据单元的关联性检查方法以及使用该方法的装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201810802275.5A Active CN108986015B (zh) 2015-11-17 2015-11-17 数据单元的关联性检查方法以及使用该方法的装置

Country Status (2)

Country Link
US (1) US9892484B2 (zh)
CN (2) CN105447810B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110337637B (zh) * 2018-03-28 2021-07-30 深圳市大疆创新科技有限公司 数据处理方法和设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103927223A (zh) * 2013-01-16 2014-07-16 英特尔公司 对图形资源的串行化访问

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1293512C (zh) * 2001-12-28 2007-01-03 矽统科技股份有限公司 顶点资料队列控制器
US7154885B2 (en) * 2001-12-31 2006-12-26 Stmicroelectronics Ltd. Apparatus for switching data in high-speed networks and method of operation
US7831974B2 (en) * 2002-11-12 2010-11-09 Intel Corporation Method and apparatus for serialized mutual exclusion
CN1234116C (zh) * 2003-11-06 2005-12-28 威盛电子股份有限公司 具有共用存储器存取装置的光盘控制芯片与其存储器存取方法
US8707150B2 (en) * 2008-12-19 2014-04-22 Microsoft Corporation Applying effects to a video in-place in a document
EP2666088B1 (en) 2011-04-07 2019-10-30 Siemens Healthcare Diagnostics Inc. Methods for hierarchically identifying root cause errors
TWI439925B (zh) * 2011-12-01 2014-06-01 Inst Information Industry 內嵌式系統及其執行緒與緩衝區管理方法
US9256915B2 (en) * 2012-01-27 2016-02-09 Qualcomm Incorporated Graphics processing unit buffer management
IN2013CH04449A (zh) * 2013-09-30 2015-04-03 Empire Technology Dev Llc
WO2015047427A1 (en) * 2013-09-30 2015-04-02 Empire Technology Development, Llc Data transfer in a multi-core processor
US9811334B2 (en) * 2013-12-06 2017-11-07 Intel Corporation Block operation based acceleration

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103927223A (zh) * 2013-01-16 2014-07-16 英特尔公司 对图形资源的串行化访问
EP2757551A1 (en) * 2013-01-16 2014-07-23 Intel Corporation Serialized access to graphics resources

Also Published As

Publication number Publication date
CN108986015B (zh) 2022-12-06
US20170140499A1 (en) 2017-05-18
CN108986015A (zh) 2018-12-11
US9892484B2 (en) 2018-02-13
CN105447810A (zh) 2016-03-30

Similar Documents

Publication Publication Date Title
CN101533529B (zh) 基于深度图像的三维空间数据处理方法与装置
US11645810B2 (en) Method for continued bounding volume hierarchy traversal on intersection without shader intervention
US20220027280A1 (en) Method for efficient grouping of cache requests for datapath scheduling
CN105556571B (zh) 使用计算着色器作为顶点着色器的前端
KR100889602B1 (ko) 광선 추적을 위한 광선-삼각형 충돌 처리 방법 및 장치
US9349154B2 (en) Bindless texture and image API
EP1081655A2 (en) System and method for rendering using ray tracing
WO2022127242A1 (zh) 游戏图像处理方法、装置、程序和可读介质
JPH01191276A (ja) アンチアリアスを有するコンピュータグラフィック優先システム
JPH07120434B2 (ja) ボリュームレンダリングを行う方法及び装置
CN113593027B (zh) 一种三维航电显控界面装置
CN105447810B (zh) 数据单元的关联性检查方法以及使用该方法的装置
CN107784622A (zh) 图形处理系统和图形处理器
CN108022202A (zh) 一种超前消隐几何引擎结构
CN105427368B (zh) 数据单元的关联性检查方法以及使用该方法的装置
CN105243685B (zh) 数据单元的关联性检查方法以及使用该方法的装置
CN115760543B (zh) 光栅器有序视图的线程处理方法、装置、设备和存储介质
CN105551002B (zh) 一种图像形态学滤波方法
JP4779479B2 (ja) 物体の三次元形状データの削減装置および削減方法
CN104599304B (zh) 图像处理技术
CN107783982A (zh) 数据处理方法及数据处理装置
KR101540941B1 (ko) 병렬 쉬어 와프 분해를 이용한 볼륨 렌더링 방법
CN115641399B (zh) 基于图像的多层网格拾取方法及系统
Marek et al. Possibilities for development and use of 3D applications on the android platform
US20240095994A1 (en) Reducing false positive ray traversal using point degenerate culling

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20211206

Address after: Room 201, No. 2557, Jinke Road, pilot Free Trade Zone, Pudong New Area, Shanghai 201203

Patentee after: Gryfield Intelligent Technology Co.,Ltd.

Address before: Room 301, 2537 Jinke Road, Zhangjiang hi tech park, Shanghai 201203

Patentee before: VIA ALLIANCE SEMICONDUCTOR Co.,Ltd.