Inventors list

Assignees list

Classification tree browser

Top 100 Inventors

Top 100 Assignees


Dixon, OR

Brad N. Dixon, Corvallis, OR US

Patent application numberDescriptionPublished
20090310874DECODING INFORMATION FROM A CAPTURED IMAGE - A method for decoding information from a captured image is disclosed. The captured image has a plurality of color patches including a plurality of payload patches, a plurality of calibration patches, and an orientation patch. The orientation patch has a unique characteristic with respect to the payload patches and the calibration patches. The method includes identifying, within the captured image, the color patch having the unique characteristic as the orientation patch. The plurality of calibration patches are identified within the captured image. Each of the calibration patches has a unique predetermined location with respect to the identified orientation patch. A relative orientation of the image is determined based on a location of the identified orientation patch within the captured image. Calibration information is discerned according to characteristics of the identified calibration patches. The relative orientation and the calibration information are utilized to decode the information from the payload patches in the captured image.12-17-2009

Martin Dixon, Portland, OR US

Patent application numberDescriptionPublished
20080229116Performing AES encryption or decryption in multiple modes with a single instruction - A machine-readable medium may have stored thereon an instruction, which when executed by a machine causes the machine to perform a method. The method may include combining a first operand of the instruction and a second operand of the instruction to produce a result. The result may be encrypted using a key in accordance with an Advanced Encryption Standard (AES) algorithm to produce an encrypted result. The method may also include placing the encrypted result in a location of the first operand of the instruction.09-18-2008

Martin G. Dixon, Portland, OR US

