定点向量处理器及其向量数据访存控制方法技术

技术编号:11596920 阅读:96 留言:0更新日期:2015-06-12 07:25
定点向量处理器及其向量数据访存控制方法,涉及一种用于在线时间序列预测的向量处理器。是为了解决现有的向量处理器无法针对特定方法进行优化导致的通用性不强和不能满足在线计算的需求的问题。本发明专利技术所述的定点向量处理器,包括程序计数器、微码存储器、向量存储器、算术逻辑单元和数据控制单元。通过前述定点向量处理器的各个模块之间的信号处理流程,构成完整的定点向量处理器。通过异构ALU设计,每个数据通路的ALU结构可以根据计算需要灵活的改变,实现指令集的灵活配置。适用于复杂计算需求的场合。

【技术实现步骤摘要】

本专利技术涉及一种高性能、低功耗和低延迟的定点向量处理器,特别是涉及一种用于在线时间序列预测的向量处理器。
技术介绍
目前,针对嵌入式高性能计算平台的在线机器学习已成为一个研究热点,具有在线数据处理功能的高性能、低功耗和低延迟的信息物理系统节点,将信息采集、智能信息处理以及网络通信功能高度集成,被广泛的应用到环境、工业生产以及航天工程等领域。然而,对于在线应用,非线性方法需要不断地加入新样本并且对模型进行更新,不断增加的样本量和模型更新所需要的计算量大大增加,对嵌入式计算平台的性能提出了极大挑战。所以,对于要求高性能、低延迟、并且具有大吞吐量数据处理能力的在线机器学习及应用,需要高性能的计算平台。目前,现有的基于FPGA的计算系统通常是使用HDL语言设计,在RTL层次将特定的算法映射到FPGA,这种专用加速引擎的方法有许多设计实例,实现了很高的计算加速比。但是,在使用HDL代码映射特定算法的设计虽然实现了很高的计算加速比,但是通用性不强。主要体现在当目标算法发生变化时,大部分设计甚至是全部设计都需要手动更改,而且灵活性很差,其设计复杂度和设计周期限制了此类设计方式的适用范围,即可扩展性差;而且已有向量处理器是按照通用处理器的结构进行设计的,无法针对特定方法进行优化,性能也不能满足在线计算的需求。
技术实现思路
本专利技术是为了解决下述问题提出的:1)针对核方法的通用处理器软件实现计算性能低、功耗和延迟大的问题;2)现有的向量处理器无法针对特定方法进行优化导致的通用性不强和不能满足在线计算的需求的问题;3)现有的向量处理器无法兼顾计算性能和FPGA片上计算资源消耗。现提出定点向量处理器及其向量数据访存控制方法。定点向量处理器,它包括程序计数器、微码存储器、向量存储器、算术逻辑单元和数据控制单元;程序计数器1用于接收数据控制单元5发送的计数指令和微码存储器2发送的输入目标地址微码指令,并输出计数值至微码存储器2;微码存储器2用于接收并存储程序计数器1发送的计数值,并输出通路索引L微码指令至数据控制单元5,同时输出OP微码指令至算术逻辑单元4和数据控制单元5,输出输入向量地址微码指令至向量存储器3,输出输入目标地址微码指令至程序计数器1和向量存储器3;向量存储器3用于接收并存储微码存储器2发送的输入向量地址微码指令和目标地址微码指令、数据控制单元5发送的输出向量数据指令和使能指令,并输出向量数据至算术逻辑单元4;算术逻辑单元4用于根据微码存储器2发送的OP微码指令和数据控制单元5发送的算术逻辑单元控制指令对接收的向量数据进行向量运算后得到向量,并将该向量输出至数据控制单元5;数据控制单元5用于根据微码存储器2发送的通路索引L微码指令和OP微码指令产生使能指令和输出向量数据指令,并输出至向量存储器3;还产生算术逻辑单元控制指令,并输出至算术逻辑单元4使其进行指出函数运算、除法运算和开方运算;还产生计数指令并输出至程序计数器1,使其计数。定点向量处理器的向量数据访存控制方法,该方法包括下述步骤:用于接收并存储程序计数器1发送的计数值,并输出通路索引L微码指令至数据控制单元5,同时输出OP微码指令至算术逻辑单元4和数据控制单元5,输出输入向量地址微码指令至向量存储器3,输出输入目标地址微码指令至程序计数器1和向量存储器3的步骤;用于接收并存储微码存储器2发送的输入向量地址微码指令和目标地址微码指令、数据控制单元5发送的输出向量数据指令和使能指令,并输出向量数据至算术逻辑单元4的步骤;用于根据微码存储器2发送的OP微码指令和数据控制单元5发送的算术逻辑单元控制指令对接收的向量数据进行向量运算后得到向量,并将该向量输出至数据控制单元5的步骤;用于根据微码存储器2发送的通路索引L微码指令和OP微码指令产生使能指令和输出向量数据指令,并输出至向量存储器3;还产生算术逻辑单元控制指令,并输出至算术逻辑单元4使其进行指出函数运算、除法运算和开方运算;还产生计数指令并输出至程序计数器1,使其计数的步骤。有益效果:本专利技术设计的定点向量处理器是基于FPGA设计的通用性和可扩展性较强的向量处理器。本专利技术的创新之处在于:1)该处理器采用的是一种新的、可升级的向量处理器结构,采用硬件描述语言(HDL)设计,具有很强的通用性,可配置为浮点或可变字长的定点向量处理器。2)可以根据计算需要定义通路数量为8~128,计算引擎总宽度最高可达4096位。针对机器学习方法的计算需求的对通路设计进行了优化,提高了计算性能。并可通过异构ALU设计,每个数据通路的ALU结构可以根据计算需要灵活的改变,实现指令集的灵活配置,取得计算性能、功耗和计算资源消耗的平衡。3)通过编写微码程序,基于该向量处理器可以实现多种机器学习方法,解决了传统FPGA计算设计中通用性、可扩展性差的问题,设计的可重用性大大增强。4)在满足计算精度要求的前提下,该定点向量处理器与浮点向量处理器、CPU相比,可分别获得2倍和9倍计算性能提升,功耗降为1/3和1/40,计算延迟降为1/2和1/9。附图说明图1本专利技术所述的定点向量处理器的结构示意图;图2为实施方式四中的算术逻辑单元2~算术逻辑单元N的内部结构图;图3为实施方式四中的算术逻辑单元1的结构示意图;图4为实施例中的定点向量处理器的微码存储器和向量存储器的结构示意图;图5为实施例中的定点向量处理器的简单指令和流水指令时序对比图。具体实施方式具体实施方式一、参照图1具体说明本实施方式,本实施方式所述的定点向量处理器,它包括程序计数器1、微码存储器2、向量存储器3、算术逻辑单元4和数据控制单元5;程序计数器1用于接收数据控制单元5发送的计数指令和微码存储器2发送的输入目标地址微码指令,并输出计数值至微码存储器2;微码存储器2用于接收并存储程序计数器1发送的计数值,并输出通路索引L微码指令至数据控制单元5,同时输出OP微码指令至算术逻辑单元4和数据控制单元5,输出输入向量地址微码指令至向量存储器3,输出输入目标地址微码指令至程序计数器1和向量存储器3;向量存储器3用于接收并存储微码存储器2发送的输入向量地址微码指令和目标地址微码指令、数据控制单元5发送的输出向量数据指令和使能指令,并输出向量数据至算术逻辑单元4;算术逻辑单元4用于根据微码存储器2发送的OP微码指令和数据控制单元5发送的算术逻辑单元控制指令对接收的向量数据进行向量运算后得到向量,并将该向量输出至本文档来自技高网...

