Abstract:
A computer system which includes a multimedia input device which generates an audio or video input signal and a processor coupled to the multimedia input device. The system further includes a storage device coupled to the processor and having stored therein a signal processing routine for multiplying and accumulating input values representative of the audio or video input signal. The signal processing routine, when executed by the processor, causes the processor to perform several steps. These steps include performing a packed multiply add on a first set of values packed into a first source and a second set of values packed into a second source each representing input signals to generate a packed intermediate result. The packed intermediate result is added to an accumulator to generate a packed accumulated result in the accumulator. These steps may be iterated with the first set of values and portions of the second set of values to the accumulator to generate the packed accumulated result. Subsequent thereto, the packed accumulated result in the accumulator is unpacked into a first result and a second result and the first result and the second result are added together to generate an accumulated result.
Abstract:
A method in a computer system which includes receiving a first instruction which indicates indicates termination of execution of instructions which operate upon packed data stored in a first storage area. The first storage area is used for modifying data responsive to execution of floating point instructions. A plurality of tags is associated with the first storage area indicating that locations in the first storage area are either empty or non-empty responsive to the execution of the floating point instructions which modify data contained in the first storage area. Responsive to the receiving of the first instruction which indicates termination of execution of instructions which operate upon the packed data stored in the first storage area, the method sets only the plurality of tags to an empty state. In different embodiments, setting of the plurality of tags to a non-empty state occurs responsive to receiving a second instruction. The second instruction (or instructions) specifies an operation upon packed data stored in the first storage area. The setting of the plurality of tags indicates execution of instructions which operate upon the packed data. This method advantageously provides a means for clearing the packed data state at the end of blocks of packed data instructions to leave the floating point state in a clear condition for subsequent operations (e.g. floating point calculations).
Abstract:
A method for transferring packed data including the steps of first receiving an instruction from a set of instructions for transferring packed data between an extended register file and either an integer register file or a memory. In one embodiment, the extended register file includes eight registers, with each of the extended register storing up to sixty-four data bits. The integer register file also includes eight registers. The instruction includes an opcode that specifies a direction of the transfer with respect to the extended register file. The instructions are encoded in an instruction format having up to three bits addressing a destination operand and up to three bits addressing a source operand. The instruction is then translated to determine a direction of the transfer, a size of said packed data to be transferred, the address of the destination operand, and the address of the source operand. The instruction decoded by a decoder unit previously designed to decode the instruction format used to encode the set of instructions. In response to receiving the instruction, the packed data is transferred between the extended register file and either the integer register file or the memory, pursuant to the specifications of the translated instruction.
Abstract:
A computer system and method in which allocation of a cache memory is managed by utilizing a locality hint value included within an instruction. When a processor accesses a memory for transfer of data between the processor and the memory, that access can be allocated or not allocated in the cache memory. The locality hint included within the instruction controls if the cache allocation is to be made. When a plurality of cache memories are present, they are arranged into a cache hierarchy and a locality value is assigned to each level of the cache hierarchy where allocation control is desired. The locality hint may be used to identify a lowest level where management of cache avocation is desired and cache memory is allocated at that level and any higher level(s). The locality hint value is based on spatial and/or temporal locality for the data associated with the access. Data is recognized at each cache hierarchy level depending on the attributes associated with the data at a particular level. If the locality hint identifies a particular access for data as temporal or non-temporal with respect to a particular cache level, the particular access may be determined to be temporal or non-temporal with respect to the higher and lower cache levels.
Abstract:
A processor. The processor includes a decoder being coupled to receive a control signal. The control signal has a first source address, a second source address, a destination address, and an operation field. The first source address corresponds to a first location. The second source address corresponds to a second location. The destination address corresponds to a third location. The operation field indicates that a type of packed data shift operation is to be performed. The processor further includes a circuit being coupled to the decoder. The circuit is for shifting a first packed data being stored at the first location by a value being stored at the second location. The circuit is further for communicating a corresponding result packed data to the third location.
Abstract:
An adapter or bridging device that provides both a wired audio or audio and video female jack connectors for wired devices such as wired earphones, headphones and wired video headsets; as well as a wireless link to nearby handheld computerized devices such as mobile phones (e.g. smartphones). The device may be configured to be clipped to the user's clothing, as well as to interface with pairing control devices to easily form Bluetooth, WiFi, or other type wireless links. The device may also include at least one computer processor to manage the wireless link, control the attached wired headphones or video headsets, as well as perform compression and decompression functions as desired.
Abstract:
An adapter or bridging device that provides both a wired audio or audio and video female jack connectors for wired devices such as wired earphones, headphones and wired video headsets; as well as a wireless link to nearby handheld computerized devices such as mobile phones (e.g. smartphones). The device may be configured to be clipped to the user's clothing, as well as to interface with pairing control devices to easily form Bluetooth, WiFi, or other type wireless links. The device may also include at least one computer processor to manage the wireless link, control the attached wired headphones or video headsets, as well as perform compression and decompression functions as desired.
Abstract:
Method of using a computerized smartphone to navigate remote auto attendant telephony systems with a menu structure. The auto attendant's menu structure is put into an online computer database. The caller uses the smartphone to call and establish a voice channel with remote auto attendant telephony system (using the telephone number of that system), software applications running on the caller's smartphone communication device intercept the telephone number and along with the voice channel, also establish a data channel with the online computer accessible database. The caller's smartphone retrieves at least some of the menu structure of the auto attendant telephony system through this data channel, and displays at least some of the menu structure of the remote auto attendant telephony system on the graphical user interface of the user's smartphone synchronized, with the audio delivery of the menu structure, thus facilitating interactions with the auto attendant system.
Abstract:
Computerized payment method using short, temporary, transaction ID (TID) symbols for secure payer (customer) financial transactions. Payees (e.g. merchants) register their unique ID telecommunications devices (e.g. Smartphone and phone number), and financial institution a payment server. When a payee (merchant) and wish to do a financial transaction, the payee requests a TID from the server for that amount. The server sends a TID to the payee, which the payee then communicates to the payer. The payer in turn relays this TID to the server, which validates the transaction using the payer device. The server then releases funds to the payee. The server preserves records for auditing, but security is enhanced because the merchant never directly accesses the customer's financial account. Use of GPS coordinates and/or payer provided Group IDs may also be used to reduce the number of symbols used in the TID while continuing to ensure uniqueness.
Abstract:
Method of using a computerized smart phone to navigate remote auto attendant telephony systems with a menu structure. The auto attendant's menu structure is put into an online computer database. When the caller uses the smart phone to call and establish a voice channel with remote auto attendant telephony system (using the telephone number of that system), software applications running on the caller's smart phone communication device intercept the telephone number and along with the voice channel, also establish a data channel with the online computer accessible database. The caller's smart phone can then retrieve at least some of the menu structure of the auto attendant telephony system through this data channel. This application software can then display at least some of the menu structure of the remote auto attendant telephony system on the graphical user interface of the user's smart phone synchronized with the audio delivery of the menu structure, facilitating interactions with the auto attendant system.