CN114900486B - 基于fpga的多算法核调用方法及系统 - Google Patents

基于fpga的多算法核调用方法及系统 Download PDF

Info

Publication number
CN114900486B
CN114900486B CN202210498831.0A CN202210498831A CN114900486B CN 114900486 B CN114900486 B CN 114900486B CN 202210498831 A CN202210498831 A CN 202210498831A CN 114900486 B CN114900486 B CN 114900486B
Authority
CN
China
Prior art keywords
data
task number
association
algorithm
packet
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.)
Active
Application number
CN202210498831.0A
Other languages
English (en)
Other versions
CN114900486A (zh
Inventor
郏晖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiangsu Xinzhi Information Technology Co ltd
Original Assignee
Jiangsu Xinzhi Information Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Jiangsu Xinzhi Information Technology Co ltd filed Critical Jiangsu Xinzhi Information Technology Co ltd
Priority to CN202210498831.0A priority Critical patent/CN114900486B/zh
Publication of CN114900486A publication Critical patent/CN114900486A/zh
Application granted granted Critical
Publication of CN114900486B publication Critical patent/CN114900486B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

基于FPGA的多算法核调用方法及系统,通过初始化关联控制单元的关联ID表,判断输入数据缓存区是否为空,若输入数据缓存区为空,则继续查询,若输入数据缓存区不为空,通过关联控制单元从数据缓存区读取作业分组数据包;对作业分组数据包的报头进行解析,获取运算模式,若运算模式为ECB,则将作业分组数据包的数据送入待输入数据队列;通过关联控制单元判断是否有运算结束应答:若存在运算结束应答,读取关联输入数据队列送入算法核;算法核进行CBC模式运算;若不存在运算结束应答,读取待输入数据队列送入算法核,算法核进行ECB模式运算。本发明基于FPGA硬件实现多算法核调度,提高密码设备的安全性和整体性能。

Description

基于FPGA的多算法核调用方法及系统
技术领域
本发明涉及密码技术领域,具体涉及一种基于FPGA的多算法核调用方法及系统。
背景技术
目前,密码产品为实现高性能加解密服务通常会提供多个算法核,同时单台密码设备又会为多个服务器、多个应用提供算法调用服务,常会出现M调用任务,N算法核(M>N),每个任务不能独享一个算法核的情况。
另外,每个任务执行的加密算法运算模式也不同,有的要求CBC模式,有的要求ECB模式,CBC模式具备上下文关联关系,ECB模式不具备上下文关联关系,多个加解密报文数据流在分组、分包后就会出现堵塞、竞争、乱流等现象,因此需要设计一种调度方法,实现多任务对多算法核的合理高效调用。
现有技术中,主要是通过优化密码产品驱动和接口软件,采用异步接口、多队列、进程锁等设计技术,实现对单一算法核的单独读写操作,满足多任务调用多算法核运算正确性和使用高效性。但软件实现的调度方式在性能和安全性两方面都存在一定问题。
发明内容
为此,本发明提供一种基于FPGA的多算法核调用方法及系统,以解决传统调度方案存在的性能差和安全性低的问题。
为了实现上述目的,本发明提供如下技术方案:基于FPGA的多算法核调用方法,包括:
S001、初始化关联控制单元的关联ID表,所述关联ID表的运行参数包括任务号、算法IP核、运算模式和分组序号;
S002、判断输入数据缓存区是否为空,若所述输入数据缓存区为空,则继续查询,若所述输入数据缓存区不为空,则转到S003;
S003、通过关联控制单元从所述数据缓存区读取作业分组数据包,转到S004;
S004、对所述作业分组数据包的报头进行解析,获取运算模式,若运算模式为ECB,则转到S005处理;
S005、将所述作业分组数据包的数据送入待输入数据队列,转到S006;
S006、通过关联控制单元判断是否有运算结束应答:
若存在运算结束应答,转到S301:读取关联输入数据队列送入算法核;S302:算法核进行CBC模式运算;
若不存在运算结束应答,转到S201:读取待输入数据队列送入算法核;S202:算法核进行ECB模式运算。
作为基于FPGA的多算法核调用方法优选方案,步骤S004中,若运算模式为CBC,则转到S101处理;
S101、通过第一识别开关将所述作业分组数据包的任务号与所述关联ID表进行比对,若所述关联ID表中不存在和所述作业分组数据包的任务号相同的任务号,则转到S102;
S102、刷新所述关联ID表,将所述作业分组数据包的任务号追加至所述关联ID表中,转到S005。
作为基于FPGA的多算法核调用方法优选方案,步骤S101中,若所述关联ID表中存在和所述作业分组数据包的任务号相同的任务号,则转到S103;
S103、将所述作业分组数据包的数据送入关联数据队列,转到S006。
作为基于FPGA的多算法核调用方法优选方案,还包括:
S007、当算法核运算结束,输出运算结束应答,转到S008;
S008、通过关联控制单元接收应答和任务号。
作为基于FPGA的多算法核调用方法优选方案,还包括:
S009、通过第二识别开关对所述关联ID表进行遍历,查询所述关联ID表是否存在相同任务号,若所述关联ID表存在相同任务号,转到S301;若所述关联ID表不存在相同任务号,转到S010:结束调用流程。
本发明还提供一种基于FPGA的多算法核调用系统,包括:
初始化模块,用于初始化关联控制单元的关联ID表,所述关联ID表的运行参数包括任务号、算法IP核、运算模式和分组序号;
缓存区数据判断模块,用于判断输入数据缓存区是否为空,若所述输入数据缓存区为空,则继续查询;
数据包读取模块,用于若所述输入数据缓存区不为空,通过关联控制单元从所述数据缓存区读取作业分组数据包;
运算模式解析模块,用于对所述作业分组数据包的报头进行解析,获取运算模式;
待输入数据模块,用于若运算模式为ECB,将所述作业分组数据包的数据送入待输入数据队列;
结束应答判断模块,用于通过关联控制单元判断是否有运算结束应答;
CBC运算模块,用于若所述结束应答判断模块存在运算结束应答,读取关联输入数据队列送入算法核;算法核进行CBC模式运算;
ECB运算模块,用于若所述结束应答判断模块不存在运算结束应答,读取待输入数据队列送入算法核;算法核进行ECB模式运算。
作为基于FPGA的多算法核调用系统优选方案,还包括任务号比对模块,用于若运算模式为CBC,通过第一识别开关将所述作业分组数据包的任务号与所述关联ID表进行比对;
关联ID增加模块,用于若所述关联ID表中不存在和所述作业分组数据包的任务号相同的任务号,刷新所述关联ID表,将所述作业分组数据包的任务号追加至所述关联ID表中。
作为基于FPGA的多算法核调用系统优选方案,还包括:
关联数据模块,用于若所述关联ID表中存在和所述作业分组数据包的任务号相同的任务号,将所述作业分组数据包的数据送入关联数据队列。
作为基于FPGA的多算法核调用系统优选方案,还包括:
结束应答输出模块,用于当算法核运算结束,输出运算结束应答,通过关联控制单元接收应答和任务号。
作为基于FPGA的多算法核调用系统优选方案,还包括遍历查询模块,用于通过第二识别开关对所述关联ID表进行遍历,查询所述关联ID表是否存在相同任务号,若所述关联ID表存在相同任务号,转到CBC运算模块;若所述关联ID表不存在相同任务号,结束调用流程。
本发明具有如下优点:通过初始化关联控制单元的关联ID表,关联ID表的运行参数包括任务号、算法IP核、运算模式和分组序号;判断输入数据缓存区是否为空,若输入数据缓存区为空,则继续查询,若输入数据缓存区不为空,通过关联控制单元从数据缓存区读取作业分组数据包;对作业分组数据包的报头进行解析,获取运算模式,若运算模式为ECB,则将作业分组数据包的数据送入待输入数据队列;通过关联控制单元判断是否有运算结束应答:若存在运算结束应答,读取关联输入数据队列送入算法核;算法核进行CBC模式运算;若不存在运算结束应答,读取待输入数据队列送入算法核,算法核进行ECB模式运算。本发明基于FPGA硬件实现多算法核调度,提高了密码设备的安全性:一方面整个算法调用和运算流程由FPGA实现固化不可修改;另一方面关键参数和中间态结果只在FPGA内部保存,不出现在系统内存中,不会被软件篡改;FPGA硬件实现多算法核调度提高了密码设备整体性能,一是算法调用全硬件实现,不占用CPU资源;二是FPGA实现可充分利用硬件潜力,实现对多算法核全速、流水线作业;本发明采用两级识别机制充分考虑了输入任务作业的随机交叉性和算法核间的异构性,即保证了具有上下文相关的作业分组处理时的正确性,同时,其他作业分组可以在关联业务作业分组的流水处理过程中,进入流水处理,实现了数据处理的不断线。
附图说明
为了更清楚地说明本发明的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引申获得其他的实施附图。
本说明书所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容能涵盖的范围内。
图1为本发明实施例1提供的基于FPGA的多算法核调用方法流程示意图;
图2为本发明实施例1提供的FPGA逻辑功能示意图;
图3为本发明实施例2提供的基于FPGA的多算法核调用系统示意图。
具体实施方式
以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
由于CBC模式具备上下文关联关系,ECB模式不具备上下文关联关系,多个加解密报文数据流在分组、分包后就会出现堵塞、竞争、乱流等现象,软件实现的调度方式在性能和安全性两方面都存在一定问题。
有鉴于此,本发明通过在FPGA可编程逻辑芯片上实现任务调度和多算法核运算一体化设计。任务调度包括算法核的工作状态进行判断,确定任务调度的时间顺序,以及任务与算法核的调度关系等;算法核支持ECB模式和CBC模式。一方面可以实现对多任务数据流的实时高速加密处理,另一方面充分利用硬件资源实现对关键参数和中间结果缓存,最终提高了密码产品的整体安全性和性能。以下为本发明技术方案的具体实施情况。
实施例1
参见图1和图2,本发明实施例1提供一种基于FPGA的多算法核调用方法,包括:
S001、初始化关联控制单元的关联ID表,所述关联ID表的运行参数包括任务号、算法IP核、运算模式和分组序号;
S002、判断输入数据缓存区是否为空,若所述输入数据缓存区为空,则继续查询,若所述输入数据缓存区不为空,则转到S003;
S003、通过关联控制单元从所述数据缓存区读取作业分组数据包,转到S004;
S004、对所述作业分组数据包的报头进行解析,获取运算模式,若运算模式为ECB,则转到S005处理;
S005、将所述作业分组数据包的数据送入待输入数据队列,转到S006;
S006、通过关联控制单元判断是否有运算结束应答:
若存在运算结束应答,转到S301:读取关联输入数据队列送入算法核;S302:算法核进行CBC模式运算;
若不存在运算结束应答,转到S201:读取待输入数据队列送入算法核;S202:算法核进行ECB模式运算。
在本实施例,步骤S004中,若运算模式为CBC,则转到S101处理;
S101、通过第一识别开关将所述作业分组数据包的任务号与所述关联ID表进行比对,若所述关联ID表中不存在和所述作业分组数据包的任务号相同的任务号,则转到S102;
S102、刷新所述关联ID表,将所述作业分组数据包的任务号追加至所述关联ID表中,转到S005。
在本实施例,步骤S101中,若所述关联ID表中存在和所述作业分组数据包的任务号相同的任务号,则转到S103;
S103、将所述作业分组数据包的数据送入关联数据队列,转到S006。
在本实施例,还包括:
S007、当算法核运算结束,输出运算结束应答,转到S008;
S008、通过关联控制单元接收应答和任务号。
在本实施例,还包括:
S009、通过第二识别开关对所述关联ID表进行遍历,查询所述关联ID表是否存在相同任务号,若所述关联ID表存在相同任务号,转到S301;若所述关联ID表不存在相同任务号,转到S010:结束调用流程。
在以上的技术方案中,关联控制单元目的在于维护关联ID表(任务号、算法核,运算模式,分组序号),实现对关联任务分组调度次序的控制。通过输入数据缓存对输入任务作业分组数据包进行存储,其中待输入数据队列用于保存正在进行运算的ECB运算模式后续作业分组数据包;关联输入数据队列用于保存正在进行运算的CBC运算模式后续作业分组数据包。
其中,第一识别开关用于识别运算模式,判断作业是否为CBC关联作业;第二识别开关用于识别算法核工作状态,控制读取后续分组数据包,通过算法核输入队列用于算法核对应的上行FIFO,算法核输入队列由内部RAM实现,算法核可以实现分组算法CBC模式运算和ECB模式运算。可以通过中间态存储单元对算法运算中间结果的缓存。
需要说明的是,上述内容涉及的CBC模式和ECB模式本身属于现有技术,在此不再赘述。
综上所述,本发明通过初始化关联控制单元的关联ID表,关联ID表的运行参数包括任务号、算法IP核、运算模式和分组序号;判断输入数据缓存区是否为空,若输入数据缓存区为空,则继续查询,若输入数据缓存区不为空,通过关联控制单元从数据缓存区读取作业分组数据包;对作业分组数据包的报头进行解析,获取运算模式,若运算模式为ECB,则将作业分组数据包的数据送入待输入数据队列;通过关联控制单元判断是否有运算结束应答:若存在运算结束应答,读取关联输入数据队列送入算法核;算法核进行CBC模式运算;若不存在运算结束应答,读取待输入数据队列送入算法核,算法核进行ECB模式运算。通过第一识别开关将所述作业分组数据包的任务号与所述关联ID表进行比对,若所述关联ID表中不存在和所述作业分组数据包的任务号相同的任务号,则刷新所述关联ID表,将所述作业分组数据包的任务号追加至所述关联ID表中。若所述关联ID表中存在和所述作业分组数据包的任务号相同的任务号,则将所述作业分组数据包的数据送入关联数据队列。当算法核运算结束,输出运算结束应答,通过关联控制单元接收应答和任务号。另外,通过第二识别开关对所述关联ID表进行遍历,查询所述关联ID表是否存在相同任务号,若所述关联ID表存在相同任务号,转到S301;若所述关联ID表不存在相同任务号,结束调用流程。
本发明基于FPGA硬件实现多算法核调度,提高了密码设备的安全性:一方面整个算法调用和运算流程由FPGA实现固化不可修改;另一方面关键参数和中间态结果只在FPGA内部保存,不出现在系统内存中,不会被软件篡改;FPGA硬件实现多算法核调度提高了密码设备整体性能,一是算法调用全硬件实现,不占用CPU资源;二是FPGA实现可充分利用硬件潜力,实现对多算法核全速、流水线作业;本发明采用两级识别机制充分考虑了输入任务作业的随机交叉性和算法核间的异构性,即保证了具有上下文相关的作业分组处理时的正确性,同时,其他作业分组可以在关联业务作业分组的流水处理过程中,进入流水处理,实现了数据处理的不断线。
实施例2
参见图3,本发明实施例2提供一种基于FPGA的多算法核调用系统,包括:
初始化模块1,用于初始化关联控制单元的关联ID表,所述关联ID表的运行参数包括任务号、算法IP核、运算模式和分组序号;
缓存区数据判断模块2,用于判断输入数据缓存区是否为空,若所述输入数据缓存区为空,则继续查询;
数据包读取模块3,用于若所述输入数据缓存区不为空,通过关联控制单元从所述数据缓存区读取作业分组数据包;
运算模式解析模块4,用于对所述作业分组数据包的报头进行解析,获取运算模式;
待输入数据模块5,用于若运算模式为ECB,将所述作业分组数据包的数据送入待输入数据队列;
结束应答判断模块6,用于通过关联控制单元判断是否有运算结束应答;
CBC运算模块7,用于若所述结束应答判断模块存在运算结束应答,读取关联输入数据队列送入算法核;算法核进行CBC模式运算;
ECB运算模块8,用于若所述结束应答判断模块不存在运算结束应答,读取待输入数据队列送入算法核;算法核进行ECB模式运算。
本实施例中,还包括任务号比对模块9,用于若运算模式为CBC,通过第一识别开关将所述作业分组数据包的任务号与所述关联ID表进行比对;
关联ID增加模块10,用于若所述关联ID表中不存在和所述作业分组数据包的任务号相同的任务号,刷新所述关联ID表,将所述作业分组数据包的任务号追加至所述关联ID表中。
本实施例中,还包括:
关联数据模块11,用于若所述关联ID表中存在和所述作业分组数据包的任务号相同的任务号,将所述作业分组数据包的数据送入关联数据队列。
本实施例中,还包括:
结束应答输出模块12,用于当算法核运算结束,输出运算结束应答,通过关联控制单元接收应答和任务号。
本实施例中,还包括遍历查询模块13,用于通过第二识别开关对所述关联ID表进行遍历,查询所述关联ID表是否存在相同任务号,若所述关联ID表存在相同任务号,转到CBC运算模块;若所述关联ID表不存在相同任务号,结束调用流程。
需要说明的是,上述系统各模块/单元之间的信息交互、执行过程等内容,由于与本申请实施例1中的方法实施例基于同一构思,其带来的技术效果与本申请方法实施例相同,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。
实施例3
本发明实施例3提供一种非暂态计算机可读存储介质,所述计算机可读存储介质中存储有基于FPGA的多算法核调用方法的程序代码,所述程序代码包括用于执行实施例1或其任意可能实现方式的基于FPGA的多算法核调用方法的指令。
计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(SolidState Disk、SSD))等。
实施例4
本发明实施例4提供一种电子设备,包括:存储器和处理器;
所述处理器和所述存储器通过总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行实施例1或其任意可能实现方式的基于FPGA的多算法核调用方法。
具体的,处理器可以通过硬件来实现也可以通过软件来实现,当通过硬件实现时,该处理器可以是逻辑电路、集成电路等;当通过软件来实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现,该存储器可以集成在处理器中,可以位于所述处理器之外,独立存在。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
虽然,上文中已经用一般性说明及具体实施例对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。

