CPU

Prestazioni per ciclo di clock ed efficienza multi-core

Pagina 4: Prestazioni per ciclo di clock ed efficienza multi-core

Prestazioni per ciclo di clock

Sappiamo dalle specifiche che i core della CPU Krait del SoC Qualcomm APQ8064 possono funzionare a una velocità compresa tra 1.5 e 1.7 GHz, mentre Tegra 3 tra 1.2 e 1.6 GHz.

Le conclusioni a cui giungiamo con i test dei singoli dispositivi non si possono applicare a tutti gli smartphone e tablet, soprattutto se i SoC usati operano a frequenze diverse. Questo è il motivo per cui l'indice delle prestazioni per clock di Sandra è particolarmente interessante: ci permette di passare dalle prestazioni per core alle prestazioni per core a clock costante.

Prestazioni per core a una data frequenza
OMAP 4430 Tegra 3 (T30L) S3 (APQ8060) S4 Plus (MSM8960) S4 Pro (APQ8064)
CPU Due core Cortex-A9 @ 1 GHz Quattro core Cortex-A9 @ 1.3 GHz Due core Scorpion @ 1.2 GHz Due core Krait @ 1.5 GHz Quattro core Krait @ 1.5 GHz
Native Arithmetic
(MOPS/MHz)
0.23 0.21 0.15 0.20 0.20
Native Multi-media
(kPix/s/MHz)
1.15 1.14 1.37 1.69 1.60
Java Arithmetic
(MOPS/MHz)
0.045 0.043 0.035 0.057 0.051
Memoria
(MB/s/MHz)
.301 0.19 0.53 1.10 0.75

L'architettura del processore Krait è certamente valida, ma conta molto sulla velocità di 1.5 GHz per fare meglio dell'OMAP 4430. Per ciclo di clock, il SoC TI di fatto ha alcuni vantaggi.

Ovviamente questo non invalida le prestazioni dell'APQ8064. L'azienda ha progettato questo SoC per farlo funzionare almeno alla velocità di 1.5 GHz, mentre il chip TI opera tra gli 1 e 1.2 GHz. Quindi nonostante le prestazioni aritmetiche per ciclo siano migliori, la sua specifica realizzazione non può ancora tenere testa al design più moderno del core Krait.

Prestazioni core a una data frequenza: Arithmetic
OMAP 4430 Tegra 3 (T30L) S3 (APQ8060) S4 Plus (MSM8960) S4 Pro (APQ8064)
CPU Due core Cortex-A9 @ 1 GHz Quattro core Cortex-A9 @ 1.3 GHz Due core Scorpion @ 1.2 GHz Due core Krait @ 1.5 GHz Quattro core Krait @ 1.5 GHz
Dhrystone
(MIPS/MHz)
2.34 2.21 1.92 2.55 2.64
Whetstone Double
(FLOPS/MHz)
0.023 0.021 0.012 0.15 0.015
Whetstone Float
(FLOPS/MHz)
0.031 0.029 0.016 0.16 0.022
Whetstone Float/Double
(FLOPS/MHz)
0.026 0.025 0.011 0.15 0.018

Analizzando i test secondari si possono vedere più chiaramente i vantaggi dell'OMAP 4430. Nonostante il Qualcomm APQ8064 sia superiore nel calcolo con interi, è peggiore nel test Whetstone che calcola le prestazioni in virgola mobile.

L'OMAP 4430 e l'APQ8064 d'altra parte non competeranno mai alla stessa velocità di clock. Siamo interessati a questi test solo per analizzare le differenti architetture.

Prestazioni core a una data frequenza: Multimedia
OMAP 4430 Tegra 3 (T30L) S3 (APQ8060) S4 Plus
(MSM8960)
S4 Pro
(APQ8064)
CPU Due core Cortex-A9 @ 1 GHz Quattro core Cortex-A9 @ 1.3 GHz Due core Scorpion @ 1.2 GHz Due core Krait @ 1.5 GHz Quattro core Krait @ 1.5 GHz
Multi-media Integer [NEON]
 (kPix/s/MHz)
1.15 1.14 1.23 1.34 1.38
Multi-media Float [NEON]
 (kPix/s/MHz)
1.16 1.09 1.53 2.13 1.81
Multi-media Double [FPU]
 (kPix/s/MHz)
0.56 0.54 0.40 0.33 0.42
Multi-media Float/Double
 (kPix/s/MHz)
0.80 0.77 0.77 0.83 0.87

Facendo lo stesso test con il modulo Multimedia di Sandra, vediamo dove Krait mostra i vantaggi rispetto a Scorpion e all'OMAP Cortex A9.

In maniera particolare vediamo come Krait sia in grado di gestire in modo più efficiente il set istruzioni ARM NEON 64 e 128 bit. Solo quando Sandra torna a misurare le prestazioni in modalità Vector Floating Point il chip Qualcomm lascia la posizione di testa. Niente di cui preoccuparsi, dato che NEON è più potente ed è quello che sarà usato molto di più nelle vere applicazioni.

Efficienza multi core

Molti anni fa Intel e AMD smisero di puntare sull'aumento della frequenza per dare spazio allo sviluppo dei multi core. Successivamente è toccato agli sviluppatori software il compito di ottimizzare i programmi affinché sfruttassero le nuove risorse venutesi a creare, un processo che è ancora in corso.

La stessa cosa sta avvenendo nel campo mobile, con i SoC multi core che offrono più parallelismo all'interno di architetture ottimizzate per il consumo energetico. Come per i computer desktop, le prestazioni di un chip dual o quad core non scalano in maniera lineare, e le misurazioni sintetiche rappresentano i casi ideali, dove possiamo vedere il maggior incremento di prestazioni, ma nel mondo reale i miglioramenti sono meno tangibili.

Le applicazioni ottimizzate per sfruttare i thread condividono i dati tra i vari core, ma se non sono efficienti nel farlo le prestazioni calano. Molto bandwidth e basse latenze sono caratteristiche importanti: il TI OMAP 4430 è in grado di muovere più dati al secondo tra i core, mentre Tegra 3 segue a ruota, distinguendosi per la sua latenza minima.