Prefácio
Uma tentativa de comparar o desempenho de processadores em arquiteturas heterogĂŞneas x86-64, e2k (Elbrus), mips e arm.
Todos os testes sĂŁo escritos na linguagem C (extraĂdos de cĂłdigos-fonte que nĂŁo modifiquei ou otimizei) e sĂŁo compilados para uma arquitetura especĂfica usando um compilador especĂfico para essa arquitetura e os testes sĂŁo realizados em várias distribuições dos sistemas operacionais Linux. Os resultados podem ser afetados pelo tipo e pela versĂŁo do compilador, bem como pelo modo de otimização. Embora, mesmo dessa maneira, vocĂŞ possa comparar aproximadamente o desempenho dos processadores em diferentes arquiteturas.
PS: Eu sei que a maioria dos testes é para computadores muito antigos, mas eles funcionam em qualquer lugar. O que é até muito bom.
Tipos de arquiteturas de processadores comparados
CISC
CISC (computação complexa do conjunto de instruções) é uma arquitetura na qual um pequeno conjunto de registros, comandos de vários comprimentos, operações são codificadas por um comando.
RISC
RISC (Reduced instruction set computing) — , (, 32 ), . .
VLIW
VLIW (very long instruction word) — . , . , . , .
x86-64 (ia32/x86/i386/amd64/EM64T/Intel/AMD)
x86 — CISC , Intel, . 32- Intel 386. : Intel, AMD VIA ( - Zhaoxin).
ARM
ARM — RISC ARM Limited 80 . 32- ARM : armv6 (ARM1136J(F)-S), armv7 (Cortex A9, Cortex A15), armv8 (CortexA53, CortexA57, Cortex A72 ). , , , . .
MIPS
MIPS — RISC , MIPS Computer Systems. ARM , , .. - ARM . MIPS , , Play Station 1. : 32- MIPS32 64- MIPS64.
E2K (Elbrus 2000/)
VLIW
Dhrystone
Dhrystone — , Reinhold P. Weicker 1984 .
, 2.1 , .
VAX Dhrystones , 1 VAX DMIPS = Dhrystones 1757.
Whetstone
Whetstone — , Harold Curnow 1972 Fortran.
C Roy Longbottom. MWIPS,
MOPS ( ) MFLOPS ( ).
: ,
, , , .
Whetstone JS ( NodeJS) C# ( Mono, .Net Framework Dotnet Core), Java.
Whetstone MP — Whetstone.
LINPACK
LINPACK — , Jack Dongarra Fortran 70 , C.
, () ().
Linpack 100x100 float.
.
C. 2009 Shay Gal-On EEMBC
: ( ), ( ), (, ), CRC.
Memspeed
Memspeed — 3 , 64- , 32- and 32- 2 :
- r = r + x [m] * y[m] (Integer + y [m])
- x[m] = x[m] + y[m]
- x[m] = y[m]
Livermore Loops
, 1970, 14 Fortran. 24 1980'. MFLOPS.
. — , 24 3 Do-loop , .
MP MFLOPS
MP MFLOPS — , .
x[i] = (x[i] + a) * b - (x[i] + c) * d + (x[i] + e) * f
2, 8 32 1 . 0.1, 1 10 4 .
.
Scimark 2
SciMark 2 — C . 5 : FFT ( ), Gauss-Seidel relaxation ( — ), Sparse matrix-multiply ( ), Monte Carlo integration ( -), LU factorization (LU-).
x86 (i386) 86-64 (amd64):
armv6 (armel), armv7 (armhf), armv8 (aarch64):
e2k (Elbrus 2000) (v3, v4, v5):
MIPS :
, .
Dhrystone
Dhrystone 1 :
Dhrystone, :
![Dhrystone Benchmark, versĂŁo 2.1 Dhrystone Benchmark, versĂŁo 2.1](https://habrastorage.org/getpro/habr/post_images/4da/a8c/487/4daa8c48724b5acf4f88eda6b784d94c.svg)
Dhrystone, 1 :
![Dhrystone Benchmark, Version 2.1, Per 1 MHz Dhrystone Benchmark, Version 2.1, Per 1 MHz](https://habrastorage.org/getpro/habr/post_images/ec4/227/5e9/ec42275e9ba55c9b76e2f7269d1ff5ce.svg)
Dhrystone, Core i7-2600:
![Dhrystone Benchmark, Version 2.1, Relative Dhrystone Benchmark, Version 2.1, Relative](https://habrastorage.org/getpro/habr/post_images/9a5/269/cce/9a5269cce560bd9a5f22eee76e16b573.svg)
, Dhrystone x86 arm . 1 8 (E8C) Cortex A72, Dhrystones 1 , 8 Atom Z8350 Dhrystones 1 . Baikal T1 Arm Cortex A9. 8, 8. , , .
Whetstone
Whetstone Single Precision,
![Whetstone Single Precision Whetstone Single Precision](https://habrastorage.org/getpro/habr/post_images/527/7a3/27b/5277a327b61b86aa9ccd02d86d9d4395.svg)
Whetstone Single Precision,
![MP Whetstone Precision Multi Thread MP Whetstone Precision Multi Core](https://habrastorage.org/getpro/habr/post_images/a4d/41e/97e/a4d41e97e50256a3595ca9520fff36b2.svg)
Whetstone Single Precision, 1
![Whetstone Single Precision, Per 1 MHz Whetstone Single Precision](https://habrastorage.org/getpro/habr/post_images/ea5/f31/fa8/ea5f31fa85bf7326cb683391900b1ea1.svg)
Whetstone Single Precision, , 1
![MP Whetstone Precision Multi Thread, Per 1 MHz MP Whetstone Precision Multi Core, Per 1 MHz](https://habrastorage.org/getpro/habr/post_images/e1e/c9d/fb0/e1ec9dfb0afc436b2280a36044cdf9af.svg)
Whetstone Single Precision, Core i7-2600
![Whetstone Single Precision Single Thread Relative Whetstone Single Precision](https://habrastorage.org/getpro/habr/post_images/331/4cb/21a/3314cb21a89b41067ac0ae057e0e2117.svg)
Whetstone Single Precision, , Core i7-2600
![MP Whetstone Precision Multi Thread Relative MP Whetstone Precision Multi Core Relative](https://habrastorage.org/getpro/habr/post_images/d81/a75/499/d81a7549907ce59d147e0552447eeb31.svg)
, ARM v7 Cortex A9 Pentium III, 1 .
, ARM v8 Cortex A72 Core 2 Duo T9400 1 1 ,
Atom Z8350. , Pentium 4 (NetBurst)
, (Pentium III 1 ).
Core 2 Duo T9400 1 1 ARM v7 Cortex A72, .
Whetstone:
LINPACK 100x100 DP ()
LINPACK 1000x1000, High Performance LINPACK, LINPACK 100x100.
LINPACK 100x100 DP, ? : .
:
LINPACK 100x100 Double Precision,
![Linpack 100x100 Double Precision Linpack 100x100 Double Precision](https://habrastorage.org/getpro/habr/post_images/e4b/f80/b88/e4bf80b8801f984d38f28bac48f3d125.svg)
LINPACK 100x100 Double Precision, 1
![Linpack 100x100 Double Precision, Per 1 MHz Linpack 100x100 Double Precision, Per 1 MHz](https://habrastorage.org/getpro/habr/post_images/197/cbc/365/197cbc365bfe7afc1bcdd9655ece826b.svg)
LINPACK 100x100 Double Precision, Core i7-2600
![Linpack 100x100 Double Precision, Relative to Core i7-2600 Linpack 100x100 Double Precision, Relative to Core i7-2600](https://habrastorage.org/getpro/habr/post_images/6a5/658/407/6a56584077e38c05dbdbb1dba33779cd.svg)
C Mflops' 1 1 .
ARM v7 Cortex A9 (Odroid X2), ARM v8 Cortex A53 (Raspberry PI 3, Orange Pi Win, Orange Pi PC2 ) , Pentium III, . ARM v8 Cortex A72 (Odroid N2, AWS Graviton [Alpine AL73400]) Core 2 Duo T9400 Atom Z8350 .
E2K ( : E1C+, E4C, E8C1, E8C2 ) ARM , Cortex A72, 1,5 — 2 Intel, AMD A6-3650 Core 2 Duo T9400. , Intel.
Coremark, ,
![Coremark Coremark](https://habrastorage.org/getpro/habr/post_images/f74/44f/0da/f7444f0da7190b3a4c1551501d8d9f25.svg)
Coremark, ,
![Coremark Multi Thread Coremark Multi Thread](https://habrastorage.org/getpro/habr/post_images/20c/00f/e4f/20c00fe4f89674b48acdb4cce770dec9.svg)
Coremark, , 1
![Coremark, Per 1 MHz Coremark, Per 1 MHz](https://habrastorage.org/getpro/habr/post_images/6ad/55e/249/6ad55e249352da7f7b09112db4af95c2.svg)
Coremark, , 1
![Coremark Multi Thread, Per 1 MHz Coremark Multi Thread, Per 1 MHz](https://habrastorage.org/getpro/habr/post_images/156/4f2/7fa/1564f27fa4e3855c65b1cd6cdd4114bb.svg)
Coremark, , Core i7-2600
![Coremark, Relative to Core i7-2600 Coremark, Relative to Core i7-2600](https://habrastorage.org/getpro/habr/post_images/b95/9c0/a65/b959c0a653531696b8838f23cfb53f07.svg)
Coremark, , Core i7-2600
![Coremark Multi Thread, Relative to Core i7-2600 Coremark Multi Thread, Relative to Core i7-2600](https://habrastorage.org/getpro/habr/post_images/72b/975/965/72b975965134d0457cfa26e05fb2d530.svg)
1 ARM (Cortex A9, Cortex A53) 3 Intel (Core i7-2600 ),
ARM (Cortex A9, Cortex A53) Atom Z8350, Core 2 Duo T9400 AMD A6-3650. Baikal T1 Atom Z8350, Core 2 Duo T9400 AMD A6-3650,
Atom Z8350.
Memspeed ()
(x[i] = x[i] + a * y[i])
(x[i] = x[i] + y[i])
(x[i] = y[i])
Memspeed, - ,
![Memspeed Multiply Add Assign Memspeed Multiply Add Assign](https://habrastorage.org/getpro/habr/post_images/e09/b92/05a/e09b9205a194c9459b4404bfb9f12932.svg)
Memspeed, ,
![Memspeed Add Assign Memspeed Add Assign](https://habrastorage.org/getpro/habr/post_images/a96/ab8/eb6/a96ab8eb6047302cc83b721b88598cc6.svg)
Memspeed, ,
![Memspeed Assign Memspeed Assign](https://habrastorage.org/getpro/habr/post_images/b73/b3f/1a2/b73b3f1a2480273f8061bcada769f913.svg)
, , .
ARM (Cortex A9, Cortex A53) , AWS Graviton ( , ).
Intel ( 3 ). 8
8 , DDR4-2400.
MP MFLOPS
, :
2
x[i] = (x[i]+a)*b;
8
x[i] = (x[i]+a)*b-(x[i]+c)*d+(x[i]+e)*f;
32
x[i] = (x[i]+a)*b-(x[i]+c)*d+(x[i]+e)*f-(x[i]+g)*h+(x[i]+j)*k-(x[i]+l)*m+(x[i]+o)*p-(x[i]+q)*r+(x[i]+s)*t-(x[i]+u)*v+(x[i]+w)*y;
MP MFLOPS,
![MP MFLOPS MP MFLOPS](https://habrastorage.org/getpro/habr/post_images/358/6f7/aa2/3586f7aa268d75d0595920882a4eaf0c.svg)
MP MFLOPS, , 2 ops/w
![MP MFLOPS, 2 ops/w MP MFLOPS, 2 ops/w](https://habrastorage.org/getpro/habr/post_images/c0a/6ff/65e/c0a6ff65e378eaec3048525b85cef456.svg)
MP MFLOPS, , 8 ops/w
![MP MFLOPS, 8 ops/w MP MFLOPS, 8 ops/w](https://habrastorage.org/getpro/habr/post_images/b78/3d1/740/b783d1740bc18d5f0c14214245070b63.svg)
MP MFLOPS, , 32 ops/w
![MP MFLOPS, 32 ops / w MP MFLOPS, 32 ops / w](https://habrastorage.org/getpro/habr/post_images/bbf/c2f/27d/bbfc2f27d1744c14d1e1c8df250dc1dd.svg)
MP MFLOPS, , Core i7-2600
![MP MFLOPS MP MFLOPS](https://habrastorage.org/getpro/habr/post_images/ca0/f47/726/ca0f47726d9627395fba8e4a45b07e97.svg)
: ( VLIW).
8 378 ( 576) 32 . Core i7-2600 — 82.6 .
ARM 23.7 ( Cortex A72, Odroid N2), AWS Graviton — 117 , 16 .
Scimark 2 ()
Scimark 2, ,
![Scimark 2 Scimark 2](https://habrastorage.org/getpro/habr/post_images/905/4d1/6ca/9054d16cad92a9c8f3711fc4fa807a69.svg)
![Desempenho geral em relação ao Core i7-2600 Desempenho em relação ao Core i7-2600](https://habrastorage.org/getpro/habr/post_images/0a2/014/8e0/0a20148e0c619bbab844317e001dbd2e.svg)
ARM Cortex A9, Cortex A53 Intel Atom, Pentium 4.
ARM Cortex A72 Intel Core.
ARM, Intel Core -
, , , lcc .
P.S.
: e2k_chat ixbt, .
, ARM.
, .
ODS
- ,
- ,
- Independent Tests of Baikal-T1
MP MFLOPS
Lista dos MnemĂ´nicos Elbrus