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.
Previous article:Dynamically reconfigurable intelligent radio over fiber access technology (Part 2)
Next article:ST-Ericsson Mobile Platform Multi-core Processing Technology (Part 2)
- Popular Resources
- Popular amplifiers
- High signal-to-noise ratio MEMS microphone drives artificial intelligence interaction
- Advantages of using a differential-to-single-ended RF amplifier in a transmit signal chain design
- ON Semiconductor CEO Appears at Munich Electronica Show and Launches Treo Platform
- ON Semiconductor Launches Industry-Leading Analog and Mixed-Signal Platform
- Analog Devices ADAQ7767-1 μModule DAQ Solution for Rapid Development of Precision Data Acquisition Systems Now Available at Mouser
- Domestic high-precision, high-speed ADC chips are on the rise
- Microcontrollers that combine Hi-Fi, intelligence and USB multi-channel features – ushering in a new era of digital audio
- Using capacitive PGA, Naxin Micro launches high-precision multi-channel 24/16-bit Δ-Σ ADC
- Fully Differential Amplifier Provides High Voltage, Low Noise Signals for Precision Data Acquisition Signal Chain
- LED chemical incompatibility test to see which chemicals LEDs can be used with
- Application of ARM9 hardware coprocessor on WinCE embedded motherboard
- What are the key points for selecting rotor flowmeter?
- LM317 high power charger circuit
- A brief analysis of Embest's application and development of embedded medical devices
- Single-phase RC protection circuit
- stm32 PVD programmable voltage monitor
- Introduction and measurement of edge trigger and level trigger of 51 single chip microcomputer
- Improved design of Linux system software shell protection technology
- What to do if the ABB robot protection device stops
- Wi-Fi 8 specification is on the way: 2.4/5/6GHz triple-band operation
- Wi-Fi 8 specification is on the way: 2.4/5/6GHz triple-band operation
- Vietnam's chip packaging and testing business is growing, and supply-side fragmentation is splitting the market
- Vietnam's chip packaging and testing business is growing, and supply-side fragmentation is splitting the market
- Three steps to govern hybrid multicloud environments
- Three steps to govern hybrid multicloud environments
- Microchip Accelerates Real-Time Edge AI Deployment with NVIDIA Holoscan Platform
- Microchip Accelerates Real-Time Edge AI Deployment with NVIDIA Holoscan Platform
- Melexis launches ultra-low power automotive contactless micro-power switch chip
- Melexis launches ultra-low power automotive contactless micro-power switch chip
- COCOFLY Tutorial - Crazy Shell Drone Series Quick Start [5] Remote Controller Firmware Burning
- EEWorld Chip Points Exchange Annual Rewards are coming~ Multiple shortcuts to earn points exposed + gift exchange spoilers
- idea
- Ti's C28x series MCU CAN bus
- The data read by BMI088 spi is always 0xFFFF
- EEWORLD University Hall----T-Box System and Solution Introduction
- What are OTP sheets and mask sheets? What is the difference between them?
- Lichee RV 86 PANEL Review (5) - Game streaming on Lichee RV-86
- Download "Five Factors Affecting Oscilloscope Test Accuracy" to learn how to improve test accuracy
- DIY some electronic devices to make daily life more intelligent