CN200941211Y - 用于密码学运算的微处理器内核 - Google Patents

用于密码学运算的微处理器内核 Download PDF

Info

Publication number
CN200941211Y
CN200941211Y CNU2006201191914U CN200620119191U CN200941211Y CN 200941211 Y CN200941211 Y CN 200941211Y CN U2006201191914 U CNU2006201191914 U CN U2006201191914U CN 200620119191 U CN200620119191 U CN 200620119191U CN 200941211 Y CN200941211 Y CN 200941211Y
Authority
CN
China
Prior art keywords
data
register
instructions
sub
instruction
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.)
Expired - Fee Related
Application number
CNU2006201191914U
Other languages
English (en)
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.)
Beijing Tongfang Microelectronics Co Ltd
Original Assignee
Beijing Tongfang Microelectronics 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 Beijing Tongfang Microelectronics Co Ltd filed Critical Beijing Tongfang Microelectronics Co Ltd
Priority to CNU2006201191914U priority Critical patent/CN200941211Y/zh
Application granted granted Critical
Publication of CN200941211Y publication Critical patent/CN200941211Y/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

用于密码学运算的微处理器内核,涉及信息安全领域的密码学技术。本实用新型与程序存储器及数据存储器相互连接,用于加速密码学的运算。本实用新型包括:指令寄存器,指令译码单元,包括程序计数器、堆栈指针、数据指针、加速模块指针、数据寄存器、索引寄存器、比较寄存器和位寄存器的寄存器堆,数据运算单元,程序地址产生单元,程序存储器接口,数据存储器接口,密码学加速模块接口和密码学加速模块。同现有技术相比,本实用新型通过软硬件结合的方式,既可以获得较高的运算速度,又能获得算法功能的灵活性和通用性,具有成本低,性能高,功能可配置,灵活通用的特点。

Description

