使用双上下文存储的密码学算法协处理器及数据流处理方法技术

技术编号:7549941 阅读:273 留言:0更新日期:2012-07-13 22:17
本发明专利技术提供了一种使用双上下文存储的密码学算法协处理器及数据流处理方法,其包括:上下文存储器,所述协处理器包括两个完全等价的上下文存储器;密码学算法处理单元,用于执行密码学算法;本地存储器,用于缓存输入、输出数据和中间结果。本发明专利技术中两套上下文可以快速切换,因此可以快速的在两个任务之间切换;同时可以支持任意多的任务并消灭了上下文存取的时间开销,解决了软件进行多任务调度时的性能损失。

【技术实现步骤摘要】

本专利技术涉及集成电路信息处理
,尤其涉及一种。
技术介绍
随着信息安全日趋重要,密码学算法和安全方案也在蓬勃发展。专用于密码学运算的协处理器可以提供硬件加速和安全性,在嵌入式系统中被广泛应用。在实际应用中,常出现以下三种情况1、单数据流、级连处理。一个输入数据流被一个操作处理后,其结果马上作为另一个操作的输入,依次类推。比如,对一个DES加密的数据流解密后再用AES加密。2、单数据流、并行处理。一个输入数据流同时被两个以上的操作处理。比如,对一个AES加密的数据解密的同时计算该数据流的MD5信息摘要。3、多数据流、多种处理。存在许多短数据流被不同操作处理的情形。比如微软DRM 中就存在连续的短数据流的处理,或者同一个数据流会有阶段性不同的处理方式。对于第1和第2种情况,通过软件调度可以实现功能并减少系统带宽和功耗,对于第3种情况,软件调度同样能实现其功能。虽然如此,软件调度在不同任务的上下文切换时的开销降低了数据处理吞吐量,尤其在多数据流、多种处理的情况。有鉴于此,有必要提供一种以解决上述问题。
技术实现思路
本专利技术的目的在于提供一种。本专利技术的一种使用双上下文存储的密码学算法协处理器,所述协处理器包括 上下文存储器,所述协处理器包括两个完全等价的上下文存储器;密码学算法处理单元,用于执行密码学算法; 本地存储器,用于缓存输入、输出数据和中间结果。作为本专利技术的进一步改进,所述两个上下文存储器由两个不同的ID标记。作为本专利技术的进一步改进,所述协处理器还包括ID选择单元,用于当前上下文ID 选择密码学算法处理单元要使用的上下文。4、一种根据权利要求1所述的使用双上下文存储的密码学算法的数据流处理方法,其特征在于,所述方法包括以下步骤511、读入两个任务的初始上下文,并使能第一个任务的上下文;512、读入一定数据到输入缓存中;513、第一个任务处理输入缓存中的数据,并将处理结果存入中间缓存;514、切换当前ID使能第二个任务的上下文;515、判断数据流是否结束,若是,执行步骤S16,若否,执行步骤S17;516、读入中间缓存数据,执行第二个任务,输出最终结果;517、读入中间缓存数据,执行第二个任务,输出最终结果,同时,读取一定的新数据到输入缓存中,然后切换当前ID使能第一个任务的上下文后继续执行步骤S13。作为本专利技术的进一步改进,所述数据流处理为单数据流、级连处理。相应地,一种使用双上下文存储的密码学算法的数据流处理方法,所述方法包括以下步骤521、读入两个任务的初始上下文,并使能第一个任务的上下文;522、读入一定数据到输入缓存中;523、第一个任务处理输入缓存中的数据,并输出最终结果。;524、切换当前ID使能第二个任务的上下文;525、判断数据流是否结束,若是,执行步骤S26,若否,执行步骤S27;526、第二个任务处理输入缓存中的数据,并输出最终结果;527、第二个任务处理输入缓存中的数据,并输出最终结果,同时,读取一定新数据到输入缓存中,然后切换当前ID使能第一个任务的上下文后继续执行步骤S23。作为本专利技术的进一步改进,所述数据流处理为单数据流、并行处理。相应地,一种使用双上下文存储的密码学算法的数据流处理方法,所述方法包括以下步骤531、读入第一个任务的初始上下文到当前使能上下文中;532、判断所有任务是否结束,若是,执行步骤S33,若否执行步骤S34;533、执行当前上下文所示任务并输出结果直到任务结束;534、执行当前上下文所示任务并输出结果直到任务结束,同时,读入下一个任务的上下文到未被使用的上下文中,然后切换当前ID以切换上下文后执行步骤S32。作为本专利技术的进一步改进,所述步骤S34中“读入下一个任务的上下文到未被使用的上下文中”前还包括输出未被使用的上下文。作为本专利技术的进一步改进,所述数据流处理为多数据流、多种处理。本专利技术的有益效果是本专利技术在硬件内部存储两套上下文,两套上下文可以快速切换,因此可以快速的在两个任务之间切换;同时本专利技术支持对指定其中任一个上下文的存取,并且对该上下文的存取和对另一个上下文的使用可以同时发生,因此可以支持任意多的任务并消灭了上下文存取的时间开销,解决了软件进行多任务调度时的性能损失。附图说明图1为本专利技术一实施方式中使用双上下文存储的密码学算法协处理器的结构示意图。图2为本专利技术一实施方式中使用双上下文存储的密码学算法的数据流处理方法流程图。图3为本专利技术另一实施方式中使用双上下文存储的密码学算法的数据流处理方法流程图。图4为本专利技术再一实施方式中使用双上下文存储的密码学算法的数据流处理方法流程图。具体实施例方式以下将结合附图所示的各实施方式对本专利技术进行详细描述。但这些实施方式并不限制本专利技术,本领域的普通技术人员根据这些实施方式所做出的结构、方法、或功能上的变换均包含在本专利技术的保护范围内。参图1所示为本专利技术一实施方式中使用双上下文存储的密码学算法协处理器100 的结构示意图,其包括上下文存储器10、11,用于上下文的存取,两个上下文都可以被存入到外部存储器、或者从外部存储器读入。上下文存储器10和上下文存储器11为两个完全等价的上下文存储器。用两个上下文存储器仅为本专利技术一优选的实施方式,在其他实施方式中也可以设为两个以上的上下文存储器,同样可以达到本专利技术的效果; 密码学算法处理单元20,用于执行密码学算法; 本地存储器30,用于缓存输入、输出数据和中间结果。进一步地,该存储器100还包括ID选择单元40,用于当前上下文ID选择密码学算法处理单元30要使用的上下文。所述上下文存储器10和上下文存储器11由两个不同的ID标记,ID选择单元40可以根据当前上下文ID选择密码学算法处理单元30要使用的上下文。参图2所示,应用上述协处理器处理单数据流、级连处理的情况中,以两个任务为例,该数据流处理方法包括以下步骤511、读入两个任务的初始上下文,并使能第一个任务的上下文;512、读入一定数据到输入缓存中;513、第一个任务处理输入缓存中的数据,并将处理结果存入中间缓存;514、切换当前ID使能第二个任务的上下文;515、判断数据流是否结束,若是,执行步骤S16,若否,执行步骤S17;516、读入中间缓存数据,执行第二个任务,输出最终结果;517、读入中间缓存数据,执行第二个任务,输出最终结果,同时,读取一定的新数据到输入缓存中,然后切换当前ID使能第一个任务的上下文后继续执行步骤S13。参图3所示,应用上述协处理器处理单数据流、并行处理的情况中,以两个任务为例,该数据流处理方法包括以下步骤521、读入两个任务的初始上下文,并使能第一个任务的上下文;522、读入一定数据到输入缓存中;523、第一个任务处理输入缓存中的数据,并输出最终结果。;524、切换当前ID使能第二个任务的上下文;525、判断数据流是否结束,若是,执行步骤S26,若否,执行步骤S27;526、第二个任务处理输入缓存中的数据,并输出最终结果;527、第二个任务处理输入缓存中的数据,并输出最终结果,同时,读取一定新数据到输入缓存中,然后切换当前ID使能第一个任务的上下文后继续执行步骤S23。参图4所示,应用上述协处理器处理单数据流、级连处理的情况中,以两个任务为例,该数据流处理方法包括以下步骤53本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:妙维袁宏骏余红斌李张丰
申请(专利权)人:苏州希图视鼎微电子有限公司
类型:发明
国别省市:

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

1
相关领域技术