Claims (10)

1.基于FPGA的多算法核调用方法,其特征在于,包括:
S001、初始化关联控制单元的关联ID表,所述关联ID表的运行参数包括任务号、算法IP核、运算模式和分组序号;
S002、判断输入数据缓存区是否为空,若所述输入数据缓存区为空,则继续查询,若所述输入数据缓存区不为空,则转到S003;
S003、通过关联控制单元从所述数据缓存区读取作业分组数据包,转到S004;
S004、对所述作业分组数据包的报头进行解析,获取运算模式,若运算模式为ECB,则转到S005处理;
S005、将所述作业分组数据包的数据送入待输入数据队列,转到S006;
S006、通过关联控制单元判断是否有运算结束应答:
若存在运算结束应答,转到S301:读取关联输入数据队列送入算法核;S302:算法核进行CBC模式运算;
若不存在运算结束应答,转到S201:读取待输入数据队列送入算法核;S202:算法核进行ECB模式运算。
2.根据权利要求1所述的基于FPGA的多算法核调用方法,其特征在于,步骤S004中,若运算模式为CBC,则转到S101处理;
S101、通过第一识别开关将所述作业分组数据包的任务号与所述关联ID表进行比对,若所述关联ID表中不存在和所述作业分组数据包的任务号相同的任务号,则转到S102;
S102、刷新所述关联ID表,将所述作业分组数据包的任务号追加至所述关联ID表中,转到S005。
3.根据权利要求2所述的基于FPGA的多算法核调用方法,其特征在于,步骤S101中,若所述关联ID表中存在和所述作业分组数据包的任务号相同的任务号,则转到S103;
S103、将所述作业分组数据包的数据送入关联数据队列,转到S006。
4.根据权利要求1所述的基于FPGA的多算法核调用方法,其特征在于,还包括:
S007、当算法核运算结束,输出运算结束应答,转到S008;
S008、通过关联控制单元接收应答和任务号。
5.根据权利要求4所述的基于FPGA的多算法核调用方法,其特征在于,还包括:
S009、通过第二识别开关对所述关联ID表进行遍历,查询所述关联ID表是否存在相同任务号,若所述关联ID表存在相同任务号,转到S301;若所述关联ID表不存在相同任务号,转到S010:结束调用流程。
6.基于FPGA的多算法核调用系统,其特征在于,包括:
初始化模块,用于初始化关联控制单元的关联ID表,所述关联ID表的运行参数包括任务号、算法IP核、运算模式和分组序号;
缓存区数据判断模块,用于判断输入数据缓存区是否为空,若所述输入数据缓存区为空,则继续查询;
数据包读取模块,用于若所述输入数据缓存区不为空,通过关联控制单元从所述数据缓存区读取作业分组数据包;
运算模式解析模块,用于对所述作业分组数据包的报头进行解析,获取运算模式;
待输入数据模块,用于若运算模式为ECB,将所述作业分组数据包的数据送入待输入数据队列;
结束应答判断模块,用于通过关联控制单元判断是否有运算结束应答;
CBC运算模块,用于若所述结束应答判断模块存在运算结束应答,读取关联输入数据队列送入算法核;算法核进行CBC模式运算;
ECB运算模块,用于若所述结束应答判断模块不存在运算结束应答,读取待输入数据队列送入算法核;算法核进行ECB模式运算。
7.根据权利要求6所述的基于FPGA的多算法核调用系统,其特征在于,还包括任务号比对模块,用于若运算模式为CBC,通过第一识别开关将所述作业分组数据包的任务号与所述关联ID表进行比对;
关联ID增加模块,用于若所述关联ID表中不存在和所述作业分组数据包的任务号相同的任务号,刷新所述关联ID表,将所述作业分组数据包的任务号追加至所述关联ID表中。
8.根据权利要求7所述的基于FPGA的多算法核调用系统,其特征在于,还包括:
关联数据模块,用于若所述关联ID表中存在和所述作业分组数据包的任务号相同的任务号,将所述作业分组数据包的数据送入关联数据队列。
9.根据权利要求6所述的基于FPGA的多算法核调用系统,其特征在于,还包括:
结束应答输出模块,用于当算法核运算结束,输出运算结束应答,通过关联控制单元接收应答和任务号。
10.根据权利要求9所述的基于FPGA的多算法核调用系统,其特征在于,还包括遍历查询模块,用于通过第二识别开关对所述关联ID表进行遍历,查询所述关联ID表是否存在相同任务号,若所述关联ID表存在相同任务号,转到CBC运算模块;若所述关联ID表不存在相同任务号,结束调用流程。
CN202210498831.0A 2022-05-09 2022-05-09 基于fpga的多算法核调用方法及系统 Active CN114900486B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210498831.0A CN114900486B (zh) 2022-05-09 2022-05-09 基于fpga的多算法核调用方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210498831.0A CN114900486B (zh) 2022-05-09 2022-05-09 基于fpga的多算法核调用方法及系统