用于密码学运算的微处理器内核
技术领域
本实用新型涉及信息安全领域的密码学技术,特别是用于密码学运算的微处理器内核。
背景技术
密码学是现代信息技术中的一项基础技术,广泛应用于数据加密、身份识别、电子交易等涉及信息安全的各个领域,高效、安全的寄码学运算功能是组成一个安全系统的重要部件。基本的密码学算法大致可以分为对称密钥算法(如DES和AES)、非对称密钥算法(如RSA和ECC)、文摘算法(如MD5和SHA-1),这几类算法在现代安全系统(例如公共密钥架构,PKI)中都是必不可少的运算功能。
现有技术中,一般的密码学算法的共同特点是:1)算法的程序码模小,流程、结构简单,通常的算法都是以相同或相近的处理流程进行若干次循环。2)算法的数据规模小,但访问密度大。待处理的数据一般为几个至几十个字,程序反复的对其读取、运算和回写。3)算法中既会用到普通处理器的算术逻辑功能,例如加、减、移位、逻辑等操作,同时也可能用到特定算法所要求的特殊运算功能。普通的处理器指令都不直接提供特殊运算功能,而用硬件则非常容易实现,例如DES中的置位操作,用硬件实现只需若干连线,但用软件实现则需要大量的代码。所以说,密码学算法的软件实现和硬件实现各有其优缺点。
在软件实现方式中,算法程序与系统的其它程序运行在同一个通用的处理器上,其优点是成本低(仅仅是密码学软件开发成本),程序便于移植,便于实现多种算法,以及算法功能灵活(参数易于设置),缺点是程序只能使用通用的指令,实现特殊运算功能代价大,而且一条指令只能完成单一的功能,无法做到在硬件实现中常用的并行流水线处理方式,因此运算速度低;同时,由于密码学程序和其它程序运行在同一处理器上,密钥和数据都存储在普通存储器中,易于受到攻击,安全性低;另外也无法在嵌入式应用中使用(如智能卡)。
在硬件实现方式中,专用的硬件模块实现所需的密码学算法,可以根据算法特点将若干子步骤进行并行和流水线处理,从而大大提供运算速度;同时密码学运算是在硬件内部完成,不易受到外部攻击,安全性高;缺点是硬件加速模块通常只针对一种加密算法设计,而且算法的参数不易改变(例如,对于RSA算法只能提供固定长度的运算),缺乏灵活性和通用性。另外,当需要多种算法就必须针对各种算法设计各自的加速硬件,不同硬件内的相同或相似功能难以共享,使得系统的成本变高。
发明内容
为了克服上述现有技术中的缺点,本实用新型的目的是提供一种用于密码学运算的微处理器内核。它通过软硬件结合的方式,既可以获得较高的运算速度,又能获得算法功能的灵活性和通用性,具有成本低,性能高,功能可配置,灵活通用的特点。
为了达到上述发明目的,本实用新型的技术方案以如下方式实现:
用于密码学运算的微处理器内核,它与程序存储器及数据存储器相互连接,用于加速密码学的运算。其结构特点是,它包括:
指令寄存器,存储当前执行的程序指令字并将指令发送给指令译码单元;
指令译码单元,译码并执行指令寄存器中的程序指令字,生成对微处理器内核中各部分电路的控制信号;
寄存器堆,包括程序计数器、堆栈指针、数据指针、加速模块指针、数据寄存器、索引寄存器、比较寄存器和位寄存器;
数据运算单元,对寄存器堆中的寄存器进行各种运算操作;
程序地址产生单元,产生下一条程序指令在程序存储器中的存储地址;
程序存储器接口,实现指令寄存器或数据寄存器从程序存储器的数据读取;
数据存储器接口,实现数据寄存器和数据存储器之间的数据交换;
密码学加速模块接口,实现数据寄存器和密码学加速模块之间的数据交换;
密码学加速模块,包含一个供DES程序调用的DES算法加速模块,实现DES算法硬件加速功能;还包含一个供AES算法程序调用的AES算法加速模块,实现AES算法硬件加速功能。
在上述的微处理器内核中,所述指令译码单元的子单元包括:
程序控制子指令译码单元,译码并执行挂起指令、绝对地址跳转指令、程序调用指令和程序返回指令;
存储器访问子指令译码单元,译码并执行存储器读子指令和存储器写子指令;
加速模块访问子指令译码单元,生成目标地址,并将数据输入到相应的加速模块,将运算结果存储到数据寄存器;
寄存器拷贝子指令译码单元,执行数据寄存器拷贝子指令、指针拷贝子指令和索引拷贝子指令;
算术逻辑子指令译码单元,对一个或两个数据寄存器进行数学或逻辑运算;
索引更新子指令译码单元,对索引寄存器执行清零、加一和减一操作;
条件跳转子指令译码单元,判断条件满足时,跳转到与下一条指令的相对偏移量为指定值的地址,否则执行下一条指令。
上述各子指令译码单元采用并行工作方式,对一条指令中的各自对应的子指令同时译码,各子指令功能在同一个时钟周期内同时完成。
本实用新型的结构形式是一种硬件实现方案,但采用了软件实现的思想。其核心是一个针对密码学算法特点特殊设计的处理器内核,它可以在一条指令中同时执行诸如存储器访问、寄存器拷贝、算术逻辑运算、循环变量递增/递减、条件判断和跳转等操作。这些密码学算法中最常用到的基本功能能够以并行的方式执行,使得算法可以采用流水线的方式对数据进行处理。同时可以对不易于处理器指令实现的特殊的运算功能设计专用的硬件加速模块,处理器通过加速模块接口访问其运算功能,这样既拥有软件实现的灵活性和通用性,又可获得接近硬件实现的速度。在具体实现可以权衡硬代价笔速度要求,根据系统的需求决定软、硬件之间的功能分配。本实用新型由于处理器架构不是针对特定算法设计的,具有通用性,因此不同的应用可以选择配置不同的软件程序,使得系统集成非常方便。由于各个算法程序可以共享处理器内核和存储器资源,并且拥有与系统其它部分统一的数据交换接口,因此在多算法应用中可以降低系统整体成本。同现有技术相比,本实用新型提供了一种低成本,高性能,功能可配置,灵活通用的支持多种密码学功能的硬件实现方案,尤其适合于需要多种密码学算法的嵌入式应用。
下面结合附图和具体实施方式对本实用新型做进一步说明。
说明书附图
图1是本实用新型的结构连接示意图
图2是本实用新型指令译码单元的结构连接示意图;
图3是本实用新型用于密码学运算系统的连接示意图;;
图4是本实用新型与程序存储器及数据存储器的信号传递关系图。
具体实施方式
参看图1和图2,本实用新型包括指令寄存器11、指令译码单元12、寄存器堆13、数据运算单元14、程序地址产生单元15、程序存储器接口16、数据存储器接口17、密码学加速模块接口18、包含DES密码学加速模块191和AES密码学加速模块192的密码学加速模块19。其中寄存器堆13中包含有程序计数器131、堆栈指针132、数据指针133、加速模块指针134、数据寄存器135、索引寄存器136、比较寄存器137和位寄存器138。指令译码单元12中包含有程序控制子指令译码单元121、存储器访问子指令译码单元122、加速模块访问子指令译码单元123、寄存器拷贝子指令译码单元124、算术逻辑子指令译码单元125、索引更新子指令译码单元126和条件跳转子指令译码单元127。
将本实用新型应用于密码学运算系统中,采用型号为8051的主控制器20通过共享数据存储器3的方式进行程序调用和数据交互,同时主控制器20还可以通过本实用新型微处理器内核1的控制/状态信号端口进行直接控制,如图3所示。本实用新型微处理器内核1将地址和控制信号信息传输给程序存储器2及数据存储器3,微处理器内核1根据程序存储器2的内容控制微处理器内核1与数据存储器3数据交互,如图4所示。
本实用新型微处理器内核1中各部分的工作原理如下:
指令寄存器11,通过程序存储器接口16实现与程序存储器2之间的通讯,输入程序存储器2中的程序指令,存储当前执行的程序指令字,并将指令发送给指令译码单元12。
指令译码单元12,译码并执行指令寄存器11中的程序指令字,产生微处理器内核1中各部分电路的各种控制信号,并将特定的控制信号发送给寄存器堆13、数据运算单元14、通过密码学加速模块接口18送给密码学加速模块19、程序地址产生单元15、通过程序存储器接口16送给程序存储器2和通过数据存储器接口17数据存储器3。指令译码单元12将程序指令字分解成若干子指令分别由特定的子指令译码单元121-127执行。各子指令译码单元121-127采用并行工作方式,对一条指令中各自对应的子指令同时译码,除4条程序控制指令外,各子指令功能在同一个时钟周期内同时完成。在一般的微处理器设计中,一条指令只能完成单一的功能,而在本实用新型中,每条指令可被分为若干个功能不同的子指令,各子指令在同一个时钟周期内同时完成,因此实现了多个功能的并行处理,大大提高了运算速度。
并行工作的各子指令译码单元121-127的逻辑工作步骤为:
[1]程序控制子指令译码单元121译码执行4条程序控制子指令,包括:A.挂起指令使得微处理器内核1进入挂起状态,停止执行程序,保持各寄存器的值,当启动信号有效后,从当前程序地址继续执行。B.绝对地址跳转指令用指令中的16位值更新程序计数器131,即跳转到指定的绝对地址。C.程序调用指令将当前的程序计数器131和堆栈指针132写入调用者的栈底,更新程序计数器131指向被调用者的栈底,并用指令中的16位值更新程序计数器131,跳转到指定的绝对地址。D.程序返回指令用当前程存栈底数据写入恢复程序计数器131和堆栈指针132,从而返回到调用者运行程序调用指令的入口点。
[2]存储器访问子指令译码单元122译码执行存储器访问子指令,包括:A.存储器读子指令,以数据指针133、堆栈指针132或程序计数器131作为基地址,以索引寄存器136或子指令中的4位立即数作为偏移量,相加产生目标地址,从数据存储器3或程序存储器2中读取一个字的数据存储到数据寄存器135中。B.存储器写子指令,以数据指针133或堆栈指针132作为基地址,以索引寄存器136或子指令中的4位立即数作为偏移量,相加产生目标地址,将数据寄存器135中的数据写入到数据存储器3中。
[3]加速模块访问子指令译码单元123译码执行加速模块访问子指令,以加速模块指针134作为基地址,以索引寄存器136或子指令中的4位立即数作为偏移量,相加产生目标地址,将数据寄存器135中的数据输入到相应的加速模块,将运算结果存储到数据寄存器135中。
[4]寄存器拷贝子指令译码单元124译码执行寄存器拷贝子指令,进行同类寄存器之间的拷贝操作,包括:数据寄存器135拷贝子指令,进行数据寄存器135之间的拷贝操作;指针拷贝子指令,进行数据指针133、堆栈指针132和程序计数器131之间的拷贝操作;索引拷贝子指令索引寄存器,进行比较寄存器137之间的拷贝操作。
[5]算术逻辑子指令译码单元125译码执行算术逻辑子指令,对一个或两个数据寄存器135进行数学或逻辑运算,包括带位加、减、左移、右移、与、或、半字交换、乘、位操作等。
[6]索引运算子指令译码单元126译码执行索引运算子指令,包括对索引寄存器136清零、加一和减一操作。
[7]条件跳转子指令译码单元127译码执行条件跳转子指令,当判断条件满足时,跳转到与下一条指令的相对偏移量为指定值的地址,否则执行下一条指令。
参看表1,表1列举子指令译码单元12中各子指令类型及编码体置,除程序控制指令占用指令编码的全部32位外,其余子指令各占用32指令编码的特定位置。因此,编码位置(在纵向上)不重叠的子指令可以并行处理。
31    28 27    23 22    19   1812   110
  存储器访问(索引偏移量寻址) 索引运算   位运算   寄存器拷贝 条件跳转
