Methods and apparatus for providing data transfer control

Electrical computers and digital data processing systems: input/ – Input/output data processing – Direct memory accessing

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C710S033000, C712S010000, C712S225000

Reexamination Certificate

active

06457073

ABSTRACT:

FIELD OF THE INVENTION
The present invention relates generally to improvements in array processing, and more particularly to advantageous techniques for providing improved data transfer control.
BACKGROUND OF THE INVENTION
Various prior art techniques exist for the transfer of data between system memories or between system memories and input/output (I/O) devices.
FIG. 1
shows a conventional data processing system
100
comprising a host uniprocessor
110
, processor local memory
120
, I/O devices
130
and
140
, a system memory
150
which is usually a larger memory store than the processor local memory and having longer access latency, and a direct memory access (DMA) controller
160
.
The DMA controller
160
provides a means for transferring data between processor local memory and system memory or I/O devices concurrent with uniprocessor execution. DMA controllers are sometimes referred to as I/O processors or transfer processors in the literature. System performance is improved since the Host uniprocessor can perform computations while the DMA controller is transferring new input data to the processor local memory and transferring result data to output devices or the system memory. A data transfer is typically specified with the following minimum set of parameters: source address, destination address, and number of data elements to transfer. Addresses are interpreted by the system hardware and uniquely specify I/O devices or memory locations from which data must be read or to which data must be written. Sometimes additional parameters are provided such as element size. In addition, some means of initiating the data transfer are provided, and also provided is a means for the DMA controller to notify the host uniprocessor when the transfer is complete. In some conventional DMA controllers, transfer initiation may be carried out by programming specific registers within the DMA controller. Others are designed to fetch their own “transfer descriptors” which might be stored in one of the system memories. These descriptors contain the information required to carry out a specific transfer. In the latter case, the DMA controller is provided a starting address from which to fetch transfer descriptors and there must be some means for controlling the fetch operation. End-of-transfer (EOT) notification in conventional DMA controllers may take the form of signaling the host uniprocessor so that it generates an interrupt which may then be handled by an interrupt service routine. In other notification approaches, the DMA controller writes a notification value to a specified memory location which is accessible by the host uniprocessor. One of the limitations of conventional DMA controllers is that address generation capabilities for the data source and data destination are often constrained to be the same. For example, when only a source address, destination address and a transfer count are specified, the implied data access pattern is block-oriented, that is, a sequence of data words from contiguous addresses starting with the source address is copied to a sequence of contiguous addresses starting at the destination address. Another limitation of conventional DMA controllers is the overhead required to manage the DMA controller in terms of transfer initiation, data flow control during a transfer, and handling EOT notification.
With the advent of the ManArray architecture, it has been recognized that it will be advantageous to have improved techniques for carrying o it such functions tailored to this new architecture.
SUMMARY OF THE INVENTION
As described in detail below, the present invention addresses a variety of advantageous methods and apparatus for improved data transfer control within a data processing system. In particular, improved mechanisms are provided for initiating and controlling the sequence of data transfers; decoupling source and destination address generation through the use of independent specification of source and destination transfer descriptor.,; (hereafter referred to as “DMA instructions” to distinguish them from a specific type of instruction called a “transfer instruction” which performs the data movement operation); executing multiple “source” transfer instructions for each “destination” transfer instruction, or multiple “destination” transfer instructions for each “source” transfer instruction; intra-transfer control of the flow of data (control that occurs while a transfer is in progress); EOT notification; and synchronizing of data flow with a compute processor and with one or more control processors through the use of SIGNAL and WAIT operations on semaphores.
Additionally, the present invention provides a DMA controller implemented as a multiprocessor consisting of multiple transfer controllers each supporting its own instruction thread. It allows cooperation between transfer controllers seen in the DMA-to-DMA method addressed further below. It addresses single-thread of control of dual transfer units or execution units. Execution control of a transfer instruction may advantageously be based on a flag in the instruction itself. Multiple instructions may execute in one, unit while a single instruction executes in the other. Independent transfer counters for CTU and STU are provided. Conditional SIGNAL instructions which can send messages on control bus, interrupts or update semaphores are advantageously provided, as is a conditional WAIT instruction which is executed based on the state of a semaphore. When a wait condition becomes false, this semaphore is updated according to instruction. Further aspects include the use of transfer conditions in branch, SIGNAL and WAIT instructions (STUEOT, CTUEOT, notSTUEOT, notCTUEOT). Further, the use of semaphores is addressed as the basis for conditional execution. A generalization of these techniques allows dual-CTU or dual-STU transfer controllers. A dual-CTU transfer controller might be used to perform DMA transfers from one cluster's DMA bus to another cluster's DMA bus. Further, a restart capability based on RESTART commands, Load-transfer-count-and-restart commands, or a semaphore update from an SCB master is addressed.


REFERENCES:
patent: 5067075 (1991-11-01), Sugano et al.
patent: 5375218 (1994-12-01), Umeda
patent: 5590377 (1996-12-01), Smith
patent: 5765024 (1998-06-01), Riley
patent: 5838993 (1998-11-01), Riley et al.
patent: 5896550 (1999-04-01), Wehunt et al.
patent: 5905912 (1999-05-01), Story et al.
patent: 5944800 (1999-08-01), Mattheis et al.
patent: 6134607 (2000-10-01), Frink

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Methods and apparatus for providing data transfer control does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Methods and apparatus for providing data transfer control, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Methods and apparatus for providing data transfer control will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2868008

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.