发明名称 Data processing apparatus and method for performing a narrowing-and-rounding arithmetic operation
摘要 A processing apparatus supports a narrowing-and-rounding arithmetic operation which generates, in response to two operands each comprising at least one W-bit data element, a result value comprising at least one X-bit result data element, with each X-bit result data element representing a sum or difference of corresponding W-bit data elements of the two operands rounded to an X-bit value (W>X). The arithmetic operation is implemented using a number of N-bit additions (N<W), with carry values from a first stage of N-bit additions being added at a second stage of N-bit additions for adding a rounding value to the result of the first stage additions. This technique reduces the amount of time required for performing the narrowing-and-rounding arithmetic operation.
申请公布号 US9262123(B2) 申请公布日期 2016.02.16
申请号 US201313955324 申请日期 2013.07.31
申请人 ARM Limited 发明人 Burgess Neil;Lutz David Raymond
分类号 G06F7/50;G06F7/499;G06F7/506 主分类号 G06F7/50
代理机构 Nixon & Vanderhye P.C. 代理人 Nixon & Vanderhye P.C.
主权项 1. A data processing apparatus comprising: processing circuitry configured to process data; and control circuitry configured to control said processing circuitry to perform a narrowing-and-rounding arithmetic operation in response to a narrowing-and-rounding arithmetic instruction identifying two operands each comprising at least one W-bit data element, said narrowing-and-rounding arithmetic operation generating a result value comprising at least one X-bit result data element, each X-bit result data element representing a sum or difference of corresponding W-bit data elements of said two operands rounded to an X-bit value, where W and X are integers and W>X; wherein said control circuitry is configured to control said processing circuitry to generate each X-bit result data element of said result value by: (a) performing a plurality of N-bit first stage additions to generate respective N-bit intermediate values by adding or subtracting N-bit portions of said corresponding W-bit data elements, where W=J*N and J>1 and N and J are integers; (b) performing one or more N-bit second stage additions, each second stage addition for converting the N-bit intermediate value generated by a corresponding first stage addition into an N-bit rounded result portion of said X-bit result data element by adding a rounding value and a carry value representing a carry output of a preceding first stage addition for adding less significant N-bit portions of said corresponding W-bit data elements than said corresponding first stage addition; and (c) forming said X-bit result data element from the N-bit result portion generated by at least one of said one or more N-bit second stage additions.
地址 Cambridge GB