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

文档序号:8380722阅读:456来源:国知局
定点向量处理器及其向量数据访存控制方法
【技术领域】
[0001] 本发明涉及一种高性能、低功耗和低延迟的定点向量处理器,特别是涉及一种用 于在线时间序列预测的向量处理器。
【背景技术】
[0002] 目前,针对嵌入式高性能计算平台的在线机器学习已成为一个研宄热点,具有在 线数据处理功能的高性能、低功耗和低延迟的信息物理系统节点,将信息采集、智能信息处 理以及网络通信功能高度集成,被广泛的应用到环境、工业生产以及航天工程等领域。然 而,对于在线应用,非线性方法需要不断地加入新样本并且对模型进行更新,不断增加的样 本量和模型更新所需要的计算量大大增加,对嵌入式计算平台的性能提出了极大挑战。所 以,对于要求高性能、低延迟、并且具有大吞吐量数据处理能力的在线机器学习及应用,需 要高性能的计算平台。
[0003] 目前,现有的基于FPGA的计算系统通常是使用HDL语言设计,在RTL层次将特定 的算法映射到FPGA,这种专用加速引擎的方法有许多设计实例,实现了很高的计算加速比。
[0004] 但是,在使用HDL代码映射特定算法的设计虽然实现了很高的计算加速比,但是 通用性不强。主要体现在当目标算法发生变化时,大部分设计甚至是全部设计都需要手动 更改,而且灵活性很差,其设计复杂度和设计周期限制了此类设计方式的适用范围,即可扩 展性差;而且已有向量处理器是按照通用处理器的结构进行设计的,无法针对特定方法进 行优化,性能也不能满足在线计算的需求。

【发明内容】

