प्रस्तावना
विषम आर्किटेक्चर x86-64, e2k (Elbrus), mips और arm पर प्रोसेसर के प्रदर्शन की तुलना करने का प्रयास।
सभी परीक्षण सी भाषा में लिखे गए हैं (स्रोत कोड से लिया गया है जिसे मैंने संशोधित या अनुकूलित नहीं किया है) और इस वास्तुकला के लिए एक विशिष्ट संकलक का उपयोग करके एक विशिष्ट वास्तुकला के लिए संकलित किया जाता है और लिनक्स ऑपरेटिंग सिस्टम के विभिन्न वितरणों पर परीक्षण किए जाते हैं। परिणाम कंपाइलर के प्रकार और संस्करण दोनों के साथ-साथ अनुकूलन मोड से प्रभावित हो सकते हैं। हालांकि इस तरह से भी, आप विभिन्न आर्किटेक्चर पर प्रोसेसर के प्रदर्शन की तुलना कर सकते हैं।
पुनश्च: मुझे पता है कि अधिकांश परीक्षण बहुत पुराने कंप्यूटरों के लिए हैं, लेकिन वे हर जगह काम करते हैं। जो कि बहुत अच्छा भी है।
तुलनात्मक प्रोसेसर के आर्किटेक्चर के प्रकार
CISC
CISC (कॉम्प्लेक्स इंस्ट्रक्शन सेट कंप्यूटिंग) एक आर्किटेक्चर है जिसमें रजिस्टरों का एक छोटा सा सेट, विभिन्न लंबाई के कमांड, ऑपरेशन एक कमांड द्वारा एन्कोड किए जाते हैं।
RISC
RISC (कम किया गया निर्देश सेट कंप्यूटिंग) एक प्रोसेसर आर्किटेक्चर है जिसमें निर्देशों को सरल बनाया गया है और एक निश्चित लंबाई (उदाहरण के लिए, 32 बिट्स) है, जो प्रदर्शन में सुधार कर सकता है। इसमें बड़ी संख्या में रजिस्टर हैं।
VLIW
वीएलआईडब्ल्यू (बहुत लंबा निर्देश शब्द) - एक बहुत बड़े निर्देश के साथ प्रोसेसर वास्तुकला। एक निर्देश में कई सरल निर्देश होते हैं जिन्हें विभिन्न प्रोसेसर इकाइयों द्वारा निष्पादित किया जा सकता है। यह सब वास्तुकला को बहुत सरल करता है, लेकिन संकलक को जटिल बनाता है। अप्रभावी कोड अपूर्ण निर्देश उत्पन्न कर सकता है, जो कार्यक्रम के प्रदर्शन को बहुत कम करता है।
तुलनात्मक प्रोसेसर के आर्किटेक्चर का विवरण
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, 1 :

Dhrystone, Core i7-2600:

, 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, 1

Whetstone Single Precision, , 1

Whetstone Single Precision, Core i7-2600

Whetstone Single Precision, , Core i7-2600

, 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, 1

LINPACK 100x100 Double Precision, Core i7-2600

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, , 1

Coremark, , 1

Coremark, , Core i7-2600

Coremark, , Core i7-2600

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, ,

Memspeed, ,

, , .
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, , 2 ops/w

MP MFLOPS, , 8 ops/w

MP MFLOPS, , 32 ops/w

MP MFLOPS, , Core i7-2600

: ( 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, ,


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
एल्ब्रस मेनेमिक्स की सूची