【技术保护点】
定点向量处理器,其特征在于,它包括程序计数器(1)、微码存储器(2)、向量存储器(3)、算术逻辑单元(4)和数据控制单元(5);程序计数器(1)用于接收数据控制单元(5)发送的计数指令和微码存储器(2)发送的输入目标地址微码指令,并输出计数值至微码存储器(2);微码存储器(2)用于接收并存储程序计数器(1)发送的计数值,并输出通路索引L微码指令至数据控制单元(5),同时输出OP微码指令至算术逻辑单元(4)和数据控制单元(5),输出输入向量地址微码指令至向量存储器(3),输出输入目标地址微码指令至程序计数器(1)和向量存储器(3);向量存储器(3)用于接收并存储微码存储器(2)发送的输入向量地址微码指令和目标地址微码指令、数据控制单元(5)发送的输出向量数据指令和使能指令,并输出向量数据至算术逻辑单元(4);算术逻辑单元(4)用于根据微码存储器(2)发送的OP微码指令和数据控制单元(5)发送的算术逻辑单元控制指令对接收的向量数据进行向量运算后得到向量,并将该向量输出至数据控制单元(5);数据控制单元(5)用于根据微码存储器(2)发送的通路索引L微码指令和OP微码指令产生使能指令和输出向量数据指令,并输出至向量存储器(3);还产生算术逻辑单元控制指令,并输出至算术逻辑单元(4)使其进行指出函数运算、除法运算和开方运算;还产生计数指令并输出至程序计数器(1),使其计数。...

