CN112581351A - 一种双发射simt染色处理单元写回单元结构及写回通路冲突检测方法 - Google Patents

一种双发射simt染色处理单元写回单元结构及写回通路冲突检测方法 Download PDF

Info

Publication number
CN112581351A
CN112581351A CN202011404078.1A CN202011404078A CN112581351A CN 112581351 A CN112581351 A CN 112581351A CN 202011404078 A CN202011404078 A CN 202011404078A CN 112581351 A CN112581351 A CN 112581351A
Authority
CN
China
Prior art keywords
unit
write
external
connection
1mux
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.)
Pending
Application number
CN202011404078.1A
Other languages
English (en)
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.)
Xian Xiangteng Microelectronics Technology Co Ltd
Original Assignee
Xian Xiangteng Microelectronics Technology 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 Xian Xiangteng Microelectronics Technology Co Ltd filed Critical Xian Xiangteng Microelectronics Technology Co Ltd
Priority to CN202011404078.1A priority Critical patent/CN112581351A/zh
Publication of CN112581351A publication Critical patent/CN112581351A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3851Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
    • G06F9/3887Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple data lanes [SIMD]

Abstract

本发明涉及一种双发射SIMT染色处理单元写回单元结构及写回通路冲突检测方法,本发明的双发射SIMT染色处理单元写回单元结构包括一个sWB单元101,n个WB单元102,单拍可完成1+2n个数据到1个1写RF、n个2写RF的数据的写入。本发明实现了双发射SIMT染色处理单元的写回单元,并解决写回通路的冲突检测,为解决图形处理器设计中结构相关提供技术支持。

Description

