CN116662255A - 结合超越函数硬件加速器的risc-v处理器实现方法及系统 - Google Patents
结合超越函数硬件加速器的risc-v处理器实现方法及系统 Download PDFInfo
- Publication number
- CN116662255A CN116662255A CN202310785509.0A CN202310785509A CN116662255A CN 116662255 A CN116662255 A CN 116662255A CN 202310785509 A CN202310785509 A CN 202310785509A CN 116662255 A CN116662255 A CN 116662255A
- Authority
- CN
- China
- Prior art keywords
- function
- hardware accelerator
- processor
- risc
- instruction
- 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
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Advance Control (AREA)
Abstract
本发明公开了结合超越函数硬件加速器的RISC‑V处理器实现方法包括,在RISC‑V处理器核心集成超越函数硬件加速器;在超越函数硬件加速器与RISC‑V处理器核心之间建立数据通路和控制信号传输机制;在RISC‑V指令集架构中扩展新的指令,以支持超越函数的执行和操作;在RISC‑V处理器的微架构中优化超越函数硬件加速器的功能单元。本发明方法通过集成超越函数硬件加速器,建立数据通路和控制信号传输机制,并扩展新指令和优化功能单元,以实现在RISC‑V处理器中加速超越函数的执行和操作。
Description
技术领域
本发明涉及高速处理器设计领域,尤其涉及结合超越函数硬件加速器的RISC-V处理器实现方法及系统。
背景技术
现今超越函数的应用范围越来越广泛,在图像和语音处理、科学计算、数字信号处理和实时电机控制等等中包含有大量三角函数、反三角函数、指数、对数的运算。这些函数在数学上,明显区别于代数函数,无法通过变量的有限次线性运算得到,被称为超越函数。
使用通用的乘法和加法运算单元执行相应的软件算法来完成超越函数运算需要很长运算时间,并且还会占用大量的处理器运算资源。因此,设计专用于实现超越函数的硬件单元在数据密集型以及实时性应用中具有重要意义。例如TI的TMX320系列DSP芯片,其上有一个专门用于实现超越函数的快速计算单元。在硬件实现超越函数中主要的方法有级数收敛法、查找表法和CORDIC(CoordinateRotationDigitalComputer,坐标旋转数字计算)算法。其中,采用级数收敛不同的超越函数要采用不同的硬件架构实现,在保证高精度时需要进行很多次级数的叠加,这在硬件资源消耗上是非常大的。采用查找表实现超越函数要存储大量的数据,使得硬件消耗也很大。CORDIC算法的优势在于电路面积小,仅用移位寄存器和加法器/减法器就可以实现计算。但其缺点在于,它的收敛速度较慢,通常一轮迭代只能增加一个有效数字。对于单精度浮点运算,CORDIC算法需要较多的时钟周期才能使结果达到单精度浮点所要求的精度。
RISC-V处理器的基本指令集在计算超越函数方面存在较大的运算性能问题。使用软件运算超越函数需要花费大量的运算周期和内存资源,不利于一些需要高速处理数据的密集型运算场景。在连接处理器和硬件加速器的设计过程中,一般采用协处理器的通信方式将两者连接,但是这种通信方式存在频繁触发中断的问题,即硬件加速器执行完一个运算操作后,会使能一根中断线通知处理器继续后续工作,处理器需要花费大量时间响应该中断。这种协处理器的通信方式用在硬件加速器本身需要花费大量时间运算的场景中是合理的,但是快速超越函数运算显然会带来大量的性能损耗。
发明内容
本部分的目的在于概述本发明的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本申请的说明书摘要和发明名称中可能会做些简化或省略以避免使本部分、说明书摘要和发明名称的目的模糊,而这种简化或省略不能用于限制本发明的范围。
鉴于上述现有存在的问题,提出了本发明。
因此,本发明提供了结合超越函数硬件加速器的RISC-V处理器实现方法,能够解决通用的乘法和加法运算单元执行相应的软件算法来完成超越函数运算需要很长运算时间,并且还会占用大量的处理器运算资源。
为解决上述技术问题,本发明提供如下技术方案,结合超越函数硬件加速器的RISC-V处理器实现方法,包括:
在RISC-V处理器核心集成超越函数硬件加速器;在超越函数硬件加速器与RISC-V处理器核心之间建立数据通路和控制信号传输机制;在RISC-V指令集架构中扩展新的指令,以支持超越函数的执行和操作;在RISC-V处理器的微架构中优化超越函数硬件加速器的功能单元。
作为本发明所述的结合超越函数硬件加速器的RISC-V处理器实现方法的一种优选方案,其中:所述超越函数硬件加速器包括,通过RISC-V处理器上搭载用于快速运算浮点超越函数的硬件加速器灵活配置以支持浮点正弦函数、余弦函数、反正切函数、指数函数及对数函数的运算。
作为本发明所述的结合超越函数硬件加速器的RISC-V处理器实现方法的一种优选方案,其中:所述建立数据通路包括,当指令译码器阶段检测到load指令时,RISC-V处理器从寄存器文件读取源数据,并将源数据通过数据总线发送给超越函数硬件加速器,超越函数硬件加速器接收数据,并在功能单元中执行计算操作,计算结果通过数据总线返回RISC-V处理器,并存储到目标寄存器中,RISC-V处理器生成和传输控制信号,超越函数硬件加速器根据控制信号进行相应的操作和数据传输;
当指令译码期阶段检测到store指令时,RISC-V处理器将目标数据通过数据总线发送给超越函数硬件加速器,超越函数硬件加速器接收数据,并在功能单元中执行计算操作,计算结果通过数据总线反馈至RISC-V处理器,并存储到内存位置,RISC-V处理器生成和传输控制信号,超越函数硬件加速器根据控制信号进行操作和数据传输。
作为本发明所述的结合超越函数硬件加速器的RISC-V处理器实现方法的一种优选方案,其中:所述控制信号传输包括RISC-V处理器生成特定的控制信号,用于配置超越函数硬件加速器的工作模式,RISC-V处理器通过异步或同步机制将控制信号传输到超越函数硬件加速器,超越函数硬件加速器接收并解析从RISC-V处理器传输特定的控制信号,根据解析后的控制信号,超越函数硬件加速器进行相应的状态转换和操作相应,超越函数硬件加速器向RISC-V处理器发送确认信号,指示成果接收并解析控制信号,并相应地进行状态转换和操作相应,若在控制信号传输和解析过程中发生错误情况,超越函数硬件加速器生成错误报告,通知RISC-V处理器相关的故障。
作为本发明所述的结合超越函数硬件加速器的RISC-V处理器实现方法的一种优选方案,其中:所述特定信号包括,使能信号,复位信号,数据传输使能信号,中断信号,工作模式选择信号,时钟信号。
作为本发明所述的结合超越函数硬件加速器的RISC-V处理器实现方法的一种优选方案,其中:所述扩展新的指令包括,当正在进行一条超越函数指令的运算时,硬件加速器通知处理器处于忙碌状态,采用并行调度指令,通知另外一条非超越函数的指令并行执行,处理器将分配任务调度到执行阶段;
当正在进行一条超越函数指令的运算时,超越函数指令的结果并未写回浮点通用寄存器,采用数据依赖检测指令,当新发射到执行阶段的指令的源操作数是超越函数指令的目的操作数时,并等待超越函数指令的结果写回操作完成时继续执行后续操作,避免错误的计算结果;
当超越函数指令需要写回通用寄存器,同时后续的非超越函数指令也需要写回浮点通用寄存器时,使用优先级调度指令,存在多个待写回操作时,处理器优先选择超越函数指令的结果写回;
当有多条超越函数指令同时进入执行阶段时,需共享硬件加速器资源,采用动态分配资源指令,根据当前硬件加速器的占用情况及优先级,动态分配资源给不同的超越函数指令。
作为本发明所述的结合超越函数硬件加速器的RISC-V处理器实现方法的一种优选方案,其中:所述优化超越函数硬件加速器的功能单元包括,按功能单元划分并优硬件,采用CORDIC的硬件算法降低计算的复杂度,设计动态配置机制,根据当前需要执行的超越函数指令动态配置硬件资源,在功能单元中加入并行计算及流水线技术。
本发明的另外一个目的是该系统集成了超越函数硬件加速器,通过优化功能单元设计和扩展指令集,显著提高了处理器的性能和执行效率。超越函数的计算能够以更快的速度完成,加快了整体运算速度。
作为本发明所述的结合超越函数硬件加速器的RISC-V处理器实现方法的系统的一种优选方案,其中:包括,超越函数硬件加速器集成模块、扩展指令集模块、优化功能单元模块及控制信号传输模块;所述越函数硬件加速器集成模块包括,实现了在RISC-V处理器核心中集成超越函数硬件加速器,并建立了数据通路和控制信号传输机制;所述扩展指令集模块包括,扩展RISC-V指令集,以支持超越函数的执行和操作;所述优化功能单元模块包括,对超越函数硬件加速器的功能单元进行设计和优化,以提高执行效率和性能;所述制信号传输模块包括,负责控制信号的传输和解析,用于配置超越函数硬件加速器的工作模式。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现结合超越函数硬件加速器的RISC-V处理器实现方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现结合超越函数硬件加速器的RISC-V处理器实现方法的步骤。
本发明的有益效果:本发明方法通过集成超越函数硬件加速器,建立数据通路和控制信号传输机制,并扩展新指令和优化功能单元,以实现在RISC-V处理器中加速超越函数的执行和操作。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。其中:
图1为本发明一个实施例提供的结合超越函数硬件加速器的RISC-V处理器实现方法流程示意图;
图2为本发明一个实施例提供的结合超越函数硬件加速器的RISC-V处理器实现方法的结合超越函数硬件加速器的RISC-V处理器架构示意图;
图3为本发明一个实施例提供的结合超越函数硬件加速器的RISC-V处理器实现方法的超越函数硬件加速器架构示意图;
图4为本发明一个实施例提供的结合超越函数硬件加速器的RISC-V处理器实现方法的支持不同周期数的超越函数硬件加速器架构示意图;
图5为本发明一个实施例提供的结合超越函数硬件加速器的RISC-V处理器实现方法的硬件加速器紧耦合连接设计示意图;
图6为本发明一个实施例提供的结合超越函数硬件加速器的RISC-V处理器实现系统的流程示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合说明书附图对本发明的具体实施方式做详细的说明,显然所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明的保护的范围。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
其次,此处所称的“一个实施例”或“实施例”是指可包含于本发明至少一个实现方式中的特定特征、结构或特性。在本说明书中不同地方出现的“在一个实施例中”并非均指同一个实施例,也不是单独的或选择性的与其他实施例互相排斥的实施例。
本发明结合示意图进行详细描述,在详述本发明实施例时,为便于说明,表示器件结构的剖面图会不依一般比例作局部放大,而且所述示意图只是示例,其在此不应限制本发明保护的范围。此外,在实际制作中应包含长度、宽度及深度的三维空间尺寸。
同时在本发明的描述中,需要说明的是,术语中的“上、下、内和外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一、第二或第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
本发明中除非另有明确的规定和限定,术语“安装、相连、连接”应做广义理解,例如:可以是固定连接、可拆卸连接或一体式连接;同样可以是机械连接、电连接或直接连接,也可以通过中间媒介间接相连,也可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
实施例1
参照图1,为本发明的第一个实施例,该实施例提供了结合超越函数硬件加速器的RISC-V处理器实现方法,包括:
S1:在RISC-V处理器核心集成超越函数硬件加速器;
应说明的是,所述超越函数硬件加速器包括,通过RISC-V处理器上搭载用于快速运算浮点超越函数的硬件加速器灵活配置以支持浮点正弦函数、余弦函数、反正切函数、指数函数及对数函数的运算。
S2:在超越函数硬件加速器与RISC-V处理器核心之间建立数据通路和控制信号传输机制;
应说明的是,所述建立数据通路包括,当指令译码器阶段检测到load指令时,RISC-V处理器从寄存器文件读取源数据,并将源数据通过数据总线发送给超越函数硬件加速器,超越函数硬件加速器接收数据,并在功能单元中执行计算操作,计算结果通过数据总线返回RISC-V处理器,并存储到目标寄存器中,RISC-V处理器生成和传输控制信号,超越函数硬件加速器根据控制信号进行相应的操作和数据传输;
当指令译码期阶段检测到store指令时,RISC-V处理器将目标数据通过数据总线发送给超越函数硬件加速器,超越函数硬件加速器接收数据,并在功能单元中执行计算操作,计算结果通过数据总线反馈至RISC-V处理器,并存储到内存位置,RISC-V处理器生成和传输控制信号,超越函数硬件加速器根据控制信号进行操作和数据传输。
更进一步的,所述控制信号传输包括RISC-V处理器生成特定的控制信号,用于配置超越函数硬件加速器的工作模式,RISC-V处理器通过异步或同步机制将控制信号传输到超越函数硬件加速器,超越函数硬件加速器接收并解析从RISC-V处理器传输特定的控制信号,根据解析后的控制信号,超越函数硬件加速器进行相应的状态转换和操作相应,超越函数硬件加速器向RISC-V处理器发送确认信号,指示成果接收并解析控制信号,并相应地进行状态转换和操作相应,若在控制信号传输和解析过程中发生错误情况,超越函数硬件加速器生成错误报告,通知RISC-V处理器相关的故障。
所述特定信号包括,使能信号,复位信号,数据传输使能信号,中断信号,工作模式选择信号,时钟信号。
应说明的是,使能信号(EnableSignal):用于启动或停止超越函数硬件加速器的运行。当使能信号为高电平时,加速器开始执行操作;当使能信号为低电平时,加速器停止工作。
复位信号(ResetSignal):用于将超越函数硬件加速器的内部状态重置为初始状态。复位信号的触发通常是在启动加速器或处理特定故障情况时使用。
数据传输使能信号(DataTransferEnableSignal):用于指示是否进行数据传输操作。当数据传输使能信号为高电平时,数据传输过程开始;当信号为低电平时,数据传输被禁用。
中断信号(InterruptSignal):用于向RISC-V处理器发送中断请求,以通知特定事件或异常情况的发生。该信号可触发相关的中断处理程序或错误恢复操作。
工作模式选择信号(OperationModeSelectionSignal):用于选择超越函数硬件加速器的不同工作模式或配置选项。例如,可以使用特定的寄存器位或编码来选择不同的功能单元或算法。
时钟信号(ClockSignal):用于同步超越函数硬件加速器的操作和数据传输。时钟信号通常由系统时钟提供,并与其他相关信号同步。
S3:在RISC-V指令集架构中扩展新的指令,以支持超越函数的执行和操作;
应说明的是,所述扩展新的指令包括,当正在进行一条超越函数指令的运算时,硬件加速器通知处理器处于忙碌状态,采用并行调度指令,通知另外一条非超越函数的指令并行执行,处理器将分配任务调度到执行阶段;
当正在进行一条超越函数指令的运算时,超越函数指令的结果并未写回浮点通用寄存器,采用数据依赖检测指令,当新发射到执行阶段的指令的源操作数是超越函数指令的目的操作数时,并等待超越函数指令的结果写回操作完成时继续执行后续操作,避免错误的计算结果;
当超越函数指令需要写回通用寄存器,同时后续的非超越函数指令也需要写回浮点通用寄存器时,使用优先级调度指令,存在多个待写回操作时,处理器优先选择超越函数指令的结果写回;
当有多条超越函数指令同时进入执行阶段时,需共享硬件加速器资源,采用动态分配资源指令,根据当前硬件加速器的占用情况及优先级,动态分配资源给不同的超越函数指令。
S4:在RISC-V处理器的微架构中优化超越函数硬件加速器的功能单元。
更进一步的,所述优化超越函数硬件加速器的功能单元包括,按功能单元划分并优硬件,采用CORDIC的硬件算法降低计算的复杂度,设计动态配置机制,根据当前需要执行的超越函数指令动态配置硬件资源,在功能单元中加入并行计算及流水线技术。
应说明的是,按功能单元划分并优化硬件:为了优化超越函数硬件加速器的功能单元,可以按照不同的超越函数特性,设计不同的硬件功能单元,如正弦函数功能单元、余弦函数功能单元、反正切函数功能单元、指数函数功能单元和对数函数功能单元。这些功能单元可以根据需要进行组合或分离,以满足各种复杂的超越函数需求。使用专门的硬件算法:在功能单元的设计中,可以采用一些专门的硬件算法,如CORDIC算法,来提高超越函数的计算效率和准确度。这种算法可以在硬件级别实现多种超越函数的计算,并能有效地降低计算的复杂度。动态配置硬件资源:可以设计一种动态配置机制,根据当前需要执行的超越函数指令,动态地配置硬件资源。这种机制可以根据需要优化不同的功能单元,提高硬件资源的利用率和计算效率。利用并行计算和流水线技术:为了进一步提高超越函数的计算速度,可以在功能单元的设计中使用并行计算和流水线技术。这些技术可以同时处理多个超越函数的计算,提高计算的并行度和吞吐量。
实施例2
参照图2-5,为本发明的一个实施例,提供了结合超越函数硬件加速器的RISC-V处理器实现方法,为了验证本发明的有益效果,通过实验进行科学论证。
如图2所示,该架构是一种高性能的三级流水线架构RISC-V处理器架构。该流水线架构包含取指阶段(instructionfetch,IF)、译码阶段(instruction decode,ID)和执行阶段(execute,EX)。其中取指阶段进行分支预测、地址计算以及指令存储器访问;译码阶段进行指令译码,当指令为装载或存储指令时,读取通用寄存器,并计算数据存储器地址;执行阶段进行读取通用寄存器、执行运算、读取或写回数据存储器数据以及写回通用寄存器。结合超越函数硬件加速器的RISC-V处理器在通用RISC-V处理器的基础上,在执行阶段增加了一个专门用于超越函数计算的硬件模块(Transcendentalmathematicsunit,TMU)。
超越函数硬件加速器架构包含核心运算单元(查表模块和计算模块),预处理和后处理模块,整体架构如图3所示。其中预处理模块用于各个函数的输入范围限制、定点化以及提供后处理所需的边带信号,核心模块用于进行超越函数二项式运算,后处理模块用于处理边带信号以及浮点化,最终输出浮点运算结果。该硬件架构是可重构的,即所有函数都会经过核心运算单元,不同函数的数据通路只有在预处理和后处理中是不一样的,这就意味着实现越多的超越函数,硬件中的资源利用率就越高。此外,预处理模块和后处理模块也是高度可重构的,不同函数在这两个阶段尽可能的复用现有的硬件资源,并且不存在组合逻辑环。
由于各个超越函数的计算过程不相同,主要体现在后处理上。正弦函数、余弦函数和反正切函数在后处理上的数据处理简单,而指数函数和对数函数在后处理上复杂,因此指数函数和对数函数的后处理模块中的数据通路路径较长,为了提高硬件加速器的性能以及工作频率,将指数函数和对数函数的后处理模块设计为两周期的模块。如图4所示,执行各个函数运算时,都会经过同一个预处理模块和核心计算单元,但是执行正弦函数、余弦函数和反正切函数时,数据通路经过后处理模块1,最终得到输出结果。而执行指数函数和对数函数时,数据通路经过后处理模块2和后处理模块3,最终得到输出结果,这两个模块之间存在一个寄存器用于暂存数据,打断路径以优化时序。
处理器和硬件加速器之间采用紧耦合方式连接,具体的通信方式为处理器通知硬件加速器启动,同时告知运算模式和运算数据;硬件加速器在运算过程中通知处理器忙碌,当运算结束后,硬件加速器通知处理器结束,同时输出运算结果。因为硬件加速器是和处理器之间交互,所以硬件加速器的行为会导致处理器需要额外处理数据相关等风险,主要包括硬件加速器占用,结果写后读以及写口占用。其中硬件加速器占用指的是目前正在进行一条超越函数指令的运算,硬件加速器通知处理器忙碌,其处于占用状态,此时有一条新的超越函数指令派遣到执行阶段,由于上一条超越函数指令占用着硬件加速器,因而新的超越函数指令需要等待上一条超越函数指令执行完后才能重新占用硬件加速器,所以这会导致流水线阻塞,产生风险。结果写后读指的是目前正在进行一条超越函数指令的运算,超越函数指令结果还未能写回到浮点通用寄存器中,此时新发射到执行阶段地指令的源操作数是超越函数指令的目的操作数,因为超越函数指令仍然处于执行阶段,因而新的指令需要等待上一条超越函数指令结果写回浮点通用寄存器才能进行后续操作,这也会导致流水线阻塞,产生风险。写口占用指的是当超越函数指令需要写回通用寄存器,同时后续其他的和超越函数无关的指令也需要写回浮点通用寄存器时,同时浮点通用寄存器只有一个写口,所以其他的指令需要等待超越函数指令先通过该写口写回浮点通用寄存器后才能写回,这会阻塞一周期的流水线,产生风险。
实施例3
本发明第三个实施例,其不同于前两个实施例的是:
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置)、便携式计算机盘盒(磁装置)、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编辑只读存储器(EPROM或闪速存储器)、光纤装置以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
实施例4
参照图6,为本发明的第四个实施例,该实施例提供了结合超越函数硬件加速器的RISC-V处理器实现方法的系统,包括:超越函数硬件加速器集成模块、扩展指令集模块、优化功能单元模块及控制信号传输模块;所述越函数硬件加速器集成模块包括,实现了在RISC-V处理器核心中集成超越函数硬件加速器,并建立了数据通路和控制信号传输机制;所述扩展指令集模块包括,扩展RISC-V指令集,以支持超越函数的执行和操作;所述优化功能单元模块包括,对超越函数硬件加速器的功能单元进行设计和优化,以提高执行效率和性能;所述制信号传输模块包括,负责控制信号的传输和解析,用于配置超越函数硬件加速器的工作模式。
Claims (10)
1.结合超越函数硬件加速器的RISC-V处理器实现方法,其特征在于:包括,
在RISC-V处理器核心集成超越函数硬件加速器;
在超越函数硬件加速器与RISC-V处理器核心之间建立数据通路和控制信号传输机制;
在RISC-V指令集架构中扩展新的指令,以支持超越函数的执行和操作;
在RISC-V处理器的微架构中优化超越函数硬件加速器的功能单元。
2.如权利要求1所述的结合超越函数硬件加速器的RISC-V处理器实现方法,其特征在于:所述超越函数硬件加速器包括,通过RISC-V处理器上搭载用于快速运算浮点超越函数的硬件加速器灵活配置以支持浮点正弦函数、余弦函数、反正切函数、指数函数及对数函数的运算。
3.如权利要求2所述的结合超越函数硬件加速器的RISC-V处理器实现方法,其特征在于:所述建立数据通路包括,当指令译码器阶段检测到load指令时,RISC-V处理器从寄存器文件读取源数据,并将源数据通过数据总线发送给超越函数硬件加速器,超越函数硬件加速器接收数据,并在功能单元中执行计算操作,计算结果通过数据总线返回RISC-V处理器,并存储到目标寄存器中,RISC-V处理器生成和传输控制信号,超越函数硬件加速器根据控制信号进行相应的操作和数据传输;
当指令译码期阶段检测到store指令时,RISC-V处理器将目标数据通过数据总线发送给超越函数硬件加速器,超越函数硬件加速器接收数据,并在功能单元中执行计算操作,计算结果通过数据总线反馈至RISC-V处理器,并存储到内存位置,RISC-V处理器生成和传输控制信号,超越函数硬件加速器根据控制信号进行操作和数据传输。
4.如权利要求3所述的结合超越函数硬件加速器的RISC-V处理器实现方法,其特征在于:所述控制信号传输包括RISC-V处理器生成特定的控制信号,用于配置超越函数硬件加速器的工作模式,RISC-V处理器通过异步或同步机制将控制信号传输到超越函数硬件加速器,超越函数硬件加速器接收并解析从RISC-V处理器传输特定的控制信号,根据解析后的控制信号,超越函数硬件加速器进行相应的状态转换和操作相应,超越函数硬件加速器向RISC-V处理器发送确认信号,指示成果接收并解析控制信号,并相应地进行状态转换和操作相应,若在控制信号传输和解析过程中发生错误情况,超越函数硬件加速器生成错误报告,通知RISC-V处理器相关的故障。
5.如权利要求4所述的结合超越函数硬件加速器的RISC-V处理器实现方法,其特征在于:所述特定信号包括,使能信号,复位信号,数据传输使能信号,中断信号,工作模式选择信号,时钟信号。
6.如权利要求5所述的结合超越函数硬件加速器的RISC-V处理器实现方法,其特征在于:所述扩展新的指令包括,当正在进行一条超越函数指令的运算时,硬件加速器通知处理器处于忙碌状态,采用并行调度指令,通知另外一条非超越函数的指令并行执行,处理器将分配任务调度到执行阶段;
当正在进行一条超越函数指令的运算时,超越函数指令的结果并未写回浮点通用寄存器,采用数据依赖检测指令,当新发射到执行阶段的指令的源操作数是超越函数指令的目的操作数时,并等待超越函数指令的结果写回操作完成时继续执行后续操作,避免错误的计算结果;
当超越函数指令需要写回通用寄存器,同时后续的非超越函数指令也需要写回浮点通用寄存器时,使用优先级调度指令,存在多个待写回操作时,处理器优先选择超越函数指令的结果写回;
当有多条超越函数指令同时进入执行阶段时,需共享硬件加速器资源,采用动态分配资源指令,根据当前硬件加速器的占用情况及优先级,动态分配资源给不同的超越函数指令。
7.如权利要求6所述的结合超越函数硬件加速器的RISC-V处理器实现方法,其特征在于:所述优化超越函数硬件加速器的功能单元包括,按功能单元划分并优硬件,采用CORDIC的硬件算法降低计算的复杂度,设计动态配置机制,根据当前需要执行的超越函数指令动态配置硬件资源,在功能单元中加入并行计算及流水线技术。
8.一种采用如权利要求1-7任一所述的结合超越函数硬件加速器的RISC-V处理器实现方法的系统,其特征在于:包括,超越函数硬件加速器集成模块、扩展指令集模块、优化功能单元模块及控制信号传输模块;
所述越函数硬件加速器集成模块包括,实现了在RISC-V处理器核心中集成超越函数硬件加速器,并建立了数据通路和控制信号传输机制;
所述扩展指令集模块包括,扩展RISC-V指令集,以支持超越函数的执行和操作;
所述优化功能单元模块包括,对超越函数硬件加速器的功能单元进行设计和优化,以提高执行效率和性能;
所述制信号传输模块包括,负责控制信号的传输和解析,用于配置超越函数硬件加速器的工作模式。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310785509.0A CN116662255A (zh) | 2023-06-29 | 2023-06-29 | 结合超越函数硬件加速器的risc-v处理器实现方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310785509.0A CN116662255A (zh) | 2023-06-29 | 2023-06-29 | 结合超越函数硬件加速器的risc-v处理器实现方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116662255A true CN116662255A (zh) | 2023-08-29 |
Family
ID=87719134
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310785509.0A Pending CN116662255A (zh) | 2023-06-29 | 2023-06-29 | 结合超越函数硬件加速器的risc-v处理器实现方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116662255A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116881090A (zh) * | 2023-09-06 | 2023-10-13 | 北京壁仞科技开发有限公司 | 计算装置以及控制计算装置中的计算核的能耗的方法 |
CN118092853A (zh) * | 2024-04-26 | 2024-05-28 | 中科亿海微电子科技(苏州)有限公司 | 基于risc-v浮点超越函数指令集扩展方法及装置 |
-
2023
- 2023-06-29 CN CN202310785509.0A patent/CN116662255A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116881090A (zh) * | 2023-09-06 | 2023-10-13 | 北京壁仞科技开发有限公司 | 计算装置以及控制计算装置中的计算核的能耗的方法 |
CN116881090B (zh) * | 2023-09-06 | 2024-01-26 | 北京壁仞科技开发有限公司 | 计算装置以及控制计算装置中的计算核的能耗的方法 |
CN118092853A (zh) * | 2024-04-26 | 2024-05-28 | 中科亿海微电子科技(苏州)有限公司 | 基于risc-v浮点超越函数指令集扩展方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5075840A (en) | Tightly coupled multiprocessor instruction synchronization | |
CN116662255A (zh) | 结合超越函数硬件加速器的risc-v处理器实现方法及系统 | |
KR102413832B1 (ko) | 벡터 곱셈 덧셈 명령 | |
JP5699554B2 (ja) | ベクトル処理回路、命令発行制御方法、及びプロセッサシステム | |
US7904702B2 (en) | Compound instructions in a multi-threaded processor | |
US8417918B2 (en) | Reconfigurable processor with designated processing elements and reserved portion of register file for interrupt processing | |
KR20160046331A (ko) | 범용 유닛을 기반으로 하는 고성능 프로세스 시스템 및 방법 | |
KR100983135B1 (ko) | 패킷의 의존성 명령을 그룹핑하여 실행하는 프로세서 및 방법 | |
JP2012515388A (ja) | 大命令幅プロセッサにおける処理効率の向上 | |
US20030120882A1 (en) | Apparatus and method for exiting from a software pipeline loop procedure in a digital signal processor | |
US10754818B2 (en) | Multiprocessor device for executing vector processing commands | |
CN115934168A (zh) | 处理器和内存访问方法 | |
US8171259B2 (en) | Multi-cluster dynamic reconfigurable circuit for context valid processing of data by clearing received data with added context change indicative signal | |
US7539847B2 (en) | Stalling processor pipeline for synchronization with coprocessor reconfigured to accommodate higher frequency operation resulting in additional number of pipeline stages | |
US20230195526A1 (en) | Graph computing apparatus, processing method, and related device | |
US20130151485A1 (en) | Apparatus and method for storing trace data | |
CN114528248A (zh) | 阵列重构方法、装置、设备及存储介质 | |
CN101042641B (zh) | 一种具有动态提交流水线功能的数字信号处理器 | |
CN117193861B (zh) | 指令处理方法、装置、计算机设备和存储介质 | |
JP5786719B2 (ja) | ベクトルプロセッサ | |
CN117008977B (zh) | 一种可变执行周期的指令执行方法、系统和计算机设备 | |
RU2820021C1 (ru) | Способ конвейерной обработки команд для компьютера с vliw-процессором и оптимизирующим компилятором и компьютер для осуществления способа | |
JP2019185646A (ja) | 演算処理装置及び演算処理装置の制御方法 | |
KR20010085353A (ko) | 고속 컨텍스트 전환을 갖는 컴퓨터 | |
Odendahl et al. | A next generation digital signal processor for European space missions |
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 |