Looking for breakthrough ideas for innovation challenges? Try Patsnap Eureka!

Apparatus and method for ensuring maximum code motion of accesses to DMA buffers

a buffer and code motion technology, applied in the field of data processing devices, can solve the problems of dma execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution execution

Inactive Publication Date: 2007-10-11
IBM CORP
View PDF25 Cites 6 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Benefits of technology

[0012] The “kill” intrinsic may be used with DMA operations, such as DMA “get” and “put” operations, i.e. loads and stores. Specifically, data objects being DMA'ed from the local store of a SPE may be “killed” through use of the “kill” intrinsic prior to submitting the DMA request. As a result, operations that may operate on the data object cannot be moved to a point in the program flow prior to the point at which the data object is “killed” and thus, the likelihood that the data object will be modified prior to the DMA request being completed is avoided.
[0013] Similarly, data objects being DMA'ed to the local store of the SPE may be “killed” after verifying the transfer completes. Thus, operations that would normally be performed after the data object is present in the local store are prevented from being moved to a point in the program flow that is prior to the completion of the transfer of the data object. In this way, accessing of the data object in the local store before it is present in the local store, such as by operations that have been reordered by an optimizing scheduler of the compiler, is avoided.

Problems solved by technology

The use of Synergistic Processing Elements (SPE) in the Cell processor provides many unique challenges that are not generally found in traditional processor designs.
One particular challenge facing programmers of the SPE is ensuring correct ordering of data accesses to the SPE's local store (LS) direct memory access (DMA) buffers.
The volatile keyword tells the compiler to avoid optimizations on this variable, because such optimizations might interfere with its external modification.
However, this constraint on channel instructions does not ensure that SPU local store accesses to the transfer buffers are not reordered, such as by the optimizing scheduler, with respect to the wait for DMA completion channel commands.
The problem with this solution is that it over constrains compiler scheduling and optimizations by making all loads and stores to these DMA buffers ordered when some of these loads and stores may be optimized, such as by caching or reordering the loads and stores, without detracting from the integrity of the DMA buffers.
Similarly, data objects being DMA'ed to the local store of the SPE may be “killed” after verifying the transfer completes.

Method used

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Image

Smart Image Click on the blue labels to locate them in the text.
Viewing Examples
Smart Image
  • Apparatus and method for ensuring maximum code motion of accesses to DMA buffers
  • Apparatus and method for ensuring maximum code motion of accesses to DMA buffers
  • Apparatus and method for ensuring maximum code motion of accesses to DMA buffers

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0029] The following illustrative embodiments provide an apparatus, method and computer program product for ensuring maximum code motion of accesses to Direct Memory Access (DMA) buffers. The illustrative embodiment may be implemented in any processor design or architecture in which DMA buffers are utilized. One such processor design or architecture in which the exemplary aspects of the illustrative embodiments may be implemented is the Cell Broadband Engine (CBE) architecture available from International Business Machines, Inc. The CBE architecture is only exemplary of the possible processor architectures in which the illustrative embodiment may be implemented and the description of such in the following detailed description is not intended to state or imply any limitation with regard to the types of processor architectures in which the illustrative embodiment may be implemented.

[0030]FIG. 1 is an exemplary block diagram of a microprocessor chip in which aspects of the illustrativ...

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

PUM

No PUM Login to View More

Abstract

A “kill” intrinsic that may be used in programs for designating specific data objects as having been “killed” by a preceding action is provided. The concept of a data object being “killed” is that the compiler is informed that no operations (e.g., loads and stores) on that data object, or its aliases, can be moved across the point in the program flow where the data object is designated as having been “killed.” The “kill” intrinsic limits the reordering capability of an optimization scheduler of a compiler with regard to operations performed on “killed” data objects. The “kill” intrinsic may be used with DMA operations. Data objects being DMA'ed from a local store of a processor may be “killed” through use of the “kill” intrinsic prior to submitting the DMA request. Data objects being DMA'ed to the local store of the processor may be “killed” after verifying the transfer completes.

Description

BACKGROUND [0001] 1. Technical Field [0002] The present application relates generally to an improved data processing device. More specifically, the present application is directed to an apparatus, method, and computer program product for ensuring maximum code motion of accesses to DMA buffers. [0003] 2. Description of Related Art [0004] International Business Machines, Inc. has recently developed the next generation microprocessor architecture referred to as the Cell Broadband Engine processor architecture, referred to herein as the Cell processor. With this new architecture, a multiple core system-on-a-chip microprocessor is provided that comprises a master processor, referred to as the Power Processor Unit (PPU), and a plurality of co-processors, referred to as the Synergistic Processing Units (SPUs). Each SPU has an associated local storage device, referred to as the local store (LS), a message flow controller (MFC), and a bus interface unit (BIU). This combination of units is re...

Claims

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

Application Information

Patent Timeline
no application Login to View More
IPC IPC(8): G06F9/45
CPCG06F8/4441
Inventor BROKENSHIRE, DANIEL A.O'BRIEN, JOHN KEVIN PATRICK
Owner IBM CORP
Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Patsnap Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Patsnap Eureka Blog
Learn More
PatSnap group products