CN101201811A - 用于soc的加解密协处理器、其实现方法及编程模型 - Google Patents

用于soc的加解密协处理器、其实现方法及编程模型 Download PDF

Info

Publication number
CN101201811A
CN101201811A CNA2006101194103A CN200610119410A CN101201811A CN 101201811 A CN101201811 A CN 101201811A CN A2006101194103 A CNA2006101194103 A CN A2006101194103A CN 200610119410 A CN200610119410 A CN 200610119410A CN 101201811 A CN101201811 A CN 101201811A
Authority
CN
China
Prior art keywords
register
coprocessor
data
address
write
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.)
Granted
Application number
CNA2006101194103A
Other languages
English (en)
Other versions
CN101201811B (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.)
BIAN LIJIAN ZHANG LIJUN
Original Assignee
BIAN LIJIAN ZHANG LIJUN
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 BIAN LIJIAN ZHANG LIJUN filed Critical BIAN LIJIAN ZHANG LIJUN
Priority to CN200610119410A priority Critical patent/CN101201811B/zh
Publication of CN101201811A publication Critical patent/CN101201811A/zh
Application granted granted Critical
Publication of CN101201811B publication Critical patent/CN101201811B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Advance Control (AREA)

Abstract

本发明公开了一种用于SOC的加解密协处理器、其实现方法及编程模型。总线接口连接通用CPU总线,接收来自通用CPU总线的读写命令;中央控制模块用于控制总线接口所接收的读写命令及触发所述协处理器相应动作的开始、执行和结束;256位位处理器执行加密算法和数字签名算法中常用的数据检索和哈希算法;DMA控制器连接第二通用CPU总线,在中央控制模块控制下进行数据处理。实现方法是通过软硬件的划分,将各种加密解密算法分解为各个硬件运算单元,使用软件控制和调度各个硬件运算单元。编程模型即寄存器描述。本发明更加灵活、经济,能以中等速度实现大多数已知加密解密算法,并能满足大多数SOC芯片设计的要求。

Description

