Over the past few years, mobile processors overcame the 1.5 GHz line, gained multi-core, learned how to decode video, speed up flash and questioned the dominance of x86 architecture in the personal computing market. The smartphone, which easily fits in the palm of your hand, in terms of performance, closely approached the netbook.
Inside the box
Unlike their desktop counterparts, mobile platforms are a thing in themselves. All system components, including CPU, GPU and more, are placed on a single integrated circuit. A similar design acquired the name System-On-Chip (SoC, system-on-chip). Using SoC allows you to simplify the layout of the motherboard, reduce production costs, and optimize power consumption and heat dissipation of the system as a whole.

The heart of the HTC Sensation and Evo 3D is Qualcomm's SoC MSM8260, which we'll get to know in more detail. MSM8260 is the second generation of Qualcomm Snapdragon chips, made on 45 nm process.
Qualcomm Snapdragon System-on-Chip consists of the following functional blocks:
- Application Processor / CPU is the central processing core on which the operating system runs. Snapdragon chipsets are based on the Qualcomm Scorpion processor core.
- GPU - Adreno video accelerator with support for unified shader architecture and OpenGL ES 2.0. In addition to his direct responsibilities, Adreno (205 and above) is also engaged in hardware acceleration of Adobe Flash, SVG, etc.
- Baseband / Modem is a microprocessor, on whose shoulders lies the work with GSM / UMTS / CDMA. Transceivers and signal amplifiers, as a rule, made in the form of individual circuits.
- DSP is a specialized microprocessor that performs video encoding, image processing, mp3 and other audio streaming tasks. Thus, the DSP offloads the main processor from performing too expensive multimedia operations. The Snapdragon family runs the QDSP6000 co- processor with a frequency of 595 MHz.
- GPS is a microprocessor for performing logic related to determining the current location. The technology used in Qualcomm's SoC is called gpsOne and uses signals from GPS satellites, GLONASS, as well as from cell phone towers.
Scorpion
While most manufacturers license the architecture from ARM, Qualcomm decided to create the processor core itself using only the ARMv7 instruction set. The result of the hard work of the unit in North Carolina was the processor core Scorpion. Scorpion is compatible with the Cortex-A8 on a set of instructions, but significantly ahead of the possibilities, coming close to the Cortex-A9.

To increase performance and maintain an acceptable level of power consumption, Scorpion supports the
superscalarity and
out-of-order execution mechanism. Both technologies have long been used in the x86 architecture, but they appeared in ARM processors quite recently. The superscalar mechanism allows the processor to load two instructions in one clock cycle in order to avoid idle execution units of the processor. Support for extraordinary execution of commands allows you to speculatively launch commands as they are ready, without waiting for the result of the previous ones. The Cortex-A8 processor supports a less advanced in-order execution mechanism, which uses the processor’s execution units less efficiently.

The Scorpion conveyor has 13 stages and is similar in design to the Cortex-A8, but at the same time, the Qualcomm processor can operate at higher frequencies. Conveyor Cortex-A9 contains 8 stages, which at the same frequencies allows it to be more productive than Scorpion, by reducing the overhead of errors in the branch prediction mechanism. However, the Scorpion at the same time remains a more economical processor, and its frequency margin is larger.
The times when floating point operations were performed on ARM processors exclusively using an emulation program are already far in the past. In Scorpion, as in the Cortex A8 / A9, implemented FPU block VFP (Vector Floating-point Architecture). Scorpion and Cortex A9 have parity on FPU performance, but the A8 is inferior to its fellows. In A8, ARM decided not to use pipelining for VFP and was very bad.
')
Separately, it should be mentioned the block of NEON SIMD-extensions, which first appeared in Scorpion (128-bit data) and Cortex A8 (64-bit data) processors. NEON is a performing device for processing integer and floating point data. A curious fact is that in A9 the presence of NEON is completely optional, and for example, in nVidia Tegra 2 there is no such block! As you have probably already guessed, NEON SIMD instructions are used to optimize multimedia data processing applications. For example, RockPleer uses NEON for video decoding, and the number of such applications will only grow in the future.
Multicore
Snapdragon’s multi-core support was originally incorporated, and the first swallow was the SoC MSM8260 on the HTC Sensation and Evo 3D. Dual-core solutions on the Cortex A9 architecture appeared on the market a bit earlier, but, unlike Snapdragon, they have less flexibility.

Consider the differences in more detail:
- L2 cache. MSM8X60 contains two Scorpion processor cores that share 512 KB of L2 cache (second-level cache), against 1 MB in configurations with Cortex A9. However, the cache in Qualcomm solutions is clocked completely independent of the processor cores and in most cases it works at the maximum frequency of the processor core. The Cortex A9 L2 cache is combined with processor cores via the slower AXI bus and operates at a lower frequency.
- Asynchronous multi-core. It is no secret that modern mobile processors to reduce power consumption can dynamically lower their own frequency and core voltage. When developing multi-core solutions, Qualcomm made it possible to set different frequencies and voltages on the processor cores. This effect is called asynchronous multi-core. At the same time, the Cortex A9 does not have such flexibility: the processor cores are forced to operate at the same frequency and voltage.
Adreno
For a long time, Qualcomm licensed the Imageon video processor from ATI / AMD, and in early 2009, AMD announced the
sale of Qualcomm’s mobile GPU development unit. The result of the work of specialists Qualcomm and AMD has become a Qualcomm Adreno video accelerator.
Adreno's performance is growing at a tremendous pace: if Adreno 2xx can provide a graphics level comparable to PS2, then in the Adreno 3xx series, Qualcomm promises to make a qualitative leap and level up with the PS3 and XBox 360. For example, hardware tessellation appeared in modern video accelerators quite recently, but its support is already available in Adreno 205 and above.

Wrap-up!
Despite the fact that the first version of Snapdragon saw the light in 2008, it is constantly being improved and today is one of the most popular and competitive. Next year, Qualcomm plans to launch a new Krait processor core and an updated version of the Adreno accelerator. It is expected that the solution will not only be ahead of the performance of the Cortex A9, but also be able to go level with the Cortex A15.
Scorpion and Adreno have great potential, which is currently used only on the smallest part (NEON SIMD, hardware acceleration of OpenVG), but will definitely show itself in the near future.
Materials