加速模块访问
  存储器访问(立即数偏移量寻址) 算术逻辑运算
                                  程序控制
表1
程序地址产生单元15,根据程序计数器131的值,并接收程序控制子指令译码单元121和/或条件跳转子指令译码单元127产生的控制信号,产生下一条程序指令在程序存储器2中的存储器地址,通过程序存储器接口16将地址输出到程序存储器2。在每条指令执行完成后对寄存器堆13中的程序计数器131加一,或者根据条件跳转子指令或程序控制子指令将目标地址存储到程序计数器131。
寄存器堆13,处理器指令可访问到的寄存器集合,接收指令译码单元12发来的指令,实现和数据运算单元14、程序存储器2、数据存储器3及密码学加速模块19的双向通讯,保存各种数据、产生各种目标地址。数据寄存器135用来保存各种源数据、中间数据和结果数据,它通过程序存储器接口16读取程序存储器2的数据;它通过微处理器内核1中相应的接口与数据存储器3、密码学加速模块19进行双向通讯,输入数据或把数据输出到数据存储器3和/或密码学加速模块19;并与微处理器内核1中的数据运算单元14实现双向通讯,进行各种数据的输入与输出。程序计数器131用来保存当前程序指令地址。堆栈指针132用来保存当前堆栈地址,在执行程序调用或程序返回指令时自动更新。数据指针133用来保存存储器寻址的基地址,与索引寄存器136的值相加产生存储器寻址的目标地址。加速模块指针134保存加速模块地址的基地址,与索引寄存器136的值相加产生加速模块地址的目标地址。索引寄存器136用来保存存储器寻址的偏移地址,与数据指针133或加速模块指针134的值相加产生存储器寻址或加速模块访问的目标地址。比较寄存器137保存与索引寄存器136相比较的参考数值,用于条件跳转子指令中的条件判断。位寄存器138用于保存程序运存时的状态位。
参看表2,表2中列举了寄存器堆13中各寄存器的定义,寄存器堆13中的各个寄存器的名称(在程序中使用)、编号及其组成。例如编号为13的字寄存器的名称为Rab,是由Pa和Pb这2个指针寄存器组合而成的。
                      数据寄存器       索引寄存器      指针寄存器