用于SOC的加解密协处理器、其实现方法及编程模型
技术领域
本发明涉及一种超大规模数字集成电路(VLSI),特别是涉及一种在超大规模数字芯片中适用于SOC(system on a chip芯片上的系统)设计集成的加密解密协处理器。本发明还涉及该协处理器的实现方法及用于该方法的编程模型。
背景技术
目前国内在这一领域没有类似专利。国外这一领域的专利多专注于特定加密解密算法的特定实现(高速实现,低功耗实现等)。这些专利的特点是专用性强,速度快,但一种硬件结构只能用于一种或两种算法(如DES,RSA,ECC等),适合用于实时性要求非常强的情况。
目前这一领域中大多数SOC芯片的实现均采用一个硬件IP(硬件知识产权模块)或协处理器实现一种加密解密算法的架构,这样导致芯片面积增大,功耗增大。而且值得注意的是,这些IP大多从不同的第三方IP供应商购买而来,而这些供应商为了商业目的,会将这些IP的性能目标定在业界所知的最高性能。但是,目前大多数应用场合都不需要如此高速的实现,需要的是中等速度,更加灵活(可配置)和更加经济(节省硅片面积)的实现。
发明内容
本发明要解决的技术问题是提供一种适用于SOC设计的加解密协处理器,它更加灵活、经济,能以中等速度实现大多数已知加密解密算法,并能满足大多数SOC芯片设计的要求;为此,本发明还要提供一种该协处理器的实现方法及用于该方法的编程模型。
为解决上述技术问题,本发明的适用于SOC设计的加解密协处理器包括,总线接口和配置寄存器,连接通用CPU总线,该总线接口接收来自通用CPU总线的读写命令,对其进行解释并读写相应的配置寄存器;
中央控制模块,用于控制所述总线接口所接收的读写命令及触发所述协处理器相应动作的开始、执行和结束;
32位ALU和桶式移位器,其中,32位ALU执行微码当中的通用指令;桶式移位器执行微码当中的移位和旋转指令;
256位位处理器,执行加密算法和数字签名算法中常用的哈希算法;
256位位排序器,执行对称加密算法中常用的数据洗牌算法;所述的256位位排序器不能做任意的比特排序,只能执行所有预定义的比特排序模式;
32位乘法,乘累加和域乘法器,在一个时钟周期内完成32位乘法、乘累加或GP域乘法;所述的32位乘法、乘累加和域乘法器集成为一个整体,在一个时钟周期内完成32位乘法,乘累加或GP域乘法;其中,在执行RSA算法时,使用乘法和乘累加功能;在执行ECC算法时,使用GP域乘法功能;
内部总线,256比特,进行所述协处理器的内部信息传输;包括数据输入总线256位、数据输出总线256位、数据地址总线16位、代码输出总线256位、代码地址总线16位,控制信号包括CS、RW和SEL;
数据缓冲器,作为外部系统内存和所述协处理器之间的缓冲和高速缓冲存储器;
寄存器文件,进行数据的暂存和快速的存取;
DMA控制器,连接第二通用CPU总线,在所述中央控制模块控制下进行数据处理。
所述的用于SOC的加解密协处理器的方法,包括如下步骤:
在PC或工作站上进行软件开发,将各种常用的加解密算法中运算量最大的算子识别出来,并使用所述协处理器的微码对这些算子进行实现;
系统软件通过一个C语言库函数的调用运行该算子;
使用C语言实现加解密算法的控制逻辑和输入输出,其中通过C语言库函数调用各种加速算子;
实现所述协处理器的中断处理程序,以处理各种协处理器通知。
所述的协处理器的编程模型如下:
命令寄存器:寄存器地址0;寄存器性质,只写;写入协处理器命令,该命令包括:开始,即开始执行配置的算子,终止,即终止正在执行的算子,查询,即查询正在执行算子的状态,并反映至状态寄存器;
状态寄存器:寄存器地址4;寄存器性质,只读;反映协处理器状态,包括运行状态,出错状态;
中断寄存器:寄存器地址8;寄存器性质,读写;反映协处理器中断状态,写入1则清除相应中断比特;
中断使能寄存器:寄存器地址12;寄存器性质,读写;比特为1则屏蔽相应中断;
代码寄存器:寄存器地址16;寄存器性质,读写;存储输入微码块首地址的物理地址,DMA控制器从这里取数据;
输入寄存器A:寄存器地址20;寄存器性质,读写;存储输入数据A的物理地址,DMA控制器从这里取数据;
输入寄存器B:寄存器地址24;寄存器性质,读写;存储输入数据B的物理地址,DMA控制器从这里取数据;
输出寄存器:寄存器地址28;寄存器性质,读写;存储输出数据的物理地址,DMA控制器往这里写数据;
上述寄存器均为32位。
采用本发明的适用于SOC设计的加解密协处理器,能够更加灵活和经济的实现加密解密协处理器,并以中等速度实现大多数已知加密解密算法,满足大多数SOC芯片设计的要求;而且硬件规模小,功耗更低。
附图说明
下面结合附图与具体实施方式对本发明作进一步详细的说明:
附图是本发明的原理框图。
具体实施方式
如图所示,本发明的适用于SOC设计的加解密协处理器包括总线接口和配置寄存器、中央控制模块、32位ALU(运算器)和桶式移位器、256位位处理器、256位位排序器、32位乘法,乘累加和域乘法器、内部总线、数据缓冲器、寄存器文件、DMA(直接数据传输)控制器。
所述的总线接口(即协处理器接口)和配置寄存器,连接通用CPU(中央处理器)总线。该通用CPU总线包括数据输入总线32位、数据输出总线32位、地址总线32位,控制信号包括CS(片选)、RW(读写)、INT(中断)和SEL(数据粒度)。该通用CPU总线可以很容易的与各种流行的CPU总线架构相连接,如ARM公司的AHB和APB、OpenCore组织的WISHBONE和IBM的OPB等等。
所述的总线接口接收来自所述的通用CPU总线的读写命令,对其进行解释并读写相应的配置寄存器。所述配置寄存器中包括数据寄存器、状态寄存器和命令寄存器。数据寄存器只简单的存储各种参数,状态寄存器反映所述的协处理器当前状态,而命令寄存器的读写则会触发协处理器相应的动作。
所述的中央控制模块即中央控制逻辑和有限状态机。所述总线接口接收来自通用CPU总线的读写命令,读写命令寄存器并触发所述协处理器相应的动作;这些动作的开始、执行和结束,则由中央控制模块控制。
该中央控制模块对上述动作的控制过程如下:
所述中央控制模块收到开始命令后,开始执行命令包含的特定算法;
如已有算法在执行中,则不予执行并返回出错代码,CPU可通过状态寄存器读取出错代码;
所述中央控制模块控制所述的DMA控制器从系统内存读取微码和数据进入微码和数据缓冲器;
所述中央控制模块控制32位ALU,256位位处理器和256位位排序器等各种执行模块执行微码数据缓冲器中的代码;
算法执行时,所述中央控制模块控制DMA控制器将中间结果写入系统内存;
算法执行完毕后,所述中央控制模块控制DMA控制器将最终结果写入系统内存,并触发中断通知CPU。
所述的32位ALU和桶式移位器中,32位ALU执行微码当中的通用指令,如加法、减法、位或、位与、异或和跳转等运算;桶式移位器执行微码当中的左移、右移和旋转等指令。
256位位处理器,执行各种加密算法和数字签名算法(例如SHA1,SHA256,MD5等算法)中常用的哈希算法(如MD5、SHA1)。
256位位排序器,执行各种对称加密算法(例如DES,3DES等算法)中常用的数据洗牌算法(如DES、MD5、SHA1)。该位排序器可以在一个时钟周期内完成CPU要耗费数百时钟周期的运算。值得指出的是,该位排序器并不能做任意的比特排序,只能执行所有预定义的比特排序模式,否则硬件逻辑过大,导致不必要的硬件和功耗的浪费。
32位乘法、乘累加和域乘法器。各种通用CPU在作32位乘法时往往效率极低,而32位乘法在加密解密运算中是极为重要的,它直接影响到运算的执行效率,尤其对RSA和ECC等非对称加密算法的影响极为巨大。因此一个速度较快的32位乘法器是必须的。
在本发明中将32位乘法、乘累加和域乘法器集成在一起,节省了芯片面积,降低了芯片功耗。该32位乘法、乘累加和域乘法器可以在一个时钟周期内完成32位乘法,乘累加或GP域乘法,大大提高了RSA和ECC等非对称加密算法的执行效率。
在执行RSA算法时,将主要使用所述32位乘法、乘累加和域乘法器的乘法和乘累加功能;在执行ECC算法时,将主要使用所述32位乘法、乘累加和域乘法器的GP域乘法功能。
所述的内部总线(即所述协处理器的内部总线),为256比特。包括数据输入总线256位、数据输出总线256位、数据地址总线16位、代码输出总线256位、代码地址总线16位,控制信号包括CS(片选),RW(读写)和SEL(数据粒度)。
所述内部总线256比特的超大带宽使得内部数据的传输速度大大提高;使得内部数据的计算和传输都以256位的数据粒度进行成为可能。
所述的数据缓冲器,为8块32位SRAM(静态随机存储器)和缓冲器控制逻辑所组成。它的作用是充当外部系统内存和所述协处理器之间的缓冲和高速缓冲存储器。这样各种加密解密运算可以直接运算在缓冲的数据上,而不必去等待存取速度慢的外部系统内存了。并且所述的数据缓冲器有两个读口,一个写口,可以同时进行数据的读写。一边为各个运算模块提供数据,一边接受DMA控制器写入的数据。
各个SOC实现可以选用大小不一的数据缓冲器,以实现性能和芯片面积之间的权衡。优选每块SRAM为4K字节以上大小。
所述的微码缓冲器为4块32位SRAM和缓冲器控制逻辑所组成。它的作用是充当外部系统内存和协处理器之间的代码缓冲和代码Cache。这样协处理器可以每个时钟周期读取并执行一条指令,减少了等待时间。
256位的代码宽度使得各个执行模块可以并行进行运算,大大减少了算法的执行时间。该微码缓冲器有一个读口,一个写口,可以同时进行代码的读写。一边为各个运算模块提供代码,一边接受DMA控制器从外部系统内存载入的数据。
各个SOC实现可以选用大小不一的代码缓冲器,以实现性能和芯片面积之间的权衡。优选每块SRAM为4K字节以上大小。
所述的寄存器文件由A、B两个寄存器堆组成。每个寄存器堆由8个32比特的寄存器组成。每个寄存器可以单独寻址,也可结队寻址,直接提供256比特的操作数。寄存器文件的存在是为了数据的暂存和快速的存取。
所述的DMA控制器连接第二通用CPU总线,并且为主设备。该第二通用CPU总线具有数据输入总线32位,数据输出总线32位,地址总线32位,控制信号包括CS(片选),RW(读写),INT(中断)和SEL(数据粒度)。该第二通用CPU总线也可以很容易的与各种流行的CPU总线架构相连接,如ARM公司的AHB和APB、OpenCore组织的WISHBONE和IBM的OPB等等。该第二通用CPU总线一般要接入SOC系统中的总线仲裁器,与其他主设备竞争总线。
所述的第二通用CPU总线为DMA总线,即系统主总线,总线格式与总线接口所述的通用CPU总线相同,但数据流方向相反。总线接口所述的通用CPU总线是系统传输命令和数据给协处理器(协处理器被动接受),而所述的第二通用CPU总线则主动从协处理器传输命令和数据给系统。
所述的DMA控制器在中央控制模块的控制下将执行以下操作:
将数据从外部内存载入到内部数据缓存;
将数据写出到外部内存;
将数据自动刷新到外部内存;
将代码从外部内存载入到内部代码缓存;
数据/代码传输完毕后,通过中断通知CPU或通知中央控制模块。
除所述的中央控制模块和总线接口以外,本发明中的配置寄存器、32位ALU(运算器)和桶式移位器、256位位处理器、256位位排序器、32位乘法,乘累加和域乘法器、内部总线、数据缓冲器、寄存器文件、DMA控制器,在空闲状态时均可被中央控制模块设置于省电模式,可以进一步降低功耗。
本发明所述的协处理器的整体实现实际上是通过软硬件的划分,将各种加密解密算法分解为各个硬件运算单元,然后使用软件(微代码)控制和调度各个硬件运算单元,进一步达到控制协处理器运行的目的。
这样系统CPU就可以动态配置协处理器,可以将其配置成DES协处理器、RSA协处理器或ECC协处理器等等。
在不使用所述的协处理器时,还可以将协处理器使用的内存释放掉,不影响系统整体的运行。
由于本发明所述的协处理器的设计方式为软硬件结合,使用方式较为复杂,下面将详细介绍该协处理器的具体实施方法。
一般一个算法的实现包括一个或多个C语言程序和一个或多个实现了各种算子的微码块。C语言程序实现算法的控制逻辑,包括循环和跳转。各种算子的微码则高效实现了数据通路的各种运算。软件和硬件配合高效实现了整个算法。
本发明所述的协处理器的开发流程如下:
在PC或工作站上进行软件开发,将各种常用的加解密算法中运算量最大的算子识别出来,并使用所述协处理器的微码对这些算子进行实现。由于算法一般为循环执行方式,一些关键操作或算子的执行时间将占大部分算法的整体执行时间,因此将这些算子使用所述协处理器进行实现,执行速度将加快10到100倍不等。系统软件可以通过一个C语言库函数的调用运行该算子。
使用C语言实现加解密算法的控制逻辑和输入输出等,其中通过C语言库函数调用各种加速算子。由于执行当中关键算子得到了加速,这种实现将比纯软件实现快1到2个数量级。
实现所述协处理器的中断处理程序,以处理各种协处理器通知,如操作完成,数据传输完成等等,配合算法实现函数完成整个算法。
在各种算子微码的二进制实现完成后,就可以开始使用协处理器了。
本发明所述的协处理器的使用流程如下:
将各种算子的微码的二进制实现和其他控制逻辑或操作系统代码连接成最终的应用程序并放置在SOC内部的SRAM或ROM中,各微码块的首地址组成一张表。个别使用频率不高的微码块还可以存放在磁盘或闪存上的文件中以节省内存。
各个算子的调用都遵循相同的过程,首先是算子配置过程,然后是算子使用过程。
所述的配置过程如下:首先将要使用的算子微码块的首地址写入协处理器的配置寄存器;然后将源操作数地址存入源操作数A和B的地址寄存器;最后将结果操作数地址存入结果操作数地址寄存器。
所述的使用过程如下:
将开始命令写入协处理器命令寄存器,命令协处理器开始工作;
协处理器通过DMA控制器将微码和数据读入微码和数据缓冲器;
协处理器开始执行微码,操作各个执行单元对数据进行处理,将临时结果写出至数据缓冲器,最终结果写出至外部内存,快速实现算子;
算子执行完毕,协处理器通过中断通知CPU运算完毕;
CPU得到通知,开始运行下一个算子或结束整个算法。
在SOC设计当中,每个外设、IP或协处理器都有一个编程模型,即寄存器描述,作为软件和硬件之间的接口。而且往往会被包装为驱动程序和驱动程序库,供上层软件或操作系统使用。
本发明也不例外,也有一个预定义的编程模型,该编程模型将为协处理器的C语言或汇编语言驱动程序所使用。
本发明所述的协处理器的编程模型(寄存器描述)如下表所示:
  寄存器名称   寄存器地址   寄存器性质   寄存器描述