一种双发射SIMT染色处理单元写回单元结构及写回通路冲突 检测方法
技术领域
本发明属于图形处理器设计领域,涉及一种双发射SIMT染色处理单元写回单元结构及写回通路冲突检测方法。
背景技术
在处理器设计领域,为缩短程序的执行时间,出现了超标量技术。超标量的出现使得处理器每周期可以执行多于一条的指令。与之相匹配的,超标量处理器的指令发射部件,也需要每周期可以发射多于一条的指令。其中,每周期并行发射两条指令,称为双发射。
对于常规的算术运算,如加法、减法、乘法、除法等,一条指令通常由两个源操作数、一个目的操作数组成;对于特殊的函数运算,如正弦、余弦、倒数、平方根等,一条指令通常由一个源操作数、一个目的操作数组成。
图形处理器的统一染色阵列,与处理器设计类似,同样可以采用超标量、双发射技术来缩短指令的执行时间,但考虑到上述两类指令的使用频率,统一染色阵列设计时,仅常规算术运算支持超标量处理,以降低特殊函数运算部件的资源开销。基于上述考虑设计的统一染色阵列中,双发射对寄存器文件也提出了要求:对于常规算术运算,要求一周期能够读出4个源操作数,写入2个目的操作数;对于特殊函数运算,要求一周期读出1个源操作数,写入1个目的操作数。
染色处理单元(Shading Process Unit,SPU)通常由多个SC(染色内核)和一个SFU(特殊功能单元)组成,其中SC负责进行常规的算术运算,SFU负责进行特殊的函数运算。SC有关指令均为周期固定指令,且SC部门为流水部件;SFU有关指令均为周期固定指令,且SFU部件为流水部件;LSU(Load store Unit,加载存储单元)有关指令均为周期不定指令,且对于LSU,warp之间可以流水,单个warp不能流水。
单指令多线程(Single Instruction Multi Thread,SIMT)使用单条指令控制多个线程的执行,即多个线程同时执行同一条指令。SIMT技术应用于处理器设计,可以节省取指逻辑资源,将更多的晶体管用于计算,提供处理器的运算能力;在诸如图形计算中,大量的顶点、像素需进行相同操作,具有极高的数据并行性,SIMT具有很好的适应性。
发明内容
本发明的目的是:提供一种同时包含特殊功能单元SFU和若干染色内核SC的双发射SIMT染色处理单元写回单元结构及写回通路冲突检测方法,实现双发射SIMT染色处理单元的写回单元,并解决写回通路的冲突检测,为解决图形处理器设计中结构相关提供技术支持。
本发明的技术解决方案是:本发明为一种双发射SIMT染色处理单元写回单元结构,其特殊之处在于:所述双发射SIMT染色处理单元写回单元结构包括一个sWB单元101,n个WB单元102,单拍可完成1+2n个数据到1个1写RF、n个2写RF的数据的写入;
sWB单元101具有来自外部SFU单元输入连接(130),用接收外部SFU单元的处理结果,该结果包括数据类型、现场id、待写回数据和目标地址;sWB单元101具有来自外部LSU单元的输入连接131,用接收外部LSU单元的处理结果,该结果包括数据类型、现场id、待写回数据和目标地址;所述sWB单元101具有到外部RF1单元的输出连接135和连接136,分别用于根据现场id向外部RF1单元输出待写回的定点、浮点数据,其中连接135、连接136包括与外部RF1单元每个现场的连接;sWB单元101用于将外部SFU单元、外部LSU单元的输出根据数据类型、现场id,将待输出的数据,选择、输出到外部RF1单元对应的现场;
WB单元102具有来自外部SC单元的输入连接132,用接收外部SC单元中IE部件的处理结果,该结果包括数据类型、现场id、待写回数据和目标地址;所述WB单元102具有来自外部SC单元的输入连接133,用接收外部SC单元中FE部件的处理结果,该结果包括数据类型、现场id、待写回数据和目标地址;所述WB单元102具有来自外部LSU单元的输入连接134,用接收外部LSU单元的处理结果,该结果包括数据类型、现场id、待写回数据和目标地址;WB单元102具有到外部RF2单元的输出连接137和连接138,分别用于根据现场id向外部RF2单元输出待写回的定点、浮点数据,其中连接137、连接138包括与外部RF2单元每个现场的连接;WB单元102用于将外部SC单元、外部LSU单元的输出根据数据类型、现场id,将待输出的数据,选择、输出到外部RF2单元对应的现场。
优选的,sWB单元101包括W单元201a、W单元201b、2:1Mux单元202a、2:1Mux单元202b;
W单元201a、W单元201b分别具有与外部IF_E单元、外部LE单元的输入连接210a和输入连接210b,分别用于接收外部IF_E单元、外部LE单元的处理结果,该结果包括数据类型、现场id、待写回数据和目标地址;
2:1Mux单元202a、2:1Mux单元202b具有到外部RF1单元的输出连接211a和输出连接211b,分别用于根据现场id向外部RF1单元输出待写回的定点、浮点数据,其中连接211a、连接211b包括与外部RF1单元每个现场的连接;
W单元201a具有到2:1Mux单元202a、2:1Mux单元202b的输出连接212a和输出连接213a,分别用于向2:1Mux单元202a、2:1Mux单元202b输出待写回的定点数据和目的地址、待写回的浮点数据和目的地址;W单元201b具有到2:1Mux单元202b、2:1Mux单元202a的输出连接212b和输出连接213b,分别用于向2:1Mux单元202b、2:1Mux单元202a输出待写回的浮点数据和目的地址、待写回的定点数据和目的地址;
连接211a、连接211b包括与外部RF1单元m个现场的连接;连接212a、连接212b、连接213a、连接213b均包含m个现场的连接。
优选的,WB单元102包括W单元201c、W单元201d、W单元201e、2:1Mux单元202c、2:1Mux单元202d;W单元201c、W单元201d、W单元201e分别具有与外部FE1_x单元、外部LE单元、外部IE1_y单元的输入连接310c、输入连接310d、输入连接310e,分别用于接收x个外部FE单元(FE1…FEx)、1个外部LE单元、y个外部IE单元(IE1…IEy)的处理结果,该结果包括数据类型、现场id、待写回数据和目标地址;
W单元201c、W单元201e具有与外部RF2单元的输出连接311c、输出连接311e,分别用于向外部RF2单元输出待写回的浮点数据和目的地址、定点数据和目的地址;
2:1Mux单元202c、2:1Mux单元202d分别具有到外部RF2单元的输出连接312c和输出连接312d,分别用于根据现场id向外部RF2单元输出待写回的浮点和目的地址、定点数据和目的地址;
连接311c、连接311e分别连接外部浮点RF2单元的B端口、外部定点RF2单元的B端口;所述连接312c、连接312d分别连接外部浮点RF2单元的A端口、外部定点RF2单元的A端口;
W单元201c、W单元201d具有到所述2:1Mux单元202c的输出连接313c、输出连接311d,用于向2:1Mux单元202c输出待写回的浮点数据和目的地址;W单元201d、W单元201e具有到所述2:1Mux单元202d的输出连接313d、输出连接313e,用于向2:1Mux单元202d输出待写回的定点数据和目的地址;
连接311c、连接311e、连接312c、连接312d包括与外部RF2单元m个现场的连接;连接311d、连接313c、连接313d、连接313e均包含m个现场的连接。
优选的,W单元201用于将外部k个功能部件Ex(Ex1…Exk)的输入,根据数据类型、现场id,选择、译码,输出到两条输出通路对应的现场,每拍最多可接收两个功能部件的输入,每拍最多可向两条输出通路的一个现场输出数据;
W单元201包括一个用于k个功能部件到两条通路选择的部件y:2选择器401,以及两个用于将一个输入根据现场id译码到m个现场之一并输出的1:m译码器402a和1:m译码器402b;
y:2选择器401分别具有到1:m译码器402a、1:m译码器402b的连接412a、连接412b,用于各自传输一个外部功能单元的输出数据,包括数据类型、现场id、待输出的数据和目的地址;
y:2选择器401的选择规则为:仅有一个外部功能部件的输入时,优先输出到连接412b通路;同时有两个外部功能的输入时,则同时输出到连接412a通路和连接412b通路;写回通路冲突检测方法保证了外部k个功能部件同一周期最多只有两个功能部件的输入数据;
连接412a、连接412b分别仅具有一个现场的通路,同拍只能输出一个现场的数据。
优选的,2:1Mux单元202用于将外部单元的两路输入,根据现场id,选择并输出到相应现场的通路;
2:1Mux单元202由m个2:1选择器组成,其中m为现场的数量;
2:1Mux单元202的选择规则为:哪条输入通路有输入请求,就选择哪条通路进行输出;写回通路冲突检测方法保证了外部的两路输入同一周期不会争用2:1Mux单元202的输出通路,同一周期最多只存在一路输入通路有待输出数据。
一种依据上述的双发射SIMT染色处理单元写回单元结构的写回通路冲突检测方法,其特殊之处在于:该方法包括以下步骤:
根据面向的2类写回单元,SFU写回和SC写回,将写回通路相关检测分开进行,最终再对两者的检测结果进行合并,仅在两者均无相关的情况下,整体才算没有写回通路相关,具体包括:
1)对双发射的两条指令A、指令B按照SFU写回通路检测、SC写回通路检测分开进行;
2)分别进行SFU写回指令过滤和SC写回指令过滤,得到用于SFU写回通路检测的两条指令A1、B1和用于SC写回通路检测的两条指令A2、B2;其中,SFU写回指令过滤的方法为仅保留使用SFU运算部件的指令,而将其余指令替换为NOP;SC写回指令过滤的方法为仅保留使用SC运算部件的指令,而将其余指令替换为NOP;
3)接着对A1、B1和A2、B2分别进行SFU写回通路相关检测和SC写回通路相关检测:
3.1)对于SFU写回通路相关检测:双发射的两条指令之间的相关在译码阶段解决,仅需判断A1、B1各自与执行部件上正在执行的指令之间是否存在写回通路相关,判定方法为如果执行部件上存在与A1、B1属于统一warp且与A1或B1在同一拍完成的指令,则存在SFU写回通路相关;否则,不存在SFU写回通路相关;
3.2)对于SC写回通路相关检测:需在该部分进行2个步骤的相关检测,即“同时发射的两条指令之间”、“当前指令与正在执行的指令之间”写回通路相关;检测方法为:A2、B2以及正在执行部件上执行的与A2、B2属于同一warp的指令在某拍完成的数量大于2,则存在SC写回通路相关;否则,不存在SC写回通路相关;
4)综合SFU写回通路相关检测结果和SC写回通路相关检测结果得到整体写回通路相关检测结果:仅在两者均无相关的情况下,通路整体才算没有写回通路相关。
优选的,步骤3.1)中SFU写回通路相关检测,双发射的两条指令之间的相关在译码阶段采用拆分的方法解决。
优选的,步骤3.2)中SC写回通路相关检测,“当前指令与正在执行的指令之间”写回通路相关检测,可细分为周期固定指令的相关判定以及周期不定指令的相关判定。
本发明提供的一种双发射SIMT染色处理单元写回单元结构及写回通路冲突检测方法,包括一种双发射SIMT染色处理单元写回单元结构和一种针对写回单元结构的写回通路冲突检测方法;写回通路冲突检测方法在指令发射前进行检测,可在记分板中进行实现;写回通路冲突检测方法能够保证双发射SIMT染色处理单元写回通路中不会有冲突发生;本发明的双发射SIMT染色处理单元写回单元结构及写回通路检测方法的工作流程为:双发射指令在进入染色处理单元之前,通过所述写回通路检测方法进行检测,此时发射该双发射指令后续是否会在所述双发射SIMT染色处理单元写回单元结构中发生写回通路相关,如果会发生,则延迟指令发射;如果不会发生,则进行指令发射。因此,本发明具有以下优点:
1、能够实现双发射指令的写回通路冲突检测,检测后存在冲突则延迟发射,下一个发射周期继续检测,检测后没有冲突的情况下可进行发射,此时能够保证该双发射指令下发后进入写回通路结构时,不会有写回通路冲突发生;
2、本发明适用于同时包含特殊功能单元和染色内核的双发射SIMT染色处理单元的写回实现;
3、本发明可用于图形处理器染色阵列的设计与实现。
附图说明
图1是本发明的双发射SIMT染色处理单元写回单元结构,其中:WBU—WriteBackUnit,写回单元;sWB—Special WriteBack,特殊写回单元;WB—Write Back,写回;
图2是本发明的双发射SIMT染色处理单元写回单元结构中sWB单元结构示意图;
图3是本发明的双发射SIMT染色处理单元写回单元结构中sWB单元结构的一个实施例的示意图;
图4是本发明的双发射SIMT染色处理单元写回单元结构中WB单元结构示意图;
图5是本发明的双发射SIMT染色处理单元写回单元结构中WB单元结构的一个实施例的示意图;
图6是本发明的双发射SIMT染色处理单元写回单元结构中W单元结构示意图;
图7是本发明的写回通路冲突检测方法总体流程图。
具体实施方式
下面结合附图和具体实施例对本发明的技术方案做进一步详细描述。
本发明提供的一种双发射SIMT染色处理单元写回单元结构及写回通路冲突检测方法:
包括一种双发射SIMT染色处理单元写回单元结构;包括一种针对所述写回单元结构的写回通路冲突检测方法;所述写回通路冲突检测方法在指令发射前进行检测,可在记分板中进行实现;所述写回通路冲突检测方法能够保证所述双发射SIMT染色处理单元写回通路中不会有冲突发生;
所述双发射SIMT染色处理单元写回单元结构及写回通路检测方法的工作流程为:双发射指令在进入染色处理单元之前,通过所述写回通路检测方法进行检测,此时发射该双发射指令后续是否会在所述双发射SIMT染色处理单元写回单元结构中发生写回通路相关,如果会发生,则延迟指令发射;如果不会发生,则进行指令发射,具体如下:
参见图1,本发明的双发射SIMT染色处理单元写回单元结构:由一个sWB单元101,n个WB单元102组成,单拍可完成1+2n个数据到1个1写RF、n个2写RF的数据的写入;
sWB单元101具有来自外部SFU单元输入连接130,用接收外部SFU单元的处理结果,该结果包括数据类型、现场id、待写回数据和目标地址;所述sWB单元101具有来自外部LSU单元的输入连接131,用接收外部LSU单元的处理结果,该结果包括数据类型、现场id、待写回数据和目标地址;所述sWB单元101具有到外部RF1单元的输出连接135和连接136,分别用于根据现场id向外部RF1单元输出待写回的定点、浮点数据,其中连接135、连接136包括与外部RF1单元每个现场的连接;所述sWB单元101用于将外部SFU单元、外部LSU单元的输出根据数据类型、现场id,将待输出的数据,选择、输出到外部RF1单元对应的现场;
WB单元102具有来自外部SC单元的输入连接132,用接收外部SC单元中IE部件的处理结果,该结果包括数据类型、现场id、待写回数据和目标地址;所述WB单元102具有来自外部SC单元的输入连接133,用接收外部SC单元中FE部件的处理结果,该结果包括数据类型、现场id、待写回数据和目标地址;所述WB单元102具有来自外部LSU单元的输入连接134,用接收外部LSU单元的处理结果,该结果包括数据类型、现场id、待写回数据和目标地址;所述WB单元102具有到外部RF2单元的输出连接137和连接138,分别用于根据现场id向外部RF2单元输出待写回的定点、浮点数据,其中连接137、连接138包括与外部RF2单元每个现场的连接;所述WB单元102用于将外部SC单元、外部LSU单元的输出根据数据类型、现场id,将待输出的数据,选择、输出到外部RF2单元对应的现场。
参见图2,本发明的sWB单元101,由W单元201a、W单元201b、2:1Mux单元202a、2:1Mux单元202b组成;
W单元201a、W单元201b分别具有与外部IF_E单元、外部LE单元的输入连接210a和输入连接210b,分别用于接收外部IF_E单元、外部LE单元的处理结果,该结果包括数据类型、现场id、待写回数据和目标地址;
2:1Mux单元202a、2:1Mux单元202b具有到外部RF1单元的输出连接211a和输出连接211b,分别用于根据现场id向外部RF1单元输出待写回的定点、浮点数据,其中连接211a、连接211b包括与外部RF1单元每个现场的连接;
W单元201a具有到2:1Mux单元202a、2:1Mux单元202b的输出连接212a和输出连接213a,分别用于向2:1Mux单元202a、2:1Mux单元202b输出待写回的定点数据和目的地址、待写回的浮点数据和目的地址;W单元201b具有到2:1Mux单元202b、2:1Mux单元202a的输出连接212b和输出连接213b,分别用于向2:1Mux单元202b、2:1Mux单元202a输出待写回的浮点数据和目的地址、待写回的定点数据和目的地址;
连接211a、连接211b包括与外部RF1单元m个现场的连接;连接212a、连接212b、连接213a、连接213b均包含m个现场的连接。
参见图3,是本发明双发射SIMT染色处理单元写回单元结构中sWB单元结构的一个实施例,其中m为8。
参见图4,本发明的WB单元102:由W单元201c、W单元201d、W单元201e、2:1Mux单元202c、2:1Mux单元202d组成;
W单元201c、W单元201d、W单元201e分别具有与外部FE1_x单元、外部LE单元、外部IE1_y单元的输入连接310c、输入连接310d、输入连接310e,分别用于接收x个外部FE单元(FE1…FEx)、1个外部LE单元、y个外部IE单元(IE1…IEy)的处理结果,该结果包括数据类型、现场id、待写回数据和目标地址;
W单元201c、W单元201e具有与外部RF2单元的输出连接311c、输出连接311e,分别用于向外部RF2单元输出待写回的浮点数据和目的地址、定点数据和目的地址;
2:1Mux单元202c、2:1Mux单元202d分别具有到外部RF2单元的输出连接312c和输出连接312d,分别用于根据现场id向外部RF2单元输出待写回的浮点和目的地址、定点数据和目的地址;
连接311c、连接311e分别连接外部浮点RF2单元的B端口、外部定点RF2单元的B端口;连接312c、连接312d分别连接外部浮点RF2单元的A端口、外部定点RF2单元的A端口;
W单元201c、W单元201d具有到所述2:1Mux单元202c的输出连接313c、输出连接311d,用于向2:1Mux单元202c输出待写回的浮点数据和目的地址;W单元201d、W单元201e具有到所述2:1Mux单元202d的输出连接313d、输出连接313e,用于向2:1Mux单元202d输出待写回的定点数据和目的地址;
连接311c、连接311e、连接312c、连接312d包括与外部RF2单元m个现场的连接;连接311d、连接313c、连接313d、连接313e均包含m个现场的连接。
参见图5,是本发明双发射SIMT染色处理单元写回单元结构中WB单元结构的一个实施例,其中x为4,y为5,m为8。
参见图6,本发明的W单元201用于将外部k个功能部件Ex(Ex1…Exk)的输入,根据数据类型、现场id,选择、译码,输出到两条输出通路对应的现场,每拍最多可接收两个功能部件的输入,每拍最多可向两条输出通路的一个现场输出数据;
W单元201由一个用于k个功能部件到两条通路选择的部件y:2选择器401,以及两个用于将一个输入根据现场id译码到m个现场之一并输出的1:m译码器402a、1:m译码器402b组成;
y:2选择器401分别具有到1:m译码器402a、1:m译码器402b的连接412a、连接412b,用于各自传输一个外部功能单元的输出数据,包括数据类型、现场id、待输出的数据和目的地址;
y:2选择器401的选择规则为:仅有一个外部功能部件的输入时,优先输出到412b通路;同时有两个外部功能的输入时,则同时输出到412a通路和412b通路;写回通路冲突检测方法保证了外部k个功能部件同一周期最多只有两个功能部件的输入数据;
连接412a、连接412b分别仅具有一个现场的通路,同拍只能输出一个现场的数据。如图2、图3所示,所述的2:1Mux单元202:用于将外部单元的两路输入,根据现场id,选择并输出到相应现场的通路;
2:1Mux单元202由m个2:1选择器组成,其中m为现场的数量;
2:1Mux单元202的选择规则为:哪条输入通路有输入请求,就选择哪条通路进行输出写回通路冲突检测方法保证了外部的两路输入同一周期不会争用所述2:1Mux单元202的输出通路,同一周期最多只存在一路输入通路有待输出数据。
参见图7,本发明的写回通路冲突检测方法,方法步骤具体如下:
根据面向的2类写回单元,SFU写回和SC写回,将写回通路相关检测分开进行,最终再对两者的检测结果进行合并,仅在两者均无相关的情况下,整体才算没有写回通路相关,具体包括:
步骤1:对双发射的两条指令A、指令B按照SFU写回通路检测、SC写回通路检测分开进行;
步骤2:分别进行SFU写回指令过滤和SC写回指令过滤,得到用于SFU写回通路检测的两条指令A1、B1和用于SC写回通路检测的两条指令A2、B2;其中,SFU写回指令过滤的方法为仅保留使用SFU运算部件的指令,而将其余指令替换为NOP;SC写回指令过滤的方法为仅保留使用SC运算部件的指令,而将其余指令替换为NOP;
步骤3:接着对A1、B1和A2、B2分别进行SFU写回通路相关检测和SC写回通路相关检测:
对于SFU写回通路相关检测:双发射的两条指令之间的相关在译码阶段解决,仅需判断A1、B1各自与执行部件上正在执行的指令之间是否存在写回通路相关,判定方法为如果执行部件上存在与A1、B1属于统一warp且与A1或B1在同一拍完成的指令,则存在SFU写回通路相关;否则,不存在SFU写回通路相关。
对于SC写回通路相关检测:需在该部分进行2个步骤的相关检测,即“同时发射的两条指令之间”、“当前指令与正在执行的指令之间”写回通路相关;检测方法为:A2、B2以及正在执行部件上执行的与A2、B2属于同一warp的指令在某拍完成的数量大于2,则存在SC写回通路相关;否则,不存在SC写回通路相关。
步骤4:综合SFU写回通路相关检测结果和SC写回通路相关检测结果得到整体写回通路相关检测结果:仅在两者均无相关的情况下,通路整体才算没有写回通路相关。
所述的SFU写回通路相关检测,双发射的两条指令之间的相关在译码阶段采用拆分的方法解决。
所述的SC写回通路相关检测,“当前指令与正在执行的指令之间”写回通路相关检测,可细分为周期固定指令的相关判定以及周期不定指令的相关判定。
最后应说明的是,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (8)

