Assembly Optimizer Introduction

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Assembly Optimizer Introduction - Presentation Transcript

    1. www.architecterra.com  georgiy@architecterra.com  ARCHITECTERRA P.O.B 10124, Petah Tiqwa 49001, Israel  Fax: +972‐3‐9214577  Solution Introduction  Solution Introduction CONFIDENTIAL
    2. www.architecterra.com  georgiy@architecterra.com  P.O.B 10124, Petah Tiqwa 49001, Israel  Fax: +972‐3‐9214577  ARCHITECTERRA Automatic SW Optimization For Parallel Processing Architectures  © Copyright Georgiy Shenderovich, 2009 ALL RIGHTS RESERVED THIS DOCUMENT IS PROPRIETARY AND CONFIDENTIAL. No part of this document may be disclosed in any manner to a third party; reproduced in any material form (including electronically); used to prepare derivative products; or distributed without the prior written permission of Georgiy Shenderovich. The following are trademarks of Georgiy Shenderovich services in Israel, or other countries, or both. ArchitecTerra – Digital Systems Design Services ArchitecTerra logo Georgiy Shenderovich’s logo ARCHITECTERRA Other company, product and service names may be trademarks or service marks of others. All information contained in this document is subject to change without notice. The products described in this document are NOT intended for use in implantation or other life support applications where malfunction may result in injury or death to persons. The information contained in this document does not affect or change Georgiy Shendrovich services specifications or warranties. Nothing in this document shall operate as an express or implied license or indemnity under the intellectual property rights of Georgiy Shenderovich. or third parties. All information contained in this document was obtained in specific environments, and is presented as an illustration. The results obtained in other operating environments may vary. While the information contained herein is believed to be accurate, such information is preliminary, and should not be relied upon for accuracy or completeness, and no representations or warranties of accuracy or completeness are made. Note: This document contains information on products in the design, sampling and/or initial production phases of development. This information is subject to change without notice. THE INFORMATION CONTAINED IN THIS DOCUMENT IS PROVIDED ON AN “AS IS” BASIS. In no event will Georgiy Shenderovich be liable for damages arising directly or indirectly from any use of the information contained in this document. © Georgiy Shenderovich CONFIDENTIAL Page 2/4
    3. www.architecterra.com  georgiy@architecterra.com  P.O.B 10124, Petah Tiqwa 49001, Israel  Fax: +972‐3‐9214577  ARCHITECTERRA Solution Introduction  Table of Contents 1 THE BACKGROUND............................................................................................................................ 4 © Georgiy Shenderovich CONFIDENTIAL Page 3/4
    4. www.architecterra.com  georgiy@architecterra.com  P.O.B 10124, Petah Tiqwa 49001, Israel  Fax: +972‐3‐9214577  ARCHITECTERRA Automatic SW Optimization For Parallel Processing Architectures  1 THE BACKGROUND ArchitecTerra presents a generic methodology for automatic optimization of SW code generated for modern processing architectures with high degree of instructions and data parallelism. The optimal SW is required for time critical SW like interrupt handlers, inner loops in the computing intensive implementations or any other purpose where SW developer is required to achieve the best processor performance. The modern processing architectures for better performance are using deep instructions pipeline, vectored instructions with multiple operands in a single instruction, long instruction words containing several processor instructions executed simultaneously and special purpose or coprocessor macro instructions utilizing at the same time multiple resources of the processor and its subsystem. Two pipeline approaches are used in the modern architectures: the data-stationary model and the time- stationary model. The data-stationary model guarantees that instructions order for the certain data flow will prevent any data hazards. The processor HW controls that new instructions entering the pipeline will not be able to change any resource involved in the current data operation until this operations completes. The time- stationary model guaranties instructions execution in order and in rate of entering into the pipeline, where the programmer is responsible for preventing any data hazard effects. The data-stationary model allows more reliable code when the time-stationary model allows more efficient manipulation by the processor resources and more efficient code finally. The high-level languages are usually used today even for embedded and RT SW development. It significantly increases the development efficiency and shortens the SW products time-to-market. C and C++ languages are widely used today for embedded and RT SW development. However, even the best C or C++ compiler is not capable to consider for SW optimization all the advantages of processor architecture. Many techniques and tricks are used by compilers to increase its ability to generate more HW-oriented code. Unfortunately, all these methods finally require from the SW engineer to think much more HW than SW just because the improvement in the most cases is achieved by embedding the HW-optimized primitives encapsulated into C or C++ syntax constructions. Such primitives are finally a kind of macro or real Run- Time library which should be used in certain critical sections of the SW code. Usage of these libraries already requires from the SW engineer the knowledge about very low-level processor resources like registers, accumulators, available parallelism (DLP and ILP) and probably more. However, even such methodology doesn’t guarantee that the generated code will be optimal. Indeed, the primitives inserted into the generated code are optimized within themselves, but performance lost is more than probable between the primitives during integration. The ArhitecTerra methodology allows creation of automatic tools set for generated SW code optimization considering all the architectural advantages of the processor and getting very close to the manual optimization quality. The technology is especially very usable for automatic code optimization of programs written with Assembly languages. © Georgiy Shenderovich CONFIDENTIAL Page 4/4
    SlideShare Zeitgeist 2009

    + ArchitecTerra Ltd,ArchitecTerra Ltd, Nominate

    custom

    130 views, 0 favs, 1 embeds more stats

    Technology Proposal

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 130
      • 128 on SlideShare
      • 2 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 3
    Most viewed embeds
    • 2 views on http://www.lmodules.com

    more

    All embeds
    • 2 views on http://www.lmodules.com

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories