用于加法和边界检查的组合指令制造技术

技术编号:19561628 阅读:44 留言:0更新日期:2018-11-25 00:25
本发明专利技术涉及一种处理器核,该处理器核包括:在其指令集中的用于加法和边界检查的组合指令(ADDCK),该组合指令将整数n隐式地或明确地定义为指令参数;加法器,其具有严格大于n位的宽度;以及处理电路(MUX,42),其被设计成当加法产生级别为n的进位数时通过激活溢出信号(BX)来对组合指令做出响应。

Composite instructions for addition and boundary checking

The invention relates to a processor core, which includes: a combination instruction (ADDCK) for addition and boundary checking in its instruction set, which implicitly or explicitly defines integer n as instruction parameter; an adder, which has a width strictly larger than n bits; and a processing circuit (MUX, 42), which is designed and implemented. When the adder generates an integer level of n, it responds to the combined instruction by activating the overflow signal (BX).

【技术实现步骤摘要】
【国外来华专利技术】用于加法和边界检查的组合指令
本专利技术涉及两个实体之间的数据传送,特别是在由一个实体进行的数据消耗与由另一个实体进行的数据生产不具有相同粒度的一般情况下的两个实体之间的数据传送。
技术介绍
图1示出了在生产实体10和消耗实体12之间按照不同粒度传送数据的情况的示例。生产实体10可以包括例如动态类型的存储器系统SMEM,其存储要由消耗实体12处理的一系列数据单元U。消耗实体可以包括处理器核CPU,其被设计成读取要在本地工作的存储器WMEM中处理的数据单元。数据单元U通常包括多个字节。数据单元例如是根据用于对处理器编程的语言定义的“结构”。这种结构可由程序员任意定义以包含具有不同类型和长度的变量。数据单元可以以与针对数据单元的消耗而使用的粒度不同的粒度被生产这一事实导致难以实现生产与消耗之间的有效协调。
技术实现思路
一般而言,提供了一种处理器核,其包括:在其指令集中的加法和边界检查的组合指令,该组合指令将关联的整数n隐含地或明确地定义为所述指令的参数;加法器,其具有严格大于n位的宽度;以及处理电路,其被设计成在加法器产生级别为n的进位时通过激活溢出信号来对组合指令做出响应。处理信号还可以被设计成在溢出信号被激活时触发执行错误,并且其结果是被触发用于处理错误的程序可以是溢出管理过程。根据替选方案,处理电路还可以被设计成在溢出信号未激活时引起系统性跳转,从而使得可以进行一个或更多个指令的系统性正向跳转,并且在溢出信号被激活时引起正常的继续进行,并且其结果是紧接在组合指令之后的一个或多个指令可以被设计成管理溢出。根据另一替代方案,处理电路还可以被设计成在溢出信号被激活时引起对子程序的调用,以及在溢出信号未激活时引起正常的继续进行,并且其结果是子程序可以被设计成管理溢出。处理器核还可以包括在其指令集中的具有地址前递增和地址后递增的读取指令,其针对地址递增而包括与边界检查相组合的加法。还提供了一种使用加法和边界检查的组合指令的数据传送方法,其包括通过处理器实现的以下步骤:使处理器的工作存储器中的大小为2的幂并且其地址为该大小的倍数的存储器页面能够在相应的连续位置中包含一系列数据单元;通过包含在处理器的工作寄存器中的指针来识别数据单元的当前位置的起始;使用当前位置;执行加法和边界检查的组合指令以使指针递增,所述组合指令的边界基于页面的大小;以及响应于溢出信号的激活而执行溢出管理过程。溢出管理过程可以被设计成允许工作存储器中的新页面以及更新指针以识别新页面中的起始位置。使用存储器页面中的当前位置的步骤可以包括读取包含在当前位置中的数据单元,以将其传送到处理器的寄存器中,该方法还包括以下步骤:将由生产实体提供的数据单元传送到存储器页面中,数据单元具有可以致使该页面仅包含整数个数据单元的任意大小,并且其结果是当超出页面读取数据时会发生溢出信号的激活;在页面之后预留大小足以包含完整的数据单元的存储器区域:以及传送足以填充页面并溢出到预留存储区域中的整数个数据单元,其结果是超出页面读取的数据对应于数据单元的有效数据。附图说明将在以下结合附图非限制性地给出的描述中公开实施方式,在附图中:·前文描述的图1示出了在生产实体与消费实体之间按照不同粒度的数据传送情况的示例;·图2示意性地示出了包括在处理器核的处理单元中的加法器,其根据第一实施方式被补充以提供加法和边界检查的组合指令;以及·图3A和图3B示出了由组合的加法和检查指令引起的存储器的两个读取阶段之间的转变。具体实施方式在如图1所示的情况下,处理器核CPU可以被设计成在存储器WMEM中逐字节地读取数据单元U而不损失效率,而无法设想在系统存储器SMEM中逐字节地读取数据单元。为了对通常为动态类型的系统存储器进行访问,有利的是通常以2n个连续字节例如256、512或1024个字节的突发进行传送。在图1的示例中,假设传送突发包含稍多于三个的数据单元U。因此,第一突发使得可以将单元U0至U2以及单元U3的起始传送到存储器WMEM中。处理器CPU例如在存储器WMEM中逐字节地读取数据单元。在到达不完整的单元U3时,期望处理器检测溢出状况并发起包含完整的单元U3以及后面的单元(U4、U5和单元U6的开始)的新的传送突发。如所示出的,新的突发被与前一突发连续地放置在存储器WMEM中。如果到达存储器WMEM的末尾,则以循环方式使用存储器,从而在在存储器WMEM的起始处继续写入数据。在下文中,针对在存储器WMEM中分配的用于包含正在由处理器处理的一系列数据单元的2n个字节的区域而使用术语“页面”。页面可以被定义成包含一个或更多个传送突发。下面再现了可以用于在常规处理器核中读取数据单元和管理页面溢出的操作的示例。举例来说,使用在ARM核上可用的一组指令。;代码1LDRRt,[Rptr,#offset]LDRRt2,[Rptr,#offset2]LDRRt3,[Rptr,#offset3]...(对寄存器Rt,Rt2,Rt3…的操作)ADDRptr,Rptr,RincCMPRmax,RptrBLMI[例程溢出管理地址](继续读取数据单元)Rptr表示寄存器,其包含指向要在正在工作的存储器WMEM中读取的数据单元U的起始的指针。该寄存器先前已加载有相应的地址。然后,通过表示为LDR(代表“加载寄存器”)的一系列指令、以以下形式读取当前数据单元U中包含的字节:LDRt,[Rptr,#offset]其中,Rt是目的地寄存器,并且#offset是立即值,该立即值被加至包含在寄存器Rptr中的地址的最低有效位(其称为“偏移”)以识别要被读取的字节或要被读取的具有多个字节的字。一旦当前数据单元由此被传送到处理器的寄存器中,就可以对其进行程序员为其预留的操作,该操作在此不进行说明。为了读取后面的数据单元,寄存器Rptr首先按例如包含在寄存器Rinc中的刚刚读取的数据单元的大小来递增:ADDRptr,Rptr,Rinc增量Rinc是数据单元U的以字节为单位的大小。该增量可以是固定的或者对于每个数据单元而言是不同的。指针的这种更新意味着顺序读取数据单元。可以以任意顺序读取数据单元,在这种情况下,指针将通过其他运算来更新。在任何情况下,寄存器Rptr中包含的新指针仍然可以在页面的界限内,然而接近于该界限,使得要读取的新的数据单元是截短的和不可用的(如图1中的数据单元U3)。为了管理这种情况,可以在指针的每个增量处执行以下指令:CMPRmax,Rptr将寄存器Rptr的内容与寄存器Rmax的内容进行比较。实际上,该指令从寄存器Rmax的内容中减去寄存器Rptr的内容,并且更新进程的状态变量或标志以反映减法的结果。寄存器Rmax可以包含减去要读取的数据单元的大小后的页面末尾的地址。因此,如果差为正或零,则后面的数据单元被完全包含在页面中,并且可以以前面描述的LDR操作继续读取。如果结果是负——其通过表示为MI的标志的激活来被识别,则页面的剩余内容不能被使用。在CMP指令之后,可以基于标志MI提供条件子程序调用指令,例如表示为BLMI的指令。因此,子程序被设计成例如通过将后面的数据单元传送到工作中的存储器的新页面中来管理溢出。每当在工作中的存储器中读取新的数据单元时,此处的对页面溢出的检查涉及执行一对指令,即比较(本文档来自技高网...

【技术保护点】
1.一种处理器核,包括:●在其指令集中的、加法和边界检查的组合指令(ADDCK),其将整数n隐式地或明确地定义为所述指令的参数;●加法器,其具有严格大于n位的宽度;以及●处理电路(MUX,42),其被设计成当所述加法器产生级别n的进位时、通过激活溢出信号(BX)来对所述组合指令做出响应。

【技术特征摘要】
【国外来华专利技术】2016.02.10 FR 16510631.一种处理器核,包括:●在其指令集中的、加法和边界检查的组合指令(ADDCK),其将整数n隐式地或明确地定义为所述指令的参数;●加法器,其具有严格大于n位的宽度;以及●处理电路(MUX,42),其被设计成当所述加法器产生级别n的进位时、通过激活溢出信号(BX)来对所述组合指令做出响应。2.根据权利要求1所述的处理器核,其中,所述处理电路被设计成在所述溢出信号被激活时触发执行错误,其结果是被触发用于处理所述错误的过程能够是溢出管理过程。3.根据权利要求1所述的处理器核,其中,所述处理电路被设计成在所述溢出信号未激活时引起一个或更多个指令的系统性正向跳转,以及在所述溢出信号被激活时引起正常的继续,其结果是紧接在所述组合指令之后的一个或多个指令能够被设计成管理所述溢出。4.根据权利要求1所述的处理器核,其中,所述处理电路被设计成在所述溢出信号被激活时引起对子程序的调用,以及在所述溢出信号未激活时引起正常的继续,其结果是所述子程序能够被设计成管理所述溢出。5.根据权利要求1所述的处理器核,还包括在其指令集中的具有地址前递增和地址后递增的读取指令,其针对地址递增而包括与边界检查组合的加法。6.一种利用根据权利要求1所述的加法和边界检查的组合指令(...

【专利技术属性】
技术研发人员:法布里斯·德沃大卫·富罗德特
申请(专利权)人:优普梅姆公司
类型:发明
国别省市:法国,FR

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

1