Patent application numberDescriptionPublished
20080240426Flexible architecture and instruction for advanced encryption standard (AES) - A flexible aes instruction set for a general purpose processor is provided. The instruction set includes instructions to perform a “one round” pass for aes encryption or decryption and also includes instructions to perform key generation. An immediate may be used to indicate round number and key size for key generation for 128/192/256 bit keys. The flexible aes instruction set enables full use of pipelining capabilities because it does not require tracking of implicit registers.10-02-2008
20090052659METHOD AND APPARATUS FOR GENERATING AN ADVANCED ENCRYPTION STANDARD (AES) KEY SCHEDULE - An Advanced Encryption Standard (AES) key generation assist instruction is provided. The AES key generation assist instruction assists in generating round keys used to perform AES encryption and decryption operations. The AES key generation instruction operates independent of the size of the cipher key and performs key generation operations in parallel on four 32-bit words thereby increasing the speed at which the round keys are generated. This instruction is easy to use in software. Hardware implementation of this instruction removes potential threats of software (cache access based) side channel attacks on this part of the AES algorithm.02-26-2009
20090168998EXECUTING AN ENCRYPTION INSTRUCTION USING STORED ROUND KEYS - Embodiments of an invention for executing an encryption instruction using stored round keys are disclosed. In one embodiment, an apparatus includes instruction logic, encryption logic, a storage region, and control logic. The instruction logic is to receive an encryption instruction. The encryption logic is to perform, in response to the instruction logic receiving the encryption instruction, an encryption operation including a plurality of rounds, each round using a corresponding round key from a plurality of round keys. The storage region is to store the plurality of round keys. The control logic is to fetch, for use during each of the plurality of rounds, the corresponding round key from the storage region.07-02-2009
20090172357USING A PROCESSOR IDENTIFICATION INSTRUCTION TO PROVIDE MULTI-LEVEL PROCESSOR TOPOLOGY INFORMATION - Embodiments of an invention for using a processor identification instruction to provide multi-level processor topology information are disclosed. In one embodiment, a processor includes decode logic and control logic. The decode logic is to receive an identification instruction having an associated topological level value. The control logic is to provide, in response to the decode logic receiving the identification instruction, processor identification information corresponding to the associated topological level value.07-02-2009
20100332574Digital random number generator - A hardware-based digital random number generator is provided. The digital random number generator is a randomly behaving random number generator based on a set of nondeterministic behaviors. The nondeterministic behaviors include temporal asynchrony between subunits, entropy source “extra” bits, entropy measurement, autonomous deterministic random bit generator reseeding and consumption from a shared resource.12-30-2010
20100332578Method and apparatus for performing efficient side-channel attack resistant reduction - A time-invariant method and apparatus for performing modular reduction that is protected against cache-based and branch-based attacks is provided. The modular reduction technique adds no performance penalty and is side-channel resistant. The side-channel resistance is provided through the use of lazy evaluation of carry bits, elimination of data-dependent branches and use of even cache accesses for all memory references.12-30-2010
20110087843Monitoring cache usage in a distributed shared cache - An apparatus, method, and system are disclosed. In one embodiment the apparatus includes a cache memory, which a number of sets. Each of the sets in the cache memory have several cache lines. The apparatus also includes at least one process resource table. The process resource table maintains a cache line occupancy count of a number of cache lines. Specifically, the cache line occupancy count for each cache line describes the number of cache lines in the cache storing information utilized by a process running on a computer system. Additionally, the process resource table stores the occupancy count of less cache lines than the total number of cache lines in the cache memory.04-14-2011
20110153700Method and apparatus for performing a shift and exclusive or operation in a single instruction - Method and apparatus for performing a shift and XOR operation. In one embodiment, an apparatus includes execution resources to execute a first instruction. In response to the first instruction, said execution resources perform a shift and XOR on at least one value.06-23-2011
20110153952SYSTEM, METHOD, AND APPARATUS FOR A CACHE FLUSH OF A RANGE OF PAGES AND TLB INVALIDATION OF A RANGE OF ENTRIES - Systems, methods, and apparatus for performing the flushing of a plurality of cache lines and/or the invalidation of a plurality of translation look-aside buffer (TLB) entries is described. In one such method, for flushing a plurality of cache lines of a processor a single instruction including a first field that indicates that the plurality of cache lines of the processor are to be flushed and in response to the single instruction, flushing the plurality of cache lines of the processor.06-23-2011
20110153960TRANSACTIONAL MEMORY IN OUT-OF-ORDER PROCESSORS WITH XABORT HAVING IMMEDIATE ARGUMENT - Methods, systems, and apparatuses to provide an XABORT in a transactional memory access system are described. In one embodiment, the stored value is a context value indicating the context in which a transactional memory execution was aborted. A fallback handler may use the context value to perform a series of operations particular to the context in which the abort occurred.06-23-2011
20110153983Gathering and Scattering Multiple Data Elements - According to a first aspect, efficient data transfer operations can be achieved by: decoding by a processor device, a single instruction specifying a transfer operation for a plurality of data elements between a first storage location and a second storage location; issuing the single instruction for execution by an execution unit in the processor; detecting an occurrence of an exception during execution of the single instruction; and in response to the exception, delivering pending traps or interrupts to an exception handler prior to delivering the exception.06-23-2011
20110153993Add Instructions to Add Three Source Operands - A method in one aspect may include receiving an add instruction. The add instruction may indicate a first source operand, a second source operand, and a third source operand. A sum of the first, second, and third source operands may be stored as a result of the add instruction. The sum may be stored partly in a destination operand indicated by the add instruction and partly a plurality of flags. Other methods are also disclosed, as are apparatus, systems, and instructions on machine-readable medium.06-23-2011
20110153994Multiplication Instruction for Which Execution Completes Without Writing a Carry Flag - A method in one aspect may include receiving a multiply instruction. The multiply instruction may indicate a first source operand and a second source operand. A product of the first and second source operands may be stored in one or more destination operands indicated by the multiply instruction. Execution of the multiply instruction may complete without writing a carry flag. Other methods are also disclosed, as are apparatus, systems, and instructions on machine-readable medium.06-23-2011
20110153997Bit Range Isolation Instructions, Methods, and Apparatus - Receiving an instruction indicating a source operand and a destination operand. Storing a result in the destination operand in response to the instruction. The result operand may have: (1) first range of bits having a first end explicitly specified by the instruction in which each bit is identical in value to a bit of the source operand in a corresponding position; and (2) second range of bits that all have a same value regardless of values of bits of the source operand in corresponding positions. Execution of instruction may complete without moving the first range of the result relative to the bits of identical value in the corresponding positions of the source operand, regardless of the location of the first range of bits in the result. Execution units to execute such instructions, computer systems having processors to execute such instructions, and machine-readable medium storing such an instruction are also disclosed.06-23-2011
20110154079Instruction For Enabling A Procesor Wait State - In one embodiment, the present invention includes a processor having a core with decode logic to decode an instruction prescribing an identification of a location to be monitored and a timer value, and a timer coupled to the decode logic to perform a count with respect to the timer value. The processor may further include a power management unit coupled to the core to determine a type of a low power state based at least in part on the timer value and cause the processor to enter the low power state responsive to the determination. Other embodiments are described and claimed.06-23-2011
20110154090Controlling Time Stamp Counter (TSC) Offsets For Mulitple Cores And Threads - In one embodiment, the present invention includes a method for recording a time stamp counter (TSC) value of a first TSC counter of a processor before a system suspension, accessing the stored TSC value after the system suspension, and directly updating a thread offset value associated with a first thread executing on a first core of the processor with the stored TSC value, without performing a synchronization between a plurality of cores of the processor. Other embodiments are described and claimed.06-23-2011
20110161635Rotate instructions that complete execution without reading carry flag - A method of one aspect may include receiving a rotate instruction. The rotate instruction may indicate a source operand and a rotate amount. A result may be stored in a destination operand indicated by the rotate instruction. The result may have the source operand rotated by the rotate amount. Execution of the rotate instruction may complete without reading a carry flag.06-30-2011
20110161639Event counter checkpointing and restoring - A method of one aspect may include storing an event count of an event counter that counts events that occur during execution within a logic device. The method may further include restoring the event counter to the stored event count after the event counter has counted additional events. Other methods are also disclosed. Apparatus, systems, and machine-readable medium having software are also disclosed.06-30-2011

Patent applications by Martin G. Dixon, Portland, OR US

Martin Guy Dixon, Portland, OR US

Patent application numberDescriptionPublished
20110078389MANAGING AND IMPLEMENTING METADATA IN CENTRAL PROCESSING UNIT USING REGISTER EXTENSIONS - A set of default registers of a processor are expanded into metadata registers on the processor of a computer system. The default registers having stored thereon data, while metadata which is related to the data is stored separately on the metadata registers.03-31-2011

Matthew Hudson Dixon, Portland, OR US

Patent application numberDescriptionPublished
20080266340Method for normalizing a printhead assembly - A method of adjusting an ink jet imaging device comprises measuring a drop parameter for drops generated by each drop generator in a plurality of drop generators. Each drop generator is configured to generate a drop in response to a drop generating signal having a fill portion, an eject portion, and a resonance tuning portion. A first portion of the drops are generated by each drop generator at a first fill density, and a second portion of the drops are generated by each drop generator at a second fill density. A drop parameter difference is measured for each drop generator of the plurality of drop generators of drops generated at the first and second fill densities. The resonance tuning portion of the drop generating signal for at least one drop generator is adjusted so that the drop parameter difference for the drop generator corresponds to the drop parameter difference normalization value.10-30-2008
20090096823Drop mass calibration method based on drop positional feedback - A method of compensating for changes in drop mass of drop emitted by at least one ink jet of an ink jet imaging device is provided. The method comprises identifying a drop placement position on an image receiving member of an ink jet imaging device for at least one ink jet of a print head. The identified drop placement position for the at least one ink jet is compared to a default drop placement position for the at least one ink jet to determine a difference in drop placement position. A drive signal for the at least one ink jet is then adjusted in accordance with the difference in drop placement position.04-16-2009
20100232652System And Method For Adjusting Operation Of Printheads In An Ink Printing Device - A method evaluates image quality in an ink printing system and generates data values for altering the operation of the ink printing system. The method includes generating an ink image on an ink image receiving member that corresponds to a digital image stored in the ink printing system, generating a scanned image signal corresponding to the ink image, generating firing signal waveform adjustments and image data adjustments with reference to the scanned image signal corresponding to the ink image, and operating a printhead in an ink imaging system with reference to the firing signal waveform adjustments and the image data adjustments.09-16-2010

Patent applications by Matthew Hudson Dixon, Portland, OR US