System and method for performing decimal division

    公开(公告)号:US20060179102A1

    公开(公告)日:2006-08-10

    申请号:US11055221

    申请日:2005-02-10

    IPC分类号: G06F7/52

    CPC分类号: G06F7/4917 G06F2207/5352

    摘要: A method for performing decimal division including receiving a scaled divisor and dividend and storing a subset of the multiples of the scaled divisor. An accumulated quotient is initialized to be equal to zero, a first current remainder is initialized to be equal to the scaled dividend, and a second current remainder is initialized to be equal to the scaled dividend minus the scaled divisor. The following loop is performed until a selected number of quotient digits are produced. An estimated next quotient digit is calculated based on the first digit of the first current remainder. A temp remainder is selected to be either the first current remainder or the second current remainder based on the estimated next quotient digit. A first next remainder is calculated by subtracting one of the stored multiples from the temp remainder, where the stored multiple is selected based on a first digit of the first current remainder. A second next remainder is calculated by subtracting an other one of the stored multiples from the temp remainder, where the other one of the stored multiples is selected based on the first current remainder. An actual quotient digits is calculated based on the estimated next quotient digit, the first current remainder and the first next remainder. The accumulated quotient is updated with the actual next quotient digit. Finally, the first current remainder is set to be equal to the first next remainder and the second current remainder is set to be equal to the second next remainder.

    System and method for converting binary to decimal
    2.
    发明申请
    System and method for converting binary to decimal 审中-公开
    将二进制转换为十进制的系统和方法

    公开(公告)号:US20060179090A1

    公开(公告)日:2006-08-10

    申请号:US11054232

    申请日:2005-02-09

    IPC分类号: G06F7/00

    CPC分类号: H03M7/12

    摘要: A method for converting from binary to decimal. The method includes receiving a binary number, the binary number including one or more sets of bits. An accumulated sum is set to zero. The accumulated sum is in a binary coded decimal (BCD) format. The following loop is repeated for each set of bits in the binary number in order from the set of bits containing the most significant bit of the binary number to the set of bits containing the least significant bit of the binary number: the accumulated sum is converted into a 5,1 code format resulting in an interim sum. The loop also includes repeating for each next bit in the set in order from the most significant bit to the least significant bit in the set: doubling the interim sum; and replacing the least significant bit of the interim sum with the next bit. The last step in the loop includes converting the interim sum into the BCD format and storing the results of the converting in the accumulated sum. Once all of the sets of bits in the binary number have been processed through the loop, the accumulated sum is output as the final result.

    摘要翻译: 一种从二进制转换为十进制的方法。 该方法包括接收二进制数,该二进制数包括一个或多个位组。 累积和设为零。 累加和是二进制编码十进制(BCD)格式。 从包含二进制数的最高有效位的位的集合到包含二进制数的最低有效位的位的位的顺序从二进制数中的每组位重复以下循环:累积和被转换 成为5,1代码格式,产生临时总和。 循环还包括从组中的最高有效位到最低有效位的顺序对集合中的每个下一个位进行重复:使中间和加倍; 并用下一位代替中间和的最低有效位。 循环的最后一步包括将中间和转换为BCD格式,并将转换的结果存储在累加和中。 一旦通过循环处理了二进制数的所有位组,就将输出累加和作为最终结果。

    System and method for providing a decimal multiply algorithm using a double adder

    公开(公告)号:US20060179101A1

    公开(公告)日:2006-08-10

    申请号:US11054567

    申请日:2005-02-09

    IPC分类号: G06F7/52

    CPC分类号: G06F7/496 G06F2207/4911

    摘要: A system for performing decimal multiplication including input registers for inputting a multiplier and a multiplicand. The multiplier includes one or more digits. The system also includes one or more two cycle adders and mechanism. The mechanism receives the multiplier and the multiplicand into the input registers. A running sum is reset to zero. The mechanism also performs for each of the digits in the multiplier in order from least significant digit to most significant digit: creating a partial product of the digit and the multiplicand; and adding the partial product to the running sum using the two cycle adders. When the loop is completed for each of the digits in the multiplier, the mechanism outputs the running sum as the result.

    System and method for performing decimal floating point addition

    公开(公告)号:US20060179099A1

    公开(公告)日:2006-08-10

    申请号:US11055231

    申请日:2005-02-10

    IPC分类号: G06F7/38

    CPC分类号: G06F7/4912 G06F2207/4911

    摘要: A method for performing a decimal floating point operation. A first operand including a first coefficient and a first exponent is received. The method also includes receiving a second operand that includes a second coefficient and a second exponent. An operation associated with the first operand and the second operand is received. The operation is an addition or a subtraction. Three concurrent calculations are performed on the first operand and the second operand. The first concurrent calculation includes applying the operation to the first operand and the second operand based on a first assumption that the first exponent is equal to the second exponent. The applying the operation based on the first assumption results in a first result and includes utilizing a two cycle adder. The second concurrent calculation includes applying the operation to the first operand and the second operand based on a second assumption that an absolute difference between the first exponent and the second exponent is less than or equal to a number of leading zeros in the coefficient of the operand with the larger exponent. The applying the operation based on the second assumption results in a second result and includes utilizing the two cycle adder. The third concurrent calculation includes applying the operation to the first operand and the second operand based on a third assumption that the absolute difference between the first exponent and the second exponent is greater than the number of leading zeros in the coefficient of the operand with the larger exponent. The applying the operation based on the third assumption results in a third result and includes utilizing the two cycle adder. A final result is selected from the first result, the second result and the third result.

    System and method for performing decimal to binary conversion
    5.
    发明申请
    System and method for performing decimal to binary conversion 有权
    用于执行十进制到二进制转换的系统和方法

    公开(公告)号:US20060179091A1

    公开(公告)日:2006-08-10

    申请号:US11054233

    申请日:2005-02-09

    IPC分类号: G06F7/00

    CPC分类号: H03M7/12

    摘要: A method for converting from binary to decimal. The method includes receiving a binary coded decimal (BCD) number made up of one or more sets of three digits. A running sum and a running carry are set to zero. The following steps are performed for each set of three digits in the BCD number in order from the set of three digits containing the three most significant digits of the BCD number to the set of three digits containing the three least significant digits of the BCD number. The steps include: creating six partial products based on the set of three digits, the running sum and the running carry; combining the six partial products into two partial products; and storing the two partial products in the running sum and the running carry. After the loop has been performed for each set of three digits in the BCD number, the running sum and the running carry are combined into a final binary result.

    摘要翻译: 一种从二进制转换为十进制的方法。 该方法包括接收由一个或多个三位数字组成的二进制编码十进制(BCD)号码。 运行总和和运行进位设置为零。 对于BCD号码中的每一组三位数字,按照从包含BCD号码三个最高有效数字的三位数字到包含BCD号码三个最低有效位数字的三位数组的顺序执行以下步骤。 步骤包括:根据三位数字,运行总和和运行进位创建六个部分产品; 将六部分产品合并成两部分产品; 并将两个部分乘积存储在运行和运行中。 在对BCD号码中的每组三位数进行了循环之后,运行总和和运行进位被组合成最终的二进制结果。

    System and method for providing a double adder for decimal floating point operations

    公开(公告)号:US20060179103A1

    公开(公告)日:2006-08-10

    申请号:US11054687

    申请日:2005-02-09

    IPC分类号: G06F7/50

    摘要: A system for performing decimal floating point addition. The system includes input registers for inputting a first and second operand for an addition operation. The system also includes a plurality of adder blocks, each calculating a sum of one or more corresponding digits from the first operand and the second operand. Output from each of the adder blocks includes the sum of the corresponding digits and a carry out indicator for the corresponding digits. The calculating is performed during a first clock cycle. The system also includes an intermediate result register for storing the sums of the corresponding digits output from each of the plurality of adder blocks, the storing during the first clock cycle. The system further includes a carry chain for storing the carry out indicator output from each of the plurality of adder blocks, the storing occurring during the first clock cycle. The system further includes an incrementer for adding one to each of the sums stored in the intermediate result register, the incrementing occurring during a second clock cycle. In addition, a mechanism is provided for selecting between each of the sums and the sums incremented by one. The input to the mechanism includes the carry chain. The output includes the final sum of the first operand and the second operand. The selecting occurs during the second clock cycle.

    Decimal multiplication using digit recoding
    7.
    发明申请
    Decimal multiplication using digit recoding 有权
    使用数字重新编码的十进制乘法

    公开(公告)号:US20050010631A1

    公开(公告)日:2005-01-13

    申请号:US10616556

    申请日:2003-07-10

    IPC分类号: G06F7/48 G06F7/496 G06F7/52

    CPC分类号: G06F7/4824 G06F7/496

    摘要: A system and methodology for decimal multiplication in a microprocessor comprising: a recoder configured to recode decimal digits of a first operand to a corresponding set of {−5 to +5}. The recoder also configured to recode decimal digits of a second operand to a corresponding set of {−5 to +5}. The system also includes a multiplier array of digit multipliers, each digit multiplier configured to generate a partial product of a selected digit of a recoded first operand and a recoded second operand; and an adder array of digit adders, each adder configured to generate a sum of the partial products, wherein a least significant digit of the sum is shifted to a results register, and each adder includes carry feedback.

    摘要翻译: 一种微处理器中十进制乘法的系统和方法,包括:重新编码器,被配置为将第一操作数的十位数字重新编码为对应的{-5至+5}集合。 编码器还配置为将第二操作数的十进制数字重新编码为相应的{-5到+5}集合。 该系统还包括数字乘法器的乘法器阵列,每个数字乘法器被配置为生成重新编码的第一操作数的选定位数和重新编码的第二操作数的部分乘积; 和加法器数组加法器阵列,每个加法器被配置为产生部分乘积的和,其中该和的最低有效位被移位到结果寄存器,并且每个加法器包括进位反馈。

    System and method for converting from scaled binary coded decimal into decimal floating point
    8.
    发明申请
    System and method for converting from scaled binary coded decimal into decimal floating point 有权
    从缩放二进制编码十进制转换为十进制浮点的系统和方法

    公开(公告)号:US20070061388A1

    公开(公告)日:2007-03-15

    申请号:US11227515

    申请日:2005-09-15

    IPC分类号: G06F7/00

    CPC分类号: H03M7/24 H03M7/04

    摘要: A system and method for converting from scaled binary coded decimal (SBCD) into decimal floating point (DFP). The system includes a mechanism for receiving one or more of an exponent part of a SBCD number and a coefficient part of the SBCD number. The system also includes at least one of a mechanism for performing coefficient compression on the coefficient part of the SBCD number to create a coefficient part of a DFP number and a mechanism for performing exponent insertion including inserting the exponent part of the SBCD number into an exponent part of the DFP number.

    摘要翻译: 从缩放二进制编码十进制(SBCD)转换为十进制浮点(DFP)的系统和方法。 该系统包括用于接收SBCD号的指数部分和SBCD号的系数部分中的一个或多个的机构。 该系统还包括用于对SBCD号码的系数部分执行系数压缩以创建DFP号码的系数部分的机制和用于执行指数插入的机制中的至少一个,包括将SBCD号码的指数部分插入指数 DFP编号的一部分。

    System and method for converting from decimal floating point into scaled binary coded decimal
    9.
    发明申请
    System and method for converting from decimal floating point into scaled binary coded decimal 有权
    从十进制浮点转换为二进制编码十进制的系统和方法

    公开(公告)号:US20070061387A1

    公开(公告)日:2007-03-15

    申请号:US11227481

    申请日:2005-09-15

    IPC分类号: G06F7/00

    CPC分类号: H03M7/24 H03M7/12

    摘要: A system and method for converting from decimal floating point (DFP) into scaled binary coded decimal (SBCD). The system includes a mechanism for receiving a DFP number. The system also includes at least one of a mechanism for performing coefficient expansion on the DFP number to create a binary coded decimal (BCD) coefficient part of a SBCD number and a mechanism for performing exponent extraction on the DFP number to create an exponent part of the SBCD number.

    摘要翻译: 用于从十进制浮点(DFP)转换为缩放二进制编码十进制(SBCD)的系统和方法。 该系统包括用于接收DFP号码的机制。 该系统还包括用于在DFP号码上执行系数扩展以创建SBCD号码的二进制编码十进制(BCD)系数部分的机制中的至少一个以及用于在DFP号码上执行指数提取以创建指数部分的机构 SBCD号码。

    System and method for reduction of leading zero detect for decimal floating point numbers
    10.
    发明申请
    System and method for reduction of leading zero detect for decimal floating point numbers 审中-公开
    用于减小十进制浮点数的前导零检测的系统和方法

    公开(公告)号:US20060179098A1

    公开(公告)日:2006-08-10

    申请号:US11054234

    申请日:2005-02-09

    IPC分类号: G06F7/38

    摘要: A method for leading zero detection. The method includes receiving DPD encoded data representing a three digit BCD number and determining directly from the DPD encoded data if the BCD number represented by the DPD encoded data contains at least one leading zero digit. A group one switch is set to zero if it was determined that the BCD number represented by the DPD encoded data contains at least one leading zero digit and set to one otherwise. The method also includes determining directly from the DPD encoded data if the BCD number represented by the DPD encoded data contains at least two leading zero digits. A group two switch is set to zero if it was determined that the BCD number represented by the DPD encoded data contains at least two leading zero digits and set to one otherwise. The method further includes determining directly from the DPD encoded data if the BCD number represented by the DPD encoded data contains three leading zero digits. A group three switch is set to zero if was determined that the BCD number represented by the DPD encoded data contains three leading zero digits and set to one otherwise.

    摘要翻译: 一种引导零检测的方法。 如果由DPD编码数据表示的BCD数字包含至少一个前导零数字,则该方法包括接收表示三位BCD号码的DPD编码数据,并直接从DPD编码数据确定。 如果确定由DPD编码数据表示的BCD数字包含至少一个前导零数字并且另外设置为一个,则将一组开关设置为零。 如果由DPD编码数据表示的BCD数字包含至少两个前导零数字,则该方法还包括直接从DPD编码数据确定。 如果确定由DPD编码数据表示的BCD数字包含至少两个前导零数字并且另外设置为一个,则组二开关被设置为零。 如果由DPD编码数据表示的BCD数字包含三个前导零数字,则该方法还包括直接从DPD编码数据确定。 如果确定由DPD编码数据表示的BCD数字包含三个前导零数字并且另外设置为一个,则组三开关被设置为零。