1.一种双发射SIMT染色处理单元写回单元结构,其特征在于:所述双发射SIMT染色处理单元写回单元结构包括一个sWB单元(101),n个WB单元(102),单拍可完成1+2n个数据到1个1写RF、n个2写RF的数据的写入;
所述sWB单元(101)具有来自外部SFU单元输入连接(130),用接收外部SFU单元的处理结果,该结果包括数据类型、现场id、待写回数据和目标地址;所述sWB单元(101)具有来自外部LSU单元的输入连接(131),用接收外部LSU单元的处理结果,该结果包括数据类型、现场id、待写回数据和目标地址;所述sWB单元(101)具有到外部RF1单元的输出连接(135)和连接(136),分别用于根据现场id向外部RF1单元输出待写回的定点、浮点数据,其中连接(135)、连接(136)包括与外部RF1单元每个现场的连接;所述sWB单元(101)用于将外部SFU单元、外部LSU单元的输出根据数据类型、现场id,将待输出的数据,选择、输出到外部RF1单元对应的现场;
所述WB单元(102)具有来自外部SC单元的输入连接(132),用接收外部SC单元中IE部件的处理结果,该结果包括数据类型、现场id、待写回数据和目标地址;所述WB单元(102)具有来自外部SC单元的输入连接(133),用接收外部SC单元中FE部件的处理结果,该结果包括数据类型、现场id、待写回数据和目标地址;所述WB单元(102)具有来自外部LSU单元的输入连接(134),用接收外部LSU单元的处理结果,该结果包括数据类型、现场id、待写回数据和目标地址;所述WB单元(102)具有到外部RF2单元的输出连接(137)和连接(138),分别用于根据现场id向外部RF2单元输出待写回的定点、浮点数据,其中连接(137)、连接(138)包括与外部RF2单元每个现场的连接;所述WB单元(102)用于将外部SC单元、外部LSU单元的输出根据数据类型、现场id,将待输出的数据,选择、输出到外部RF2单元对应的现场。
2.根据权利要求1所述的双发射SIMT染色处理单元写回单元结构,其特征在于:所述sWB单元(101)包括W单元(201a)、W单元(201b)、2:1Mux单元(202a)、2:1Mux单元(202b);
所述W单元(201a)、W单元(201b)分别具有与外部IF_E单元、外部LE单元的输入连接(210a)和输入连接(210b),分别用于接收外部IF_E单元、外部LE单元的处理结果,该结果包括数据类型、现场id、待写回数据和目标地址;
所述2:1Mux单元(202a)、2:1Mux单元(202b)具有到外部RF1单元的输出连接(211a)和输出连接(211b),分别用于根据现场id向外部RF1单元输出待写回的定点、浮点数据,其中连接(211a)、连接(211b)包括与外部RF1单元每个现场的连接;
所述W单元(201a)具有到所述2:1Mux单元(202a)、2:1Mux单元(202b)的输出连接(212a)和输出连接(213a),分别用于向2:1Mux单元(202a)、2:1Mux单元(202b)输出待写回的定点数据和目的地址、待写回的浮点数据和目的地址;所述W单元(201b)具有到所述2:1Mux单元(202b)、2:1Mux单元(202a)的输出连接(212b)和输出连接(213b),分别用于向2:1Mux单元(202b)、2:1Mux单元(202a)输出待写回的浮点数据和目的地址、待写回的定点数据和目的地址;
所述连接(211a)、连接(211b)包括与外部RF1单元m个现场的连接;所述连接(212a)、连接(212b)、连接(213a)、连接(213b)均包含m个现场的连接。
3.根据权利要求2所述的双发射SIMT染色处理单元写回单元结构,其特征在于:所述WB单元(102),包括W单元(201c)、W单元(201d)、W单元(201e)、2:1Mux单元(202c)、2:1Mux单元(202d);所述W单元(201c)、W单元(201d)、W单元(201e)分别具有与外部FE1_x单元、外部LE单元、外部IE1_y单元的输入连接(310c)、输入连接(310d)、输入连接(310e),分别用于接收x个外部FE单元(FE1…FEx)、1个外部LE单元、y个外部IE单元(IE1…IEy)的处理结果,该结果包括数据类型、现场id、待写回数据和目标地址;
所述W单元(201c)、W单元(201e)具有与外部RF2单元的输出连接(311c)、输出连接(311e),分别用于向外部RF2单元输出待写回的浮点数据和目的地址、定点数据和目的地址;
所述2:1Mux单元(202c)、2:1Mux单元(202d)分别具有到外部RF2单元的输出连接(312c)和输出连接(312d),分别用于根据现场id向外部RF2单元输出待写回的浮点和目的地址、定点数据和目的地址;
所述连接(311c)、连接(311e)分别连接外部浮点RF2单元的B端口、外部定点RF2单元的B端口;所述连接(312c)、连接(312d)分别连接外部浮点RF2单元的A端口、外部定点RF2单元的A端口;
所述W单元(201c)、W单元(201d)具有到所述2:1Mux单元(202c)的输出连接(313c)、输出连接(311d),用于向2:1Mux单元(202c)输出待写回的浮点数据和目的地址;所述W单元(201d)、W单元(201e)具有到所述2:1Mux单元(202d)的输出连接(313d)、输出连接(313e),用于向2:1Mux单元(202d)输出待写回的定点数据和目的地址;
所述连接(311c)、连接(311e)、连接(312c)、连接(312d)包括与外部RF2单元m个现场的连接;所述连接(311d)、连接(313c)、连接(313d)、连接(313e)均包含m个现场的连接。
4.根据权利要求2或3所述的双发射SIMT染色处理单元写回单元结构,其特征在于:所述W单元用于将外部k个功能部件Ex(Ex1…Exk)的输入,根据数据类型、现场id,选择、译码,输出到两条输出通路对应的现场,每拍最多可接收两个功能部件的输入,每拍最多可向两条输出通路的一个现场输出数据;
所述W单元包括一个用于k个功能部件到两条通路选择的部件y:2选择器(401),以及两个用于将一个输入根据现场id译码到m个现场之一并输出的1:m译码器(402a)和1:m译码器(402b);
所述y:2选择器(401)分别具有到1:m译码器(402a)、1:m译码器(402b)的连接(412a)、连接(412b),用于各自传输一个外部功能单元的输出数据,包括数据类型、现场id、待输出的数据和目的地址;
y:2选择器(401)的选择规则为:仅有一个外部功能部件的输入时,优先输出到连接(412b)通路;同时有两个外部功能的输入时,则同时输出到连接(412a)通路和连接(412b)通路;
所述连接(412a)、连接(412b)分别仅具有一个现场的通路,同拍只能输出一个现场的数据。
5.根据权利要求3所述的双发射SIMT染色处理单元写回单元结构,其特征在于:所述2:1Mux单元用于将外部单元的两路输入,根据现场id,选择并输出到相应现场的通路;
所述2:1Mux单元由m个2:1选择器组成,其中m为现场的数量;
所述2:1Mux单元的选择规则为:哪条输入通路有输入请求,就选择哪条通路进行输出。
6.一种依据权利要求1所述的双发射SIMT染色处理单元写回单元结构的写回通路冲突检测方法,其特征在于:该方法包括以下步骤:
根据面向的2类写回单元,SFU写回和SC写回,将写回通路相关检测分开进行,最终再对两者的检测结果进行合并,仅在两者均无相关的情况下,整体才算没有写回通路相关,具体包括:
1)对双发射的两条指令A、指令B按照SFU写回通路检测、SC写回通路检测分开进行;
2)分别进行SFU写回指令过滤和SC写回指令过滤,得到用于SFU写回通路检测的两条指令A1、B1和用于SC写回通路检测的两条指令A2、B2;其中,SFU写回指令过滤的方法为仅保留使用SFU运算部件的指令,而将其余指令替换为NOP;SC写回指令过滤的方法为仅保留使用SC运算部件的指令,而将其余指令替换为NOP;
3)接着对A1、B1和A2、B2分别进行SFU写回通路相关检测和SC写回通路相关检测:
3.1)对于SFU写回通路相关检测:双发射的两条指令之间的相关在译码阶段解决,仅需判断A1、B1各自与执行部件上正在执行的指令之间是否存在写回通路相关,判定方法为如果执行部件上存在与A1、B1属于统一warp且与A1或B1在同一拍完成的指令,则存在SFU写回通路相关;否则,不存在SFU写回通路相关;
3.2)对于SC写回通路相关检测:需在该部分进行2个步骤的相关检测,即“同时发射的两条指令之间”、“当前指令与正在执行的指令之间”写回通路相关;检测方法为:A2、B2以及正在执行部件上执行的与A2、B2属于同一warp的指令在某拍完成的数量大于2,则存在SC写回通路相关;否则,不存在SC写回通路相关;
4)综合SFU写回通路相关检测结果和SC写回通路相关检测结果得到整体写回通路相关检测结果:仅在两者均无相关的情况下,通路整体才算没有写回通路相关。
7.根据权利要求6所述的写回通路冲突检测方法,其特征在于:所述步骤3.1)中SFU写回通路相关检测,双发射的两条指令之间的相关在译码阶段采用拆分的方法解决。
8.根据权利要求6所述的写回通路冲突检测方法,其特征在于:所述步骤3.2)中SC写回通路相关检测,“当前指令与正在执行的指令之间”写回通路相关检测,可细分为周期固定指令的相关判定以及周期不定指令的相关判定。
CN202011404078.1A 2020-12-05 2020-12-05 一种双发射simt染色处理单元写回单元结构及写回通路冲突检测方法 Pending CN112581351A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011404078.1A CN112581351A (zh) 2020-12-05 2020-12-05 一种双发射simt染色处理单元写回单元结构及写回通路冲突检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011404078.1A CN112581351A (zh) 2020-12-05 2020-12-05 一种双发射simt染色处理单元写回单元结构及写回通路冲突检测方法

Publications (1)

Publication Number Publication Date
CN112581351A true CN112581351A (zh) 2021-03-30

Family

ID=75127118

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011404078.1A Pending CN112581351A (zh) 2020-12-05 2020-12-05 一种双发射simt染色处理单元写回单元结构及写回通路冲突检测方法

Country Status (1)

Country Link
CN (1) CN112581351A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114047956A (zh) * 2022-01-17 2022-02-15 北京智芯微电子科技有限公司 处理器指令多发射方法、双发射方法、装置及处理器

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5604878A (en) * 1994-02-28 1997-02-18 Intel Corporation Method and apparatus for avoiding writeback conflicts between execution units sharing a common writeback path
US5884062A (en) * 1996-08-30 1999-03-16 Texas Instruments Incorporated Microprocessor with pipeline status integrity logic for handling multiple stage writeback exceptions
CN103207776A (zh) * 2013-03-11 2013-07-17 浙江大学 一种gene乱序发射处理器内核
WO2015161804A1 (zh) * 2014-04-24 2015-10-29 华为技术有限公司 一种Cache分区的方法及装置
CN105513003A (zh) * 2015-12-11 2016-04-20 中国航空工业集团公司西安航空计算技术研究所 一种图形处理器统一染色器阵列体系结构
CN106651743A (zh) * 2016-12-12 2017-05-10 中国航空工业集团公司西安航空计算技术研究所 一种支持聚散功能的统一染色阵列lsu结构
CN106709858A (zh) * 2016-12-12 2017-05-24 中国航空工业集团公司西安航空计算技术研究所 一种统一染色图形处理器单指令多线程染色处理单元结构
CN108255743A (zh) * 2017-12-06 2018-07-06 中国航空工业集团公司西安航空计算技术研究所 一种用于在染色内核中写回仲裁电路
JP2020053059A (ja) * 2019-11-07 2020-04-02 株式会社日立製作所 情報処理装置
CN111026444A (zh) * 2019-11-21 2020-04-17 中国航空工业集团公司西安航空计算技术研究所 一种gpu并行阵列simt指令处理模型

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5604878A (en) * 1994-02-28 1997-02-18 Intel Corporation Method and apparatus for avoiding writeback conflicts between execution units sharing a common writeback path
US5884062A (en) * 1996-08-30 1999-03-16 Texas Instruments Incorporated Microprocessor with pipeline status integrity logic for handling multiple stage writeback exceptions
CN103207776A (zh) * 2013-03-11 2013-07-17 浙江大学 一种gene乱序发射处理器内核
WO2015161804A1 (zh) * 2014-04-24 2015-10-29 华为技术有限公司 一种Cache分区的方法及装置
CN105513003A (zh) * 2015-12-11 2016-04-20 中国航空工业集团公司西安航空计算技术研究所 一种图形处理器统一染色器阵列体系结构
CN106651743A (zh) * 2016-12-12 2017-05-10 中国航空工业集团公司西安航空计算技术研究所 一种支持聚散功能的统一染色阵列lsu结构
CN106709858A (zh) * 2016-12-12 2017-05-24 中国航空工业集团公司西安航空计算技术研究所 一种统一染色图形处理器单指令多线程染色处理单元结构
CN108255743A (zh) * 2017-12-06 2018-07-06 中国航空工业集团公司西安航空计算技术研究所 一种用于在染色内核中写回仲裁电路
JP2020053059A (ja) * 2019-11-07 2020-04-02 株式会社日立製作所 情報処理装置
CN111026444A (zh) * 2019-11-21 2020-04-17 中国航空工业集团公司西安航空计算技术研究所 一种gpu并行阵列simt指令处理模型

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
申智波;陈杰;刘建;王云;朱;: "适用于嵌入式应用的多线程顶点处理器设计", 微电子学与计算机, no. 07, 5 July 2012 (2012-07-05) *
魏艳艳;田泽;牛少平;史嘉涛;: "统一染色器阵列中取指译码单元的设计与实现", 航空计算技术, no. 03, 25 May 2020 (2020-05-25) *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114047956A (zh) * 2022-01-17 2022-02-15 北京智芯微电子科技有限公司 处理器指令多发射方法、双发射方法、装置及处理器
CN114047956B (zh) * 2022-01-17 2022-04-19 北京智芯微电子科技有限公司 处理器指令多发射方法、双发射方法、装置及处理器

