CN112579173A - 一种多warp多周期双发射指令状态记录电路及方法 - Google Patents

一种多warp多周期双发射指令状态记录电路及方法 Download PDF

Info

Publication number
CN112579173A
CN112579173A CN202011399428.XA CN202011399428A CN112579173A CN 112579173 A CN112579173 A CN 112579173A CN 202011399428 A CN202011399428 A CN 202011399428A CN 112579173 A CN112579173 A CN 112579173A
Authority
CN
China
Prior art keywords
warp
instruction
module
instruction information
scheduling
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
Application number
CN202011399428.XA
Other languages
English (en)
Other versions
CN112579173B (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.)
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 CN202011399428.XA priority Critical patent/CN112579173B/zh
Publication of CN112579173A publication Critical patent/CN112579173A/zh
Application granted granted Critical
Publication of CN112579173B publication Critical patent/CN112579173B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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 or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • G06F9/3869Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
    • 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/30145Instruction analysis, e.g. decoding, instruction word fields
    • 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 or 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Advance Control (AREA)
  • Time-Division Multiplex Systems (AREA)

Abstract

本发明涉及一种多warp多周期双发射指令状态记录电路及方法,本发明的记录电路包括指令译码模块、指令状态模块和Warp调度模块,其中:指令译码模块分别与指令状态模块和warp调度模块连接,用于存储预译码的多warp的双发射指令信息;指令状态模块分别与指令译码模块和warp调度模块连接,实现多warp双发射指令信息待发射和正在发射的状态记录;warp调度模块分别与指令译码模块和指令状态模块连接,对多个warp的发射请求进行轮询调度。本发明可以提高统一染色器阵列中多warp多周期双发射指令发射的时序性能,而且电路实现简单。

Description

一种多warp多周期双发射指令状态记录电路及方法
技术领域
本发明属于计算机图形处理硬件领域,涉及一种多warp多周期双发射指令状态记录电路及方法。
背景技术
统一染色阵列中记分板关于多warp多周期双发射指令发射的条件判定复杂,现有技术中,通过外部接口预译码和译码发射两部分进行双发射指令状态的记录,该设计在整体物理实现时,时序难满足,因此为了解决多warp多周期双发射指令物理实现的时序性能问题,进行了电路结构调整、双发射指令信息记录方法的改善。
发明内容
本发明为解决背景技术中存在的上述技术问题,而提供一种多warp多周期双发射指令状态记录电路及方法,可以提高统一染色器阵列中多warp多周期双发射指令发射的时序性能,而且电路实现简单。
本发明的技术解决方案:本发明为一种多warp多周期双发射指令状态记录电路,其特殊之处在于:所述记录电路包括指令译码模块、指令状态模块和Warp调度模块,其中:
指令译码模块分别与指令状态模块和warp调度模块连接,用于存储预译码的多warp的双发射指令信息;
指令状态模块分别与指令译码模块和warp调度模块连接,实现多warp双发射指令信息待发射和正在发射的状态记录;
warp调度模块分别与指令译码模块和指令状态模块连接,对多个warp的发射请求进行轮询调度。
优选的,双发射指令信息包含源寄存器地址、目的寄存器地址、源寄存器使用、目的寄存器使用、寄存器类型和功能单元类别。
优选的,双发射指令信息为预下发的指令信息。
优选的,指令译码模块中有多个warp对应的多个存储器,每个存储器为双缓冲区,即0缓冲区和1缓冲区,默认操作从0缓冲区开始。
优选的,warp调度模块中,指令有效n个周期,则每n个周期输出1个warp的调度结果,其包含warp号、发射请求有效、调度周期号,其中发射请求有效n个周期,调度周期号最大n-1,n至少为2。
一种实现上述的多warp多周期双发射指令状态记录电路的方法,其特殊之处在于:该方法包括以下步骤:
1)指令译码模块将译码后的指令写入对应warp的存储器时给指令状态模块输出写使能信号,写缓冲区标志信号及多warp的双发射指令信息;根据Warp调度模块的调度结果得出每个存储区的读使能信号,产生多warp读缓冲区标志信号并输出给指令状态模块;
2)指令状态模块中待发射的2条指令信息的记录步骤如下:
2.1)根据指令译码模块的写使能信号和写缓冲区标志信号,将其多warp的双发射指令信息按照缓冲区0和缓冲区1分别将每个warp的双发射指令信息锁存下来,为多warp双缓冲区预发射2条指令信息;
2.2)根据Warp调度模块的调度周期号为第0个周期时,锁存多warp双缓冲区预发射2条指令信息,为多warp双缓冲区待发射的2条指令信息;
3)指令状态模块中正在发射的2条指令信息的记录步骤如下:
3.1)根据指令译码模块的多warp读缓冲区标志信号对多warp双缓冲区待发射2条指令信息进行选择,为多warp的正在发射的2条指令信息;
3.2)根据Warp调度模块的warp号对多warp的正在发射的2条指令信息进行选择,为选择后正在发射的2条指令信息;
3.3)在Warp调度模块的发射请求有效且调度周期号为第0个周期时,对选择后正在发射的2条指令信息进行锁存,有效n个周期,为正在发射的2条指令信息;
4)Warp调度模块对多个warp的发射请求进行轮询调度,将调度结果输出给指令译码模块和指令状态模块。
本发明提供的一种多warp多周期双发射指令状态记录电路及方法,记录电路包括指令译码模块、指令状态模块和Warp调度模块,通过存储预译码的多warp的双发射指令信息;对多warp双发射指令信息待发射和正在发射的状态记录以及对多个warp的发射请求进行轮询调度,实现了多warp多周期双发射指令状态记录,提高了统一染色器阵列中多warp多周期双发射指令发射的时序性能,并且本发明电路中对外接口只有1套双发射指令的译码信息,对外接口简单,电路实现简单,能够很好的满足物理实现的时序性能要求。
附图说明
图1为本发明的电路框图。
具体实施方式
本发明提供了一种多warp多周期双发射指令状态记录电路,该记录电路包括指令译码模块、指令状态模块和Warp调度模块,其中:
指令译码模块分别与指令状态模块和warp调度模块连接,用于存储预译码的多warp的双发射指令信息;双发射指令信息包含源寄存器地址、目的寄存器地址、源寄存器使用、目的寄存器使用、寄存器类型和功能单元类别。双发射指令信息为预下发的指令信息。指令译码模块中有多个warp对应的多个存储器,每个存储器为双缓冲区,即0缓冲区和1缓冲区,默认操作从0缓冲区开始。
指令状态模块分别与指令译码模块和warp调度模块连接,实现多warp双发射指令信息待发射和正在发射的状态记录。
warp调度模块分别与指令译码模块和指令状态模块连接,对多个warp的发射请求进行轮询调度。指令有效n个周期,则每n个周期输出1个warp的调度结果,其包含warp号、发射请求有效、调度周期号,其中发射请求有效n个周期,调度周期号最大n-1,n至少为2。
本发明还提供了一种多warp多周期双发射指令状态记录方法,该方法包括以下步骤:
1)指令译码模块将译码后的指令写入对应warp的存储器时给指令状态模块输出写使能信号,写缓冲区标志信号及多warp的双发射指令信息;根据Warp调度模块的调度结果得出每个存储区的读使能信号,产生多warp读缓冲区标志信号并输出给指令状态模块;
2)指令状态模块中待发射的2条指令信息的记录步骤如下:
2.1)根据指令译码模块的写使能信号和写缓冲区标志信号,将其多warp的双发射指令信息按照缓冲区0和缓冲区1分别将每个warp的双发射指令信息锁存下来,为多warp双缓冲区预发射2条指令信息;
2.2)根据Warp调度模块的调度周期号为第0个周期时,锁存多warp双缓冲区预发射2条指令信息,为多warp双缓冲区待发射的2条指令信息;
3)指令状态模块中正在发射的2条指令信息的记录步骤如下:
3.1)根据指令译码模块的多warp读缓冲区标志信号对多warp双缓冲区待发射2条指令信息进行选择,为多warp的正在发射的2条指令信息;
3.2)根据Warp调度模块的warp号对多warp的正在发射的2条指令信息进行选择,为选择后正在发射的2条指令信息;
3.3)在Warp调度模块的发射请求有效且调度周期号为第0个周期时,对选择后正在发射的2条指令信息进行锁存,有效n个周期,为正在发射的2条指令信息;
4)Warp调度模块对多个warp的发射请求进行轮询调度,将调度结果输出给指令译码模块和指令状态模块。
下面结合附图和具体实施例对本发明的技术方案做进一步详细描述。
参见图1,本发明具体实施例的多warp多周期双发射指令状态记录电路,包含指令译码模块1、指令状态模块2和Warp调度模块3。
指令译码模块1与指令状态模块2、warp调度模块3连接,用于存储预译码的多warp的双发射指令信息,其为预下发的指令信息,包含源寄存器地址、目的寄存器地址、源寄存器使用、目的寄存器使用、寄存器类型、功能单元类别等。
指令状态模块2与指令译码模块1、warp调度模块3连接,实现多warp双发射指令信息待发射和正在发射的状态记录。
warp调度模块3与指令译码模块1、指令状态模块2连接,对多个warp的发射请求进行轮询调度。指令有效n个周期,则每n个周期输出1个warp的调度结果,其包含warp号、发射请求有效、调度周期号,其中发射请求有效n个周期,调度周期号最大n-1,n至少为2。
指令译码模块1中有多个warp对应的多个存储器,每个存储器为双缓冲区,即0缓冲区和1缓冲区,默认操作从0缓冲区开始。
本发明具体实施例的多warp多周期双发射指令状态记录方法,包括以下步骤:
1)指令译码模块1将译码后的指令写入对应warp的存储器时给指令状态模块2输出写使能信号,写缓冲区标志信号及多warp的双发射指令信息;根据Warp调度模块3的调度结果得出每个存储区的读使能信号,产生多warp读缓冲区标志信号并输出给指令状态模块2。
2)指令状态模块2中待发射的2条指令信息的记录步骤如下:
2.1)根据指令译码模块1的写使能信号和写缓冲区标志信号,将其多warp的双发射指令信息按照缓冲区0和缓冲区1分别将每个warp的双发射指令信息锁存下来,为多warp双缓冲区预发射2条指令信息;
2.2)根据Warp调度模块3的调度周期号为第0个周期时,锁存多warp双缓冲区预发射2条指令信息,为多warp双缓冲区待发射的2条指令信息。
3)指令状态模块2中正在发射的2条指令信息的记录步骤如下:
3.1)根据指令译码模块1的多warp读缓冲区标志信号对多warp双缓冲区待发射2条指令信息进行选择,为多warp的正在发射的2条指令信息;
3.2)根据Warp调度模块3的warp号对多warp的正在发射的2条指令信息进行选择,为选择后正在发射的2条指令信息;
3.3)在Warp调度模块3的发射请求有效且调度周期号为第0个周期时,对选择后正在发射的2条指令信息进行锁存,有效n个周期,为正在发射的2条指令信息。
4)Warp调度模块3对多个warp的发射请求进行轮询调度,将调度结果输出给指令译码模块1和指令状态模块2。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细地说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (6)

1.一种多warp多周期双发射指令状态记录电路,其特征在于:所述记录电路包括指令译码模块、指令状态模块和Warp调度模块,其中:
所述指令译码模块分别与指令状态模块和warp调度模块连接,用于存储预译码的多warp的双发射指令信息;
所述指令状态模块分别与指令译码模块和warp调度模块连接,实现多warp双发射指令信息待发射和正在发射的状态记录;
所述warp调度模块分别与指令译码模块和指令状态模块连接,对多个warp的发射请求进行轮询调度。
2.根据权利要求1所述的多warp多周期双发射指令状态记录电路,其特征在于:所述双发射指令信息包含源寄存器地址、目的寄存器地址、源寄存器使用、目的寄存器使用、寄存器类型和功能单元类别。
3.根据权利要求1所述的多warp多周期双发射指令状态记录电路,其特征在于:所述双发射指令信息为预下发的指令信息。
4.根据权利要求1所述的多warp多周期双发射指令状态记录电路,其特征在于:所述指令译码模块中有多个warp对应的多个存储器,每个存储器为双缓冲区,即0缓冲区和1缓冲区,默认操作从0缓冲区开始。
5.根据权利要求1所述的多warp多周期双发射指令状态记录电路,其特征在于:所述warp调度模块中,指令有效n个周期,则每n个周期输出1个warp的调度结果,其包含warp号、发射请求有效、调度周期号,其中发射请求有效n个周期,调度周期号最大n-1,n至少为2。
6.一种实现权利要求1所述的多warp多周期双发射指令状态记录电路的方法,其特征在于:该方法包括以下步骤:
1)指令译码模块将译码后的指令写入对应warp的存储器时给指令状态模块输出写使能信号,写缓冲区标志信号及多warp的双发射指令信息;根据Warp调度模块的调度结果得出每个存储区的读使能信号,产生多warp读缓冲区标志信号并输出给指令状态模块;
2)指令状态模块中待发射的2条指令信息的记录步骤如下:
2.1)根据指令译码模块的写使能信号和写缓冲区标志信号,将其多warp的双发射指令信息按照缓冲区0和缓冲区1分别将每个warp的双发射指令信息锁存下来,为多warp双缓冲区预发射2条指令信息;
2.2)根据Warp调度模块的调度周期号为第0个周期时,锁存多warp双缓冲区预发射2条指令信息,为多warp双缓冲区待发射的2条指令信息;
3)指令状态模块中正在发射的2条指令信息的记录步骤如下:
3.1)根据指令译码模块的多warp读缓冲区标志信号对多warp双缓冲区待发射2条指令信息进行选择,为多warp的正在发射的2条指令信息;
3.2)根据Warp调度模块的warp号对多warp的正在发射的2条指令信息进行选择,为选择后正在发射的2条指令信息;
3.3)在Warp调度模块的发射请求有效且调度周期号为第0个周期时,对选择后正在发射的2条指令信息进行锁存,有效n个周期,为正在发射的2条指令信息;
4)Warp调度模块对多个warp的发射请求进行轮询调度,将调度结果输出给指令译码模块和指令状态模块。
CN202011399428.XA 2020-12-05 2020-12-05 一种多warp多周期双发射指令状态记录电路及方法 Active CN112579173B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011399428.XA CN112579173B (zh) 2020-12-05 2020-12-05 一种多warp多周期双发射指令状态记录电路及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011399428.XA CN112579173B (zh) 2020-12-05 2020-12-05 一种多warp多周期双发射指令状态记录电路及方法

Publications (2)

Publication Number Publication Date
CN112579173A true CN112579173A (zh) 2021-03-30
CN112579173B CN112579173B (zh) 2024-06-14

Family

ID=75126908

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011399428.XA Active CN112579173B (zh) 2020-12-05 2020-12-05 一种多warp多周期双发射指令状态记录电路及方法

Country Status (1)

Country Link
CN (1) CN112579173B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106708474A (zh) * 2016-12-12 2017-05-24 中国航空工业集团公司西安航空计算技术研究所 一种基于dimt架构的统一染色阵列记分板实现架构
CN108133452A (zh) * 2017-12-06 2018-06-08 中国航空工业集团公司西安航空计算技术研究所 一种统一染色器阵列的指令发射处理电路
CN108182082A (zh) * 2017-12-06 2018-06-19 中国航空工业集团公司西安航空计算技术研究所 一种流水处理双发射处理器记分板电路
KR101940523B1 (ko) * 2018-04-30 2019-01-21 전남대학교산학협력단 워프 스케줄링을 위한 장치 및 방법
CN110941450A (zh) * 2019-11-21 2020-03-31 中国航空工业集团公司西安航空计算技术研究所 一种risc处理器的指令发射处理电路
CN112579174A (zh) * 2020-12-05 2021-03-30 西安翔腾微电子科技有限公司 一种多周期双发射指令可发射的检测电路及方法
CN112579172A (zh) * 2020-12-05 2021-03-30 西安翔腾微电子科技有限公司 一种非流水单元多周期同指令执行的处理电路及方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106708474A (zh) * 2016-12-12 2017-05-24 中国航空工业集团公司西安航空计算技术研究所 一种基于dimt架构的统一染色阵列记分板实现架构
CN108133452A (zh) * 2017-12-06 2018-06-08 中国航空工业集团公司西安航空计算技术研究所 一种统一染色器阵列的指令发射处理电路
CN108182082A (zh) * 2017-12-06 2018-06-19 中国航空工业集团公司西安航空计算技术研究所 一种流水处理双发射处理器记分板电路
KR101940523B1 (ko) * 2018-04-30 2019-01-21 전남대학교산학협력단 워프 스케줄링을 위한 장치 및 방법
CN110941450A (zh) * 2019-11-21 2020-03-31 中国航空工业集团公司西安航空计算技术研究所 一种risc处理器的指令发射处理电路
CN112579174A (zh) * 2020-12-05 2021-03-30 西安翔腾微电子科技有限公司 一种多周期双发射指令可发射的检测电路及方法
CN112579172A (zh) * 2020-12-05 2021-03-30 西安翔腾微电子科技有限公司 一种非流水单元多周期同指令执行的处理电路及方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CHEN ZHAO 等: "Fair and cache blocking aware warp scheduling for concurrent kernel execution on GPU", FUTURE GENERATION COMPUTER SYSTEMS, vol. 112, pages 1093 - 1105, XP086251532, DOI: 10.1016/j.future.2020.05.023 *
魏艳艳 等: "统一染色器阵列中取指译码单元的设计与实现", 航空计算技术, vol. 50, no. 3, pages 102 - 104 *

Also Published As

Publication number Publication date
CN112579173B (zh) 2024-06-14

Similar Documents

Publication Publication Date Title
US9158683B2 (en) Multiport memory emulation using single-port memory devices
US5036493A (en) System and method for reducing power usage by multiple memory modules
US6222767B1 (en) Synchronous page-mode non-volatile memory with burst order circuitry and method thereof
JP2015164090A (ja) 複数の独立したシリアルリンクメモリ
CN111868677B (zh) 用于具有高速缓冲存储器及多个独立阵列的存储器的接口
US7197590B2 (en) Method and apparatus for connecting LPC bus and serial flash memory
US9052910B2 (en) Efficiency of short loop instruction fetch
CN108133452B (zh) 一种统一染色器阵列的指令发射处理电路
CN106802870B (zh) 一种高效的嵌入式系统芯片Nor-Flash控制器及控制方法
US20100325347A1 (en) Apparatus for controlling nand flash memory
CN101149963A (zh) 多端口存储设备的读操作
US20090094435A1 (en) System and method for cache access prediction
CN103413569B (zh) 一读且一写静态随机存储器
US8914612B2 (en) Data processing with time-based memory access
KR950033847A (ko) 프로세서장치에 있어서의 저장명령의 지연기록을 위한 방법과 장치
TWI533135B (zh) 記憶體存取方法、記憶體存取控制方法、記憶體裝置與記憶體控制器
KR20090007412A (ko) 저장 용량이 큰 멀티 미디어 카드
CN112579173A (zh) 一种多warp多周期双发射指令状态记录电路及方法
CN111158753A (zh) 具有数据预取功能的Flash控制器结构及其实现方法
US7111127B2 (en) System for supporting unlimited consecutive data stores into a cache memory
JPH04228187A (ja) ランダム・アクセス・メモリ・アレイ
JPH11316681A (ja) 命令バッファへのロ―ド方法、装置およびプロセッサ
US7047363B2 (en) Cache memory and control method thereof
CN101494090B (zh) 存储器存取控制方法
JP3180953B2 (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
GR01 Patent grant
GR01 Patent grant