发明名称 一种可编程安全处理器
摘要 本发明涉及集成电路设计中的微处理器设计技术领域,公开了一种可编程安全处理器,该安全处理器包括程序存储器、控制堆栈、控制译码器、运算译码器、RAM控制器、运算执行器、运算堆栈和接口模块。本发明提供的这种可编程安全处理器,是一个能支持可编程的结构,通过分析大部分密码运算的基本运算,然后设置这些基本运算单元,然后通过程序控制和基本运算就能实现多种加解密算法。由于这种可编程安全处理器支持可编程,而且易于高效实现多种密码算法,所以满足了在嵌入式应用中需要快速实现多种密码算法的需求。
申请公布号 CN100419776C 申请公布日期 2008.09.17
申请号 CN200610144353.4 申请日期 2006.12.04
申请人 中国科学院计算技术研究所 发明人 何子键;徐勇军;谢磊;李晓维
分类号 G06F21/00(2006.01);H04L9/14(2006.01) 主分类号 G06F21/00(2006.01)
代理机构 中科专利商标代理有限责任公司 代理人 周国城
主权项 1. 一种可编程安全处理器,其特征在于,该安全处理器包括:程序存储器,用于存储加解密程序,并根据接收自控制译码器的程序计数器值选择一条指令,并将选择的指令分为运算指令和控制指令,分别发送给运算译码器和控制译码器;控制堆栈,用于完成控制译码器中寄存器和程序计数器的保存和恢复;控制译码器,用于完成接收自程序存储器的控制指令的译码和执行,将内部寄存器的值发送给运算译码器和控制堆栈,向控制堆栈发送压栈出栈控制信号,并向运算执行器发送分支预测指令信号;该控制译码器包括:指令译码器,用于完成接收自程序存储器的控制指令的译码和执行,向控制堆栈发送压栈出栈控制信号,向累加寄存器rega、regb和程序计数器发送控制信号;累加寄存器rega、regb、regc,用于根据接收自指令译码器的控制信号向控制堆栈压入或弹出数据,将保存的数据发送给运算译码器;程序计数器,用于根据接收自指令译码器的控制信号向控制堆栈压入或弹出程序计数器值,并向程序存储器输出程序计数器值;基值寄存器regmax,以及基地址寄存器bs0、bs1、bs2和bs3,所述累加寄存器rega、regb和regc,以及基地址寄存器bs0、bs1、bs2和bs3都连接于运算译码器,在译码时,运算译码器利用所述累加寄存器rega、regb和regc,以及基地址寄存器bs0、bs1、bs2和bs3的值生成操作数的物理地址;运算译码器,用于对接收自程序存储器的运算指令进行译码,根据译码结果和接收自控制译码器的内部寄存器值生成源操作数地址、目的操作数地址和运算类型,将生成的源操作数地址和目的操作数地址发送给RAM控制器,生成的运算类型发送给运算执行器;RAM控制器,用于根据接收自运算译码器的操作数地址和运算结果,从RAM中读出源操作数,将目的操作数写入RAM,并根据接收自接口模块的读写控制信号、地址信号和写入数据执行读写RAM的操作;运算执行器,用于对接收自RAM控制器的操作数和运算译码器的运算类型信号执行加解密运算,将执行结果返回到RAM控制器;并根据运算结果向控制译码器返回分支预测结果信号,向运算堆栈发送压栈出栈控制信号,对运算堆栈进行压栈出栈控制;运算堆栈,用于保存运算执行器中寄存器的值,接受运算执行器的压栈出栈控制;接口模块,用于提供交互接口,实现安全处理器与外界进行的通信。
地址 100080北京市海淀区中关村科学院南路6号