Abstract:
An improved scheduling technique for software pipelining is disclosed which is designed to find schedules requiring fewer processor clock cycles and reduce register pressure hot spots when scheduling multiple groups of instructions (e.g. as represented by multiple sub-graphs of a DDG) which are independent, and substantially identical. The improvement in instruction scheduling and reduction of hot spots is achieved by evenly distributing such groups of instructions around the schedule for a given loop.
Abstract:
An improved scheduling technique for software pipelining is disclosed which is designed to find schedules requiring fewer processor clock cycles and reduce register pressure hot spots when scheduling multiple groups of instructions (e.g. as represented by multiple sub-graphs of a DDG) which are independent, and substantially identical. The improvement in instruction scheduling and reduction of hot spots is achieved by evenly distributing such groups of instructions around the schedule for a given loop.
Abstract:
A power toothbrush (10) is disclosed having a handle (15), battery (12), ultrasonic drive circuit (14), motor (16), control unit (18), and toothbrush head (20). The toothbrush head includes bristles (26) and a waveguide (24) that is operatively connected to an ultrasonic transducer (22). The waveguide facilitates the transmission of acoustic energy into the dental fluid to achieve improved cleaning and stain removal and improved cleaning in interproximal and subgingival regions. In one embodiment an ultrasound transducer module (30) includes a plurality of piezoelectric elements (32, 34) that may be mechanically connected in series, and electrically connected in parallel. One or more contacts (36) connect the elements, and a waveguide structure (50). An impedance matching layer (38) may be provided between the waveguide and the ultrasonic transducer module. The waveguide may be formed from an relatively soft material, for example, a polymer having a hardness between 10 and 65 Shore A.
Abstract:
A technique of ordering machine instructions to reduce spill code. For each machine instruction that is ready for scheduling, an amount is determined by which the size of a committed set of machine instructions would increase upon the scheduling of the machine instruction. The machine instruction for which the determined amount is smallest is then scheduled. The currently committed instructions may be determined to be the machine instructions that are already scheduled as well as the machine instructions that are descendent from already scheduled machine instructions. The result is that new computations upon which a target processor will embark tend to be deferred. Bit vectors may be employed for efficiency during the assessment of candidate instructions that are ready for scheduling. The technique may be triggered when the risk of registers becoming overcommitted becomes high, as may occur when the number of available processor registers drops below a certain threshold.
Abstract:
A selective optical actuation system for a plurality of electrical devices (20) comprises a variable pulse frequency pulsed light source (10) and an optical fibre network (12, 13, 14) distributing the light pulses to actuation gateway for each device, comprising a photovoltaic converter (16) whose correspondingly pulsed electrical output is applied to a ferroelectric transformer (18). Only if the pulse frequency is within the resonant band for a given transformer will the voltage be raised above a threshold value required to actuate that device. Choice of light pulse frequency thereby determines the device(s) to be actuated.
Abstract:
An apparatus for sensing data from a remote optical sensor 16 has its frequency stabilised by balancing the outputs of narrow band filter 28 30, spaced about a desired frequency 36 positioned at about the 3 db down points 40 of a broad band light source 10 using voltage control, current control or temperature control to vary the frequency of the wide band light source 10. Difference between the outputs through the two narrow band filters 28 30 can be used to drive an amplifier 48 to correct the frequency of the broad band light source. The outputs through the two narrow band filters 28 30 can be converted 52 to binary numbers and fed to a microprocessor 56 which is used, via analog conversion 60, to drive the amplifier 48. The broad band light source 10 can be pulse modulated 68 to provide temporally separate light pulses 92 94 through each of the narrow band filters 28 30, measured at separate times. The corrective output to the amplifier 48 can be governed by a ratio between the outputs through the narrow band filters 28 30 rather than by a difference there between.
Abstract:
An oral hygiene device having an ultrasound transducer 22 and an acoustic waveguide 24 facilitating the transmission of ultrasonic acoustic energy to fluids in the oral cavity is disclosed. Preferred ultrasound operating parameters for operation in aqueous environments and in dental slurries are disclosed. Devices may incorporate a drive motor 16 for oscillating a device head 23, acoustic waveguide 24 and one or more bristle tuft(s) 26 at sonic frequencies, and preferred sonic operating parameters are also provided. Multi-element piezoelectric transducer assemblies 30, 40, and various control and communications features are disclosed. Oral hygiene devices disclosed herein achieve improved plaque and stain removal from the teeth as well as interproximal and subgingival regions, while enhancing the user experience, massaging the gums, stimulating dental tissue, and disrupting biofilm.
Abstract:
Under the present invention, a branch target address corresponding to a target instruction to be pre-fetched is predicted based on two values. The first value is a “predictor value” that is known for the branch target address. The second value is the address of the branch instruction from which the target instruction is branched to within the program code. Once these two values are provided, they can be processed (e.g., hashed) to yield an index value, which is used to obtain a predicted branch target address from a cache. This technique is generally implemented for branch instructions such as switch statements or polymorphic calls. In the case of the former, the predictor value is a selector operand, while in the case of the latter the predictor value is a class object address (in JAVA) or a virtual function table address (in C++).
Abstract:
An oral hygiene device having an ultrasound transducer 22 and an acoustic waveguide 24 facilitating the transmission of ultrasonic acoustic energy to fluids in the oral cavity is disclosed. Preferred ultrasound operating parameters for operation in aqueous environments and in dental slurries are disclosed. Devices may incorporate a drive motor 16 for oscillating a device head 23, acoustic waveguide 24 and one or more bristle tuft(s) 26 at sonic frequencies, and preferred sonic operating parameters are also provided. Multi-element piezoelectric transducer assemblies 30, 40, and various control and communications features are disclosed. Oral hygiene devices disclosed herein achieve improved plaque and stain removal from the teeth as well as interproximal and subgingival regions, while enhancing the user experience, massaging the gums, stimulating dental tissue, and disrupting biofilm.
Abstract:
A method, apparatus, and computer instructions for processing instructions. A data dependency graph is built. The data dependency graph is analyzed for recurrences, and unpipelined instructions that lie outside of the recurrences are expanded.