命令寄存器 0 只写(32位)   写入协处理器命令,命令包括:开始(开始执行配置的算子)终止(终止正在执行的算子)查询(查询正在执行算子的状态,会反映至状态寄存器)
  状态寄存器   4   只读(32位)   反映协处理器状态,包括运行状态,出错状态等等
  中断寄存器   8   读写(32位)   反映协处理器中断状态,写入1则清除相应中断比特
  中断使能寄存器   12   读写(32位)   比特为1则屏蔽相应中断
  代码寄存器   16   读写(32位)   存储输入微码块首地址的物理地址,DMA控制器会从这里取数据
  输入寄存器A   20   读写(32位)   存储输入数据A的物理地址,DMA控制器会从这里取数据
  输入寄存器B   24   读写(32位)   存储输入数据B的物理地址,DMA控制器会从这里取数据
  输出寄存器   28   读写(32位)   存储输出数据的物理地址,DMA控制器会往这里写数据
本发明中所述的所有元件均为通用元件,可以向ARM,MIPS等各个IP供应商进行购买。

Claims (12)

1.一种用于SOC的加解密协处理器,其特征在于:包括,
总线接口和配置寄存器,连接通用CPU总线,该总线接口接收来自通用CPU总线的读写命令,对其进行解释并读写相应的配置寄存器;
中央控制模块,用于控制所述总线接口所接收的读写命令及触发所述协处理器相应动作的开始、执行和结束;
32位ALU和桶式移位器,其中,32位ALU执行微码当中的通用指令;桶式移位器执行微码当中的移位和旋转指令;
256位位处理器,执行加密算法和数字签名算法中常用的哈希算法;
256位位排序器,执行对称加密算法中常用的数据洗牌算法;所述的256位位排序器不能做任意的比特排序,只能执行所有预定义的比特排序模式;
32位乘法,乘累加和域乘法器,在一个时钟周期内完成32位乘法、乘累加或GP域乘法;所述的32位乘法、乘累加和域乘法器集成为一个整体,在一个时钟周期内完成32位乘法,乘累加或GP域乘法;其中,在执行RSA算法时,使用乘法和乘累加功能;在执行ECC算法时,使用GP域乘法功能;
内部总线,256比特,进行所述协处理器的内部信息传输;包括数据输入总线256位、数据输出总线256位、数据地址总线16位、代码输出总线256位、代码地址总线16位,控制信号包括CS、RW和SEL;
数据缓冲器,作为外部系统内存和所述协处理器之间的缓冲和高速缓冲存储器;
寄存器文件,进行数据的暂存和快速的存取;
DMA控制器,连接第二通用CPU总线,在所述中央控制模块控制下进行数据处理。
2.根据权利要求1所述的用于SOC的加解密协处理器,其特征在于:所述配置寄存器中包括数据寄存器、状态寄存器和命令寄存器,其中,数据寄存器存储各种参数,状态寄存器反映所述的协处理器当前状态,命令寄存器的读写则触发所述的协处理器相应的动作。
3.根据权利要求1或2所述的用于SOC的加解密协处理器,其特征在于:所述的中央控制模块的控制过程如下:
所述中央控制模块收到开始命令后,开始执行命令包含的特定算法;如已有算法在执行中,则不予执行并返回出错代码,CPU通过状态寄存器读取出错代码;控制所述的DMA控制器从系统内存读取微码和数据进入微码和数据缓冲器;控制各种执行模块执行微码数据缓冲器中的代码;当算法执行时,控制DMA控制器将中间结果写入系统内存;当算法执行完毕后,控制DMA控制器将最终结果写入系统内存,并触发中断通知CPU。
4.根据权利要求1所述的用于SOC的加解密协处理器,其特征在于:所述的数据缓冲器由8块32位SRAM和缓冲器控制逻辑所组成,该数据缓冲器有两个读口、一个写口,同时进行数据的读写;所述SRAM每块大于4K字节。
5.根据权利要求1所述的用于SOC的加解密协处理器,其特征在于:所述的微码缓冲器由4块32位SRAM和缓冲器控制逻辑组成;该微码缓冲器有一个读口,一个写口,同时进行代码的读写;所述SRAM每块大于4K字节。
6.根据权利要求1所述的用于SOC的加解密协处理器,其特征在于:所述的寄存器文件由A、B两个寄存器堆组成,每个寄存器堆由8个32比特的寄存器组成;每个寄存器单独寻址或结队寻址,直接提供256比特的操作数。
7.根据权利要求1所述的用于SOC的加解密协处理器,其特征在于:所述的DMA控制器执行以下操作:将数据从外部内存载入到内部数据缓存;将数据写出到外部内存;将数据自动刷新到外部内存;将代码从外部内存载入到内部代码缓存;数据/代码传输完毕后,通过中断通知CPU或通知中央控制模块。
8.根据权利要求1所述的用于SOC的加解密协处理器,其特征在于:所述的配置寄存器、32位ALU和桶式移位器、256位位处理器、256位位排序器、32位乘法,乘累加和域乘法器、内部总线、数据缓冲器、寄存器文件、DMA控制器,在空闲状态时被中央控制模块设置于省电模式。
9.根据权利要求1所述的用于SOC的加解密协处理器,其特征在于:在不使用所述的协处理器时,将该协处理器使用的内存释放掉。
10.一种实现权利要求1所述的用于SOC的加解密协处理器的方法,其特征在于:
在PC或工作站上进行软件开发,将各种常用的加解密算法中运算量最大的算子识别出来,并使用所述协处理器的微码对这些算子进行实现;
系统软件通过一个C语言库函数的调用运行该算子;
使用C语言实现加解密算法的控制逻辑和输入输出,其中通过C语言库函数调用各种加速算子;
实现所述协处理器的中断处理程序,以处理各种协处理器通知。
11.如权利要求10所述的方法,其特征在于:所述的协处理器的使用流程如下:
将各种算子的微码实现连接,进入应用程序并放置在SOC内部的SRAM或ROM中,各微码块的首地址组成一张表;
各个算子的调用都遵循相同的过程,首先是算子配置过程,然后是算子使用过程;
所述的算子配置过程如下:
首先将要使用的算子微码块的首地址写入协处理器的配置寄存器;
然后将源操作数地址存入源操作数A和B的地址寄存器;
最后将结果操作数地址存入结果操作数地址寄存器;
所述的算子使用过程如下:
将开始命令写入协处理器命令寄存器,命令协处理器开始工作;
协处理器通过DMA控制器将微码和数据读入微码和数据缓冲器;
协处理器开始执行微码,操作各个执行单元对数据进行处理,将临时结果写出至数据缓冲器,最终结果写出至外部内存,快速实现算子;
算子执行完毕,协处理器通过中断通知CPU运算完毕;
CPU得到通知,开始运行下一个算子或结束整个算法。
12.一种实现权利要求10所述方法的编程模型,其特征在于:
所述的协处理器的编程模型如下:
命令寄存器:寄存器地址0;寄存器性质,只写;写入协处理器命令,该命令包括:开始,即开始执行配置的算子,终止,即终止正在执行的算子,查询,即查询正在执行算子的状态,并反映至状态寄存器;
状态寄存器:寄存器地址4;寄存器性质,只读;反映协处理器状态,包括运行状态,出错状态;
中断寄存器:寄存器地址8;寄存器性质,读写;反映协处理器中断状态,写入1则清除相应中断比特;
中断使能寄存器:寄存器地址12;寄存器性质,读写;比特为1则屏蔽相应中断;
代码寄存器:寄存器地址16;寄存器性质,读写;存储输入微码块首地址的物理地址,DMA控制器从这里取数据;
输入寄存器A:寄存器地址20;寄存器性质,读写;存储输入数据A的物理地址,DMA控制器从这里取数据;
输入寄存器B:寄存器地址24;寄存器性质,读写;存储输入数据B的物理地址,DMA控制器从这里取数据;
输出寄存器:寄存器地址28;寄存器性质,读写;存储输出数据的物理地址,DMA控制器往这里写数据;
上述寄存器均为32位。
CN200610119410A 2006-12-11 2006-12-11 用于soc的加解密协处理器 Expired - Fee Related CN101201811B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200610119410A CN101201811B (zh) 2006-12-11 2006-12-11 用于soc的加解密协处理器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200610119410A CN101201811B (zh) 2006-12-11 2006-12-11 用于soc的加解密协处理器