编号 助记符   编号   助记符(及构成) 编号   助记符 编号   助记符
R0R1R2R3R4R5R6R7     R0RsRaRbRmRnRuRv   R8R9R10R11R12R13R14R15   Rc0Rc1Ril={l,k,j,i}Rgh={Pe,h,g}Rcs={Pc,Ps}Rab={Pb,Pa}Rmn={Pn,Pm}Ruv={Pv,Pu}   I0I1I2I3I4I5I6I7   ijklghRs.B0Rs.B1 P0P1P2P3P4P5P6P7   PcPsPaPbPmPnPuPv
表1
在表2中,寄存器堆13中包含:
16个32位的数据寄存器R0~R15,都可以作为算术逻辑子指令的操作数及寄存器拷贝子指令的源或目标,其它子指令的源和目标寄存器则有限定。R10~R15实际上由若干个索引寄存器136或指针寄存器组合而成。
9个16-bit指针寄存器,用作访问存储器或加速模块时目标地址的基址。其中Pc(P0)是程序计数器131,用于访问程序;Ps(P1)是堆栈指针132,用于访问栈数据;Pe是加速模块指针134;其它是普通的数据指针133。
8个8-bit索引寄存器,分成三类:偏移量索引寄存器i、j、k和l(I0~I3)用作访问存储器或加速模块时目标地址的偏移量,索引寄存器136操作中的对象,条件判断中的比较对象,以及索引寄存器136拷贝中的源或目标寄存器;参考索引寄存器g和h(I4~I5)用作条件判断中的参考对象,以及索引寄存器拷贝中的源寄存器;Rs.B0和Rs.B1(I6~I7)是Rs寄存器的低2个字节,用作索引寄存器拷贝中的源寄存器。
数据运算单元14,接收指令译码单元12发出的指令,更确切的说,是接收算术逻辑子指令译码单元125发出的指令,执行寄存器相关的各种运算,如:寄存器之间的数据拷贝,包括数据寄存器135之间的拷贝,指针寄存器之间的拷贝,索引寄存器136及比较寄存器137之间的拷贝;算术逻辑操作,包括加法、减法、左移、右移、与、或、异或、半字交换操作;索引寄存器的加一、减一及清零操作;位寄存器138的清零和置位操作。数据运算单元14执行的各种运算都是最常用基本运算,而这些运算用处理器指令非常容易实现,因此灵活性高、利用率高。
程序存储器接口16,实现指令寄存器11或数据寄存器135从程序存储器2的数据读取。
数据存储器接口17,实现数据寄存器135和数据存储器3之间的数据交换。
密码学加速模块19,满足密码学加速模块接口18的数据时序要求。
各种密码学算法都有其各自的特点,但各种算法都会涉及到一些最常用的基本功能,如:存储器访问、寄存器拷贝、算术逻辑运算、循环变量递增/递减、条件判断和跳转等操作等,在本实用新型中,这些通用功能通过微处理器内核1中的指令译码单元12、寄存器堆13和数据运算单元14以并行的方式执行,算法可以采用流水线的方式对数据进行处理;而对于那些各密码学算法特定的功能,处理器指令难于处理或处理起来代价较高、速度较慢,则通过特定的密码学加速模块19来完成。
参看表3,表3中以一个多字节大整数加法为例,演示微处理器内核1的工作步骤:
Figure Y20062011919100171
表3
在数据存储器3存放两个输入和一个输出数据:加数A、加数B及结果M=A+B,A、B、M分别是占用N字数据,即它们是长度为32×N位的整数。数据的高有效字存储在低地址,低有效字存储在高地址。程存储器2存储多字加法程序指令,图5中详细列出了其中的运算部分。在未详细列出的初始化的程序中对用到的各个寄存器赋初值,其中Pa、Pb和Pm是三个指针寄存器,分别指向A、B和M在数据存储器3中的起始地址(高有效字地址);i和j是两个初始值均为字长N的索引寄存器136,在循环中分别用来访问输出和输入数据的某个字,i同时作为循环控制变量;Pc是程序计数器131,指向当前运行的程序指令地址。Ra、Rb和Rs是三个数据寄存器135,Ra和Rb分别用来读取A和B,Rs用来进行单字的加法运算,并将结果写入到M中。
执行运算部分程序时,Pc指向第1行程序,微处理器内核1将第1行程序的指令编码通过程序存储器接口16加载到指令寄存器11中,指令译码单元12对该指令进行译码。该指令包含2条子指令:存储器读子指令(Ra=Pa[j])的功能是从地址为(Pa+j)的数据存储器3中读取一个字加载到数据寄存器Ra中,该子指令由存储器访问子指令译码单元122译码,并通过输出给数据存储器接口17和寄存器堆13的控制信号完成其功能;另一条是位操作子指令(C=0),功能是将数据运算单元14中的进位标志C清零,该子指令由算术逻辑子指令译码单元125译码,并通过输出给数据运算单元14和寄存器堆13的控制信号完成其功能。这两条子指令的译码和功能在一个周期内一起完成,同时Pc自动加一,指向第2行程序,微处理器内核1继续进行读取指令和译码执行。第2行程序包括3条子指令,分别是存储器读子指令(Rb=Pb[j]:读取B的一个字到Rb)、寄存器拷贝子指令(Rs=Ra:将Ra的值复制到Rs)和索引运算子指令(j--:将索引寄存器j减一以指向下一个输入数据字)。每3行程序计算单字的带进位加法(a[j]+b[j]),结果保存在Rs中,同时读取下一轮循环中A的数据字(Ra=Pa[j])。第4行程序将Rs中的数值写入到地址为(Pm+i)的数据存储器中(Pm[i]=Rs),即M的第i个字,并将索引寄存器i减一(i--)以指向下一个输出数据字;同时执行条件跳转子指令(jump LOOP unless i=0),判断i是否等于0,若非0则将Pc减去2,跳转到标号为“LOOP”的第2条程序,开始下一轮循环,若为0则继续执行后面的指令。
由上述这段程序可以看出,子指令的并行运行使得存储器访问、算术运算、寄存器拷贝、数据地址更新和条件判断及跳转这些基本的程序功能可以用流水线的方式进行。循环部分只有3条指令,但包含了8个数据处理功能,使得一个大整数加法的运算所需时间是3×N(除去常数项),如果每条指令只能完成一项处理功能,则循环部分需要7条指令(i和j可以合并),加法的运算时间是7×N。对于字长对复杂度影响更大的算法(如模乘的复杂度与N的平方成正比),子指令的并行处理对对算法效率的提高更显著。
上述列举的本实用新型的几个实现方案中,对一些本领域技术人员公知技术的过程、元件和步骤并没有详细说明,因为对本领域的技术人员来说,没有这些具体描述,或使用替代的元件和方法,也能实施本实用新型。

