实现向量浮点基2指数对数计算的装置制造方法及图纸

技术编号:12798793 阅读:64 留言:0更新日期:2016-01-30 20:06
本发明专利技术提出一种实现向量浮点基2指数对数计算的装置,包括:向量寄存器组,包含至少一个向量寄存器,其中,每个向量寄存器保存有多个浮点数据;一组浮点数的数据选择器,用于将从向量寄存器中读出的数据改变顺序后送入浮点超越函数计算单元;一组浮点超越函数计算单元,用于进行单精度的浮点超越函数运算,以及进行基2的浮点指数或对数运算,浮点超越函数计算单元的数目与向量寄存器内的浮点数据的数目相等;以及控制逻辑单元,用于控制一组数据选择器的数据选择,以及控制浮点超越函数计算单元的操作功能选择。本发明专利技术的装置利用了向量数据的并行计算特性,可以同时进行多个浮点数据的计算,加快了运算速度,减少了执行周期。

【技术实现步骤摘要】

本专利技术涉及微处理器体系结构
,特别涉及一种实现向量浮点基2指数对数计算的装置
技术介绍
随着数字通信技术的快速发展,对数字信号处理能力的要求也越来越高,因此需要不断提升数字信号处理能力。而传统的运算方式采用标量计算单元,运算速度慢,执行周期长,对数字信号处理效率低下。
技术实现思路
本专利技术旨在至少在一定程度上解决上述相关技术中的技术问题之一。为此,本专利技术的目的在于提出一种实现向量浮点基2指数对数计算的装置,该装置利用了向量数据的并行计算特性,可以同时进行多个浮点数据的计算,相比较传统的标量计算单元,加快了运算速度,减少了执行周期。为了实现上述目的,本专利技术的实施例提出了一种实现向量浮点基2指数对数计算的装置,包括向量寄存器组,包含至少一个向量寄存器,其中,每个向量寄存器保存有多个浮点数据;一组浮点数的数据选择器,用于将从所述向量寄存器中读出的数据改变顺序后送入浮点超越函数计算单元;一组浮点超越函数计算单元,用于进行单精度的浮点超越函数运算,以及进行基2的浮点指数或对数运算,所述浮点超越函数计算单元的数目与所述向量寄存器内的浮点数据的数目相等;以及控制逻辑单元,用于控制所述一组数据选择器的数据选择,以及控制所述浮点超越函数计算单元的操作功能选择。根据本专利技术实施例的实现向量浮点基2指数对数计算的装置,从保存浮点复数的向量寄存器中读出数据,送入数据选择器中,数据选择器将向量内部的数据重新排列送到浮点超越函数计算单元,浮点超越函数计算单元根据数据选择器的结果进行基2指数对数计算,最后向量寄存器保存执行单元的输出。因此,该装置利用了向量数据的并行计算特性,可以同时进行多个浮点数据的计算,相比较传统的标量计算单元,加快了运算速度,减少了执行周期。另外,根据本专利技术上述实施例的实现向量浮点基2指数对数计算的装置还可以具有如下附加的技术特征:在一些不例中,所述向量寄存器组包含多个向量寄存器,每个向量寄存器可包含多个单精度的浮点数据。在一些示例中,所述浮点数据为单精度浮点数据。在一些示例中,所述控制逻辑单元用于确定所述数据选择器的数据选择通道和浮点超越函数计算单元的输入端口的连接关系,以及浮点超越函数计算单元工作模式。在一些示例中,每个浮点超越函数计算单元的结构都是相同的,均采用浮点cordic算法实现计算。在一些示例中,每个所述浮点超越函数计算单元完成1个32位的单精度浮点数的指数对数计算。在一些示例中,所述控制逻辑单元用于执行以下步骤:(1)从保存浮点数的所述向量寄存器组读出一组数据,每个寄存器包含多个浮点数;(2)通过所述数据选择器将每个浮点数分别提取出来,将不同浮点数送到每个浮点超越函数计算单元;(3)所述浮点超越函数计算单元根据操作类型进行单精度浮点数运算;(4)将各个所述浮点超越函数计算单元的运算结果保存到一个向量寄存器中。本专利技术的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本专利技术的实践了解到。【附图说明】本专利技术的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:图1是根据本专利技术一个实施例的实现向量浮点基2指数对数计算的装置的结构框图;图2是根据本专利技术另一个实施例的实现向量浮点基2指数对数计算的装置的运算功能框图。【具体实施方式】下面详细描述本专利技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本专利技术,而不能理解为对本专利技术的限制。以下结合附图描述根据本专利技术实施例的实现向量浮点基2指数对数计算的装置。图1是根据本专利技术一个实施例的实现向量浮点基2指数对数计算的装置的结构框图。如图1所示,该装置100包括:向量寄存器组110、一组浮点数的数据选择器120、一组浮点超越函数计算单元130和控制逻辑单元140。具体地,向量寄存器组110包含至少一个向量寄存器,其中,每个向量寄存器保存有多个浮点数据。其中,在本专利技术的一个实施例中,浮点数据例如为单精度浮点数据或双精度浮点数据。更为具体地,在该示例中,例如向量寄存器组110包含多个向量寄存器,并且每个向量寄存器可包含多个单精度的浮点数据。进一步地,浮点数据保存在同一个寄存器中,它们的读出是同时进行的,也可以是先后读出的。而对于结果的写入,可以在同一个寄存器中,也可以在不同的寄存器中。—组浮点数的数据选择器120用于将从向量寄存器中读出的数据改变顺序后送入浮点超越函数计算单元130。—组浮点超越函数计算单元130用于进行单精度的浮点超越函数运算,以及进行基2的浮点指数或对数运算,浮点超越函数计算单元130的数目与向量寄存器内的浮点数据的数目相等。在一些示例中,例如,每个浮点超越函数计算单元130的结构都是相同的,均采用浮点cordic算法实现,例如图2所示。更为具体地,每个浮点超越函数计算单元130完成1个32位的单精度浮点数的指数对数计算。控制逻辑单元140用于控制一组数据选择器的数据选择,以及控制浮点超越函数计算单元130的操作功能选择。更为具体地,在一些示例中,控制逻辑单元140用于确定数据选择器120的数据选择通道和浮点超越函数计算单元130的输入端口的连接关系,以及浮点超越函数计算单元130的工作模式。在本专利技术的一个实施例中,具体地说,控制逻辑单元140主要用于执行以下步骤:步骤1:从保存浮点数的向量寄存器组110读出一组数据,每个向量寄存器包含多个浮点数。也即操作数据准备阶段,例如从一个向量寄存器中取出一组数据。步骤2:通过数据选择器120将每个浮点数分别提取出来,将不同浮点数送到每个浮点超越函数计算单元130。也即操作数据选择阶段,例如根据接收到的运算操作指令,以32位为单位组成送入到浮点超越函数计算单元130的操作数。步骤3:浮点超越函数计算单元130根据操作类型(指数函数/对数函数)进行单精度浮点数运算。其中,有多个单精度浮点数在同时进行运算操作。也即根据送入的操作编码,对32位单精度浮点数进行相应的cordic计算。步骤4:将各个浮点超越函数计算单元130的运算结果保存到一个向量寄存器中。换言之,即将每个浮点超越函数计算单元130得到的一个32位单精度浮点数组合成向量数据,写回到向量寄存器中。其中,对于上述的浮点超越函数计算单元130,当向量寄存器组120为256位宽时,浮点超越函数计算单元130并行执行8个单精度浮点数的运算。作为具体地示例,以下结合图2详细描述本专利技术上述实施例的实现向量浮点基2指数对数计算的装置100。如图2所示,以操作数为256位为例详细描述浮点数向量基2指数函数运算的操作流程,具体包括:从向量寄存器中取得一个256位的向量浮点数数据,计算模块由8个32位的浮点超越函数计算单元构成。也即,经过浮点数的数据选择器将选择好的每个32位的源操作数送到相应的浮点超越函数计算单元中去。控制逻辑单元根据送入的操作信息,给出每个浮点超越函数计算单元的控制信号。然后浮点超越函数计算单元根据控制信号对操作数做相应的操作,并且各个浮点超越函数计算单元的运算结果拼成256位输出。以下作为一个具体地示例,描述256位单精度浮点基2指数函数运算计算过本文档来自技高网...

【技术保护点】
一种实现向量浮点基2指数对数计算的装置,其特征在于,包括:向量寄存器组,包含至少一个向量寄存器,其中,每个向量寄存器保存有多个浮点数据;一组浮点数的数据选择器,用于将从所述向量寄存器中读出的数据改变顺序后送入浮点超越函数计算单元;一组浮点超越函数计算单元,用于进行单精度的浮点超越函数运算,以及进行基2的浮点指数或对数运算,所述浮点超越函数计算单元的数目与所述向量寄存器内的浮点数据的数目相等;以及控制逻辑单元,用于控制所述一组数据选择器的数据选择,以及控制所述浮点超越函数计算单元的操作功能选择。

【技术特征摘要】

【专利技术属性】
技术研发人员:何苗平
申请(专利权)人:北京国睿中数科技股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1