【技术特征摘要】
1.定点向量处理器,其特征在于,它包括程序计数器(1)、微码存储器(2)、向量存储
器(3)、算术逻辑单元(4)和数据控制单元(5);
程序计数器(1)用于接收数据控制单元(5)发送的计数指令和微码存储器(2)发送的
输入目标地址微码指令,并输出计数值至微码存储器(2);
微码存储器(2)用于接收并存储程序计数器(1)发送的计数值,并输出通路索引L微
码指令至数据控制单元(5),同时输出OP微码指令至算术逻辑单元(4)和数据控制单元(5),
输出输入向量地址微码指令至向量存储器(3),输出输入目标地址微码指令至程序计数器(1)
和向量存储器(3);
向量存储器(3)用于接收并存储微码存储器(2)发送的输入向量地址微码指令和目标
地址微码指令、数据控制单元(5)发送的输出向量数据指令和使能指令,并输出向量数据至
算术逻辑单元(4);
算术逻辑单元(4)用于根据微码存储器(2)发送的OP微码指令和数据控制单元(5)
发送的算术逻辑单元控制指令对接收的向量数据进行向量运算后得到向量,并将该向量输出
至数据控制单元(5);
数据控制单元(5)用于根据微码存储器(2)发送的通路索引L微码指令和OP微码指
令产生使能指令和输出向量数据指令,并输出至向量存储器(3);还产生算术逻辑单元控制
指令,并输出至算术逻辑单元(4)使其进行指出函数运算、除法运算和开方运算;还产生计
数指令并输出至程序计数器(1),使其计数。
2.根据权利要求1所述的定点向量处理器,其特征在于,所述向量存储器(3)包括向
量存储器1、向量存储器2、……、向量存储器N;算术逻辑单元(4)包括算术逻辑单元1、
算术逻辑单元2、……、算术逻辑单元N;其中,N为大于等于1小于等于128的整数;向
量存储器1与算术逻辑单元1连接并构成一条数据通路,且向量存储器1和算术逻辑单元1
具有相同的数据位宽;向量存储器2与算术逻辑单元2连接并构成一条数据通路,且向量存
储器2和算术逻辑单元2具有相同的数据位宽;……;向量存储器N与算术逻辑单元N连接
并构成一条数据通路,且向量存储器N和算术逻辑单元N具有相同的数据位宽。
3.根据权利要求1所述的定点向量处理器,其特征在于,向量存储器(3)和算术逻辑
单元(4)构成的数据通路数量为1路~128路。
4.根据权利要求1所述的定点向量处理器,其特征在于,算术逻辑单元(4)中的算术
逻辑单元2至算术逻辑单元N具有相同的结构,即均包括一个定点加/减法器(4-1)和一个
定点乘法器(4-2);
定点加/减法器(4-1)用于接收向量存储器(3)发送的向量数据并对其进行加/减运算后
输出运算结果至数据控制单元(5);
定点乘法器(4-2)用于接收向量存储器(3)发送的向量数据并对其进行乘法运算后输
出运算结果至数据控制单元(5);
算术逻辑单元1中包括一个定点加/减法器(4-1)和一个定点乘法器(4-2)、定点指数函
数运算单元(4-3)、定点除法器(4-4)、定点开方运算单元(4-5)和向量点积加法器树单元
(4-6);
...

【专利技术属性】
技术研发人员:庞业勇王少军何永福刘大同彭宇彭喜元
申请(专利权)人:哈尔滨工业大学
类型:发明
国别省市:黑龙江;23

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

1