Determining modulo count in sleep capable system
AssigneeQUALCOMM Incorporated
InventorKevin Cousineau
Life of this patent
Estimating the term…
Abstract
Apparatus and methods of determining a modulo count of a synchronization number in a sleep capable system. The synchronization number is stored in a comparison register, and a comparison number equal to the largest power of two multiple of the modulus within a predetermined range is subtracted from the synchronization number. If the difference is zero, the difference is stored in the comparison register, replacing the previous number stored in the register. If the difference is less than zero, the number stored in the register remains unchanged. The comparison number is right shifted, resulting in division by two. The process is repeated for a number of loops equal to the power of two, or until the difference is less than the modulus.
Claims32
A method of performing a modulo operation, the method comprising:
- generating a difference value based in part on a stored value and a shift register value, wherein the shirt register value is based on a modulus;
- and
- determining whether the difference value is less than the modulus.
A method of performing a modulo operation, the method comprising:
- (a) storing an initial value in a first register;
- (b) storing an initial comparison value in a second register;
- (c) determining a difference by subtracting the second register value from the first value;
- (d) determining if the difference is less than zero;
- (e) storing the difference in the first register if the difference is not less than zero;
- (f) dividing the second register value by two and storing the result in the second register;
- and
- (g) repeating at least a portion of (c) through (f) until the difference is less than a modulus value.
A method of performing a modulo operation, the method comprising:
- storing an initial number as a value in a first register;
- loading a shift register with an initial comparison value;
- subtracting a value in the shift register from the value in the first register to obtain a difference value;
- determining if the difference value is less than a modulus;
- and
- if the difference value is not less than the modulus, repeating a process cycle until the difference value is less than the modulus, the process cycle comprising:
- determining if the difference value is less than zero;
- storing the difference value in the first register if the difference value is not less than zero;
- right shifting the shift register;
- subtracting the value in the shift register from the value in the first register to update the difference value;
- and
- determining if the difference value is less than the modulus.
A method of performing a modulo operation, the method comprising:
- loading a symbol number from a superframe into a register;
- loading a value into a shift register;
- loading a difference between the register and shift register into the register if the register value minus the shift register value is greater than zero (0);
- right-shifting the shift register;
- and
- stopping the method if the difference is between a lower limit and an upper limit.
An apparatus configured to perform a modulo operation, the apparatus comprising:
- a memory configure to store one of an initial value or a difference value;
- a shift register configured to store a comparison value;
- a subtractor coupled to the register and the shift register and configured to subtract a shift register value from a register value to generate the difference value;
- a first comparator configured to determine if the difference value is less than zero and configured to control the register to store the difference value if the difference value is not less than zero;
- and
- a second comparator configured to compare the difference value to a modulus value, and configured to cause the shift register to right shift the comparison value if the difference value is not less than the modulus.
A computer readable media embodying instructions for performing a modulo operation, the instructions comprising:
- (a) storing an initial value in a first register;
- (b) storing an initial comparison value in a second register;
- (c) determining a difference of the second register value from the first value;
- (d) determining if the difference is less than zero;
- (e) storing the difference in the first register if the difference is not less than zero;
- (f) dividing the second register value by two and storing the result in the second register;
- and
- (g) repeating at least a portion of (c) through (f) until the difference is less than a modulus value.
An apparatus configured to perform a modulo operation, the apparatus comprising:
- means for storing one of an initial value or a difference value;
- means for storing a comparison value;
- means for subtracting the comparison value from the one of the initial value or the difference value to update the difference value;
- means for comparing the difference value to zero and configured to control the register to store the difference value if the difference value is not less than zero;
- and
- means for comparing the comparing the difference value to a modulus value, and configured to cause the means for storing the comparison value to right shift the comparison value if the difference value is not less than the modulus.
Dependencies are inferred from the claim text.