Combined Accumulator and Maximum/Minimum Comparator
First Claim
1. A device comprising:
- a touch sensor comprising a plurality of nodes;
a microcontroller configured to provide a plurality of drive signals to the touch sensor and detect a touch at one or more of the plurality of nodes, the microcontroller comprising;
a memory including a first location identified by a first address and a second location identified by a second address;
a processor coupled to the memory, the processor operable to write a value to the first location or the second location of the memory by performing an instruction that specifies the value and the first address or the second address; and
a hardware accelerator, the hardware accelerator coupled to the memory and configured to;
perform the following in response to a detection that the value has been written to the first location of the memory;
add the value to an accumulated value stored in an accumulator register of the hardware accelerator and store the result in the accumulator register;
increment a counter of the hardware accelerator;
compare the value to a maximum value stored in a first register of the hardware accelerator and overwrite the maximum value with the value if the value is greater than the maximum value; and
compare the value to a minimum value stored in a second register of the hardware accelerator and overwrite the minimum value with the value if the value is less than the minimum value; and
perform the following in response to a detection that the value has been written to the second location of the memory;
compare the value to the maximum value stored in the first register of the hardware accelerator and overwrite the maximum value with the value if the value is greater than the maximum value; and
compare the value to the minimum value stored in the second register of the hardware accelerator and overwrite the minimum value with the value if the value is less than the minimum value.
14 Assignments
0 Petitions
Accused Products
Abstract
In one embodiment, a method comprises detecting, by a hardware accelerator, that a value has been written to a first location of a memory, the first location identified by a first address. The method further includes adding the value to an accumulated value stored in an accumulator register of the hardware accelerator and storing the result in the accumulator register. The method further includes comparing the value to a maximum value stored in a first register of the hardware accelerator and overwriting the maximum value with the value if the value is greater than the maximum value. The method also includes comparing the value to a minimum value stored in a second register of the hardware accelerator and overwriting the minimum value with the value if the value is less than the minimum value.
26 Citations
20 Claims
-
1. A device comprising:
-
a touch sensor comprising a plurality of nodes; a microcontroller configured to provide a plurality of drive signals to the touch sensor and detect a touch at one or more of the plurality of nodes, the microcontroller comprising; a memory including a first location identified by a first address and a second location identified by a second address; a processor coupled to the memory, the processor operable to write a value to the first location or the second location of the memory by performing an instruction that specifies the value and the first address or the second address; and a hardware accelerator, the hardware accelerator coupled to the memory and configured to; perform the following in response to a detection that the value has been written to the first location of the memory; add the value to an accumulated value stored in an accumulator register of the hardware accelerator and store the result in the accumulator register; increment a counter of the hardware accelerator; compare the value to a maximum value stored in a first register of the hardware accelerator and overwrite the maximum value with the value if the value is greater than the maximum value; and compare the value to a minimum value stored in a second register of the hardware accelerator and overwrite the minimum value with the value if the value is less than the minimum value; and perform the following in response to a detection that the value has been written to the second location of the memory; compare the value to the maximum value stored in the first register of the hardware accelerator and overwrite the maximum value with the value if the value is greater than the maximum value; and compare the value to the minimum value stored in the second register of the hardware accelerator and overwrite the minimum value with the value if the value is less than the minimum value.
-
-
2. An apparatus comprising:
-
a memory including a first location identified by a first address; a processor coupled to the memory, the processor operable to write a value to a first location of the memory by performing an instruction that specifies the value and the first address; and a hardware accelerator, the hardware accelerator coupled to the memory and configured to perform the following in response to a determination that the value has been written to the first location; add the value to an accumulated value stored in an accumulator register of the hardware accelerator and store the result in the accumulator register; compare the value to a maximum value stored in a first register of the hardware accelerator and overwrite the maximum value with the value if the value is greater than the maximum value; and compare the value to a minimum value stored in a second register of the hardware accelerator and overwrite the minimum value with the value if the value is less than the minimum value. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method comprising:
-
detecting, by a hardware accelerator, that a value has been written to a first location of a memory, the first location identified by a first address; performing, by the hardware accelerator, the following in response to detecting that the value has been written to the first location of the memory; adding the value to an accumulated value stored in an accumulator register of the hardware accelerator and storing the result in the accumulator register; comparing the value to a maximum value stored in a first register of the hardware accelerator and overwriting the maximum value with the value if the value is greater than the maximum value; and comparing the value to a minimum value stored in a second register of the hardware accelerator and overwriting the minimum value with the value if the value is less than the minimum value. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
Specification