CN112527514B - 基于逻辑扩展的多核心安全芯片处理器及其处理方法 - Google Patents
基于逻辑扩展的多核心安全芯片处理器及其处理方法 Download PDFInfo
- Publication number
- CN112527514B CN112527514B CN202110179448.4A CN202110179448A CN112527514B CN 112527514 B CN112527514 B CN 112527514B CN 202110179448 A CN202110179448 A CN 202110179448A CN 112527514 B CN112527514 B CN 112527514B
- Authority
- CN
- China
- Prior art keywords
- slave processor
- processor cores
- processor core
- core
- tasks
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/167—Interprocessor communication using a common memory, e.g. mailbox
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer Security & Cryptography (AREA)
- Microcomputers (AREA)
- Multi Processors (AREA)
Abstract
本发明提供了一种基于逻辑扩展的多核心安全芯片处理器及其处理方法,安全处理器包括主处理器核和多个从处理器核,主处理器核包括信号获取模块、组织模块和分配调度模块;信号获取模块用于实时获取外部传输的控制信号,组织模块用于根据安全运算逻辑对多个从处理器核进行动态的逻辑组织,形成匹配安全运算逻辑的动态执行架构;分配调度模块用于根据安全运算逻辑将安全运算分解为多个运算任务,并在上述动态执行架构下将运算任务分配给相应的从处理器核,以及协同调度多个从处理器核间的运算任务;多个从处理器核分别用于运行主处理器核分配和调度的运算任务。具有安全运算效率高、运算结果准确、核间负载均衡和可提高多核处理器的性能等优点。
Description
技术领域
本发明涉及处理器技术领域,具体涉及一种基于逻辑扩展的多核心安全芯片处理器及其处理方法。
背景技术
随着互联网技术的高速发展,信息安全的重要性与日俱增。要想保证信息数据的安全,就必须要确保用于传输和接收信息数据的处理器的安全性,因此,安全处理器已经成为现代信息安全交互的基础部件,是信息安全领域的关键技术,也是解决信息系统安全威胁、风险和脆弱性的重要途径。安全处理器与信息安全紧密联系,涉及到物理安全、逻辑安全、应用安全和可控安全等诸多保护技术,如针对物理攻击的电磁防护,针对逻辑攻击的病毒免疫设计,针对应用攻击的密钥保护等。
由于半导体工艺的极限限制,开发工程师们认识到,继续制造高性能的单核处理器将不再现实,仅仅提高单核芯片的速度,带来的功耗与散热问题也没有解决方案,且无法带来相应的性能改善,性价比不高,而处理速度稍快的处理器价格要高很多。因此,越来越多的半导体厂商倾向于制造功耗更低、性能均衡的多核处理器以提高处理器的综合性能。多核处理器是指在一个处理器中集成两个或多个完整的内核计算引擎,能支持系统总线上的多个处理器,由总线控制器提供所有总线控制信号和命令信号。
按照多核处理器的多个内核架构分,可以分为同构多核和异构多核。同构多核的每个处理器核心的结构完全相同,地位等同,但随着信息计算越来越复杂,可能每个核需要计算的复杂难度不一样,会造成部分核闲置,部分核超负荷运算,导致信息安全运算效率低,运算准确度差。针对上述问题,可以考虑采用异构多核来处理,异构多核中每个核可以进行不同功能的计算,避免部分核心的闲置或超负荷,但如何对每个内核进行计算任务的准确分配,如何对不同内核间的运算进行调度,如何优化调度长度和提高多核处理器的性能亟待解决。
发明内容
针对现有技术存在的上述不足,本发明的目的在于:提供一种基于逻辑扩展的多核心安全芯片处理器及其处理方法,根据安全芯片的安全运算逻辑,通过主处理器核对多个异构的从处理器核进行运算任务的分配、调度协同,并根据多核处理器的异构性和计算任务间的依赖关系,基于平均负载对内核间的调度协同方法进行优化。具有安全运算效率高、运算结果准确、核间负载均衡和可提高多核处理器的性能等优点。
一种基于逻辑扩展的多核心安全芯片处理器,包括主处理器核和多个异构的从处理器核,主处理器核包括信号获取模块、组织模块和分配调度模块;信号获取模块用于实时获取外部传输的控制信号,组织模块用于根据安全运算的运算逻辑对多个从处理器核进行动态的逻辑组织,形成匹配安全运算的运算逻辑的动态执行架构;分配调度模块用于根据安全运算的运算逻辑将安全运算分解为多个运算任务,并在上述动态执行架构下将运算任务分配给相应的从处理器核,以及协同调度多个从处理器核间的运算任务;多个从处理器核分别用于运行主处理器核分配和调度的运算任务。
进一步地,上述动态执行架构下的多个从处理器核中包括协同处理器核,协同处理器核用于处理该动态执行架构下的安全运算分解、运算任务分配和协同调度。
进一步地,上述主处理器核和多个从处理器核之间采用共享内存进行数据通信,同一动态执行架构下的协同处理器核、多个从处理器核之间采用共享内存进行数据通信;安全运算的运算逻辑包括计算信息完整性校验位、加密校验、签名校验、指纹校验和人脸特征校验,各个处理器核的运算方式包括并行运算、串行运算和交叉运算。
一种基于逻辑扩展的多核心安全芯片处理方法,包括以下步骤:
S101:实时获取外部传输的控制信号;
S102:根据安全运算的运算逻辑对多个从处理器核进行动态的逻辑组织,形成匹配安全运算的运算逻辑的动态执行架构;
S103:根据安全运算的运算逻辑将安全运算分解为多个运算任务,并在上述动态执行架构下将运算任务分配给相应的从处理器核,以及协同调度多个从处理器核间的运算任务;
S104:采用多个从处理器核分别运行主处理器核分配和调度的运算任务。
进一步地,所述协同调度多个从处理器核间的运算任务,协同调度方法如下:
S201:基于多核心安全芯片处理的调度环境,根据多个运算任务间的依赖关系构建运算任务图;
S202:根据运算任务的入度值对运算任务图进行分层,用于消除运算任务间的数据依赖和控制依赖,保证同层运算任务并行执行;
S203:将每层的运算任务调度到相应的从处理器核上,基于从处理器核之间的动态执行架构,根据每个从处理器核的计算能力分配相匹配的负载。
进一步地,上述动态执行架构下的运算任务分配和调度是无环有向的,存在入度值为0的顶点,基于此特性,运算任务图可以进行分层,具体步骤如下:
S301:计算运算任务图中所有顶点的入度值,将所有入度值为0的顶点放在第0层中;
S302:假设得到了第K个分层,去除放入0~K层顶点外,在其他剩下的顶点所组成的子图中寻找所有入度值为0的顶点,放入第K+1层;
S303:令K=K+1,重复步骤S302,直到所有顶点都被放入分层中。
进一步地,将每层的运算任务调度到相应的从处理器核上,分层之间的调度串行执行,同层的运算任务并行执行,具体调度步骤如下:
S401:将同一分层内的所有运算任务按照运算时间长短排列,计算出每个从处理器核的参考值A i ,并将所有从处理器核按照运算速度快慢排列;
S402:将同一分层内当前排第一的运算任务分配给当前排第一的从处理器核,获取当前排第二的运算任务,计算将当前排第二的运算任务分配给该从处理器核的总耗时,判断总耗时是否大于A i 值;
S403:若是,则不将当前排第二的运算任务分配给该从处理器核,计算该从处理器核的总耗时,将当前排第一的运算任务从分层的运算任务中删除;若否,则将当前排第二的运算任务分配给该从处理器核,依次计算剩余运算任务耗时,直到找到使该从处理器核总耗时等于A i 值的运算任务为止,然后计算该从处理器核的总耗时,将分配给该从处理器核的所有运算任务从分层的运算任务中删除;
S404:针对同一分层内剩余的运算任务,循环执行步骤S402和步骤S403,直到所有运算任务都分配完成。
进一步地,若从处理器核计算第K运算任务的耗时略大于A i 值,具体调度步骤如下:
S501:从第K运算任务开始,向后选取运算任务替代第K运算任务,直到找到使从处理器核总耗时等于A i 值的运算任务为止;
S502:计算出假设第K运算任务被分配到该从处理器核的耗时,通过判断误差值来确定是否将第K运算任务分配给该从处理器核;
S503:若是,则计算该从处理器核的总耗时,将第K运算任务从分层的运算任务中删除,执行步骤S504;若否,则不将第K运算任务从分层的运算任务中删除,将第K-1运算任务分配给该从处理器核,计算该从处理器核的总耗时,第K-1运算任务从分层的运算任务中删除;
S504:循环执行步骤S501~S503,直到所有运算任务都分配完成。
进一步地,上述主处理器核和多个从处理器核之间采用共享内存进行数据通信,同一动态执行架构下的多个从处理器核之间采用共享内存进行数据通信;安全运算的运算逻辑包括计算信息完整性校验位、加密校验、签名校验、指纹校验和人脸特征校验,各个处理器核的运算方式包括并行运算、串行运算和交叉运算;通信数据分散存储在主处理器核和多个从处理器核中,并链接到相应的数据存储地址,通过主处理器核和多个从处理器核中任意一个处理器核直接引用或访问共享内存中的数据存储地址。
进一步地,共享内存的类型包括基于片上双端口内存的Block RAM和基于多端口内存控制器的外部内存DDR,Block RAM利用片上资源进行数据共享通信,一个片上的BlockRAM至多连接两个处理器核,实现两个处理器核间的数据共享;外部内存DDR通过多端口内存控制器进行数据共享通信,多端口内存控制器至多连接八个处理器核,允许3~4个处理器核同时独立访问共享内存,至多实现八个处理器核间的数据共享。
相比于现有技术,本发明具有以下优点:
本发明提供了一种基于逻辑扩展的多核心安全芯片处理器及其处理方法,根据安全芯片的安全运算逻辑,通过主处理器核对多个异构的从处理器核进行运算任务的分配、调度协同,运算任务调度时充分考虑安全处理器的异构性和计算任务间的依赖关系,基于平均负载对内核间的调度协同方法进行优化。具有安全运算效率高、运算结果准确、核间负载均衡和可提高多核处理器的性能等优点。
附图说明
图1为本发明实施例一中基于逻辑扩展的多核心安全芯片处理器的原理框图;
图2为本发明实施例一或实施例二中的Microblaze和Power PC通过共享内存通信示意图;
图3为本发明实施例一或实施例二中的Microblaze之间通过多端口内存控制器DPRAM进行数据共享的通信示意图;
图4为本发明实施例二中基于逻辑扩展的多核心安全芯片处理方法的控制流程图;
图5为本发明实施例二中多个从处理器核间的运算任务协同调度的第一控制流程图;
图6为本发明实施例二中运算任务分层的控制流程图;
图7为本发明实施例二中带时间优先约束关系的运算任务集合;
图8为本发明实施例二中多个从处理器核间的运算任务协同调度的第二控制流程图;
图9为本发明实施例二中多个从处理器核间的运算任务协同调度的第三控制流程图。
具体实施方式
下面将结合附图对本发明技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本发明的技术方案,因此只是作为示例,而不能以此来限制本发明的保护范围。
实施例一:
参照图1,一种基于逻辑扩展的多核心安全芯片处理器,包括主处理器核和多个异构的从处理器核,主处理器核包括信号获取模块、组织模块和分配调度模块;信号获取模块用于实时获取外部传输的控制信号,组织模块用于根据安全运算的运算逻辑对多个从处理器核进行动态的逻辑组织,形成匹配安全运算的运算逻辑的动态执行架构;分配调度模块用于根据安全运算的运算逻辑将安全运算分解为多个运算任务,并在上述动态执行架构下将运算任务分配给相应的从处理器核,以及协同调度多个从处理器核间的运算任务;多个从处理器核分别用于运行主处理器核分配和调度的运算任务。具体地,主处理器核和多个从处理器核均用于承担安全芯片处理器的计算任务,异构的多个从处理器核内部包含的运算单元类型、数量及连接关系不同。主处理器核接收到控制信号后,根据该安全芯片的安全运算逻辑,以主处理器核对多个异构的从处理器核进行逻辑组织、运算任务的分配和调度协同,安全运算效率高、运算结果准确。
上述多核心安全芯片处理器中,主处理器核对多个从处理器核的逻辑组织是动态的,每次外部传输的控制信号可以包括不同的安全运算逻辑,可以根据每次执行的安全运算逻辑来重新组织多个从处理器核的执行架构,实现动态组织。同一个执行架构下的多个从处理器核可以是异构的,例如可以将不同处理能力的从处理器核组织到一个执行架构之内。比如,安全运算的运算逻辑包括:计算信息完整性校验位、加密校验、签名校验、指纹校验和人脸特征校验,依次执行以上运算过程;主处理器核MC根据以上运算逻辑,组织异构的从处理器核PC、SC形成执行架构,其中,根据运算逻辑,计算信息完整性校验位为针对多个信息字段的并行校验,则组织多个处理器核PC进行并行处理;加密校验、签名校验、指纹校验和人脸特征校验为串行运算校验,则组织一个SC面向多个PC的运算结果执行串行计算,其中每个从处理器核内部异构,从而SC的运算能力强于PC。具体实施时候,从处理器核间的运算方式除了并行运算和串行运算,还有交叉运算,即并行运算和串行运算交替进行。
上述多核心安全芯片处理器,同一个动态执行架构下的多个从处理器核中包括协同处理器核,协同处理器核用于处理该动态执行架构下的安全运算分解、运算任务分配和协同调度。具体地,可以把运算任务的分配、协同调度功能从主处理器核分离出来,在每个执行架构中确定一个协同处理器核,来负责本架构内的安全运算分解、运算任务分配与协同调度。
上述多核心安全芯片处理器,上述主处理器核和多个从处理器核之间采用共享内存进行数据通信,同一动态执行架构下的协同处理器核、多个从处理器核之间采用共享内存进行数据通信;通信数据分散存储在主处理器核和多个从处理器核中,并链接到相应的数据存储地址,通过主处理器核和多个从处理器核中任意一个处理器核直接引用或访问共享内存中的数据存储地址。具体地,主处理器核与各个执行架构中的多个从处理器核之间,以及每个执行架构内部的多个从处理器核之间,都需要进行通信,因此需要建立核间通信机制。共享内存是一种异步通信机制,多个从处理器核中的任何一个内核,对共享内存中的地址,都可以直接引用或者访问,需要注意的是,访问共享内存时,必须确保两个核之间有硬件或者软件同步协议。
参照图2和图3,共享内存的类型包括基于片上双端口内存的Block RAM和基于多端口内存控制器的外部内存DDR,Block RAM利用片上资源进行数据共享通信,空间容量相对较小,但访问速度快,Block RAM具有双端口特性,一个片上的Block RAM至多连接两个处理器核,实现两个处理器核间的数据共享。参照图2,Microblaze和Power PC共享内存通信,在处理器核间的通信中,Microblaze利用DLMB和共享内存互连,Power PC利用DOMC接口和共享内存互连。
参照图3,是Microblaze之间通过多端口内存控制器DPRAM达到数据共享。外部存储器DDR的IP类型为MPMC,其实现共享需要多端口内存控制器DPRAM的支撑,提供最短时延和最大带宽,允许多个Microblaze和Power PC同时访问外部内存。多端口内存控制器DPRAM最多可提供8个端口,可以允许3~4个处理器核同时独立访问共享内存。
上述多核心安全芯片处理器,根据安全芯片的安全运算逻辑,通过主处理器核对多个异构的从处理器核进行运算任务的分配、调度协同,具有安全运算效率高、运算结果准确和可提高多核处理器的性能等优点。发明人综合考虑后,共享内存采用基于多端口内存控制器的外部内存DDR,虽然运算速度会比采用基于片上双端口内存的Block RAM略微慢一点,但它可以同时提供8个端口,可以允许3~4个处理器核同时独立访问共享内存,可以保证安全运算的效率。
上述多核心安全芯片处理器,根据安全芯片的安全运算逻辑,通过主处理器核对多个异构的从处理器核进行运算任务的分配、调度协同,运算任务调度时充分考虑了多核处理器的异构性和运算任务间的依赖关系,实现了很好的核间负载均衡,优化了调度长度。具有安全运算效率高、运算结果准确、核间负载均衡和可提高多核处理器的性能等优点。
实施例二:
参照图4,一种基于逻辑扩展的多核心安全芯片处理方法,包括以下步骤:
S101:实时获取外部传输的控制信号;具体地,主处理器核对多个从处理器核的逻辑组织是动态的,每次外部传输的控制信号可以包括不同的安全运算逻辑,可以根据每次执行的安全运算逻辑来重新组织多个从处理器核的执行架构,实现动态组织。
S102:根据安全运算的运算逻辑对多个从处理器核进行动态的逻辑组织,形成匹配安全运算的运算逻辑的动态执行架构;具体地,主处理器核和多个从处理器核均用于承担安全芯片处理器的计算任务,异构的多个从处理器核内部包含的运算单元类型、数量及连接关系不同。
S103:根据安全运算的运算逻辑将安全运算分解为多个运算任务,并在上述动态执行架构下将运算任务分配给相应的从处理器核,以及协同调度多个从处理器核间的运算任务;具体地,同一个执行架构下的多个从处理器核可以是异构的,例如可以将不同处理能力的从处理器核组织到一个执行架构之内。比如,安全运算的运算逻辑包括:计算信息完整性校验位、加密校验、签名校验、指纹校验和人脸特征校验,依次执行以上运算过程;主处理器核MC根据以上运算逻辑,组织异构的从处理器核PC、SC形成执行架构,其中,根据运算逻辑,计算信息完整性校验位为针对多个信息字段的并行校验,则组织多个处理器核PC进行并行处理;加密校验、签名校验、指纹校验和人脸特征校验为串行运算校验,则组织一个SC面向多个PC的运算结果执行串行计算,其中每个从处理器核内部异构,从而SC的运算能力强于PC。具体实施时候,从处理器核间的运算方式除了并行运算和串行运算,还有交叉运算,即并行运算和串行运算交替进行。
S104:采用多个从处理器核分别运行主处理器核分配和调度的运算任务。这样,主处理器核接收到控制信号后,根据该安全芯片的安全运算逻辑,以主处理器核对多个异构的从处理器核进行逻辑组织、运算任务的分配和调度协同,安全运算效率高、运算结果准确。
参照图5,所述协同调度多个从处理器核间的运算任务,协同调度方法如下:
S201:基于多核心安全芯片处理的调度环境,根据多个运算任务间的依赖关系构建运算任务图;
S202:根据运算任务的入度值对运算任务图进行分层,用于消除运算任务间的数据依赖和控制依赖,保证同层运算任务并行执行;
S203:将每层的运算任务调度到相应的从处理器核上,基于从处理器核之间的动态执行架构,根据每个从处理器核的计算能力分配相匹配的负载。
具体地,当计算任务图分层完成后,可以将每层中的所有任务看作一个任务组,假设有N个分层,就能得到N个任务组。调度时,可以先执行任务组0、再执行任务组1、依次类推,最后执行任务组N-1,即使各个任务组之间串行执行。
参照图6,上述动态执行架构下的运算任务分配和调度是无环有向的,存在入度值为0的顶点,基于此特性,运算任务图可以进行分层,每层间的各个顶点间都是独立没有依赖关系的,具体步骤如下:
S301:计算运算任务图中所有顶点的入度值,将所有入度值为0的顶点放在第0层中;
S302:假设得到了第K个分层,去除放入0~K层顶点外,在其他剩下的顶点所组成的子图中寻找所有入度值为0的顶点,放入第K+1层;
S303:令K=K+1,重复步骤S302,直到所有顶点都被放入分层中。
具体实施时,计算子图中各个顶点的入度值时,可以根据上一层顶点的边找到对应的顶点,将其入度值减1,将上一层顶点出发的所有边对应顶点的入度值都减1后,就得到了子图中各个顶点的入度值。参照图7,(a)中的实例经分层后生成分好的层(b)任务集,任务组1:0,其中,1表示任务编号,0表示计算任务的入度值,其他的计算任务组同理。
参照图8,将每层的运算任务调度到相应的从处理器核上,分层之间的调度串行执行,同层的运算任务并行执行,具体调度步骤如下:
S401:将同一分层内的所有运算任务按照运算时间长短排列,计算出每个从处理器核的参考值A i ,并将所有从处理器核按照运算速度快慢排列;
S402:将同一分层内当前排第一的运算任务分配给当前排第一的从处理器核,获取当前排第二的运算任务,计算将当前排第二的运算任务分配给该从处理器核的总耗时,判断总耗时是否大于A i 值;
S403:若是,则不将当前排第二的运算任务分配给该从处理器核,计算该从处理器核的总耗时,将当前排第一的运算任务从分层的运算任务中删除;若否,则将当前排第二的运算任务分配给该从处理器核,依次计算剩余运算任务耗时,直到找到使该从处理器核总耗时等于A i 值的运算任务为止,然后计算该从处理器核的总耗时,将分配给该从处理器核的所有运算任务从分层的运算任务中删除;
S404:针对同一分层内剩余的运算任务,循环执行步骤S402和步骤S403,直到所有运算任务都分配完成。
参照图9,若从处理器核计算第K运算任务的耗时略大于A i 值,具体调度步骤如下:
S501:从第K运算任务开始,向后选取运算任务替代第K运算任务,直到找到使从处理器核总耗时等于A i 值的运算任务为止;
S502:计算出假设第K运算任务被分配到该从处理器核的耗时,通过判断误差值来确定是否将第K运算任务分配给该从处理器核;
S503:若是,则计算该从处理器核的总耗时,将第K运算任务从分层的运算任务中删除,执行步骤S504;若否,则不将第K运算任务从分层的运算任务中删除,将第K-1运算任务分配给该从处理器核,计算该从处理器核的总耗时,第K-1运算任务从分层的运算任务中删除;
S504:循环执行步骤S501~S503,直到所有运算任务都分配完成。
具体地,在计算误差值时,先计算好分配给各个处理器核的累计误差和TotalDelta,再计算下面两个误差值:
其中,Total Delta表示累计误差和,TimeSum表示已分配任务的当前运算时间累计和,t k 表示第K个运算任务采用当前从处理器核运算的时间,A i 表示每个从处理器核运算的参考值。通过比较和的大小来决定分配哪些任务给对应的从处理器核,如果小,那么就将t k-1对应的第K-1运算任务分配给对用的从处理器核,如果小,那么就将t k 对应的第K运算任务分配给对用的从处理器核。
假如累计误差和Total Delta为5,当前运算时间累计和TimeSum为180,参考值A i 为200,t k-1为24,t k 为8,计算两个误差值为:
若将第K运算任务分配给对用的从处理器核,该从处理器核的总耗时为188,核总耗时误差为12;若将第K-1运算任务分配给对用的从处理器核,该从处理器核的总耗时为204,核总耗时误差为4。由于小于,即将第K运算任务分配给对用的从处理器核时累计误差更小,则选择第K运算任务。
上述多核心安全芯片处理方法,上述主处理器核和多个从处理器核之间采用共享内存进行数据通信,同一动态执行架构下的多个从处理器核之间采用共享内存进行数据通信;安全运算的运算逻辑包括计算信息完整性校验位、加密校验、签名校验、指纹校验和人脸特征校验,各个处理器核的运算方式包括并行运算、串行运算和交叉运算;通信数据分散存储在主处理器核和多个从处理器核中,并链接到相应的数据存储地址,通过主处理器核和多个从处理器核中任意一个处理器核直接引用或访问共享内存中的数据存储地址。具体地,主处理器核与各个执行架构中的多个从处理器核之间,以及每个执行架构内部的多个从处理器核之间,都需要进行通信,因此需要建立核间通信机制。共享内存是一种异步通信机制,多个从处理器核中的任何一个内核,对共享内存中的地址,都可以直接引用或者访问,需要注意的是,访问共享内存时,必须确保两个核之间有硬件或者软件同步协议。
具体实施时,同一个执行架构下的多个从处理器核可以是异构的,例如可以将不同处理能力的从处理器核组织到一个执行架构之内。比如,安全运算的运算逻辑包括:计算信息完整性校验位、加密校验、签名校验、指纹校验和人脸特征校验,依次执行以上运算过程;主处理器核MC根据以上运算逻辑,组织异构的从处理器核PC、SC形成执行架构,其中,根据运算逻辑,计算信息完整性校验位为针对多个信息字段的并行校验,则组织多个处理器核PC进行并行处理;加密校验、签名校验、指纹校验和人脸特征校验为串行运算校验,则组织一个SC面向多个PC的运算结果执行串行计算,其中每个从处理器核内部异构,从而SC的运算能力强于PC。具体实施时候,从处理器核间的运算方式除了并行运算和串行运算,还有交叉运算,即并行运算和串行运算交替进行。
上述多核心安全芯片处理方法,共享内存的类型包括基于片上双端口内存的Block RAM和基于多端口内存控制器的外部内存DDR,Block RAM利用片上资源进行数据共享通信,一个片上的Block RAM至多连接两个处理器核,实现两个处理器核间的数据共享;外部内存DDR通过多端口内存控制器进行数据共享通信,多端口内存控制器至多连接八个处理器核,允许3~4个处理器核同时独立访问共享内存,至多实现八个处理器核间的数据共享。具体地,共享内存的类型包括基于片上双端口内存的Block RAM和基于多端口内存控制器的外部内存DDR,Block RAM利用片上资源进行数据共享通信,空间容量相对较小,但访问速度快,Block RAM具有双端口特性,一个片上的Block RAM至多连接两个处理器核,实现两个处理器核间的数据共享。参照图2,Microblaze和Power PC共享内存通信,在处理器核间的通信中,Microblaze利用DLMB和共享内存互连,Power PC利用DOMC接口和共享内存互连。参照图3,是Microblaze之间通过多端口内存控制器DPRAM达到数据共享。外部存储器DDR的IP类型为MPMC,其实现共享需要多端口内存控制器DPRAM的支撑,提供最短时延和最大带宽,允许多个Microblaze和Power PC同时访问外部内存。多端口内存控制器DPRAM最多可提供8个端口,可以允许3~4个处理器核同时独立访问共享内存。
上述多核心安全芯片处理方法,根据安全芯片的安全运算逻辑,通过主处理器核对多个异构的从处理器核进行运算任务的分配、调度协同,运算任务调度时充分考虑了多核处理器的异构性和运算任务间的依赖关系,实现了很好的核间负载均衡,优化了调度长度。具有安全运算效率高、运算结果准确、核间负载均衡和可提高多核处理器的性能等优点。
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的宗旨和范围,其均应涵盖在本发明的保护范围当中。
Claims (10)
1.一种基于逻辑扩展的多核心安全芯片处理器,其特征在于:包括主处理器核和多个异构的从处理器核,主处理器核包括信号获取模块、组织模块和分配调度模块;信号获取模块用于实时获取外部传输的控制信号,组织模块用于根据安全运算的运算逻辑对多个从处理器核进行动态的逻辑组织,形成匹配安全运算的运算逻辑的动态执行架构;分配调度模块用于根据安全运算的运算逻辑将安全运算分解为多个运算任务,并在上述动态执行架构下将运算任务分配给相应的从处理器核,以及协同调度多个从处理器核间的运算任务;多个从处理器核分别用于运行主处理器核分配和调度的运算任务;
所述安全运算的运算逻辑包括:计算信息完整性校验位、加密校验、签名校验、指纹校验和人脸特征校验;其中,根据运算逻辑,计算信息完整性校验位为针对多个信息字段的并行校验,则组织多个处理器核进行并行处理;加密校验、签名校验、指纹校验和人脸特征校验为串行运算校验,则组织一个从处理器核面向多个从处理器核的运算结果执行串行计算。
2.根据权利要求1所述的多核心安全芯片处理器,其特征在于,上述动态执行架构下的多个从处理器核中包括协同处理器核,协同处理器核用于处理该动态执行架构下的安全运算分解、运算任务分配和协同调度。
3.根据权利要求2所述的多核心安全芯片处理器,其特征在于,上述主处理器核和多个从处理器核之间采用共享内存进行数据通信,同一动态执行架构下的协同处理器核、多个从处理器核之间采用共享内存进行数据通信;各个处理器核的运算方式还包括并行运算和串行运算交替进行的交叉运算。
4.一种基于逻辑扩展的多核心安全芯片处理方法,其特征在于,包括以下步骤:
S101:实时获取外部传输的控制信号;
S102:根据安全运算的运算逻辑对多个从处理器核进行动态的逻辑组织,形成匹配安全运算的运算逻辑的动态执行架构;其中,所述安全运算的运算逻辑包括:计算信息完整性校验位、加密校验、签名校验、指纹校验和人脸特征校验;
S103:根据安全运算的运算逻辑将安全运算分解为多个运算任务,并在上述动态执行架构下将运算任务分配给相应的从处理器核,以及协同调度多个从处理器核间的运算任务;其中,根据运算逻辑,计算信息完整性校验位为针对多个信息字段的并行校验,则组织多个处理器核进行并行处理;加密校验、签名校验、指纹校验和人脸特征校验为串行运算校验,则组织一个从处理器核面向多个从处理器核的运算结果执行串行计算;
S104:采用多个从处理器核分别运行主处理器核分配和调度的运算任务。
5.根据权利要求4所述的多核心安全芯片处理方法,其特征在于,所述协同调度多个从处理器核间的运算任务,协同调度方法如下:
S201:基于多核心安全芯片处理的调度环境,根据多个运算任务间的依赖关系构建运算任务图;
S202:根据运算任务的入度值对运算任务图进行分层,用于消除运算任务间的数据依赖和控制依赖,保证同层运算任务并行执行;
S203:将每层的运算任务调度到相应的从处理器核上,基于从处理器核之间的动态执行架构,根据每个从处理器核的计算能力分配相匹配的负载。
6.根据权利要求5所述的多核心安全芯片处理方法,其特征在于,上述动态执行架构下的运算任务分配和调度是无环有向的,存在入度值为0的顶点,基于此特性,运算任务图可以进行分层,具体步骤如下:
S301:计算运算任务图中所有顶点的入度值,将所有入度值为0的顶点放在第0层中;
S302:假设得到了第K个分层,去除放入0~K层顶点外,在其他剩下的顶点所组成的子图中寻找所有入度值为0的顶点,放入第K+1层;
S303:令K=K+1,重复步骤S302,直到所有顶点都被放入分层中。
7.根据权利要求6所述的多核心安全芯片处理方法,其特征在于,将每层的运算任务调度到相应的从处理器核上,分层之间的调度串行执行,同层的运算任务并行执行,具体调度步骤如下:
S401:将同一分层内的所有运算任务按照运算时间长短排列,计算出每个从处理器核的参考值A i ,并将所有从处理器核按照运算速度快慢排列;
S402:将同一分层内当前排第一的运算任务分配给当前排第一的从处理器核,获取当前排第二的运算任务,计算将当前排第二的运算任务分配给该从处理器核的总耗时,判断总耗时是否大于A i 值;
S403:若是,则不将当前排第二的运算任务分配给该从处理器核,计算该从处理器核的总耗时,将当前排第一的运算任务从分层的运算任务中删除;若否,则将当前排第二的运算任务分配给该从处理器核,依次计算剩余运算任务耗时,直到找到使该从处理器核总耗时等于A i 值的运算任务为止,然后计算该从处理器核的总耗时,将分配给该从处理器核的所有运算任务从分层的运算任务中删除;
S404:针对同一分层内剩余的运算任务,循环执行步骤S402和步骤S403,直到所有运算任务都分配完成。
8.根据权利要求7所述的多核心安全芯片处理方法,其特征在于,若从处理器核计算第K运算任务的总耗时略大于A i 值,具体调度步骤如下:
S501:从第K运算任务开始,向后选取运算任务替代第K运算任务,直到找到使从处理器核总耗时等于A i 值的运算任务为止;
S502:计算出假设第K运算任务被分配到该从处理器核的耗时,通过判断误差值来确定是否将第K运算任务分配给该从处理器核;
S503:若是,则计算该从处理器核的总耗时,将第K运算任务从分层的运算任务中删除,执行步骤S504;若否,则不将第K运算任务从分层的运算任务中删除,将第K-1运算任务分配给该从处理器核,计算该从处理器核的总耗时,第K-1运算任务从分层的运算任务中删除;
S504:循环执行步骤S501~S503,直到所有运算任务都分配完成。
9.根据权利要求4所述的多核心安全芯片处理方法,其特征在于,上述主处理器核和多个从处理器核之间采用共享内存进行数据通信,同一动态执行架构下的多个从处理器核之间采用共享内存进行数据通信;各个处理器核的运算方式还包括并行运算和串行运算交替进行的交叉运算;通信数据分散存储在主处理器核和多个从处理器核中,并链接到相应的数据存储地址,通过主处理器核和多个从处理器核中任意一个处理器核直接引用或访问共享内存中的数据存储地址。
10.根据权利要求9所述的多核心安全芯片处理方法,其特征在于,共享内存的类型包括基于片上双端口内存的Block RAM和基于多端口内存控制器的外部内存DDR,Block RAM利用片上资源进行数据共享通信,一个片上的Block RAM至多连接两个处理器核,实现两个处理器核间的数据共享;外部内存DDR通过多端口内存控制器进行数据共享通信,多端口内存控制器至多连接八个处理器核,允许3~4个处理器核同时独立访问共享内存,至多实现八个处理器核间的数据共享。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110179448.4A CN112527514B (zh) | 2021-02-08 | 2021-02-08 | 基于逻辑扩展的多核心安全芯片处理器及其处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110179448.4A CN112527514B (zh) | 2021-02-08 | 2021-02-08 | 基于逻辑扩展的多核心安全芯片处理器及其处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112527514A CN112527514A (zh) | 2021-03-19 |
CN112527514B true CN112527514B (zh) | 2021-05-18 |
Family
ID=74975704
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110179448.4A Active CN112527514B (zh) | 2021-02-08 | 2021-02-08 | 基于逻辑扩展的多核心安全芯片处理器及其处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112527514B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117194308A (zh) * | 2022-05-30 | 2023-12-08 | 华为技术有限公司 | 一种多核处理器及相关核间通信方法 |
CN115294820A (zh) * | 2022-07-13 | 2022-11-04 | 陕西千山航空电子有限责任公司 | 一种主从结构的飞行任务训练计算机 |
CN116483013B (zh) * | 2023-06-19 | 2023-09-05 | 成都实时技术股份有限公司 | 一种基于多通道采集器的高速信号采集系统及方法 |
CN117457583B (zh) * | 2023-12-21 | 2024-03-08 | 北京智芯微电子科技有限公司 | 微粒器件、芯片、电子设备、芯片防护方法、装置及介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7935836B2 (en) * | 2004-05-18 | 2011-05-03 | Alexander Graham Fallis | Compounds comprising a linear series of five fused carbon rings, and preparation thereof |
CN200990078Y (zh) * | 2006-07-03 | 2007-12-12 | 赵惠溥 | 快速rsa密码和大数模指数运算的电路 |
CN102707952A (zh) * | 2012-05-16 | 2012-10-03 | 上海大学 | 嵌入式异构多核处理器上基于用户描述的程序设计方法 |
CN106648846A (zh) * | 2016-09-23 | 2017-05-10 | 郑州云海信息技术有限公司 | 一种改进的异构多核任务调度的方法 |
CN107391245A (zh) * | 2017-07-18 | 2017-11-24 | 致象尔微电子科技(上海)有限公司 | 一种多核芯片的软件系统 |
CN110297661B (zh) * | 2019-05-21 | 2021-05-11 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 基于amp构架dsp操作系统的并行计算方法、系统及介质 |
-
2021
- 2021-02-08 CN CN202110179448.4A patent/CN112527514B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112527514A (zh) | 2021-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112527514B (zh) | 基于逻辑扩展的多核心安全芯片处理器及其处理方法 | |
CN110619595B (zh) | 一种基于多fpga加速器互联的图计算优化方法 | |
Li et al. | MapReduce parallel programming model: a state-of-the-art survey | |
US8381230B2 (en) | Message passing with queues and channels | |
CN109669772B (zh) | 计算图的并行执行方法和设备 | |
Tariq et al. | Energy-efficient static task scheduling on VFI-based NoC-HMPSoCs for intelligent edge devices in cyber-physical systems | |
CN107463442B (zh) | 一种星载多核SoC任务级负载均衡并行调度方法 | |
CN110308984B (zh) | 一种用于处理地理分布式数据的跨集群计算系统 | |
WO2016057410A1 (en) | Optimized assignments and/or generation virtual machine for reducer tasks | |
US20210357732A1 (en) | Neural network accelerator hardware-specific division of inference into groups of layers | |
Tian et al. | A hybrid task scheduling algorithm based on task clustering | |
CN111860807A (zh) | 分形计算装置、方法、集成电路及板卡 | |
Koh et al. | MapReduce skyline query processing with partitioning and distributed dominance tests | |
US20110246582A1 (en) | Message Passing with Queues and Channels | |
CN108462737B (zh) | 基于批处理和流水线的分层数据一致性协议优化方法 | |
Sun et al. | Multi-node acceleration for large-scale GCNs | |
Zhou et al. | Task Offloading Strategy of 6G Heterogeneous Edge‐Cloud Computing Model considering Mass Customization Mode Collaborative Manufacturing Environment | |
Dai et al. | Analysis and modeling of task scheduling in wireless sensor network based on divisible load theory | |
Wei et al. | Memory reduction using a ring abstraction over gpu rdma for distributed quantum monte carlo solver | |
Dubey et al. | Parallel Byzantine fault tolerance method for blockchain | |
Liu et al. | Near-data prediction based speculative optimization in a distribution environment | |
Uscumlic et al. | Design space exploration with deterministic latency guarantees for crossbar mpsoc architectures | |
CN111488216B (zh) | 一种数据处理的方法、装置及电子设备 | |
Chung et al. | A pattern recognition approach for speculative firing prediction in distributed saturation state-space generation | |
Carastan‐Santos et al. | A hybrid CPU‐GPU‐MIC algorithm for minimal hitting set enumeration |
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 | ||
EE01 | Entry into force of recordation of patent licensing contract | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20210319 Assignee: Hangzhou Weiming Information Technology Co.,Ltd. Assignor: Zhejiang core Gravity Technology Co.,Ltd. Contract record no.: X2021330000325 Denomination of invention: Multi core security chip processor based on logic expansion and its processing method Granted publication date: 20210518 License type: Common License Record date: 20210927 |