ST-Ericsson Mobile Platform Multi-core Processing Technology (Part 1)

Publisher:颐真阁Latest update time:2013-10-14 Keywords:Ericsson Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

This article discusses and compares the main multi-core processing technologies currently used in mobile platforms, focusing on the synergy between multi-core processing technology and the breakthrough FD-SOI silicon technology used in ST Ericsson's future products. By comparing it with the personal computer market, it is demonstrated that there is still a lot of room for performance improvement in single-core processors on mobile platforms. From the perspective of software performance, it is more profitable to focus resources on faster dual-core processors rather than slower quad-core processors.

We will also discuss how FD-SOI technology can increase dual-core processor frequency at the same power consumption and extend energy-efficient operating modes, all of which result in a simpler, cheaper, and more efficient solution than heterogeneous and homogeneous quad-core processors.

The advent of multi-core processors is a necessity, not a choice

It is important to reiterate that multi-core processors are a technological necessity, not a human choice. Historically, mainstream PC multi-core processors began to appear when operating frequencies increased to the thermal limits of the chip. In fact, from the early days of silicon technology integration to 2003-2005, operating frequency increases and transistor counts were mainly used to improve the performance of single-core processors in mainstream computers (see Figure 1). During this period, application software performance improvements kept pace with hardware technology development, and a growing number of legacy software did not require any modifications, resulting in unprecedented growth in the computer industry.

As long as it is possible, this trend will not change until the chip reaches its thermal limit. The increase in frequency, rather than the increase in the number of transistors, is partly responsible for the chip reaching its thermal limit. In this regard, multi-core processors are seen as the only solution to continue to utilize an increasing number of transistors while keeping power consumption within a controllable range. Although counterintuitive, the power consumption of a single-core processor at a given frequency is higher than the power consumption of a dual-core processor at half the given frequency. This is because the higher the processor frequency, the higher the voltage required, and dynamic power consumption is proportional to the square of voltage (Figure 2 shows a simple dynamic power calculation formula).

Multi-core processors have indeed made hardware integration follow Moore's Law (the number of transistors doubles every 18 months), but the price paid for this is that software performance improvements have been completely destroyed. For software, there is no free lunch anymore. As a famous paper published in 2001 [1] stated, since then, in order to continue to effectively apply hardware technology advances, software developers must adopt parallel and balanced programming methods so that the code can be efficiently mapped to multi-core processors. In other words, software needs to be parallelized. Unfortunately, software parallelization remains one of the most severe challenges in the entire computer field. Although the initial research and development enthusiasm has not diminished, a general solution with satisfactory efficiency has not yet been found [2]. Many applications that are inherently serial have no parallelization solutions at all.

This problem is extremely difficult, and little progress has been made in the past 10 years. In their 2010 paper [3], G. Blake et al. proposed two important ideas:

When dual-core processors came out, the most direct advantage of dual-core processors was the fast response speed felt by users. However, 10 years later, most software, including demanding games, office software, multimedia players and web browsers, can only fully utilize dual-core processors. Only a few application software (video production) can use dual-core processors more efficiently.

In fact, since the advent of multi-core processors 10 years ago, most PC software has not been parallelized except for a few applications. Because of the design methods of multi-tasking operating systems and some application software, such as event-driven code for handling asynchronous events such as user interfaces, some parallel processing capabilities are native, but these native parallel threads are usually poorly balanced and often correlated, with only a few threads being able to use existing multi-core processors in parallel, and ultimately only the capabilities of processors with less than two cores.

Software developers choose not to parallelize their code because parallelization is unnecessary or too expensive for most PC applications. There are some niche markets that are exceptions, such as some multimedia applications, CAD tools, and some professional fields, where software performance is the most important differentiating feature. It was expected that multicore processors would find a place in video games, but as mentioned above, this is not the case. One reason is that in recent years, graphics processing units (GPUs) have been developing faster than multicore CPUs, so the return on investment in fully utilizing graphics processors is higher, while parallelizing complex game engines to run on multicore CPUs is a thankless task.

In other fields, the situation of multi-core processors is different. For example, in network data centers, multi-core processors are developing smoothly because of the large number of parallel workloads. In the field of scientific computing, software parallelization has its rationale.

Is the mobile industry the same as the PC industry?

The performance evolution of smartphones is essentially an accelerated and time-space-shifted version of the performance evolution of desktop computers. Apple's evolution is a good example, where we can easily find consistent data over a certain period of time, and Apple can also represent most mobile phone platforms.

Figure 3 shows the Dhrystone MIPS (DMIPS) CPU performance test results, where the data is the data used by ARM to analyze its processors. Similarly, we should convert the test results into the instruction level parallelism test (ILP) used by the Intel CPU performance test in Figure 1, that is, to test the efficiency of the CPU architecture without considering the processor frequency. IDMIPS-single represents the relative performance of a single-core processor. The test result is obtained by multiplying DMIPS/MHz by the frequency, while DMIPS-dual is DMIPS-single multiplied by MHz, indicating the highest overall performance of Apple's dual-core processors starting from the iPhone 4S. For software performance analysis, we simply quoted the benchmark test results from Anandtech's [4] iPhone 5 product review: Sunspider and Browsemark are web browser (Javascript) benchmark tools. Because they are single-threaded, they cannot test multi-core processors; Geekbench is a multi-threaded benchmark tool that should be able to reflect the performance advantages of multi-core processors.

We notice two elements in Figure 3:

1. Architectural efficiency (DMIPS/MHz), frequency and final single-core performance (DMIPS-single) have not reached saturation. On the contrary, there is still a lot of room for improvement. This trend is completely different from the evolution path of PC single-core processors, which obviously reached saturation since 2007. Therefore, our preliminary conclusion is that mobile application single-core processors are different from processors, and their performance has not yet reached saturation.

2. We would expect software performance to be proportional to single-core processor performance. In fact, the increase in Browsemark and iPhone 5 scores is large from the iPhone 4S to the iPhone 5. Both phones have dual-core processors, and both benchmarks are single-threaded, so the software performance improvement has nothing to do with multi-core processors. The reason for the improvement is that the software performance of the web browser has greatly improved, especially Javascript optimization has played an important role, and other hardware optimizations are also likely, such as improvements to the memory subsystem. In contrast, Geekbench is a multi-core threaded benchmark tool, which is not greatly affected by system software changes. The large improvement in Geekbench scores on the iPhone 5 seems to indicate that the multi-core processor plays at least some role, but, curiously, we do not see the same improvement from the single-core to the dual-core iPhone 4S. In any case, all benchmarks, including Geekbench, remain below the theoretical performance peak of the dual-core processor. We will provide more software performance improvement data later, but by analyzing the test scores of these benchmark tools, we can at least draw the following preliminary conclusions: like PCs, software performance improvement is proportional to single-core processor performance and is also related to application software; it has little to do with multi-core processor performance, or is not proportional at all.

Keywords:Ericsson Reference address:ST-Ericsson Mobile Platform Multi-core Processing Technology (Part 1)

Previous article:Dynamically reconfigurable intelligent radio over fiber access technology (Part 2)
Next article:ST-Ericsson Mobile Platform Multi-core Processing Technology (Part 2)

Latest Analog Electronics Articles
Change More Related Popular Components

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号