Multi-core HW in mobile platforms Pasi Kolinummi, 19.5.2011
Disclaimer Copyright ST-Ericsson, 2009. All Rights Reserved. The contents of this document are subject to change without prior notice. ST-Ericsson makes no representation or warranty of any nature whatsoever (neither expressed nor implied) with respect to the matters addressed in this document, including but not limited to warranties of merchantability or fitness for a particular purpose, interpretability or interoperability or, against infringement of third party intellectual property rights, and in no event shall ST-Ericsson be liable to any party for any direct, indirect, incidental and or consequential damages and or loss whatsoever (including but not limited to monetary losses or loss of data), that might arise from the use of this document or the information in it. ST-Ericsson and the ST-Ericsson logo are trademarks of the ST-Ericsson group of companies or used under a license from STMicroelectronics NV or Telefonaktiebolaget LM Ericsson. All other names are the property of their respective owners. For more information on ST-Ericsson, visit www.stericsson.com 2
A GLOBAL LEADER IN WIRELESS TECHNOLOGIES Leading global supplier of platforms and semiconductors for wireless devices Fabless company supported by extensive semiconductor manufacturing experience A truly global company and a workforce of which more than 85% work in R&D Headquartered in Geneva, Switzerland
Mobile Platforms Continue to Evolve Multiple device categories Smartphones Tablets Netbooks Android Meego Windows - Symbian Performance race CPU GHz - Camera resolution - Display resolution Graphics performance User experience UI evolution - Content (HTML5, Flash 10.1) Active mode time Background computing Source: Strategy Analytics 2009 Smartphones growing at an average of 20% per year
Why Performance Race? Display resolution increase is accelerating the performance needs From QVGA (320x 240) to QXGA (2048x1536) => 41x resolution 3D user interfaces, video and games will force for additional processing in both host side as well as graphics side WWW content / pages getting more and more heavy. Data transfer can be optimized but receiver performance needs are increasíng to improve user experience. User interfaces are more complex and there are multiple things running at the same time. Gap between PC and mobile device is decreasing. Augmented reality applications need to have understanding of the environment and combine the database information. Processing can be very heavy to reach great user experience. Games will use all possible performance. When this is linked to large displays, needs are highly increasing. 5
Ways to Compete in Performance Race Look for higher frequency Will continue as before, but technology limit is coming closer Mobile platforms are about 1GHz and next wave will reach 2GHz Cannot be the only way to improve things Number of cores in host CPU (CPU running under OS) Single core host systems is the mainstream in the market today First dual core platforms in the market Quad core platforms announced Power consumption forces intelligent solutions with possible heterogenous configurations Make the periphery more intelligent / powerfull Add own processors for different functions like audio, video, imaging Graphics accelerators performance will be used for multiple functions 6
ST-Ericsson U8500 Products Overview Dual-core ARM Cortex A9 ARM Mali 400 GPU HSPA (3GPP Rel 7) modem Full HD 1080p camcorder, multiple codecs supported (H264 HP, VC-1, MPEG-4) High-resolution, touchscreen display support up to XGA Simultaneous dual display support High performance 3D graphics, support for OpenVG 1.1 and OpenGL ES 2.0 Dual camera support with Integrated ISP 18 Mpixel and 5 Mpixel Wi-Fi, Bluetooth and GPS enabled platform Built-in USB 2.0, HDMI out Support for multiple operating systems, Symbian, Android and Linux-based platforms http://www.stericsson.com/, http://www.igloocommunity.org/
Processing of U8500 main SOC ARM A9 Dual core host processor is the main CPU Operating system is running on top of it Multicore problematics limited to because of cache coherency and symmetric architecture Parallel programming has to be enabled to utilize the system performance Dual core host is not the only CPU in the SOC Modem processing is done with multiple different CPUs handling different protocol layers. CPU selection and memory architecture is based on performance and real time requirements Multimedia processing includes multiple different cores inside the modules Graphics unit is own processing cluster External chips in the platform will have own CPU. For example, GPS, Bluetooth modules are based on processor cores 8
9
Next Steps in Mobile Platform Evolution Number of cores in host CPU is increasing Symmetric Quad core plarforms coming to market Similar CPUs, shared memory, cache coherency Heterogeneous processing platforms coming to market Different CPUs, shared memory and some level of coherency Processors can be optimized for different tasks More intelligent task management needed Application needs should be well know in task allocation Peripheral processing is coming visible to SW development. Augmented reality and sensor processing could need 24/7 environment monitoring. Host CPU might not meet power consumption needs. These CPUs are independt units with message based communication to host processor Graphics processor processing power will be used for multiple purposes 10
Next Generation Mobile Platform... Host Host Host CPU0 cache CPU1 cache CPU2 cache Heterogenous Shared L2 cache system multiprocessor cache cluster Host CPU3 Host CPU3 Accelerator Interconnect Periph Image pp0 CPU0 cache Periph CPU1 pp1 Sensor cache Periph CPU2 pp2 Audio cache Fast integrated memory GPU0 GPU1 GPU2 Parallel Shared L2 cache system graphics processing cache cache cache cache cache cache GPU3 GPU4 GPU5 External shared memory like LPDDR or PCDDR 11
SW Potential in Mobile Platforms
Curent Status 13 Third party SW developers will see main CPU only. Programs allow number of threads but single thread applications work as well. All applications are based on operating system services Operating system try to hide parallel processing from application developers Application developers do still need to enable multiple threads and do need to know that application is executed in multiple processors Graphics processing units are to be opened even though this is not yet widely used in mobile platforms (e.g. OpenGL definition) Multimedia processing including audio, video, and camera processing is done by the platform vendors. SW developers has very limited visibility and these resources cannot be used for other purpose. Connectivity devices has also dedicated SW and third party developers do not see this. SW should be directly usable in different platforms
SW Evolution Challengies Utilize effectively the parallel processing cabalities What is the methods / algorithms to share tasks to multiple processors? What is the best approach to most effectively benefit of parallel CPUs? What is the most optimized solution for energy consumption? Multiple CPU with low frequency versus less CPUs with high frequency? Burst processing versus continuous processing? How application developers know the platform features? Do they want to know? Applications should be able to run in all platforms. How to utilize the potential of each platform effectively by using only one code base? What is the API definition? How SW knows the different capabilities of the CPUs? Debugging of parallel processing system? Power / perforamance analysis? 14
Use case example: Mobile Gaming Game developers has to optimize host processing usage, which effectively means optimization to multiprocessors cores This can be heterogeneous core, with multiple CPUs Memory allocation might affect radically to the performance (internal versus external) Games will use heavily graphics engine This is all parallel processing, but there is long history in PC side already OpenGL (and others) gives programmer full visibility to utilize the parallel processing resources to optimize their application This opens new options, but requires more from application developers Sensors inputs and haptic feedback key usability criterias Phone movement (like in Wii and others) will be used as input Haptic feedback is needed to get right feeling Audio processing is key part of games. This can include game sounds but also different chat channels and other information 15
Summary Heterogenous multicore processing units will be next step Dedicated helper processor usage will increase Application developers will have possibilities to program these directly Parallel graphic engines will be alvailable for any applications Different cache coherency solutions will come to market. This is due to perfomance and power optimization in mobile platforms There can be easily over 10 CPU cores available for application developers Most of them can be different in features even though probably they are handled under one development platform and one combiler Who can find the best way to utilize the HW potential and develop killer applications for consumers? 16