Similar Documents

Publication Publication Date Title
US7028170B2 (en) Processing architecture having a compare capability
US6721884B1 (en) System for executing computer program using a configurable functional unit, included in a processor, for executing configurable instructions having an effect that are redefined at run-time
US10216693B2 (en) Computer with hybrid Von-Neumann/dataflow execution architecture
EP3350712B1 (en) Register read/write ordering
US7395414B2 (en) Dynamic recalculation of resource vector at issue queue for steering of dependent instructions
US7293159B2 (en) Coupling GP processor with reserved instruction interface via coprocessor port with operation data flow to application specific ISA processor with translation pre-decoder
US6668316B1 (en) Method and apparatus for conflict-free execution of integer and floating-point operations with a common register file
CN101802779B (zh) 具有可重新组构的浮点单元的处理器
US20160378491A1 (en) Determination of target location for transfer of processor control
WO2016113105A1 (en) Parallel slice processor having a recirculating load-store queue for fast deallocation of issue queue entries
WO2017048644A1 (en) Generation and use of block branch metadata
EP0968463A2 (en) Vliw processor processes commands of different widths
CN108027734B (zh) 空指令的动态生成
CN105513003A (zh) 一种图形处理器统一染色器阵列体系结构
US20030074542A1 (en) Multiprocessor system and program optimizing method
KR20140131472A (ko) 상수 저장 레지스터를 구비하는 재구성 가능 프로세서
US20140317388A1 (en) Apparatus and method for supporting multi-modes of processor
KR101183270B1 (ko) 오퍼랜드 의존성으로 인한 기능 정지를 감소시키는 방법 및데이터 프로세서
US7552313B2 (en) VLIW digital signal processor for achieving improved binary translation
US20060271768A1 (en) Instruction issue control within a superscalar processor
CN112581351A (zh) 一种双发射simt染色处理单元写回单元结构及写回通路冲突检测方法
CN101539852B (zh) 用于执行条件存储指令的方法、处理器和信息处理设备
US6862676B1 (en) Superscalar processor having content addressable memory structures for determining dependencies
US20020199084A1 (en) Method and apparatus for dual issue of program instructions to symmetric multifunctional execution units
JPH1165839A (ja) プロセッサの命令制御機構

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination