一种算法加速的硬件架构及方法技术

技术编号:33088365 阅读:34 留言:0更新日期:2022-04-15 10:56
本发明专利技术公开了一种算法加速的硬件架构及方法,其硬件架构包括:寄存器阵列,用于存放控制参数、固定参数以及运算结果;控制器,用于控制运算器的运算法则,以及控制运算器读取寄存器阵列的值和存取器中的值;运算器,用于根据控制器给出运算法则进行相应的乘法、加法、减法及混合操作;存取器,用于存放运算的数据。这样,通过配置控制器和寄存器阵列,可以完成不同长度的乘累加,特征点间的距离以及求和运算等运算,加速指纹算法提取特征和匹配中各种算法;通过设置2块SRAM,在不增加整体芯片的面积下提升指纹算法的性能。该设计配置灵活,通用性强,占用面积小,可以对不同的指纹算法进行加速。加速。加速。

【技术实现步骤摘要】
一种算法加速的硬件架构及方法


[0001]本专利技术涉及算法
,尤其涉及一种算法加速的硬件架构及方法。

技术介绍

[0002]随着经济的快速发展以及信息技术应用,计算效率至关重要,而算法加速应用于互联网,电子商务,金融,安防等各个领域中,针对指纹算法领域,保护个人隐私变得越来越重要,对身份验证和信息安全加密的可靠性要求越来越高。传统的身份验证方式主要有基于令牌或者基于密码。这些传统的身份验证方式容易丢失、遗忘以及破解,从而被不法分子冒用身份,给用户造成隐私泄露,进而可能造成财产损失。因此传统的身份验证方式已经难以满足当前信息安全和社会发展的需要。生物识别技术根据人体的生理特征即指纹、人脸、虹膜等进行身份识别,由于其便利,即不需要特意携带或者记忆;安全性高,即不易丢失遗忘;差异化,即每个人都有独特的与其他人不同的生物特征等特点逐渐成为传统身份验证方案的重要补充,广泛应用于金融,安防等领域。
[0003]相较于人脸,虹膜等其他的生物识别方式,指纹图像拥有非常好的独特性,即每个手指的指纹都是不一样的;稳定性,即指纹纹路不会轻易改变;便利性,即指纹采集非常方便,成本也比较低廉等优良特性,使得指纹识别成为当前市场中应用最为广泛,也是最为成熟的生物识别技术。早在几百年前,人们的商业贸易、刑事判罚等生产生活中就应用了指纹识别。不过当时的指纹识别系统主要是通过仔细的人工观察分析来判断是否是同一个手指。这种人力实现的方式容易受到人的主观干扰,难以保证其安全可靠性,并且效率低下,但是也极大促进了指纹识别的应用。随着人类信息技术的发展,出现了可以运算程序的计算机和手机,自然就出现了指纹识别算法,这样指纹识别也逐渐转换为更加安全高效的自动指纹识别系统。
[0004]目前,大部分指纹算法主要包括指纹特征提取,指纹特征融合和指纹特征匹配三个部分,其中指纹特征提取一般分为以下几个步骤,指纹图像平滑/归一化,图像分割,方向场计算,图像增强,二值化,细化以及特征点提取算法,这些算法中使用了大量乘累加,求和等操作,指纹特征融合和匹配部分主要使用指纹特征匹配算法,而匹配算法中计算两个特征点之间的距离是必不可少的,当然也会使用求和以及求均值等操作。现有的指纹算法加速实现技术方案中,大部分还是软件,即使有硬件加速也只是针对特定一些步骤算法进行加速,并且一般硬件面积比较大。

技术实现思路

[0005]针对现有技术中的缺陷,本专利技术的目的是提供一种算法加速的硬件架构及方法。
[0006]本专利技术所提供的一种算法加速的硬件架构,包括:寄存器阵列,用于存放控制参数、固定参数以及运算结果;控制器,用于控制运算器的运算法则,以及控制运算器读取寄存器阵列的值和存取器中的值;运算器,用于根据控制器给出运算法则进行相应的乘法、加法、减法及混合操作;存取器,用于存放运算的数据;所述寄存器阵列、控制器、运算器依次
双向电性连接,所述存取器分别与所述控制器和运算器相连接。
[0007]所述存取器包括2个并行的静态随机存取存储器,在同一周期内进行读取和缓存操作。所述寄存器阵列包括控制寄存器,用于配置数组运算的长度,两个数组间的运算规则,运算结果间的运算规则以及数据符号位等参数;数组地址寄存器,用于存放数组对应的地址;固定参数寄存器,用于存放乘累加运算时的固定参数;运算结果寄存器,用于存放运算的最终结果。
[0008]所述数组地址寄存器包括数组1起始地址寄存器,数组1偏移地址寄存器,数组2起始地址寄存器,数组2偏移地址寄存器。
[0009]所述控制寄存器第0位用来启动运算,第1位用来使能固定参数参与运算,第2位用来设置输入数据符号位,第3

6位共4位用来设置数组运算长度,第7

8位共2位用来设置数组1和2对应数据的运算法则,第9