Publications (2)

Publication Number Publication Date
CN114900486A CN114900486A (zh) 2022-08-12
CN114900486B true CN114900486B (zh) 2023-08-08

Family

ID=82721114

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210498831.0A Active CN114900486B (zh) 2022-05-09 2022-05-09 基于fpga的多算法核调用方法及系统

Country Status (1)

Country Link
CN (1) CN114900486B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108351783A (zh) * 2015-10-29 2018-07-31 华为技术有限公司 多核数字信号处理系统中处理任务的方法和装置
CN109800558A (zh) * 2018-12-27 2019-05-24 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) 密码服务板卡以及密码服务装置
CN110086752A (zh) * 2018-01-26 2019-08-02 北京数盾信息科技有限公司 一种基于多核网络处理fpga的硬件平台
CN112035388A (zh) * 2020-08-12 2020-12-04 北京数盾信息科技有限公司 一种基于PCI-e通道的高性能加解密方法
CN112613053A (zh) * 2020-12-25 2021-04-06 北京天融信网络安全技术有限公司 一种数据加解密方法及装置
CN113055403A (zh) * 2021-04-02 2021-06-29 电信科学技术第五研究所有限公司 一种线速保序方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10951393B2 (en) * 2018-10-11 2021-03-16 Fungible, Inc. Multimode cryptographic processor
WO2021050951A1 (en) * 2019-09-11 2021-03-18 Intel Corporation Hardware queue scheduling for multi-core computing environments

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108351783A (zh) * 2015-10-29 2018-07-31 华为技术有限公司 多核数字信号处理系统中处理任务的方法和装置
CN110086752A (zh) * 2018-01-26 2019-08-02 北京数盾信息科技有限公司 一种基于多核网络处理fpga的硬件平台
CN109800558A (zh) * 2018-12-27 2019-05-24 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) 密码服务板卡以及密码服务装置
CN112035388A (zh) * 2020-08-12 2020-12-04 北京数盾信息科技有限公司 一种基于PCI-e通道的高性能加解密方法
CN112613053A (zh) * 2020-12-25 2021-04-06 北京天融信网络安全技术有限公司 一种数据加解密方法及装置
CN113055403A (zh) * 2021-04-02 2021-06-29 电信科学技术第五研究所有限公司 一种线速保序方法

