Abstract:
A distributed data cache includes a number of cache memory units or register files each having a number of cache lines. Data buses are connected with the cache memory units. Each data bus is connected with a different cache line from each cache memory unit. A number of data address generators are connected with a memory unit and the data buses. The data address generators retrieve data values from the memory unit and communicate the data values to the data buses without latency. The data address generators are adapted to simultaneously communicate each of the data values to a different data bus without latency. The cache memory units are adapted to simultaneously load data values from the data buses, with each data value loaded into a different cache line without latency.
Abstract:
A system for permitting new, or enhanced, functionality to be transferred to an adaptable device. In a preferred embodiment, the permitted functionality is determined according to an accounting method associated with a user's account. This approach allows a user to contract for specific services, functionality, etc. regardless of changes over time such as changes to data formats, communication protocols, external devices or infrastructure, etc. In a preferred embodiment, the functionality is stored on a ubiquitous communications network such as the Internet. Functionality is transferred to different devices as digital information over the network. This allows hardware functionality to be licensed in many forms. For example, site licenses can be obtained for companies; hardware nulltrialwarenull can be provided to allow limited functionality for a limited time for lower-cost payments, etc.
Abstract:
A system for detecting and identifying the identity of a base station or cell which transmits a scrambling code is provided. According to one aspect of the system, the system is used to perform scrambling code detection of eight (8) primary cells (each scrambling code being spaced sixteen (16) chips apart) in a group. According to another aspect of the system, a single scrambling code generator is used to generate a master scrambling code. The master scrambling code is then used to create individual scrambling codes which are used in correlation with received signals to detect in parallel which one of the eight (8) possible primary cells in the group transmitted the received signals. According to yet another aspect of the system, each of the correlators maintains a corresponding segment of the master scrambling code. For every sixteen (16) chips, a new segment of the master scrambling code is introduced into one of the correlators, a segment of the master scrambling code is dropped from another correlator, and segments of the master scrambling code are sequentially shifted or propagated through the remaining correlators; and concurrent correlations are performed by the correlators using their respective corresponding segments of the master scrambling code and newly received signals.
Abstract:
The present invention provides an adaptive computing engine (ACE) that includes processing nodes having different capabilities such as arithmetic nodes, bit-manipulation nodes, finite state machine nodes, input/output nodes and a programmable scalar node (PSN). In accordance with one embodiment of the present invention, a common architecture is adaptable to function in either a kernel node, or k-node, or as general purpose RISC node. The k-node acts as a system controller responsible for adapting other nodes to perform selected functions. As a RISC node, the PSN is configured to perform computationally intensive applications such as signal processing.
Abstract:
A method for compressing a set of instructions in an adaptive computing machine includes identifying frequently executed instructions, inserting an explicit caching instruction associating the identified instructions with an index value in the set of instructions before the identified instructions and replacing at least one instance of the frequently executed instructions subsequent to the explicit caching instruction with a compressed instruction referencing the index value. One or more instructions can be identified for compression, including groups of consecutive or non-consecutive instructions. The explicit caching instruction directs a node in an adaptive computing machine to store instructions in an instruction storage unit in association with an index value. Instructions stored in the storage unit are retrievable with reference to the index value. The compressed instruction may include one or more references to index values, and can include a sequence of index values indicating the sequence of execution of the associated instructions.
Abstract:
The invention provides a compiler for generating assembly or configuration instructions from source code for an integrated circuit architecture of a plurality of different IC architectures. The source code is represented as a plurality of nodes of an abstract syntax tree. For each target architecture, a plurality of concrete instruction tiles are generated as concrete classes corresponding to and inheriting from a plurality of function tiles. Each function tile is implemented as an abstract class, represents a corresponding function, such as an ADD or MULT function, and implements a matching operation for the corresponding function. The compiler includes an instruction selector, formed as an abstract class, which implements a matching function and instruction generation for the abstract syntax tree by calling the corresponding matching operations of the concrete instruction tiles, inherited from the plurality of function tiles. When a concrete instruction tile or corresponding function has been matched to a node of the abstract syntax tree, the instruction selector calls an instruction generation function of the corresponding concrete instruction tile to generate an instruction for the corresponding IC architecture. By varying the concrete instruction tiles, the compiler may be targeted to any IC architecture.
Abstract:
A method of selecting tasks for execution on a processing node is provided. A plurality of indications of execution times corresponding to a first plurality of tasks is received. Also, a plurality of indications of maximum allowable latencies corresponding to the first plurality of tasks is received. At least a subset of the first plurality of tasks is selected for execution on the processing node based on the plurality of indications of execution times and the plurality of indications of maximum allowable latencies.
Abstract:
A system for implementing a searcher for use with a communication device is provided. According to one aspect of the system, the searcher includes one or more computational units which are used to perform a PN sequence generation function to generate a sequence of PN codes. The searcher further includes a number of computational units which are used to correlate received signal samples with the PN codes. As each signal sample is received by the communication device, the received signal sample is correlated with a first PN sequence in a parallel manner using the computational units. The correlation results are then accumulated. As the next signal sample is received, this newly received signal sample is similarly correlated with the next PN sequence in a parallel manner. Likewise, the correlation results are accumulated with the previous correlation results. The foregoing process is repeated until all the signal samples needed for correlation are received and correlated with sequences of PN codes. According to another aspect of the system, the a computational units are implemented using adaptive hardware resources. The number of computational units which are used to implement the correlation function is adjustable depending on, for example, the amount of available adaptive hardware resources.
Abstract:
A system for detecting and identifying the identity of a base station or cell which transmits a scrambling code is provided. According to one aspect of the system, the system is used to perform scrambling code detection of eight (8) primary cells (each scrambling code being spaced sixteen (16) chips apart) in a group. According to another aspect of the system, a single scrambling code generator is used to generate a master scrambling code. The master scrambling code is then used to create individual scrambling codes which are used in correlation with received signals to detect in parallel which one of the eight (8) possible primary cells in the group transmitted the received signals.
Abstract:
The present invention provides a method and apparatus for configuration of adaptive integrated circuitry, to provide one or more operating modes or other functionality in a communication device, such as a cellular telephone, a GSM telephone, another type of mobile telephone or mobile station, or any other type of media communication device, including video, voice or radio, or other forms of multimedia. The adaptive integrated circuitry is configured and reconfigured for multiple tasks, such as channel acquisition, voice transmission, or multimedia and other data processing. In the preferred embodiment, the configuration and reconfiguration occurs to adaptively optimize the performance of the particular activity over time, such as to increase the speed of channel acquisition, increase throughput rates, increase perceived voice and media quality, and decrease the rate of dropped communication sessions.