Claims (2)

1、用于密码学运算的微处理器内核,它与程序存储器(2)及数据存储器(3)相互连接,用于加速密码学的运算,其特征在于,它包括:
指令寄存器(11),存储当前执行的程序指令字并将指令发送给指令译码单元(12);
指令译码单元(12),译码并执行指令寄存器(11)中的程序指令字,产生微处理器内核(1)中各部分电路的控制信号;
寄存器堆(13),包括程序计数器(131)、堆栈指针(132)、数据指针(133)、加速模块指针(134)、数据寄存器(135)、索引寄存器(136)、比较寄存器(137 )和位寄存器(138);
数据运算单元(14),对寄存器堆(13)中的寄存器进行各种运算操作;
程序地址产生单元(15),产生下一条程序指令在程序存储器(2)中的存储地址;
程序存储器接口(16),实现指令寄存器(11)或数据寄存器(135)从程序存储器(2)的数据读取;
数据存储器接口(17),实现数据寄存器(135)和数据存储器(3)之间的数据交换;
密码学加速模块接口(18),实现数据寄存器(135)和密码学加速模块(19)之间的数据交换;
密码学加速模块(19),包含一个供DES程序调用的DES算法加速模块(191),实现DES算法硬件加速功能;还包含一个供AES算法程序调用的AES算法加速模块(192),实现AES算法硬件加速功能。
2、如权利要求1所述的用于密码学运算的微处理器内核,其特征在于,所述指令译码单元(12)的子单元包括:
程序控制子指令译码单元(121),译码并执行挂起指令、绝对地址跳转指令、程序调用指令和程序返回指令;
存储器访问子指令译码单元(122),译码并执行存储器读子指令和存储器写子指令;
加速模块访问子指令译码单元(123),生成目标地址,并将数据输入到相应的加速模块,将运算结果存储到数据寄存器(135);
寄存器拷贝子指令译码单元(124),执行数据寄存器拷贝子指令、指针拷贝子指令和索引拷贝子指令;
算术逻辑子指令译码单元(125),对一个或两个数据寄存器(135)进行数学或逻辑运算;
索引更新子指令译码单元(126),对索引寄存器(136)执行清零、加一和减操作;
条件跳转子指令译码单元(127),判断条件满足时,跳转到与下一条指令的相对偏移量为指定值的地址,否则执行下一条指令;
上述各子指令译码单元(121~127)采用并行工作方式,对一条指令中的各自对应的子指令同时译码,各子指令功能在同一个时钟周期内同时完成。
CNU2006201191914U 2006-08-23 2006-08-23 用于密码学运算的微处理器内核 Expired - Fee Related CN200941211Y (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNU2006201191914U CN200941211Y (zh) 2006-08-23 2006-08-23 用于密码学运算的微处理器内核

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNU2006201191914U CN200941211Y (zh) 2006-08-23 2006-08-23 用于密码学运算的微处理器内核

Publications (1)

Publication Number Publication Date
CN200941211Y true CN200941211Y (zh) 2007-08-29

Family

ID=38747388

Family Applications (1)

Application Number Title Priority Date Filing Date
CNU2006201191914U Expired - Fee Related CN200941211Y (zh) 2006-08-23 2006-08-23 用于密码学运算的微处理器内核

Country Status (1)

Country Link
CN (1) CN200941211Y (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101533450B (zh) * 2008-05-24 2010-10-13 威盛电子股份有限公司 提供安全执行环境的微处理器及其执行安全编码的方法
CN104050415A (zh) * 2013-03-15 2014-09-17 英特尔公司 用于系统调用的稳健且高性能的指令
CN107135078A (zh) * 2017-06-05 2017-09-05 浙江大学 Pbkdf2密码算法加速方法及所用装置
CN109213575A (zh) * 2017-06-30 2019-01-15 北京忆恒创源科技有限公司 单一处理器运行程序的方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101533450B (zh) * 2008-05-24 2010-10-13 威盛电子股份有限公司 提供安全执行环境的微处理器及其执行安全编码的方法
CN104050415A (zh) * 2013-03-15 2014-09-17 英特尔公司 用于系统调用的稳健且高性能的指令
CN104050415B (zh) * 2013-03-15 2017-10-13 英特尔公司 用于系统调用的稳健且高性能的指令
CN107135078A (zh) * 2017-06-05 2017-09-05 浙江大学 Pbkdf2密码算法加速方法及所用装置
CN107135078B (zh) * 2017-06-05 2019-12-20 浙江大学 Pbkdf2密码算法加速方法及所用装置
CN109213575A (zh) * 2017-06-30 2019-01-15 北京忆恒创源科技有限公司 单一处理器运行程序的方法
CN109213575B (zh) * 2017-06-30 2024-04-05 北京忆恒创源科技股份有限公司 单一处理器运行程序的方法

Similar Documents

Publication Publication Date Title
CN100470571C (zh) 一种用于密码学运算的微处理器内核装置
CN104781803B (zh) 用于架构不同核的线程迁移支持
CN106547518B (zh) 用于加速器的低等待时间调用的装置和方法
CN110018850A (zh) 用于可配置空间加速器中的多播的设备、方法和系统
CN109478139A (zh) 用于共享存储器中的访问同步的装置、方法和系统
CN104813281B (zh) 用于指令的快速失败处理的装置和方法
CN101520723B (zh) 用于装入/移动以及复制指令的处理器、系统和方法
CN100480997C (zh) 选择可实质同时处理的多重线程的系统与方法
TW505839B (en) Simple algorithmic cryptography engine
CN104813294B (zh) 用于任务可切换的同步硬件加速器的装置和方法
CN104126170B (zh) 打包数据操作掩码寄存器算术组合处理器、方法、系统及指令
CN109791488A (zh) 用于执行用于复数的融合乘-加指令的系统和方法
CN108702286A (zh) 抗功率侧信道攻击的高级加密标准加速器处理器
CN109800050A (zh) 一种虚拟机的内存管理方法、装置、相关设备及系统
TWI808869B (zh) 硬體處理器及處理器
CN117724763A (zh) 用于矩阵操作加速器的指令的装置、方法和系统
CN108351786A (zh) 在指令集架构中对数据进行排序并且合并经排序数据
CN109840068A (zh) 用于复数乘法的装置和方法
CN104025502A (zh) 用于处理blake安全散列算法的指令处理器、方法以及系统
TWI550508B (zh) 用於複製資料結構之設備及方法
CN109992304A (zh) 用于加载片寄存器对的系统和方法
CN200941211Y (zh) 用于密码学运算的微处理器内核
CN108292220A (zh) 用于加速图形分析的装置和方法
CN108269226A (zh) 用于处理稀疏数据的装置和方法
JP6551751B2 (ja) マルチプロセッサ装置

Legal Events

Date Code Title Description
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20070829