10位共2位用来设置数组1和2对应数据运算后结果的运算法则,第11位设置数组第1个数据间结果和数组第2个数据间结果的运算法则,第12位设置数组第3个数据间结果和数组第4个数据间结果的运算法则,第13位设置数组第5个数据间结果和数组第6个数据间结果的运算法则,第14位设置数组第7个数据间结果和数组第8个数据间结果的运算法则。
[0010]所述数组1中数据对应的地址有9个,第一个数据对应的地址是数组1起始地址寄存器,第二个数据对应的地址是数组1起始地址寄存器加上数组1偏移地址寄存器1低16位,第三个数据对应的地址是数组1起始地址寄存器加上数组1偏移地址寄存器1高16位,第四个数据对应的地址是数组1起始地址寄存器加上数组1偏移地址寄存器2低16位,第五个数据对应的地址是数组1起始地址寄存器加上数组1偏移地址寄存器2高16位,第六个数据对应的地址是数组1起始地址寄存器加上数组1偏移地址寄存器3低16位,第七个数据对应的地址是数组1起始地址寄存器加上数组1偏移地址寄存器3高16位,第八个数据对应的地址是数组1起始地址寄存器加上数组1偏移地址寄存器4低16位,第九个数据对应的地址是数组1起始地址寄存器加上数组1偏移地址寄存器4高16位;数组2种数据对应的地址也有9个,第一个数据对应的地址是数组2起始地址寄存器,第二个数据对应的地址是数组2起始地址寄存器加上数组2偏移地址寄存器1低16位,第三个数据对应的地址是数组2起始地址寄存器加上数组2偏移地址寄存器1高16位,第四个数据对应的地址是数组2起始地址寄存器加上数组2偏移地址寄存器2低16位,第五个数据对应的地址是数组2起始地址寄存器加上数组2偏移地址寄存器2高16位,第六个数据对应的地址是数组2起始地址寄存器加上数组2偏移地址寄存器3低16位,第七个数据对应的地址是数组2起始地址寄存器加上数组2偏移地址寄存器3高16位,第八个数据对应的地址是数组2起始地址寄存器加上数组2偏移地址寄存器4低16位,第九个数据对应的地址是数组2起始地址寄存器加上数组2偏移地址寄存器4高16位。
[0011]所述固定参数寄存器为3个,3个固定参数寄存器用于存放9个固定参数,每个固定参数都是8位数据。
[0012]所述控制器根据控制寄存器及其他寄存器的设置,读取数组地址寄存器对应的数据并控制运算器完成不同长度数组的乘累加、距离以及求和等运算,当控制寄存器的第1位设置为1时即使用固定参数,则控制器只读取数组1地址对应的数据参与运算,否则读取数组2地址对应的数据参与运算。
[0013]本专利技术所提供的一种基于硬件架构的算法加速方法,包括如下步骤:
[0014]步骤S1,将控制参数、固定参数以及运算结果存放于寄存器阵列中;
[0015]步骤S2,通过控制器控制运算器的运算法则,以及控制运算器读取寄存器阵列的值和存取器中的值;
[0016]步骤S3,根据控制器给出运算法则在运算器中进行相应的乘法、加法、减法及混合操作;
[0017]步骤S4,在存取器中存放运算的数据。
[0018]所述步骤S4包括:设置2个并行的静态随机存取存储器,在同一周期内进行读取和缓存操作。
[0019]本发本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种算法加速的硬件架构,其特征在于,包括:寄存器阵列,用于存放控制参数、固定参数以及运算结果;控制器,用于控制运算器的运算法则,以及控制运算器读取寄存器阵列的值和存取器中的值;运算器,用于根据控制器给出运算法则进行相应的乘法、加法、减法及混合操作;存取器,用于存放运算的数据;所述寄存器阵列、控制器、运算器依次双向电性连接,所述存取器分别与所述控制器和运算器相连接。2.如权利要求1所述的算法加速的硬件架构,其特征在于,所述存取器包括2个并行的静态随机存取存储器,在同一周期内进行读取和缓存操作。3.如权利要求2所述的算法加速的硬件架构,其特征在于,所述寄存器阵列包括控制寄存器,用于配置数组运算的长度,两个数组间的运算规则,运算结果间的运算规则以及数据符号位等参数;数组地址寄存器,用于存放数组对应的地址;固定参数寄存器,用于存放乘累加运算时的固定参数;运算结果寄存器,用于存放运算的最终结果。4.如权利要求3所述的算法加速的硬件架构,其特征在于,所述数组地址寄存器包括数组1起始地址寄存器,数组1偏移地址寄存器,数组2起始地址寄存器,数组2偏移地址寄存器。5.如权利要求4所述的算法加速的硬件架构,其特征在于,所述控制寄存器第0位用来启动运算,第1位用来使能固定参数参与运算,第2位用来设置输入数据符号位,第3

6位共4位用来设置数组运算长度,第7

8位共2位用来设置数组1和2对应数据的运算法则,第9

10位共2位用来设置数组1和2对应数据运算后结果的运算法则,第11位设置数组第1个数据间结果和数组第2个数据间结果的运算法则,第12位设置数组第3个数据间结果和数组第4个数据间结果的运算法则,第13位设置数组第5个数据间结果和数组第6个数据间结果的运算法则,第14位设置数组第7个数据间结果和数组第8个数据间结果的运算法则。6.如权利要求4或5所述的算法加速的硬件架构,其特征在于,所述数组1中数据对应的地址有9个,第一个数据对应的地址是数组1起始地址寄存器,第二个数据对应的地址是数组1起始地址寄存器加上数组1偏移地址寄存器1低16位,第三个数据对应的地址是数组1起始地址寄存器加上数组1偏移地址寄存器1高16位,第四个数据对应的地址是数组1起始地址寄存器加上数组1偏移地址寄存器2低16位,第五个数据对应的地址是数组1起始地...

【专利技术属性】
技术研发人员:刘红明周玉洁王大永
申请(专利权)人:上海爱信诺航芯电子科技有限公司
类型:发明
国别省市:

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

1