a multi-streaming simd architecture for multimedia applications
Current MMX-like extensions provide a mechanism for general purpose processors to meet the growing performance demand of multimedia applications. However, the computing performance of these extensions is often limited because they only operate on a single data stream. To overcome this obstacle, this paper presents an architecture named "multi-streaming SIMD architecture" that enables one SIMD instruction to simultaneously manipulate multiple data streams. The proposed architecture is a Processor-In-Memory-like register-file architecture including SIMD operating logics for general-purposed processors to further extend current MMX-like extensions to obtain high performance. To efficiently and flexibly realize the proposed architecture, an operation cell is designed by fusing the logic gates and the storage cells together. The operation cells then are used to compose a register file with the ability of performing SIMD operations called "Multimedia Operation Storage Unit (MOSU)". Further, many MOSUs are used to compose a multi-streaming SIMD computing engine that can simultaneously manipulate multiple data streams and exploit the subword parallelisms of the elements in each data stream. Three instruction modes (global, coupling, and isolated modes) are defined for the MMX-like extensions to modulate the amount of parallel data streams and to efficiently utilize the computation resources. Simulation results show that when the multi-streaming SIMD architecture has four 4-register MOSUs, it provides a factor of 3.3x to 5.5x performance improvement compared with Intel's MMX extensions on eleven multimedia kernels.
simd mmx pim multimedia extensions streaming computing streaming processing processor-in-memory