Issue No.02 - February (2012 vol.61)
Felipe Cabarcas , Barcelona Supercomputing Center, Barcelona and Universidad de Antioquia, Medellin
Marc Gonzalez , Barcelona Supercomputing Center and Universitat Politecnica de Catalunya, Barcelona
Alex Ramirez , Barcelona Supercomputing Center and Universitat Politecnica de Catalunya, Barcelona
Xavier Martorell , Barcelona Supercomputing Center and Universitat Politecnica de Catalunya, Barcelona
Eduard Ayguade , Barcelona Supercomputing Center and Universitat Politecnica de Catalunya, Barcelona
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TC.2010.255
Multimedia extensions based on Single-Instruction Multiple-Data (SIMD) units are widespread. They have been used, for some time, in processors and accelerators (e.g., the Cell SPEs). SIMD units usually have significant memory alignment constraints in order to meet power requirements and design simplicity. This increases the complexity of the code generated by the compiler as, in the general case, the compiler cannot be sure of the proper alignment of data. For that, the ISA provides either unaligned memory load and store instructions, or a special set of instructions to perform realignments in software. In this paper, we propose a hardware realignment unit that takes advantage of the DMA transfers needed in accelerators with local memories. While the data are being transferred, it is realigned on the fly by our realignment unit, and stored at the desired alignment in the accelerator memory. This mechanism can help programmers to better organize data in the accelerator memory so that the accelerator can possibly access the data with no special instructions. Finally, the data are realigned properly also when put back to main memory. Our experiments with nine applications show that with our approach, the bandwidth of the DMA transfers is not penalized.
DMA, multicores, alignment, SIMD units.
Felipe Cabarcas, Marc Gonzalez, Alex Ramirez, Xavier Martorell, Eduard Ayguade, "DMA++: On the Fly Data Realignment for On-Chip Memories", IEEE Transactions on Computers, vol.61, no. 2, pp. 237-250, February 2012, doi:10.1109/TC.2010.255