Developing and Optimizing Linux on ARM CELF Plenary Meeting San Jose, 2005 Philippe Robin [email protected] ARM Ltd

Developing and Optimizing Linux on ARM CELF Plenary Meeting San Jose, 2005 Philippe Robin Philippe.Robin@Arm.Com ARM Ltd

Developing and Optimizing Linux on ARM CELF Plenary Meeting San Jose, 2005 Philippe Robin [email protected] ARM Ltd. THE ARCHITECTURE FOR THE DIGITAL WORLD™ Overview . Introduction . Areas of optimization . Hardware optimisations . Development tool chain . Kernel and applications . Power Consumption, Security, Multiprocessing . Test and validation environment . Evolution of the ARM Architecture . Impact on Linux kernel . Use of architectural features . Development tools . Summary THE ARCHITECTURE FOR THE DIGITAL WORLD™ Linux Platform Components Libraries and Applications Libraries and Applications Swerve , JTEK, IESMw, eTrrvues t,Z JTonEe,K, IEMMul,t iTr-MuesditZaone, Multi-Media Compiler ARM Architecture Compiler ARM Architecture Code Optimisation, ARMv6, ARMv7... TChoudme bO, pThtimumisabt-i2on, ARMv5, ARMv6, Thumb, Thumb-2 ARMv7... Linux Kernel Linux Kernel OS & Platform OSsu &p pPolrattform support THE ARCHITECTURE FOR THE DIGITAL WORLD™ ARM Architectures Feature Set Architecture THUMBTM DSP JazelleTM Media v4T v5TE v5TEJ v6 Enhance performance through innovation – THUMBTM: 35% code compression – DSP Extensions: Higher performance for fixed-point DSP – JazelleTM: up to 8x performance for java – Media Extensions up to 4x performance for audio & video Preserving Software Investment through compatibility THE ARCHITECTURE FOR THE DIGITAL WORLD™ ARM CPU Roadmap 0.13u Application Processors (Linux domain) Samsung ARM10™ ARM1176JZF-S S XScale ARM1136JF-S Embedded Control DMIP 480 e (uCLinux domain) c n a 440 ARM1156T2F-S m ARM1026EJ-S r fo r 280 ARM926EJ-S Secure SC210 Pe ARM946E ARM968E ARM720T SC110 ARM7TDMI® 2000 2001 2002 2003 2004 2005 THE ARCHITECTURE FOR THE DIGITAL WORLD™ Increased Processor Performance Home Media Centres e r 1000 DMIPS Digital TV u t ARM11 Family c Digital Set Top Box e t i 500 DMIPS PDA’s h c r ARM10 Family Smart Phones A r 300 DMIPS Home Router/Firewall o s Cable XDSL Modems s e ARM9 Family PC Network Cards c o r Digital Camcorders P 150DMIPS e Digital Cameras n Digital Audio players O ARM7 Family Digital Photo Frames THE ARCHITECTURE FOR THE DIGITAL WORLD™ Performance Gains . Hardware optimizations for . MMU and Cache management . Interrupt handling y ilit ib ARM1136F Real-Time ce t . pa an m o ARM1026 Code density m C . r de fo o C . Multi-Processor ARM926 Per . Compiler and tool chain ARM920 ARM940 . Instruction scheduling ARM720 . Use of new instructions ARM7TDMI . Code density . Linux support . Optimize Linux kernel to fully utilize new architectural features THE ARCHITECTURE FOR THE DIGITAL WORLD™ ARMv6 Architecture . Compatibility with previous ARM architectures . SIMD Media Instructions . 1.75X faster at media processing compared to ARMv5 . Improved Memory Management . Boost system performance by up to 30% . Improved Mixed Endian and Unaligned data support . Improved processing of Big Endian data (eg. TCP/IP) in Little Endian (LE) systems . Improved Interrupt latency for real time systems . Improved from 35 cycle worst case to 11 cycles in v6 THE ARCHITECTURE FOR THE DIGITAL WORLD™ The ARM11 Processor Family .Based on ARMv6 architecture . Media SIMD . Fast interrupt modes . JazelleTM . Three power modes (Full, Standby and Dormant) . Tightly Coupled Memory (TCM) .High speed, performance targeting embedded and application processing THE ARCHITECTURE FOR THE DIGITAL WORLD™ Enhancements from ARM1136J-S™ Core . ARM TrustZone™ architecture extensions for CPU and system security . New secure state enabling creation of a trusted computing environment . Enables protection of code and data across entire memory hierarchy . AMBA™ 3.0 (AXI) System Bus Interface . Higher data bandwidth, easier timing closure . Supports access to secure-aware memory and peripherals . Intelligent Energy Manager (IEM) Compatible . Allows dynamic voltage and frequency setting under OS control to optimize energy usage / battery life . Supports multiple voltage domains for power-saving modes THE ARCHITECTURE FOR THE DIGITAL WORLD™ Thumb-2 & Embedded Processors . Thumb-2 core technology is an enhancement to the ARM architecture version 6. Thumb-2 core technology consists of: . new 16-bit Thumb instructions for improved program flow . new 32-bit Thumb instructions for improved performance and code size . new 32-bit ARM instructions for improved data handling THE ARCHITECTURE FOR THE DIGITAL WORLD™ Linux Kernel – ARMv6 Support . Optimize memory and cache handling . Minimise cache flushing . Benefits from Physically tagged cache . Prevent cache aliasing incoherencies . Faster interrupt handling . Use of new CPS instruction to reduce number of cycles needed to handle interrupts . Use Application Space Identifiers (ASIDs) . Optimize context switch time . Avoid need to flush on-chip translation buffers THE ARCHITECTURE FOR THE DIGITAL WORLD™ Areas of Optimizations . Real-Time support and performance . Open source and proprietary projects . Scheduling policies, interrupt handling, threading model etc. Use regression test suites to validate and improve kernel performance and reliability . Libraries . Reduced size and choice of optimised libraries . Floating point libraries, C libraries etc. ARM ABI will allow more choices . Power Management . Intelligent Energy Management (IEM) . Montavista Dynamic Power Management (DPM) . Security and reliability . Encryption and protection mechanisms . Build on TrustZone technology . SMP support . Add changes in kernel to support multiprocessor platforms . Synchronization, interrupt handling… THE ARCHITECTURE FOR THE DIGITAL WORLD™ Key ARM Software with Linux . Jazelle for Java bytecode acceleration . 3x to 8x time faster Java bytecode execution . Execute some parts of the Java Virtual Machine in hardware . Power Management . IEM allowing savings up to 25% of battery life . Scale CPU frequency and voltage based on monitoring of the system activity . 3D Graphics . Swerve: Industry-leading JSR-184 for 3D content . Also take benefit of hardware VFP support . Security . TrustZone for device integrity and secure transactions . Partition and control the execution environment to prevent illegal access to critical code or data THE ARCHITECTURE FOR THE DIGITAL WORLD™ Linux & Development Tool Chain . Compiler is a key element in generating efficient and compact code . Requires in-depth knowledge of the micro-architecture . Support for latest architectural features . Requires extensive testing and validation . Choice of development tools . New ARM Application Binary Interface (ABI) aims at providing compatibility between multiple tool chains . Allow re-use of libraries and existing code base . Can mix GNU based objects with libraries or objects optimized with other proprietary tool chains . Closely linked with debug and profiling tools THE ARCHITECTURE FOR THE DIGITAL WORLD™ Supporting GCC and Linux for ARM . ARM enabling GNU r e l . Formal collaborative program to i create a professionally supported p ARM GNU Compiler om C . Goals of the GCC project . Create stable releases of the ARM GCC compiler . Improve ARM architecture and micro-architecture support . Comply with the ABI for the ARM architecture . Enables inter-working of GCC and the RealView Developer Suite RVCT compilation Tools . Enables mixing of object code from both tool chains . Produce a binary release every 6 months . Enable support for targeting embedded Linux systems . Available publicly through CodeSourcery’s website THE ARCHITECTURE FOR THE DIGITAL WORLD™ RealView Creating Optimal Reliable Code . Processor-specific optimizations . Code scheduled to make best y er l use of pipeline structure of the r i o processor p m m e . Peephole optimization to generate o M optimal code sequences C . Selectable optimization levels . Allows choice of best debug view or best code view . Orthogonal to debug flag, so can produce debug capable, optimized code . Choice of optimization for speed or code size to suit system requirements THE ARCHITECTURE FOR THE DIGITAL WORLD™ RealView - Optimizations . Removal of unused code . The compiler removes code sequences that are never executed, thus saving memory . The linker removes unused code sections and unused functions, thus saving memory . Reducing the Power Consumption . With extensive performance optimizations . Increase instruction-throughput with no increase in clock frequency . With powerful code size optimizations . Small code size makes better use of I-Cache . Small code size reduces instructions to execute THE ARCHITECTURE FOR THE DIGITAL WORLD™ Summary . Each component plays an important role in achieving optimum performance . Processor, compiler, kernel, libraries and applications . Each must cooperate to optimize use of hardware resources . Optimizations are domain specific as each environment has specific performance and resource requirements . Adapt Linux kernel accordingly . Tools need to address performance requirements . Choice of the processor according to the targeted product . Test and validation play a key role in maintaining and improving code quality and performance . Access to standard maintenance and validation test suites THE ARCHITECTURE FOR THE DIGITAL WORLD™ Linux Open Source Community Open Source Developer Community HW & Silicon Linux Vendors Manufacturers Improving Linux through cooperation! THE ARCHITECTURE FOR THE DIGITAL WORLD™.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    20 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