Publications (2)

Publication Number Publication Date
CN101201811A true CN101201811A (zh) 2008-06-18
CN101201811B CN101201811B (zh) 2010-05-12

Family

ID=39516980

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200610119410A Expired - Fee Related CN101201811B (zh) 2006-12-11 2006-12-11 用于soc的加解密协处理器

Country Status (1)

Country Link
CN (1) CN101201811B (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101521960A (zh) * 2009-02-11 2009-09-02 北京中星微电子有限公司 一种基带和协处理器间的通信方法、装置及系统
CN102739396A (zh) * 2011-04-11 2012-10-17 航天信息股份有限公司 一种应用于信息安全的协处理器
CN102880816A (zh) * 2012-09-24 2013-01-16 江苏技术师范学院 基于片上系统多核融合的软件保护装置及工作方法
CN103336920A (zh) * 2013-05-29 2013-10-02 东南大学 用于无线传感网络soc芯片的安全系统
CN105117370A (zh) * 2015-09-18 2015-12-02 芯佰微电子(北京)有限公司 一种多协议密码算法处理器及片上系统
WO2017031967A1 (zh) * 2015-08-21 2017-03-02 北京比特大陆科技有限公司 比特币工作量证明哈希计算芯片优化的方法、装置和电路
CN107146194A (zh) * 2017-06-07 2017-09-08 上海乐野网络科技有限公司 一种提高处理器存取图片速度的结构
CN109062857A (zh) * 2018-08-14 2018-12-21 苏州硅岛信息科技有限公司 一种能高速实现多处理器间通信的新型消息控制器及其通信方法
CN110045987A (zh) * 2012-09-28 2019-07-23 英特尔公司 用于sha256算法的消息调度的指令处理器
CN110297660A (zh) * 2019-06-25 2019-10-01 江苏沁恒股份有限公司 加速soc内核读取指令的方法及系统
WO2023061291A1 (en) * 2021-10-14 2023-04-20 International Business Machines Corporation Supporting large-word operations in a reduced instruction set computer ( "risc" ) processor
WO2023216461A1 (zh) * 2022-05-09 2023-11-16 成都登临科技有限公司 一种任务处理的方法、装置以及计算机设备

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107302431A (zh) * 2016-04-14 2017-10-27 深圳市中兴微电子技术有限公司 同时实现rsa/ecc加解密算法的装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100325430B1 (ko) * 1999-10-11 2002-02-25 윤종용 상이한 워드 길이의 산술연산을 수행하는 데이터 처리장치 및 그 방법
CN1373588A (zh) * 2002-04-08 2002-10-09 顾士平 数据链路层数据加密、解密soc/ip集成电路实现方法
CN1234244C (zh) * 2004-01-15 2005-12-28 北京科技大学 一种基于共享存贮体系结构的条件接收处理器及接收方法

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101521960A (zh) * 2009-02-11 2009-09-02 北京中星微电子有限公司 一种基带和协处理器间的通信方法、装置及系统
CN101521960B (zh) * 2009-02-11 2013-12-11 北京中星微电子有限公司 一种基带和协处理器间的通信方法、装置及系统
CN102739396B (zh) * 2011-04-11 2015-07-15 航天信息股份有限公司 一种应用于信息安全的协处理器
CN102739396A (zh) * 2011-04-11 2012-10-17 航天信息股份有限公司 一种应用于信息安全的协处理器
CN102880816A (zh) * 2012-09-24 2013-01-16 江苏技术师范学院 基于片上系统多核融合的软件保护装置及工作方法
CN102880816B (zh) * 2012-09-24 2014-12-17 江苏理工学院 基于片上系统多核融合的软件保护装置及工作方法
CN110045987A (zh) * 2012-09-28 2019-07-23 英特尔公司 用于sha256算法的消息调度的指令处理器
CN110045987B (zh) * 2012-09-28 2023-05-12 太浩研究有限公司 用于sha256算法的消息调度的指令处理器
CN103336920A (zh) * 2013-05-29 2013-10-02 东南大学 用于无线传感网络soc芯片的安全系统
WO2017031967A1 (zh) * 2015-08-21 2017-03-02 北京比特大陆科技有限公司 比特币工作量证明哈希计算芯片优化的方法、装置和电路
CN105117370A (zh) * 2015-09-18 2015-12-02 芯佰微电子(北京)有限公司 一种多协议密码算法处理器及片上系统
CN105117370B (zh) * 2015-09-18 2018-07-03 芯佰微电子(北京)有限公司 一种多协议密码算法处理器及片上系统
CN107146194A (zh) * 2017-06-07 2017-09-08 上海乐野网络科技有限公司 一种提高处理器存取图片速度的结构
CN109062857A (zh) * 2018-08-14 2018-12-21 苏州硅岛信息科技有限公司 一种能高速实现多处理器间通信的新型消息控制器及其通信方法
CN109062857B (zh) * 2018-08-14 2021-07-13 苏州硅岛信息科技有限公司 一种能高速实现多处理器间通信的新型消息控制器及其通信方法
CN110297660A (zh) * 2019-06-25 2019-10-01 江苏沁恒股份有限公司 加速soc内核读取指令的方法及系统
WO2023061291A1 (en) * 2021-10-14 2023-04-20 International Business Machines Corporation Supporting large-word operations in a reduced instruction set computer ( "risc" ) processor
US11663009B2 (en) 2021-10-14 2023-05-30 International Business Machines Corporation Supporting large-word operations in a reduced instruction set computer (“RISC”) processor
WO2023216461A1 (zh) * 2022-05-09 2023-11-16 成都登临科技有限公司 一种任务处理的方法、装置以及计算机设备

Also Published As

Publication number Publication date
CN101201811B (zh) 2010-05-12

Similar Documents

Publication Publication Date Title
CN101201811B (zh) 用于soc的加解密协处理器
CN101221541B (zh) 用于soc的可编程通信控制器
US20230409318A1 (en) Interruptible and restartable matrix multiplication instructions, processors, methods, and systems
US20190018815A1 (en) Processors, methods, and systems with a configurable spatial accelerator
TWI427480B (zh) 與一記憶體裝置內部之一處理器的直接通信
US10275247B2 (en) Apparatuses and methods to accelerate vector multiplication of vector elements having matching indices
WO2001016710A1 (fr) Processeur de donnees
CN101952801A (zh) 用于流数据处理的协处理器
WO2009006607A1 (en) Dynamically composing processor cores to form logical processors
JPH0240744A (ja) 仮想アドレス‐物理アドレスの変換が有効に行なわれることを予想する方法及び装置
JP2021057004A (ja) 行列演算アクセラレータの命令のための装置、方法、及びシステム
CN110427337B (zh) 基于现场可编程门阵列的处理器内核及其运行方法
RU2182353C2 (ru) Асинхронное устройство обработки данных
CN104937541A (zh) 用于调用多线程加速器的装置和方法
CN102184092A (zh) 基于流水线结构的专用指令集处理器
US7631207B1 (en) Reducing power consumption for processing of common values in microprocessor registers and execution units
US20030005261A1 (en) Method and apparatus for attaching accelerator hardware containing internal state to a processing core
CN102521535A (zh) 通过特定指令集来进行相关运算的信息安全协处理器
CN102682232B (zh) 一种高性能超标量椭圆曲线密码处理器芯片
KR101077425B1 (ko) 효율적 인터럽트 리턴 어드레스 저장 메커니즘
US8930681B2 (en) Enhancing performance by instruction interleaving and/or concurrent processing of multiple buffers
Scott et al. Designing the M/spl middot/CORE/sup TM/M3 CPU architecture
CN102436781A (zh) 基于隐式相关性和隐式旁路的微处理器指令拆分装置
US9213547B2 (en) Processor and method for processing instructions using at least one processing pipeline
KR100639146B1 (ko) 카테시안 제어기를 갖는 데이터 처리 시스템

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
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: 20100512

Termination date: 20121211