摘要:
Direct memory access controller (DMA) (2) adapted to directly execute C language style FOR tasks, where the FOR task includes a movement of a data element from a first location to a second location in memory, and the movement is controlled by a master DMA engine (MDE) (6). A master DMA engine (MDE) (6) includes a top level state machine (52) to coordinate a context save state machine (54), a parse state machine (56), and a running state machine (58). An loop control descriptor (LCD) queue (74) and a data routing descriptor (DRD) cache store information. The LCD queue allows pipelining of descriptor parsing, while the DRD cache avoids refetching of DRDs on reentry of loops.
摘要:
Direct memory access controller (DMAC) (54) adapted to directly execute C language style FOR tasks assigned by a processor (70), where the FOR task includes a movement of a data element from a first location to a second location in memory. The DMAC includes multiple execution units (EUs) (88, 90, 92), each to perform an arithmetic or logical operation, and a FOR task controller (80, 82, 86) to perform the data movement. The FOR task controller selects the operation to be performed by the EU. In one embodiment, the FOR task is made up of C language type FOR loops, where descriptors identify the control and body of the loop. The descriptors identify the source of operands for an EU, and the source may be changed within a FOR task. A descriptor specifies a function code for an EU and may specify multiple sets of operands for the EU.
摘要:
An execution unit (2) interface protocol allowing flow-through of data, where a function is specified once and the execution unit performs the function for multiple sets of input data. Function execution is pipelined through the execution unit, where an input unit (6) stores information, while a function logic unit (4) processes data and an output unit (8) holds results to be output. The execution unit (2) allows for data rate distortion, in applications such as data compression, where the amount of data received is different from the amount of data generated as output.
摘要:
A multiply and accumulate (MAC) unit (52) having a multiplier (54) and an adder (56) for providing a calculated result of a MAC operation, an accumulator (58) for storing the calculated result, and a scaler unit (60) for selecting a subset of the calculated result stored in the accumulator. The scaler unit receives information defining the subset as a predetermined number of contiguous bits and defining the location of the bits with respect to a radix point. In response to a detected error in the selection of the subset, the scaler unit selects a second subset, where the second subset also has a predetermined number of contiguous bits having a different location with respect to the radix point:
摘要:
Method for maintaining an execution interval for a task requestor to a DMA. A timer is provided with two counters, one (34) to maintain the execution interval and the second (32) to track the execution time of a task in the DMA. Each task has a predetermined execution time allowance. A task acknowledge (TACK) signal enables the tracking. A task request signal (TREQ) is generated during each execution interval until the execution time allowance is completed. The length of the second counter is less than the first counter. In one embodiment, if the first counter expires before the execution time allowance is completed, a task error signal (TERR) is illustrated.
摘要:
A method includes: decoding an instruction a first time to obtain a first decoded instruction; decoding the instruction a second time to obtain a second decoded instruction; comparing at least a portion of the first decoded instruction to at least a portion of the second decoded instruction; and when the at least a portion of the first decoded instruction matches the at least a portion of the second decoded instruction, executing the instruction.
摘要:
A method of testing a processing includes performing a test of at least one logic block of a processor of a data processing system; receiving an interrupt; stopping the performing the test for the processor to respond to the interrupt, wherein the stopping the performing the test includes storing test data of the test to a memory prior to the processor responding to the interrupt; and after the processor responds to the interrupt, resuming performing the test, wherein the resuming performing the test includes retrieving the test data from the memory and using the retrieved test data for the resuming performing the test.
摘要:
A method includes: decoding an instruction a first time to obtain a first decoded instruction; decoding the instruction a second time to obtain a second decoded instruction; comparing at least a portion of the first decoded instruction to at least a portion of the second decoded instruction; and when the at least a portion of the first decoded instruction matches the at least a portion of the second decoded instruction, executing the instruction.
摘要:
A method of testing a memory includes generating a plurality of addresses, such as a test address, accessing contents of each of the plurality of addresses and storing them in storage circuitry, performing a test on the plurality of addresses, accessing the memory test circuitry by sending an access address to snooping circuitry, determining if the access address matches at least one of the plurality of addresses and generating at least one hit indicator in response thereto, generating a snoop miss indicator, determining if the snoop miss indicator indicates a miss, if the snoop miss indicator indicates a miss, accessing the memory in response to the access address, and if the snoop miss indicator does not indicate a miss, either storing snooped data from a interconnect master to a selected portion of the storage circuitry or reading the snooped data from the selected portion of the storage circuitry to the interconnect master.
摘要:
A data communication system embodying an apparatus and a method provides simultaneous paths between a plurality of transmit ports and a plurality of receive ports for transmitting therebetween data identifying their destination receive ports. Such data are signals which are constructed in accordance with a standard serial protocol for frame element communication, such as HDLC (High-level Data Link Control). The system is assembled in a chassis containing a backplane and multiple cards having transmit and receive ports through which the cards couple the backplane. The system includes: a receiver of data transmitted by a source transmit port, a recognizer of the destination receive port identified by the received data, a determiner of the availability of the recognized destination receive port, a connector of a path between the source transmit port and the destination receive port in response to a determination that the recognized destination receive port is available, and a transmitter of the received data to the destination receive port through the connected path.