Also Published As

Publication number Publication date
CN114900486A (zh) 2022-08-12

Similar Documents

Publication Publication Date Title
US11397703B2 (en) Methods and systems for accessing host memory through non-volatile memory over fabric bridging with direct target access
US10841243B2 (en) NIC with programmable pipeline
US10158702B2 (en) Network operation offloading for collective operations
US20190158428A1 (en) Work unit stack data structures in multiple core processor system for stream data processing
US7757232B2 (en) Method and apparatus for implementing work request lists
US8244826B2 (en) Providing a memory region or memory window access notification on a system area network
US6615282B1 (en) Adaptive messaging
US9092275B2 (en) Store operation with conditional push of a tag value to a queue
US9965434B2 (en) Data packet processing
WO2023169267A1 (zh) 一种基于网络设备的数据处理方法及网络设备
US20220027297A1 (en) Computing tile
CN114900486B (zh) 基于fpga的多算法核调用方法及系统
US11552907B2 (en) Efficient packet queueing for computer networks
US7089378B2 (en) Shared receive queues
US20230205715A1 (en) Acceleration framework to chain ipu asic blocks
US9979802B2 (en) Assembling response packets
US20140160954A1 (en) Host ethernet adapter frame forwarding
CN116471242A (zh) 基于rdma的发送端、接收端、数据传输系统及方法
CN115495406A (zh) 一种基于PCIe的报文传输方法、装置、设备及存储介质
US8918559B2 (en) Partitioning of a variable length scatter gather list
CN114928575B (zh) 基于fpga的多算法核数据包保序方法及装置
CN115291898B (zh) 一种多fpga从模式快速烧录方法及装置
US20230418697A1 (en) Data transmission system and related device
US20240143528A1 (en) Programmable User-Defined Peripheral-Bus Device Implementation Using Data-Plane Accelerator (DPA)
WO2024081680A1 (en) Hardware distributed architecture in a data transform accelerator

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
GR01 Patent grant
GR01 Patent grant