And 2-Dimensional SIMD Extensions for Multimedia Applications

And 2-Dimensional SIMD Extensions for Multimedia Applications

On the Scalability of 1- and 2-Dimensional SIMD Extensions for Multimedia Applications Friman S´anchez, Mauricio Alvarez, Esther Salam´ı, Alex Ramirez, Mateo Valero Computer Architecture Department Universitat Politecnica de Catalunya Barcelona, Spain {fsanchez, alvarez, esalami, aramirez, mateo}@ac.upc.es Abstract In the embedded domain, ASICs, media processors, high performance DSPs or some combinations between SIMD extensions are the most common technique used in current processors for multimedia computing. them are the most common solutions for dealing with the computational and power requirements of multime- In order to obtain more performance for emerging dia and communications applications. But the changing applications SIMD extensions need to be scaled. In nature of multimedia and communication protocols this paper we perform a scalability analysis of SIMD suggests the use of programmable processors instead extensions for multimedia applications. Scaling a 1- of custom ASICs or highly specialized application dimensional extension, like Intel MMX, was compared specific processors. In this way DSPs manufacturers to scaling a 2-dimensional (matrix) extension. Eval- are including SIMD extensions to their base architec- uations have demonstrated that the 2-d architecture is able to use more parallel hardware than the 1-d tures. VLIWs DSPs like Analog Devices Tiger Sharc, Motorola and Lucent’s StarCore and Texas Instruments extension. Speed-ups over a 2-way superscalar proces- TMS320C6xx and superscalar-based DSPs like Tri- sor with MMX-like extension go up to 4X for kernels Core also include SIMD capabilities [3]. and up to 3.3X for complete applications and the On the other hand, some research proposals suggest matrix architecture can deliver, in some cases, more the use of vector processors [4], [5] as an effective way performance with simpler processor configurations. of exploiting DLP present in multimedia applications. The experiments also show that the scaled matrix An alternative approach comes from the combination architecture is reaching the limits of the DLP available in the internal loops of common multimedia kernels. of vector registers and sub-word computation in such a way that registers can be seen as matrices [6]. This matrix architecture, referred as MOM (Matrix Oriented I. INTRODUCTION Multimedia), can be seen as a 2-dimensional SIMD Multimedia applications have become one of the extension to a superscalar or VLIW processor. most important workloads, both in general purpose As multimedia standards become more complex, and embedded application domains. Devices like set- processors need to scale their SIMD multimedia ex- top boxes, DVD and MP3 players, mobile phones and tensions in order to provide the performance required many others demand high computational power in or- by new applications. Scaling these extensions not only der to support applications like digital video decoding, need to address performance issues, but also power digital image processing or speech compression and consumption, design complexity and cost, especially decompression, that need to be done sometimes in real for embedded processors. time and under several power constraints. [1]. The focus of this paper is to develop an scalability In microprocessors for desktop computers, the com- analysis of a 1-dimensional SIMD extension, like Intel mon approach for dealing with the requirements of MMX, and a 2-dimensional extension, like MOM. For multimedia applications has been the extension of the the two kinds of SIMD extensions an scaling in the Instruction Set Architecture with SIMD instructions width of registers and the number of execution units tailored to the operations and data types present in was performed. We will show that making the matrix multimedia kernels. Extensions like Intel’s MMX and registers bigger it is possible to pack almost all the data SSE, Sun’s VIS, HP’s MAX, MIPS’s MDMX and available in the inner loops of common multimedia Motorola’s Altivec exploit the data level parallelism kernels with a lower complexity processor than a 1- (DLP) available in multimedia applications by per- dimensional SIMD extension. Further extensions in forming multiple sub-word operations in a single in- width or length of matrix SIMD registers would not struction [2]. result in significant performance improvements. By the use of a scaled matrix architecture, the dynamic in- the SIMD resources. These bottlenecks are related struction count is reduced drastically while still allow- with overhead and supporting instructions necessary ing the execution of more operations in parallel. The for address arithmetic, data transformation (packing, final result is a significant increment of performance in unpacking, transposing), access overhead and limita- the evaluated multimedia applications, executing fewer tions in the issue width. instructions and with a complexity-effective hardware The other way of scaling is to increase the width organization. of SIMD registers, i.e. from current 128-bit registers This paper is organized as follows: in chapter 2 (in SSE2 and Altivec) to 256-bit, 512-bit or more. an analysis of scalability alternatives is presented. In However, this option has two main disadvantages. The chapter 3 the applications, simulator and modeled mi- first one is the hardware implementation cost, that can croarchitectures used in the experiments are detailed. be significant, taken into account the required increase In chapter 4 results for both kernels and complete in the width of interconnect buses, the doubling of applications are described; and finally in chapter 5 execution units, and, more important, the increase in some conclusions are presented. the memory bandwidth necessary to provide enough data to larger SIMD registers [8]. Even if such a II. SCALING SIMD EXTENSIONS processor could be implemented, having 256-bit or The amount of parallelism that can be exploited us- 512-bit registers could only be useful if applications ing SIMD extensions is a function of three conditions. have memory data patterns that match the match the The first one is the number of SIMD instructions that hardware organization; that is, have enough operands can be executed in parallel, which is related with the arranged in memory to fill the SIMD registers. This number of SIMD functional units and the hardware can be true for some applications, but the majority of resources necessary for continuous processing multiple image, video an audio applications have small arrays SIMD instructions. The second one is the number or matrices sometimes non-contiguous in memory. For of subwords that can be packed into a word, which example the JPEG and MPEG standards define 8 × 8 depends on the size of registers. Packing more data or 16 × 16 pixel blocks. For this kind of applications, into a single register allows to perform more opera- making registers bigger than the basic data structures tions in parallel for each instruction. The last one is may incur a big overhead for taking data from memory the presence of combined instructions that allow the and/or storing back the results [11]. execution of different types of instructions (integer, From the previous discussion we can conclude that floating-point, SIMD) concurrently; this condition de- an scalable SIMD extension need to provide some pends on the application and the code generated by the features in the ISA and in the microarchitecture that compiler [7]. allow the exploitation of DLP taken into account The first two techniques are related with microarchi- the data patterns present in multimedia applications tecture and architecture features that can be modified to without increasing the complexity of critical structures scale SIMD extensions. Next we are going to analyze in the processor the requirements and possibilities of implementing As a part of this study, the benefits and limitations these techniques for scaling 1- and 2-dimensional of scaling a MMX-like extension with 64-bit registers SIMD extensions. (referred here as MMX64) to a 128-bit extension like A. Scaling 1-Dimensional SIMD Extensions Intel SSE2 (referred as MMX128) are evaluated. The first approach for scaling SIMD extensions consist of adding execution units to the SIMD pipeline. B. Scaling 2-dimensional Extensions The advantage of this approach is that it could im- MOM is a matrix-oriented ISA paradigm for multi- prove the performance at no programming cost. But, media applications based on fusing conventional vector adding more functional units to the pipeline implies ISAs with SIMD ISAs, such as MMX. MOM is a an increasing in register file ports, execution hardware suitable alternative for the multimedia domain due to and scheduling complexity [8]. Such modifications its efficiently handling of the small matrix structures could have a big impact in area, timing, power and typically found in most multimedia kernels [6]. Fig- complexity of the processor. But even if an aggressive ure 1 describes how vector, MMX-like, and MOM processor with many SIMD functional units could be ISAs exploit DLP using a very simple code example developed, performance gains could not be as good taken from a multimedia kernel. Vector processors, as expected. Recent studies [9], [10] have shown that Figure 1(a), perform multiple operations by using there are some bottlenecks in the microarchitecture that long vectors; MMX ISAs, Figure 1(b), perform mul- do not allow to obtain better performance by scaling tiple sub-word operations within a single register; and Fig. 1. Comparison between (a) conventional vector, (b) MMX-like and (c) matrix oriented ISAs Fig. 2. Register File and Datapath Comparison. of processing units is different in vector architectures MOM, Figure 1(c), combines both approaches using than in SIMD extensions like MMX. MOM register vector registers with subword capabilities. file and datapath are organized in a distributed way in As with 1-dimensional SIMD extensions, a 2- which the total register file is partitioned into banks dimensional architecture, like MOM, can be scaled in across lanes, and these banks are connected only to the width of registers and the number of execution certain functional units in their corresponding vector units.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    10 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us