CN106708474A - 一种基于dimt架构的统一染色阵列记分板实现架构 - Google Patents
一种基于dimt架构的统一染色阵列记分板实现架构 Download PDFInfo
- Publication number
- CN106708474A CN106708474A CN201611139604.XA CN201611139604A CN106708474A CN 106708474 A CN106708474 A CN 106708474A CN 201611139604 A CN201611139604 A CN 201611139604A CN 106708474 A CN106708474 A CN 106708474A
- Authority
- CN
- China
- Prior art keywords
- state
- unit
- warp
- functional unit
- detection logic
- 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.)
- Granted
Links
- 238000004043 dyeing Methods 0.000 title claims abstract description 12
- 238000001514 detection method Methods 0.000 claims abstract description 31
- 230000001427 coherent effect Effects 0.000 claims description 28
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 claims description 7
- 238000003860 storage Methods 0.000 claims description 4
- 230000014759 maintenance of location Effects 0.000 claims 1
- 238000000034 method Methods 0.000 abstract description 4
- 241001510071 Pyrrhocoridae Species 0.000 abstract description 3
- 238000004458 analytical method Methods 0.000 abstract description 2
- 238000004364 calculation method Methods 0.000 abstract description 2
- 238000011160 research Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline, look ahead using instruction pipelines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/35—Indirect addressing
Abstract
本发明属于计算机图形处理硬件领域,尤其涉及一种基于DIMT架构的统一染色阵列记分板实现架构,包括:指令状态表(1)、功能单元状态表(2)、寄存器状态表(3)、状态更新及相关检测逻辑(4)。本发明通过统计染色阵列在运行过程中各种资源使用的情况,以及对多warp两个待发射指令的指令分析,判断出当前时刻哪个warp对应的双指令可以发射,从而可以保证染色器阵列正确、高效的执行超标量的计算。
Description
技术领域
本发明属于计算机图形处理硬件领域,尤其涉及一种基于DIMT架构的统一染色阵列记分板实现架构。
背景技术
统一染色器阵列在运算处理中往往是超标量的,既有数十个warp需要调度、又有数十个并行单元同时执行运算,如何高效准确的调度多个warp多个并行单元上进行运算,严重影响着超标量计算的性能与效率。目前公开研究多是针对单现场多线程的研究,未发现有针对多现场、多线程、多发射的记分板研究。
发明内容
发明目的:
本发明主要提供一种基于DIMT架构的统一染色阵列记分板实现架构,可以保证超标量处理器正确与高效的运行。
技术方案:
本发明的解决方案是:
一种基于DIMT架构的统一染色阵列记分板实现架构,包括:
指令状态表(1)、功能单元状态表(2)、寄存器状态表(3)、状态更新及相关检测逻辑(4);
指令状态表(1)与预译码单元(5)、状态更新及相关检测逻辑(4)相连,预译码单元(5)输出每个warp中待下发指令的译码信息给指令状态表(1),指令状态表(1)将这些信息按warp存储后传输给状态更新及相关检测逻辑(4);
功能单元状态表(2)与发射单元(6)、执行单元(7)、状态更新及相关检测逻辑(4)相连,在发射单元(6)下发指令时,发射单元(6)将本次下发指令所使用的功能单元信息传输给功能单元状态表(2),在执行单元(7)每次执行结束时将该功能单元的结束信息传输给功能单元状态表(2),功能单元状态表(2)根据这两个信息,记录每个执行单元的工作开始和结束状态信息,并将此开始和结束状态信息传递给状态更新及相关检测逻辑(4);
寄存器状态表(3)与发射单元(6)、执行单元(7)、状态更新及相关检测逻辑(4)相连,在发射单元(6)下发指令时,发射单元(6)将本次下发指令所使用的目标寄存器地址传递给寄存器状态表(3),在执行单元(7)每次执行结束时将其所写入的寄存器地址传递给寄存器状态表(3),寄存器状态表(3)根据这两个信息建立寄存器的锁定状态,并将此锁定状态传输给状态更新及相关检测逻辑(4);
状态更新及相关检测逻辑(4)与指令状态表(1)、功能单元状态表(2)、寄存器状态表(3)、warp调度单元(8)相连,状态更新及相关检测逻辑(4)接收所述每个warp中待下发指令的译码信息、每个执行单元的工作开始和结束状态信息、寄存器的锁定状态并进行比对,将warp准备好信息传输给warp调度单元(8)。
Warp准备好的具体策略是:warp中的指令所使用的寄存器没有被锁定;如果执行单元(7)中的功能单元是流水的,那么warp指令所使用的功能单元不会发生冲突;如果执行单元(7)中的功能单元是非流水的,那么必须等当前功能单元上的指令执行完成后才可判定为warp指令所使用的功能单元不存在冲突。
有益效果:
本发明的优点是:本发明提供的一种基于DIMT架构的统一染色阵列记分板实现架构,通过统计染色阵列在运行过程中各种资源使用的情况,以及对多warp两个待发射指令的指令分析,判断出当前时刻哪个warp对应的双指令可以发射,从而可以保证染色器阵列正确、高效的执行超标量的计算。
附图说明
图1为本发明的方法模块图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
下面结合附图和具体实施例对本发明的技术方案做进一步详细描述。
一种基于DIMT架构的统一染色阵列记分板实现架构,如图1所示,包括:
指令状态表(1)、功能单元状态表(2)、寄存器状态表(3)、状态更新及相关检测逻辑(4);
所述指令状态表(1),用于记录每个待调度warp中两条指令预译码的信息,包括源寄存器、目的寄存器、使用的功能单元、使用功能单元的周期。
所述功能单元状态表(2),用于记录每个执行单元中的运算部件所处的状态,对于流水部件,需要记录该部件流水级上每一拍正在进行的运算;对于非流水部件,需要记录该部件当前是否进行着运算。对于多个相同并行功能单元同时执行运算的情况,可以只记录其中一个功能的状态。
所述寄存器状态表(3),用于统计每一个执行单元对应的每一个寄存器是否处于可操作状态,即没有被锁定。对于多个相同并行功能单元同时执行运算的情况,可以只记录其中锁定最长时间的那个寄存器状态。
所述状态更新及相关检测逻辑(4),用于每一周期更新指令状态表、功能单元状态表、寄存器状态表,并根据三张表的信息进行检测,检测当前准备调度下发的指令在下发后不会引起数据冲突、结构冲突。记分板支持几个warp,检测逻辑就需要有几套,各检测逻辑并行执行,在每个周期输出结果。
模块连接及工作流程如下:
指令状态表(1)与预译码单元(5)、状态更新及相关检测逻辑(4)相连,预译码单元(5)输出每个warp中待下发指令的译码信息给指令状态表(1),指令状态表(1)将这些信息按warp存储后传输给状态更新及相关检测逻辑(4);
功能单元状态表(2)与发射单元(6)、执行单元(7)、状态更新及相关检测逻辑(4)相连,在发射单元(6)下发指令时,发射单元(6)将本次下发指令所使用的功能单元信息传输给功能单元状态表(2),在执行单元(7)每次执行结束时将该功能单元的结束信息传输给功能单元状态表(2),功能单元状态表(2)根据这两个信息,记录每个执行单元的工作开始和结束状态信息,并将此开始和结束状态信息传递给状态更新及相关检测逻辑(4);
寄存器状态表(3)与发射单元(6)、执行单元(7)、状态更新及相关检测逻辑(4)相连,在发射单元(6)下发指令时,发射单元(6)将本次下发指令所使用的目标寄存器地址传递给寄存器状态表(3),在执行单元(7)每次执行结束时将其所写入的寄存器地址传递给寄存器状态表(3),寄存器状态表(3)根据这两个信息建立寄存器的锁定状态,并将此锁定状态传输给状态更新及相关检测逻辑(4);
状态更新及相关检测逻辑(4)与指令状态表(1)、功能单元状态表(2)、寄存器状态表(3)、warp调度单元(8)相连,状态更新及相关检测逻辑(4)接收所述每个warp中待下发指令的译码信息、每个执行单元的工作开始和结束状态信息、寄存器的锁定状态并进行比对,将warp准备好信息传输给warp调度单元(8)。
其中,Warp准备好的具体策略是:warp中的指令所使用的寄存器没有被锁定;如果执行单元(7)中的功能单元是流水的,那么warp指令所使用的功能单元不会发生冲突;如果执行单元(7)中的功能单元是非流水的,那么必须等当前功能单元上的指令执行完成后才可判定为warp指令所使用的功能单元不存在冲突。
Claims (2)
1.一种基于DIMT架构的统一染色阵列记分板实现架构,其特征在于,包括:
指令状态表(1)、功能单元状态表(2)、寄存器状态表(3)、状态更新及相关检测逻辑(4);
指令状态表(1)与预译码单元(5)、状态更新及相关检测逻辑(4)相连,预译码单元(5)输出每个warp中待下发指令的译码信息给指令状态表(1),指令状态表(1)将这些信息按warp存储后传输给状态更新及相关检测逻辑(4);
功能单元状态表(2)与发射单元(6)、执行单元(7)、状态更新及相关检测逻辑(4)相连,在发射单元(6)下发指令时,发射单元(6)将本次下发指令所使用的功能单元信息传输给功能单元状态表(2),在执行单元(7)每次执行结束时将该功能单元的结束信息传输给功能单元状态表(2),功能单元状态表(2)根据这两个信息,记录每个执行单元的工作开始和结束状态信息,并将此开始和结束状态信息传递给状态更新及相关检测逻辑(4);
寄存器状态表(3)与发射单元(6)、执行单元(7)、状态更新及相关检测逻辑(4)相连,在发射单元(6)下发指令时,发射单元(6)将本次下发指令所使用的目标寄存器地址传递给寄存器状态表(3),在执行单元(7)每次执行结束时将其所写入的寄存器地址传递给寄存器状态表(3),寄存器状态表(3)根据这两个信息建立寄存器的锁定状态,并将此锁定状态传输给状态更新及相关检测逻辑(4);
状态更新及相关检测逻辑(4)与指令状态表(1)、功能单元状态表(2)、寄存器状态表(3)、warp调度单元(8)相连,状态更新及相关检测逻辑(4)接收所述每个warp中待下发指令的译码信息、每个执行单元的工作开始和结束状态信息、寄存器的锁定状态并进行比对,将warp准备好信息传输给warp调度单元(8)。
2.如权利要求1所述的一种基于DIMT架构的统一染色阵列记分板实现架构,其特征在于,
Warp准备好的具体策略是:warp中的指令所使用的寄存器没有被锁定;如果执行单元(7)中的功能单元是流水的,那么warp指令所使用的功能单元不会发生冲突;如果执行单元(7)中的功能单元是非流水的,那么必须等当前功能单元上的指令执行完成后才可判定为warp指令所使用的功能单元不存在冲突。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611139604.XA CN106708474B (zh) | 2016-12-12 | 2016-12-12 | 一种基于dimt架构的统一染色阵列记分板实现架构 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611139604.XA CN106708474B (zh) | 2016-12-12 | 2016-12-12 | 一种基于dimt架构的统一染色阵列记分板实现架构 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106708474A true CN106708474A (zh) | 2017-05-24 |
CN106708474B CN106708474B (zh) | 2020-04-07 |
Family
ID=58937266
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611139604.XA Active CN106708474B (zh) | 2016-12-12 | 2016-12-12 | 一种基于dimt架构的统一染色阵列记分板实现架构 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106708474B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108133452A (zh) * | 2017-12-06 | 2018-06-08 | 中国航空工业集团公司西安航空计算技术研究所 | 一种统一染色器阵列的指令发射处理电路 |
CN108182082A (zh) * | 2017-12-06 | 2018-06-19 | 中国航空工业集团公司西安航空计算技术研究所 | 一种流水处理双发射处理器记分板电路 |
CN109814989A (zh) * | 2018-12-12 | 2019-05-28 | 中国航空工业集团公司西安航空计算技术研究所 | 一种分级优先的统一染色图形处理器warp调度装置 |
CN111026444A (zh) * | 2019-11-21 | 2020-04-17 | 中国航空工业集团公司西安航空计算技术研究所 | 一种gpu并行阵列simt指令处理模型 |
CN111433747A (zh) * | 2017-12-14 | 2020-07-17 | 惠普发展公司,有限责任合伙企业 | 用于加载操作系统的虚拟存储器 |
CN112579173A (zh) * | 2020-12-05 | 2021-03-30 | 西安翔腾微电子科技有限公司 | 一种多warp多周期双发射指令状态记录电路及方法 |
CN112579174A (zh) * | 2020-12-05 | 2021-03-30 | 西安翔腾微电子科技有限公司 | 一种多周期双发射指令可发射的检测电路及方法 |
CN114327644A (zh) * | 2022-03-16 | 2022-04-12 | 广东省新一代通信与网络创新研究院 | 一种处理器预测访存相关性的实现方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5682493A (en) * | 1993-10-21 | 1997-10-28 | Sun Microsystems, Inc. | Scoreboard table for a counterflow pipeline processor with instruction packages and result packages |
CN105513003A (zh) * | 2015-12-11 | 2016-04-20 | 中国航空工业集团公司西安航空计算技术研究所 | 一种图形处理器统一染色器阵列体系结构 |
-
2016
- 2016-12-12 CN CN201611139604.XA patent/CN106708474B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5682493A (en) * | 1993-10-21 | 1997-10-28 | Sun Microsystems, Inc. | Scoreboard table for a counterflow pipeline processor with instruction packages and result packages |
CN105513003A (zh) * | 2015-12-11 | 2016-04-20 | 中国航空工业集团公司西安航空计算技术研究所 | 一种图形处理器统一染色器阵列体系结构 |
Non-Patent Citations (1)
Title |
---|
JOHN L.HENNESSY等: "《计算机系统结构:一种定量的方法》", 31 August 2002, 清华大学出版社 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108133452A (zh) * | 2017-12-06 | 2018-06-08 | 中国航空工业集团公司西安航空计算技术研究所 | 一种统一染色器阵列的指令发射处理电路 |
CN108182082A (zh) * | 2017-12-06 | 2018-06-19 | 中国航空工业集团公司西安航空计算技术研究所 | 一种流水处理双发射处理器记分板电路 |
CN108133452B (zh) * | 2017-12-06 | 2021-06-01 | 中国航空工业集团公司西安航空计算技术研究所 | 一种统一染色器阵列的指令发射处理电路 |
CN111433747A (zh) * | 2017-12-14 | 2020-07-17 | 惠普发展公司,有限责任合伙企业 | 用于加载操作系统的虚拟存储器 |
CN109814989A (zh) * | 2018-12-12 | 2019-05-28 | 中国航空工业集团公司西安航空计算技术研究所 | 一种分级优先的统一染色图形处理器warp调度装置 |
CN109814989B (zh) * | 2018-12-12 | 2023-02-10 | 中国航空工业集团公司西安航空计算技术研究所 | 一种分级优先的统一染色图形处理器warp调度装置 |
CN111026444A (zh) * | 2019-11-21 | 2020-04-17 | 中国航空工业集团公司西安航空计算技术研究所 | 一种gpu并行阵列simt指令处理模型 |
CN112579173A (zh) * | 2020-12-05 | 2021-03-30 | 西安翔腾微电子科技有限公司 | 一种多warp多周期双发射指令状态记录电路及方法 |
CN112579174A (zh) * | 2020-12-05 | 2021-03-30 | 西安翔腾微电子科技有限公司 | 一种多周期双发射指令可发射的检测电路及方法 |
CN114327644A (zh) * | 2022-03-16 | 2022-04-12 | 广东省新一代通信与网络创新研究院 | 一种处理器预测访存相关性的实现方法 |
CN114327644B (zh) * | 2022-03-16 | 2022-06-03 | 广东省新一代通信与网络创新研究院 | 一种处理器预测访存相关性的实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106708474B (zh) | 2020-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106708474A (zh) | 一种基于dimt架构的统一染色阵列记分板实现架构 | |
US9971635B2 (en) | Method and apparatus for a hierarchical synchronization barrier in a multi-node system | |
CN103810035B (zh) | 智能上下文管理 | |
TWI450104B (zh) | 用於最大預測的效能增益之異質多處理器運算平台中之應用程式排程 | |
US9495206B2 (en) | Scheduling and execution of tasks based on resource availability | |
CN103365702B (zh) | IaaS云环境下轻量级虚拟机进程追踪系统和方法 | |
RU2012141606A (ru) | Устройство обработки данных и способ переключения рабочей нагрузки между первой и второй компоновкой схем обработки | |
CN102929769B (zh) | 一种基于代理服务的虚拟机内部数据采集方法 | |
CN104407997A (zh) | 带有指令动态调度功能的与非型闪存单通道同步控制器 | |
CN108845830A (zh) | 一种一对数装载指令的执行方法 | |
US20150006468A1 (en) | Parallelization of data processing | |
CN100592255C (zh) | 32位的多模式微处理器 | |
CN109739833A (zh) | 一种基于fpga的国产平台数据库加速系统及方法 | |
CN105528195B (zh) | 一种支持同时多线程指令乱序发射的飞行记分牌处理方法 | |
CN101299199A (zh) | 基于可配置处理器及指令集扩展的异构多核系统 | |
CN104317770A (zh) | 用于众核处理系统的数据存储结构及数据访问方法 | |
EP3123321A1 (en) | Software replayer for transactional memory programs | |
CN101986265B (zh) | 一种基于Atom处理器的指令并行分发方法 | |
CN103399832B (zh) | 总线间的乱序返回数据的归序方法 | |
KR20110032290A (ko) | 병렬 처리 시스템 및 그 방법 | |
CN105094747B (zh) | 基于smt的中央处理单元以及用于检测指令的数据相关性的装置 | |
US20180013653A1 (en) | System and method of using atomic flow counters in data center switching | |
CN102841822B (zh) | 对jobTracker主机进行宕机保护的方法和系统 | |
CN108628693B (zh) | 处理器调试方法和系统 | |
CN103488547A (zh) | 一种raid组故障硬盘快速重建的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |