CN113467834A - 一种riscv-v指令集架构下的向量数据通路方法及系统 - Google Patents
一种riscv-v指令集架构下的向量数据通路方法及系统 Download PDFInfo
- Publication number
- CN113467834A CN113467834A CN202110734736.1A CN202110734736A CN113467834A CN 113467834 A CN113467834 A CN 113467834A CN 202110734736 A CN202110734736 A CN 202110734736A CN 113467834 A CN113467834 A CN 113467834A
- Authority
- CN
- China
- Prior art keywords
- data path
- vector data
- riscv
- vector
- set architecture
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
Abstract
本发明涉及处理器技术领域,具体涉及一种riscv‑v指令集架构下的向量数据通路方法及系统,包括指令发射部件ISS、vector寄存器文件VRF、重排序缓冲部件ROB和vector非访存指令数据通路VUD。本发明向量数据通路设计简单,且相对独立流水线前段,可移植性强。本发明一套代码对应多套硬件,通用性强。本发明VLEN完全可配,应用场景灵活,处理器迭代成本低。本发明Vector数据通路流水执行,执行节拍短,处理器性能高,且DLEN可配置,可应对不同规模的处理器设计场景。本发明设计简单,bug收敛快,处理器设计周期短。
Description
技术领域
本发明涉及处理器技术领域,具体涉及一种riscv-v指令集架构下的向量数据通路方法及系统。
背景技术
当前技术中,存在以下缺陷:
1、向量数据通路在处理流程上往往依赖于流水线前段。一旦处理器架构发生改变,向量数据通路往往要随之改变,独立性差,可移植性差;
2、一套代码只能生成一套硬件,通用性差;
3、一个VLEN参数配置对应一种向量数据通路结构,应用场景单一,处理器迭代成本高;
4、当VLEN较大时,数据通路一般是非流水的,且执行节拍长,处理器性能低,或者面积设计较大的,对小规模处理器不友好。
5、设计复杂,bug收敛慢,处理器设计周期长。
因此本申针对riscv-v指令集,实现可灵活配置的(VLEN,DLEN)vector数据通路;设计一套相对独立的vector数据通路,可适用于不同处理器设计场景,接口简单,方便代码移植,便于处理器迭代。
发明内容
针对现有技术的不足,本发明公开了一种riscv-v指令集架构下的向量数据通路方法及系统,用于针对riscv-v指令集,实现可灵活配置的(VLEN,DLEN)vector数据通路;设计一套相对独立的vector数据通路,可适用于不同处理器设计场景,接口简单,方便代码移植,便于处理器迭代。
本发明通过以下技术方案予以实现:
本发明公开一种riscv-v指令集架构下的向量数据通路方法,包括以下步骤:
S1处理器工作,通过指令发射部件ISS发射指令信息至VUD;
S2利用VUD接收从ISS部件发来的指令信息,并从VRF中读出源操作数;
S3在REISSUE将读完寄存器后的指令拆分为n个uop,并依次发向VBOB去执行;
S4由PACKAGE站台回收VBOB执行结果,同时写回到VRF,并向ROB报告完成状态。
更进一步的,所述方法中,VRF、REISSUE和PACKAGE的数据宽度都为VLEN。
更进一步的,所述VLEN是向量寄存器宽度。
更进一步的,所述方法中,VBOB的数据宽度是DLEN。
更进一步的,所述DLEN是向量数据通路宽度。
更进一步的,所述方法中,PAKAGE站台在时序上与VBOB重合。
更进一步的,所述方法中,所述VUD是vector非访存指令数据通路。
更进一步的,所述方法中,Vector数据通路流水执行,执行节拍短,且DLEN可配置,用于应对不同规模的处理器设计场景。
更进一步的,(VLEN,DLEN)配置中,VLEN大于或等于DLEN,当配置VLEN=DLEN,流水执行,执行节拍短,应用于追求性能高的场景;配置DLEN<VLEN,数据通路面积小,功耗低,应用于小规模,低功耗场景。
第二方面,本发明公开了一种riscv-v指令集架构下的向量数据通路系统,所述系统用于实现第一方面所述的riscv-v指令集架构下的向量数据通路方法,包括指令发射部件ISS、vector寄存器文件VRF、重排序缓冲部件ROB和vector非访存指令数据通路VUD。
本发明的有益效果为:
1、本发明向量数据通路设计简单,且相对独立流水线前段,可移植性强。
2、本发明一套代码对应多套硬件,通用性强。
3、本发明VLEN完全可配,应用场景灵活,处理器迭代成本低。
4、本发明Vector数据通路流水执行,执行节拍短,处理器性能高,且DLEN可配置,可应对不同规模的处理器设计场景。
5、本发明设计简单,bug收敛快,处理器设计周期短。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是一种riscv-v指令集架构下的向量数据通路方法的原理步骤图;
图2是一种riscv-v指令集架构下的向量数据通路系统的原理图;
图3是本发明实施例VUD执行节拍示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本实施例公开如图1所示的一种riscv-v指令集架构下的向量数据通路方法,包括以下步骤:
S1处理器工作,通过指令发射部件ISS发射指令信息至VUD;
S2利用VUD接收从ISS部件发来的指令信息,并从VRF中读出源操作数;
S3在REISSUE将读完寄存器后的指令拆分为n个uop,并依次发向VBOB去执行;
S4由PACKAGE站台回收VBOB执行结果,同时写回到VRF,并向ROB报告完成状态。
本实施例中,VRF、REISSUE和PACKAGE的数据宽度都为VLEN。其中VLEN是向量寄存器宽度。
本实施例中,VBOB的数据宽度是DLEN。其中DLEN是向量数据通路宽度。
本实施例中,PAKAGE站台在时序上与VBOB重合。
本实施例中,VUD是vector非访存指令数据通路。
本实施例中,Vector数据通路流水执行,执行节拍短,且DLEN可配置,用于应对不同规模的处理器设计场景。
实施例2
本实施例公开如图2所示的一种riscv-v指令集架构下的向量数据通路系统,包括指令发射部件ISS、vector寄存器文件VRF、重排序缓冲部件ROB和vector非访存指令数据通路VUD。
本实施例中,ISS(Instruction Issue)是指令发射部件,VRF(Vector RegisterFile)是vector寄存器文件,单个寄存器存储VLEN长度的数据,ROB(Re-order Buffer)重排序缓冲部件,VUD(Vector Unit Datapath)是vector非访存指令数据通路。
本实施例中,VLEN(vector register length)是向量寄存器宽度,DLEN(Datapathlength)在这里是指向量数据通路宽度。VRF和REISSUE,PACKAGE的数据宽度都为VLEN,VBOB的数据宽度是DLEN。
本实施例中,如图3所示VUD执行节拍,VUD接收从ISS部件发来的指令信息,并从VRF中读出源操作数。
本实施例中,在REISSUE将指令拆分为n个uop,并依次发向VBOB去执行,执行完的结果由PACKAGE站台回收,写回到VRF中,并向ROB报告完成状态。
本实施例中PAKAGE站台在时序上是完成与VBOB重合的,VUD是流水的,性能较高。各部件之间接口简单,独立性高,指令的主要功能实现集中在VBOB部件,与VLEN相关的指令功能正确性主要由其它部件保证。这样的设计结构便于做底层验证,可在设计的过程中同时进行子模块的验证,可快速收敛bug,缩短处理器设计周期。
因此本实施例VLEN可配置,符合vector变化的特性,灵活性、通用性强;REISSUE站台对指令进行执行前数据拆分,以uop的粒度执行,在PACKAGE站台以uop粒度进行回收,实现对数据的发射回收控制;DLEN可配置,也就是vector数据通路的面积可配置,功耗可控。
综上,本发明向量数据通路设计简单,且相对独立流水线前段,可移植性强。本发明一套代码对应多套硬件,通用性强。本发明VLEN完全可配,应用场景灵活,处理器迭代成本低。本发明Vector数据通路流水执行,执行节拍短,处理器性能高,且DLEN可配置,可应对不同规模的处理器设计场景。本发明设计简单,bug收敛快,处理器设计周期短。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种riscv-v指令集架构下的向量数据通路方法,其特征在于,所述方法包括以下步骤:
S1处理器工作,通过指令发射部件ISS发射指令信息至VUD;
S2利用VUD接收从ISS部件发来的指令信息,并从VRF中读出源操作数;
S3在REISSUE将读完寄存器后的指令拆分为n个uop,并依次发向VBOB去执行;
S4由PACKAGE站台回收VBOB执行结果,同时写回到VRF,并向ROB报告完成状态。
2.根据权利要求1所述的riscv-v指令集架构下的向量数据通路方法,其特征在于,所述方法中,VRF、REISSUE和PACKAGE的数据宽度都为VLEN。
3.根据权利要求2所述的riscv-v指令集架构下的向量数据通路方法,其特征在于,所述VLEN是向量寄存器宽度。
4.根据权利要求1所述的riscv-v指令集架构下的向量数据通路方法,其特征在于,所述方法中,VBOB的数据宽度是DLEN。
5.根据权利要求4所述的riscv-v指令集架构下的向量数据通路方法,其特征在于,所述DLEN是向量数据通路宽度。
6.根据权利要求1所述的riscv-v指令集架构下的向量数据通路方法,其特征在于,所述方法中,PAKAGE站台在时序上与VBOB重合。
7.根据权利要求1所述的riscv-v指令集架构下的向量数据通路方法,其特征在于,所述方法中,所述VUD是vector非访存指令数据通路。
8.根据权利要求1所述的riscv-v指令集架构下的向量数据通路方法,其特征在于,所述方法中,Vector数据通路流水执行,执行节拍短,且DLEN可配置,用于应对不同规模的处理器设计场景。
9.根据权利要求8所述的riscv-v指令集架构下的向量数据通路方法,其特征在于,(VLEN,DLEN)配置中,VLEN大于或等于DLEN,当配置VLEN=DLEN,流水执行,执行节拍短,应用于追求性能高的场景;配置DLEN<VLEN,数据通路面积小,功耗低,应用于小规模,低功耗场景。
10.一种riscv-v指令集架构下的向量数据通路系统,所述系统用于实现如权利要求1-9任一项所述的riscv-v指令集架构下的向量数据通路方法,其特征在于,包括指令发射部件ISS、vector寄存器文件VRF、重排序缓冲部件ROB和vector非访存指令数据通路VUD。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202110734736.1A CN113467834A (zh) | 2021-06-30 | 2021-06-30 | 一种riscv-v指令集架构下的向量数据通路方法及系统 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202110734736.1A CN113467834A (zh) | 2021-06-30 | 2021-06-30 | 一种riscv-v指令集架构下的向量数据通路方法及系统 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN113467834A true CN113467834A (zh) | 2021-10-01 |
Family
ID=77874292
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202110734736.1A Pending CN113467834A (zh) | 2021-06-30 | 2021-06-30 | 一种riscv-v指令集架构下的向量数据通路方法及系统 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN113467834A (zh) |
Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20020087846A1 (en) * | 2000-11-06 | 2002-07-04 | Nickolls John R. | Reconfigurable processing system and method |
| US7047394B1 (en) * | 1999-01-28 | 2006-05-16 | Ati International Srl | Computer for execution of RISC and CISC instruction sets |
| US20110320765A1 (en) * | 2010-06-28 | 2011-12-29 | International Business Machines Corporation | Variable width vector instruction processor |
| CN104714778A (zh) * | 2011-04-07 | 2015-06-17 | 威盛电子股份有限公司 | 操作微处理器的方法 |
| CN107992330A (zh) * | 2012-12-31 | 2018-05-04 | 英特尔公司 | 对条件循环进行向量化的处理器、方法、处理系统以及机器可读介质 |
| CN111506347A (zh) * | 2020-03-27 | 2020-08-07 | 上海赛昉科技有限公司 | 一种基于指令写后读相关假设的重命名的方法 |
| CN111563281A (zh) * | 2020-04-30 | 2020-08-21 | 北京中科晶上科技股份有限公司 | 一种支持多种加解密算法的处理器及其实现方法 |
| US20210173738A1 (en) * | 2019-12-09 | 2021-06-10 | SiFive, Inc. | Checker Cores for Fault Tolerant Processing |
-
2021
- 2021-06-30 CN CN202110734736.1A patent/CN113467834A/zh active Pending
Patent Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7047394B1 (en) * | 1999-01-28 | 2006-05-16 | Ati International Srl | Computer for execution of RISC and CISC instruction sets |
| US20020087846A1 (en) * | 2000-11-06 | 2002-07-04 | Nickolls John R. | Reconfigurable processing system and method |
| US20110320765A1 (en) * | 2010-06-28 | 2011-12-29 | International Business Machines Corporation | Variable width vector instruction processor |
| CN104714778A (zh) * | 2011-04-07 | 2015-06-17 | 威盛电子股份有限公司 | 操作微处理器的方法 |
| CN107992330A (zh) * | 2012-12-31 | 2018-05-04 | 英特尔公司 | 对条件循环进行向量化的处理器、方法、处理系统以及机器可读介质 |
| US20210173738A1 (en) * | 2019-12-09 | 2021-06-10 | SiFive, Inc. | Checker Cores for Fault Tolerant Processing |
| CN111506347A (zh) * | 2020-03-27 | 2020-08-07 | 上海赛昉科技有限公司 | 一种基于指令写后读相关假设的重命名的方法 |
| CN111563281A (zh) * | 2020-04-30 | 2020-08-21 | 北京中科晶上科技股份有限公司 | 一种支持多种加解密算法的处理器及其实现方法 |
Non-Patent Citations (6)
| Title |
|---|
| CHEN, CHEN AND XIANG, XIAOYAN AND LIU等: "Xuantie-910: a commercial multi-core 12-stage pipeline out-of-order 64-bit high performance RISC-V processor with vector extension", PROCEEDINGS OF THE ACM/IEEE 47TH ANNUAL INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE, vol. 2020, 23 September 2020 (2020-09-23) * |
| SIFIVE: "SiFive Performance P550 Core Sets New Standard as Highest Performance RISC-V Processor IP", Retrieved from the Internet <URL:https://www.sifive.cn/press/sifive-performance-p550-core-sets-new-standard-as-highest> * |
| 剧毒术士马文: "SiFive发布P550/P270 RISC-V架构核, Intel 7nm制程平台2022年登场", pages 1 - 4, Retrieved from the Internet <URL:https://moepc.net/sifive-releases-p550-p270-risc-v-architecture-core-intel-7nm-process-platform-to-debut-on-2022/> * |
| 张昆藏: "计算机系统结构教程", 31 January 2002, 国防工业出版社, pages: 90 - 93 * |
| 王艳震: "基于BOOM超标量处理器可配置参数的性能优化研究", 中国优秀硕士学位论文全文数据库——信息科技, vol. 2020, no. 02, 15 February 2020 (2020-02-15) * |
| 陈宏铭教授: "矢量处理SiFive智能内核", pages 1 - 2, Retrieved from the Internet <URL:https://www.bilibili.com/video/BV1HE411M7M3/> * |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10216693B2 (en) | Computer with hybrid Von-Neumann/dataflow execution architecture | |
| EP3362889B1 (en) | Move prefix instruction | |
| US20190004945A1 (en) | Processors, methods, and systems for a configurable spatial accelerator with transactional and replay features | |
| US8677102B2 (en) | Instruction fusion calculation device and method for instruction fusion calculation | |
| US11593241B2 (en) | Processor with debug pipeline | |
| US20120260061A1 (en) | Data processing apparatus and method for performing vector operations | |
| US11048516B2 (en) | Systems, methods, and apparatuses for last branch record support compatible with binary translation and speculative execution using an architectural bit array and a write bit array | |
| JP2001209535A (ja) | プロセッサの命令スケジューリング装置 | |
| EP2997462A1 (en) | Dynamic optimization of pipelined software | |
| CN107315575A (zh) | 一种用于执行向量合并运算的装置和方法 | |
| US12020033B2 (en) | Apparatus and method for hardware-based memoization of function calls to reduce instruction execution | |
| US10338926B2 (en) | Processor with conditional instructions | |
| CN111742296B (zh) | 用于数据处理的装置、方法和计算机可读存储介质 | |
| EP0497485A2 (en) | Computer for implementing two-operand instructions | |
| CN110928577A (zh) | 一种带异常返回的向量存储指令的执行方法 | |
| CN113467834A (zh) | 一种riscv-v指令集架构下的向量数据通路方法及系统 | |
| CN114186517A (zh) | 一种面向嵌入式场景的可定制化risc-v架构处理器设计方法 | |
| CN116841614B (zh) | 乱序访存机制下的顺序向量调度方法 | |
| CN116974629A (zh) | 一种低功耗高性能的risc-v向量实现方法及装置 | |
| JP6347629B2 (ja) | 命令処理方法及び命令処理装置 | |
| CN114357535A (zh) | 一种基于risc-v的安全可信加密处理器架构及其工作方法 | |
| US20140365751A1 (en) | Operand generation in at least one processing pipeline | |
| CN113853584A (zh) | 可变延时指令 | |
| CN100390752C (zh) | 一种单步执行在片调试功能的方法及装置 | |
| JP2536726B2 (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 |