用于计算数据的方法和设备的制造方法_4

文档序号:9708268阅读:来源:国知局
br>[0125]a2 = {AN/2-1,...,AN/4}
[0126]a3 = {AN/4-1,…,A0}
[0127]a4 = {CN/2-1,…,CN/4}
[0128]a5 = {CN/4-1,…,CO}
[0129]bO = 0
[0130]bl = 0
[0131]b2 = {BN/2-1,…,BN/4}
[0132]b3 = {BN/4-1, — , BO}
[0133]b4 = {DN/2-1, — , DN/4}
[0134]b5 = {DN/4-1,...,D0}
[0135]当执行N位的乘法和N/2位的乘法时,如在以上示例中描述的数据aO、al、...、a5、bO、bl、...和b5在图1、图6和图7中示出的确定单元120的控制下通过复用器被选择性地输入到部分乘法发生器710。当由图1、图6和图7中示出的获取单元110获取的差大于阈值时,确定单元120控制复用器以控制多精度计算器执行N位的乘法,并且当所述差小于或等于阈值时,确定单元120控制复用器以控制多精度计算器执行N/2位的乘法。因此,当单个计算器(即,多精度计算器)执行N位的乘法和N/2位的乘法时,仅较低位的改变值可被独立地累积。因此,可减少将由单个计算器执行的计算的数量,并且还可减少在计算期间发生逻辑门之间的切换的次数。
[0136]图8是用于解释计算单元使用多个计算器执行计算的示例的框图。
[0137]图8示出包括用于执行整体计算的第一计算器810和用于执行差计算的第二计算器820的计算单元800的示例。在图8中示出的示例中,除了第一计算器810和第二计算器820之外,计算单元800还包括第一选择器831和第二选择器832以及加法器840。
[0138]图8的第一计算器810、第二计算器820、第一选择器831、第二选择器832和加法器840可由单个处理器或多个处理器实现。处理器可由逻辑门阵列实现,或由微处理器和存储有将被微处理器执行的程序的存储器的组合实现。该示例所属领域的普通技术人员还将理解,处理器可由其他类型的硬件实现。
[0139]第一计算器810执行整体计算。例如,第一计算器810执行基于第一数据产生第三数据所需的计算。换言之,第一计算器810可通过将第一数据an+Ι代入逼近数学函数的多项式来产生第三数据c*an+l。第二计算器820可产生差计算所需的差数据c*adiff。
[0140]必要时,从查找表读取的系数c可被输入到第一计算器810和第二计算器820并被用在计算中。
[0141]第一选择器831选择从存储单元140读取的数据或由第一计算器810产生的第三数据c*an+l。从存储单元140读取的数据可以是通过将先前计算和存储的第二数据an乘以系数c所获得的数据c*an。第二选择器832选择输入到第二选择器832的0或者由第二计算器820产生的差数据c*adiff。
[0142]在一个示例中,当确定单元120确定第三数据c*an+l将根据整体计算被产生时,第一计算器810进行运算,第二计算器820不进行运算。此时,第一选择器831选择由第一计算器810产生的第三数据c*an+l,第二选择器832选择0。
[0143]在另一示例中,当确定单元120确定第三数据c*an+l将根据差计算被产生时,第二计算器820进行运算,第一计算器810不进行运算。此时,第二选择器832选择由第二计算器820产生的差数据,第一选择器831选择从存储单元140读取的数据。
[0144]加法器840执行分别从第一选择器831和第二选择器832接收的多条数据的加法。
[0145]在一个示例中,当确定单元120确定第三数据c*an+l将根据整体计算被产生时,加法器840将从第一选择器831接收的第三数据c*an+l与从第二选择器832接收的0相加。因此,加法器840可输出由第一计算器810产生的第三数据c*an+l。
[0146]在另一示例中,当确定单元120确定第三数据c*an+l将根据差计算被产生时,加法器840将从第一选择器831接收的数据与从第二选择器832接收的差数据相加。因此,加法器840可输出根据差计算获得的第三数据c*an+l。
[0147]图9是数据计算方法的示例的流程图。
[0148]参照图9,数据计算方法包括由图1、图6和图7的数据计算设备100、101和102按顺序执行的操作。因此,虽然这里省略,但是图1、图6和图7的数据计算设备100、101和102的以上描述也适用于图9的数据计算方法。
[0149]在操作910,获取单元110获取输入的第一数据和先前存储的第二数据之间的差。第一数据和第二数据是与使用浮点方法表示的数相应的数据。第一数据在第二数据被输入到数据计算设备100之后被按顺序输入到数据计算设备100。
[0150]在操作920,确定单元120基于获取的差确定产生与第一数据的计算结果相应的第三数据的方法。换言之,确定单元120基于所述差确定第一方法(即,整体计算)或者第二方法(即,差计算),其中,第一方法基于第一数据的整体产生第三数据,第二方法基于在操作910获取的差与根据第一数据确定的系数的乘积以及第二数据与该系数的乘积来产生第三数据。第二方法可以是根据以上描述的等式2产生第三数据的方法。
[0151]在操作930,计算单元130使用至少一个计算器执行与在操作920确定的方法相应的计算。例如,计算单元130可使用单个计算器执行整体计算或差计算,如以上针对图7所述。单个计算器可以是多精度计算器。可选地,计算单元130可使用多个计算器执行整体计算或差计算,如以上针对图8所述。
[0152]图10是数据计算方法的另一示例的流程图。
[0153]参照图10,数据计算方法包括由图1、图6和图7的数据计算设备100、101和102按顺序执行的操作。因此,虽然这里省略,但是图1、图6和图7的数据计算设备100、101和102的以上描述也适用于图10的数据计算方法。
[0154]图10的操作1010与图9的操作910相同,因此将省略其详细描述。
[0155]在操作1020,确定单元120将在操作1010获取的差与阈值进行比较。阈值可由用户预先设置,或者可由数据计算设备100自动设置而无需用户干预。在这种情况下,阈值可根据数据计算结果期望的精度而被设置。
[0156]如果在操作1020确定所述差超过阈值,则该方法进行到操作1030。如果在操作1020确定所述差小于或等于阈值,则该方法进行到操作1040。
[0157]在操作1030,计算单元130执行基于第一数据产生第三数据的计算。例如,计算单元130可通过将第一数据代入数学函数来产生第三数据,或者可通过将第一数据代入逼近数学函数的多项式来产生第三数据。
[0158]在操作1040,计算单元130执行基于在操作1010获取的差和第二数据的计算结果产生第三数据的计算。例如,计算单元130可通过根据以上描述的等式2执行计算来获取第三数据。
[0159]如以上参照图9的操作930所述,执行操作1030和1040的计算单元130可包括单个计算器或多个计算器。
[0160]如上所述,数据计算设备100计算先前输入数据和当前输入数据之间的差,并基于该差计算当前输入数据。因此,数据计算设备100可减少存储在查找表中的信息量,并还可减少在执行乘法时在逻辑门之间的切换发生的次数。
[0161]执行这里针对图1至图10描述的操作的图1、图6和图7中示出的获取单元110、确定单元120和计算单元130、图3和图6中的查找表320和150、图3中的计算器330、图5和图6中的计算单元130和存储单元140以及图8中的第一计算器810、第二计算器820、第一选择器831、第二选择器832和加法器840由硬件组件实现。硬件组件的示例包括控制器、发生器、驱动器、存储器和本领域普通技术人员已知的任何其他电子组件。在一个示例中,硬件组件由一个或更多个处理器或计算机实现。处理器或计算机由一个或更多个处理元件实现,诸如逻辑门阵列、控制器和算术逻辑单元、数字信号处理器、微计算机、可编程逻辑控制器、现场可编程门阵列、可编程逻辑阵列、微处理器或本领域普通技术人员已知的能够以限定方式响应和执行指令以实现期望结果的任何其他装置或装置的组合。在一个示例中,处理器或计算机
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1