一种处理器制造技术

技术编号:39844581 阅读:5 留言:0更新日期:2023-12-29 16:35
本公开提供了一种处理器

【技术实现步骤摘要】
一种处理器


[0001]本公开概括而言涉及计算设备的领域,更具体而言,涉及一种处理器


技术介绍

[0002]随着私密计算

加密和安全应用的快速发展,越来越广泛的使用诸如
4096
比特整数加法和乘法之类的大数计算

剩余数系统(
Residue Number System

RNS
)使用剩余数的集合来表示二进制数

通过经由模集中的每个模数将大数转换成一组小的剩余数,
RNS
尤其能够降低加法器和乘法器的进位传递链的长度

由于剩余数的无进位特性,可以并行地执行对一组剩余数的计算

因此,
RNS
在执行诸如加法

减法和乘法之类的大数计算方面比传统二进制数系统性能更加优越

与传统的数字表示方法相比,
RNS
提供了低时延

以及面积成本以及功耗的降低

在第五代精简指令集计算机(
RISC

V
)中,使用
K
扩展来增强加密应用的性能
。K
扩展包括标量

向量和熵源指令,然而并未触及大数计算


技术实现思路

[0003]本公开的实施例提供了一种处理器

该处理器包括:剩余数系统数据寄存器,被配置为存放按照剩余数系统格式表示的数;剩余数系统控制寄存器,耦合到剩余数系统数据寄存器,并且被配置为控制剩余数系统数据寄存器存放按照剩余数系统格式表示的数的存放方式;以及运算电路,耦合到剩余数系统数据寄存器和剩余数系统控制寄存器,并且被配置为基于剩余数系统运算指令,根据剩余数系统控制寄存器指定的存放方式,对存放于剩余数系统数据寄存器中的

按照剩余数系统格式表示的操作数执行运算

附图说明
[0004]将参考附图来描述根据本公开的各种示例,在附图中:图1示出了自然数及其对应剩余数的一个示例

[0005]图2示出了根据本公开实施例的处理器的示例框图

[0006]图3示出了根据本公开实施例的
RNS
控制寄存器的具体结构的示例框图

[0007]图4示出了根据本公开实施例的按照
RNS
控制寄存器的第二字节
LMUL
和第三字节
SEW

RNS
数据寄存器进行分组并划分元素的示意图

[0008]图5示出了根据本公开实施例的第一组
RNS
运算指令

[0009]图6示出了根据本公开实施例的第二组
RNS
运算指令

[0010]图7示出了根据本公开实施例的第三组
RNS
运算指令

[0011]图8示出了根据本公开实施例的第四组
RNS
运算指令

[0012]图9示出了根据本公开各种实施例的处理器可以用在其中的示例计算设备的框图

具体实施方式
[0013]将使用本领域技术人员常用的术语来描述说明性实施例的各个方面,以将本公开的实质传达给本领域其他技术人员

然而,对于本领域技术人员来说显而易见的是,可以使用所描述的方面的部分来实施许多替代实施例

出于解释的目的,给出了具体的数字

材料

和配置,以便提供对说明性实施例的透彻理解

然而,对于本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下实施替代实施例

在其它实例中,为了避免模糊说明性实施例,可以省略或简化公知特征

[0014]此外,以最有助于理解说明性实施例的方式,将各种操作依次描述为多个离散操作;然而,不应将描述顺序解释为暗示这些操作必须是顺序相关的

特别地,这些操作不需要按照呈现的顺序来执行

[0015]本文中重复使用短语“在实施例中”、“在一个实施例中”、
和“在一些实施例中”。
这些短语通常不指代相同的实施例;然而,它们也可以指代相同的实施例

除非上下文另有规定,否则术语“包含”、“具有”、
和“包括”是同义词

短语“A