[0005] 本发明是为了解决下述问题提出的:1)针对核方法的通用处理器软件实现计算 性能低、功耗和延迟大的问题;2)现有的向量处理器无法针对特定方法进行优化导致的通 用性不强和不能满足在线计算的需求的问题;3)现有的向量处理器无法兼顾计算性能和 FPGA片上计算资源消耗。现提出定点向量处理器及其向量数据访存控制方法。
[0006] 定点向量处理器,它包括程序计数器、微码存储器、向量存储器、算术逻辑单元和 数据控制单元;
[0007] 程序计数器1用于接收数据控制单元5发送的计数指令和微码存储器2发送的输 入目标地址微码指令,并输出计数值至微码存储器2 ;
[0008] 微码存储器2用于接收并存储程序计数器1发送的计数值,并输出通路索引L微 码指令至数据控制单元5,同时输出OP微码指令至算术逻辑单元4和数据控制单元5,输出 输入向量地址微码指令至向量存储器3,输出输入目标地址微码指令至程序计数器1和向 量存储器3 ;
[0009] 向量存储器3用于接收并存储微码存储器2发送的输入向量地址微码指令和目标 地址微码指令、数据控制单元5发送的输出向量数据指令和使能指令,并输出向量数据至 算术逻辑单元4 ;
[0010] 算术逻辑单元4用于根据微码存储器2发送的OP微码指令和数据控制单元5发 送的算术逻辑单元控制指令对接收的向量数据进行向量运算后得到向量,并将该向量输出 至数据控制单元5 ;
[0011] 数据控制单元5用于根据微码存储器2发送的通路索引L微码指令和OP微码指 令产生使能指令和输出向量数据指令,并输出至向量存储器3;还产生算术逻辑单元控制 指令,并输出至算术逻辑单元4使其进行指出函数运算、除法运算和开方运算;还产生计数 指令并输出至程序计数器1,使其计数。
[0012] 定点向量处理器的向量数据访存控制方法,该方法包括下述步骤:
[0013] 用于接收并存储程序计数器1发送的计数值,并输出通路索引L微码指令至数据 控制单元5,同时输出OP微码指令至算术逻辑单元4和数据控制单元5,输出输入向量地址 微码指令至向量存储器3,输出输入目标地址微码指令至程序计数器1和向量存储器3的步 骤;
[0014] 用于接收并存储微码存储器2发送的输入向量地址微码指令和目标地址微码指 令、数据控制单元5发送的输出向量数据指令和使能指令,并输出向量数据至算术逻辑单 元4的步骤;
[0015] 用于根据微码存储器2发送的OP微码指令和数据控制单元5发送的算术逻辑单 元控制指令对接收的向量数据进行向量运算后得到向量,并将该向量输出至数据控制单元 5的步骤;
[0016] 用于根据微码存储器2发送的通路索引L微码指令和OP微码指令产生使能指令 和输出向量数据指令,并输出至向量存储器3;还产生算术逻辑单元控制指令,并输出至算 术逻辑单元4使其进行指出函数运算、除法运算和开方运算;还产生计数指令并输出至程 序计数器1,使其计数的步骤。
[0017] 有益效果:本发明设计的定点向量处理器是基于FPGA设计的通用性和可扩展性 较强的向量处理器。
[0018] 本发明的创新之处在于:
[0019] 1)该处理器采用的是一种新的、可升级的向量处理器结构,采用硬件描述语言 (HDL)设计,具有很强的通用性,可配置为浮点或可变字长的定点向量处理器。
[0020] 2)可以根据计算需要定义通路数量为8~128,计算引擎总宽度最高可达4096 位。针对机器学习方法的计算需求的对通路设计进行了优化,提高了计算性能。并可通过 异构ALU设计,每个数据通路的ALU结构可以根据计算需要灵活的改变,实现指令集的灵活 配置,取得计算性能、功耗和计算资源消耗的平衡。
[0021] 3)通过编写微码程序,基于该向量处理器可以实现多种机器学习方法,解决了传 统FPGA计算设计中通用性、可扩展性差的问题,设计的可重用性大大增强。
[0022] 4)在满足计算精度要求的前提下,该定点向量处理器与浮点向量处理器、CPU相 比,可分别获得2倍和9倍计算性能提升,功耗降为1/3和1/40,计算延迟降为1/2和1/9。
【附图说明】
[0023] 图1本发明所述的定点向量处理器的结构示意图;
[0024] 图2为实施方式四中的算术逻辑单元2~算术逻辑单元N的内部结构图;
[0025] 图3为实施方式四中的算术逻辑单元1的结构示意图;
[0026] 图4为实施例中的定点向量处理器的微码存储器和向量存储器的结构示意图;
[0027] 图5为实施例中的定点向量处理器的简单指令和流水指令时序对比图。
【具体实施方式】
【具体实施方式】 [0028] 一、参照图1具体说明本实施方式,本实施方式所述的定点向量处 理器,它包括程序计数器1、微码存储器2、向量存储器3、算术逻辑单元4和数据控制单元 5 ;
[0029] 程序计数器1用于接收数据控制单元5发送的计数指令和微码存储器2发送的输 入目标地址微码指令,并输出计数值至微码存储器2 ;
[0030] 微码存储器2用于接收并存储程序计数器1发送的计数值,并输出通路索引L微 码指令至数据控制单元5,同时输出OP微码指令至算术逻辑单元4和数据控制单元5,输出 输入向量地址微码指令至向量存储器3,输出输入目标地址微码指令至程序计数器1和向 量存储器3 ;
[0031] 向量存储器3用于接收并存储微码存储器2发送的输入向量地址微码指令和目标 地址微码指令、数据控制单元5发送的输出向量数据指令和使能指令,并输出向量数据至 算术逻辑单元4 ;
[0032] 算术逻辑单元4用于根据微码存储器2发送的OP微码指令和数据控制单元5发 送的算术逻辑单元控制指令对接收的向量数据进行向量运算后得到向量,并将该向量输出 至数据控制单元5 ;
[0033] 数据控制单元5用于根据微码存储器2发送的通路索引L微码指令和OP微码指 令产生使能指令和输出向量数据指令,并输出至向量存储器3;还产生算术逻辑单元控制 指令,并输出至算术逻辑单元4使其进行指出函数运算、除法运算和开方运算;还产生计数 指令并输出至程序计数器1,使其计数。
[0034] 参照图1所示,通路索引L微码指令对应图中的L ;0P微码指令对应图
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1