B”和“A/B”的意思是“(
A



B


或(
A

B
)”。
[0016]随着私密计算

加密和安全应用的快速发展,越来越广泛的使用诸如
4096
比特整数加法和乘法之类的大数计算

目前使用被称为
GNU MP Bignum
库(
GMP
)的开源数学运算库来进行大数计算

但是,
GMP 库是用标量
C/C++
来编写的,从而是低效的

[0017]本公开提出了在现有的
RISC

V
指令集体系结构(
ISA
)中针对剩余数系统(
RNS
)进行扩展,以适用于大数计算,有助于为
RISC

V
的安全应用创建更好的生态系统

[0018]本公开的实施例提供了一种处理器,该处理器包括用来支持剩余数系统(
RNS
)的
RNS
控制寄存器和
RNS
数据寄存器

另外,本公开的实施例还提供了用来使得
RNS
能够与计算机中现有的数的表示(例如,反码

补码等)兼容的指令,以及对以
RNS
格式表示的数进行运算的指令

[0019]为了更好地说明本公开的实施例,图1示出了自然数及其对应剩余数的一个示例

在图1的示例中(
2, 3, 5, 7
)表示剩余数系统的初始化模集,也称为质数基

在其他示例中,剩余数系统的初始化模集可以包括不同的

更多的或更少的质数基,例如,(
2, 5, 7



2, 3, 7, 11



2, 3, 5, 7, 11
)等等,以表示更大或更小的自然数范围,本文对此不做限定

[0020]图2示出了根据本公开实施例的处理器
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种处理器,包括:剩余数系统数据寄存器,被配置为存放按照剩余数系统格式表示的数;剩余数系统控制寄存器,耦合到所述剩余数系统数据寄存器,并且被配置为控制所述剩余数系统数据寄存器存放按照剩余数系统格式表示的数的存放方式;以及运算电路,耦合到所述剩余数系统数据寄存器和所述剩余数系统控制寄存器,并且被配置为基于剩余数系统运算指令,根据所述剩余数系统控制寄存器指定的所述存放方式,对存放于所述剩余数系统数据寄存器中的

按照剩余数系统格式表示的操作数执行运算
。2.
如权利要求1所述的处理器,其中,所述剩余数系统数据寄存器包括
32
个剩余数系统数据寄存器
。3.
如权利要求2所述的处理器,其中,所述剩余数系统控制寄存器包括四个字节,其中,第一字节
VLEN
表明相关联的硬件的向量长度,第二字节
LMUL
表明要将多少个所述剩余数系统数据寄存器分成一个剩余数系统数据寄存器组来存放所述按照剩余数系统格式表示的数,第三字节
SEW
表明用于将每个剩余数系统数据寄存器组划分为多个元素的选定元素宽度,并且第四字节
SIGN
表明要进行的剩余数系统计算针对无符号模式还是有符号模式
。4.
如权利要求3所述的处理器,其中,每个所述剩余数系统数据寄存器具有
2^VLEN
个比特
。5.
如权利要求3所述的处理器,其中,
2^LMUL
个所述剩余数系统数据寄存器被分成一个剩余数系统数据寄存器组,每个剩余数系统数据寄存器组用来存放一个所述按照剩余数系统格式表示的数
。6.
如权利要求5所述的处理器,其中,每个剩余数系统数据寄存器组由其中最小的组成员来索引
。7.
如权利要求5所述的处理器,其中,将每个剩余数系统数据寄存器组划分为的多个元素中的每个元素具有
2^SEW
个比特,用来存放一个所述按照剩余数系统格式表示的数中的一个数字
。8.
如权利要求7所述的处理器,其中,每个剩余数系统数据寄存器组被划分为
2^(VLEN+LMUL

SEW)
个元素
。9.
如权利要求3所述的处理器,其中,当所述第四字节
SIGN
的最低有效位被设置为0时,所述要进行的剩余数系统计算针对所述无符号模式,并且当所述第四字节
SIGN
的的最低有效位被设置为1时,所述要进行的剩余数系统计算针对所述有符号模式
。10.
如权利要求1所述的处理器,其中,所述运算电路执行的运算包括大数计算
。11.
如权利要求1所述的处理器,其中,所述剩余数系统运算指令包括:加载指令,用于将一系列二进制原始比特从存储器复制到所述剩余数系统数据寄存器中;存储指令,用于将一系列二进制原始比特从所述剩余数系统数据寄存器复制到存储器中;以及移动指令,用于将内容从所述剩余数系统数据寄存器中的一个剩余数系统数据寄存器复制到另一个剩余数系统数据寄存器

12. 如权利要求
11
所述的处理器,其中,所述加载指令还用于加载所剩余数系统的初始化模集
。13.
如权利要求
11
所述的处理器,其中,所述基于剩余数系统运算指令具有
32
个比特,所述
32
个比特中的第1到7比特是表明剩余数系统的第五代精简指令集计算机(
RISC

V
)指令集体系结构(
ISA
)扩展的标识符,并且所述加载指令

所述存储指令和所述移动指令的
32
个比特中的第
13

15
比特表明具体的运算类型,第8到
12
比特和第
16

20
比特分别表明运算涉及的存储器地址或剩余数系统数据寄存器地址,并且第<...

【专利技术属性】
技术研发人员:张森杰吴浩洋张旭
申请(专利权)人:英特尔中国研究中心有限公司
类型:发明
国别省市:

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

1