Как стать автором
Обновить
61.56
ГК ICL
Цифровые технологии для бизнеса

Энтузиаст протестировал новые китайские процессоры Loongson 3A5000

Время на прочтение6 мин
Количество просмотров21K

Loongson 3A5000


Энтузиаст состоит в различных чатах в Telegram и как-то недавно наткнулся на канал по процессорам Loongson и ему удалось провести различные тесты данного процессора.


Сперва рассмотрим характеристики процессора Loongson 3A5000 и его предыдущую модель Loongson 3A4000.


Характеристики процессоров Loongson 3A5000 и Loongson 3A4000:


Loongson 3A4000 Loongson 3A5000
Семейство ISA RISC RISC
Архитектура mips64r2 + extensions loongarch64
Микроархитектура GS464v GS464V
Частота (МГц) 2000 2500
Ядра; Потоки 4 4
Тех процесс (нм) 28 12
TDP (Вт) 30-50 ?
Тип ОЗУ DDR4-2133 DDR4-3200
Год 2019 2021

Были проведены следующие тесты:


  • 7zip встроенный бенчмарк
  • Dhrystone, Whetsone
  • Coremark
  • Scimark 2
  • Mp MFLOPS
  • Stream
  • Готовые результаты в SPEC 2006 (1 поток)

Сразу переходим к результатам, но детали тестов смотрите далее.


Результаты


Тест Loongson 3A5000 Core i7-2600
Dhrystone [DMIPS] 17962 22076
Whetstone [MWIPS] 3990 5729
Whetstone MP [MWIPS] 15939 31319
Linpack 100 [MFLOPS] 2915 4302
Scimark 2 [Composite score] 1554 2427
Coremark (1T; MT) 13790; 54826 22692; 119670
MP MFLOPS 106946 81745
7zip (Comp; Decomp; Tot) (MT) 11360; 11638; 11081 18024; 13363; 18664
STREAM (Copy; Scale; Add; Triad) [MB/s] 12315; 12061; 11064; 11529 20860; 21838; 18512; 20452
SPEC 2006 INT 25 44.6

По результатам можно сделать вывод, что процессор примерно сравним с процессором Core i7 4700 HQ и немного не дотягивает (~30%, но 4 потока против 8 HT потоков и частота 2.5 ГГц против 3.4 ГГц) до Core i7-2600, хотя обгоняет его по GFLops'ам.


Немного об архитектуре LoongArch


Loongson 3A5000 — процессор на основе сильно переработанной RISC архитектуре MIPS64, часть ненужных команд MIPS64 была удалена и добавлено большое число расширений (SIMD, шифрование, бинарная трансляция, виртуализация), всего порядка 2000+ инструкций.


Loongson 3A5000 (LS3A5000)



Loongson 3A5000 — процессор на основе 64 разрядной RISC сильно переработанной архитектуре MIPS64 (loongarch64), имеет 4 ядра, которые работают на частоте 2.5 ГГц.


Architecture:        loongarch64
Byte Order:          Little Endian
CPU(s):              4
On-line CPU(s) list: 0-3
Thread(s) per core:  1
Core(s) per socket:  4
Socket(s):           1
NUMA node(s):        1
Model name:          Loongson-3A5000
CPU max MHz:         2500.0000
CPU min MHz:         225.0000
BogoMIPS:            4992.00
L1d cache:           64K
L1i cache:           64K
L2 cache:            256K
L3 cache:            16384K
NUMA node0 CPU(s):   0-3

Особенности процессора Loongson 3A5000:


  • 64 битная архитектура loongarch64
  • 128 битные SIMD расширения Loongson SIMD EXtension (LSX)
  • 256 битные SIMD расширения Loongson Advanced SIMD EXtension (LASX)
  • Внеочередное исполнение
  • Предсказание ветвлений
  • Поддержка виртуализации (LVZ)
  • Поддержка бинарной трансляции (LBT) архитектур MIPS, ARM, x86
  • 4 АЛУ
  • 2 SIMD блока
  • Кеши
    • 64 КБ L1 кэш команд на ядро
    • 64 КБ L1 кэш данных на ядро
    • 256 КБ L2 кэш на ядро
    • 16 МБ L3 кэш

Разбираем результаты


Dhrystone


Dhrystone достаточно древний тест 80х годов, написан на C. Тестирует целочисленную арифметику и работу со строками. Результаты измеряются в Dhrystone/s и DMIPS. (DMIPS = Dhrystone/s делить на 1757).


Вывод теста Dhrystone
##########################################

Dhrystone Benchmark, Version 2.1 (Language: C or C++)

Optimisation    loongarch64 loongarch64 optimized
Register option not selected

       10000 runs   0.00 seconds 
      100000 runs   0.00 seconds 
     1000000 runs   0.03 seconds 
    10000000 runs   0.32 seconds 
    20000000 runs   0.63 seconds 
    40000000 runs   1.27 seconds 
    80000000 runs   2.53 seconds 

Final values (* implementation-dependent):

Int_Glob:      O.K.  5  Bool_Glob:     O.K.  1
Ch_1_Glob:     O.K.  A  Ch_2_Glob:     O.K.  B
Arr_1_Glob[8]: O.K.  7  Arr_2_Glob8/7: O.K.    80000010
Ptr_Glob->              Ptr_Comp:       *    753386704
  Discr:       O.K.  0  Enum_Comp:     O.K.  2
  Int_Comp:    O.K.  17 Str_Comp:      O.K.  DHRYSTONE PROGRAM, SOME STRING
Next_Ptr_Glob->         Ptr_Comp:       *    753386704 same as above
  Discr:       O.K.  0  Enum_Comp:     O.K.  1
  Int_Comp:    O.K.  18 Str_Comp:      O.K.  DHRYSTONE PROGRAM, SOME STRING
Int_1_Loc:     O.K.  5  Int_2_Loc:     O.K.  13
Int_3_Loc:     O.K.  7  Enum_Loc:      O.K.  1  
Str_1_Loc:                             O.K.  DHRYSTONE PROGRAM, 1'ST STRING
Str_2_Loc:                             O.K.  DHRYSTONE PROGRAM, 2'ND STRING

Nanoseconds one Dhrystone run:        31.68
Dhrystones per Second:             31560942
VAX  MIPS rating =                 17962.97

Whetstone


Тестирует арифметику с плавающей/фиксированной запятой, математические функции, ветвления, вызовов функций, присваиваний, работы с числами с фиксированной запятой, ветвлений. Результаты измеряются в MMIPS.


Вывод теста Whetstone
##########################################
Single Precision C Whetstone Benchmark loongarch64 loongarch64 optimized, Sat Jul 24 21:37:34 2021

Calibrate
       0.00 Seconds          1   Passes (x 100)
       0.01 Seconds          5   Passes (x 100)
       0.06 Seconds         25   Passes (x 100)
       0.31 Seconds        125   Passes (x 100)
       1.57 Seconds        625   Passes (x 100)
       7.83 Seconds       3125   Passes (x 100)

Use 3989  passes (x 100)

          Single Precision C/C++ Whetstone Benchmark

Loop content                  Result              MFLOPS      MOPS   Seconds

N1 floating point     -1.12367534637451172       929.727              0.082
N2 floating point     -1.12167274951934814      1370.698              0.391
N3 if then else        1.00000000000000000                   0.000    0.000
N4 fixed point        12.00000000000000000               32371.396    0.039
N5 sin,cos etc.        0.49911010265350342                  99.825    3.325
N6 floating point      0.99999982118606567       599.758              3.588
N7 assignments         3.00000000000000000                3747.925    0.197
N8 exp,sqrt etc.       0.75110864639282227                  62.452    2.376

MWIPS                                           3990.075              9.997

Coremark


Современный тест, который должен заменить Dhrystone и Whetstone. Написан на C. Считает различные массивы, матрицы, сортировка массивов и т. д. Предназначался для запуска на всём: от микроконтроллеров до мощных процессоров.


Вывод однопоточного теста Coremark
2K performance run parameters for coremark.
CoreMark Size    : 666
Total ticks      : 14503
Total time (secs): 14.503000
Iterations/Sec   : 13790.250293
Iterations       : 200000
Compiler version : GCC8.3.0
Compiler flags   : -Ofast   -DPERFORMANCE_RUN=1 -DUSE_FORK=1 -lrt
Memory location  : Please put data memory location here
            (e.g. code in flash, data on heap etc)
seedcrc          : 0xe9f5
[0]crclist       : 0xe714
[0]crcmatrix     : 0x1fd7
[0]crcstate      : 0x8e3a
[0]crcfinal      : 0x4983
Correct operation validated. See README.md for run and reporting rules.
CoreMark 1.0 : 13790.250293 / GCC8.3.0 -Ofast   -DPERFORMANCE_RUN=1 -DUSE_FORK=1 -lrt / Heap

Вывод многопоточного теста Coremark
2K performance run parameters for coremark.
CoreMark Size    : 666
Total ticks      : 14623
Total time (secs): 14.623000
Iterations/Sec   : 54708.336183
Iterations       : 800000
Compiler version : GCC8.3.0
Compiler flags   : -Ofast -march=native  -DPERFORMANCE_RUN=1 -DUSE_FORK=1 -lrt
Parallel Fork : 4
Memory location  : Please put data memory location here
            (e.g. code in flash, data on heap etc)
seedcrc          : 0xe9f5
[0]crclist       : 0xe714
[1]crclist       : 0xe714
[2]crclist       : 0xe714
[3]crclist       : 0xe714
[0]crcmatrix     : 0x1fd7
[1]crcmatrix     : 0x1fd7
[2]crcmatrix     : 0x1fd7
[3]crcmatrix     : 0x1fd7
[0]crcstate      : 0x8e3a
[1]crcstate      : 0x8e3a
[2]crcstate      : 0x8e3a
[3]crcstate      : 0x8e3a
[0]crcfinal      : 0x4983
[1]crcfinal      : 0x4983
[2]crcfinal      : 0x4983
[3]crcfinal      : 0x4983
Correct operation validated. See README.md for run and reporting rules.
CoreMark 1.0 : 54708.336183 / GCC8.3.0 -Ofast -march=native  -DPERFORMANCE_RUN=1 -DUSE_FORK=1 -lrt / Heap / 4:Fork

MP MFLOPS


Выполняет операции с плавающей запятой на векторах.


Вывод теста MP-MFLOPS
 MP-MFLOPS Compiled for loongarch64 Sat Jul 24 20:52:23 2021

    FPU Add & Multiply using 1, 2, 4 and 8 Threads

        2 Ops/Word              32 Ops/Word
 KB     12.8     128   12800    12.8     128   12800
 MFLOPS
 1T    18882   12721   10789   26652   26031   25988
 2T    32784   37675   21228   51444   54126   51909
 4T    51385   70939   40023   94571  107173  102566
 8T    41463   66280   42473   84137  105576  103068
 Results x 100000, 0 indicates ERRORS
 1T    76406   97075   99969       0       0   99951
 2T    76406   97075   99969       0       0   99951
 4T    76406   97075   99969       0       0   99951
 8T    76406   97075   99969       0       0   99951

         End of test Sat Jul 24 20:52:23 2021


7zip


Встроенный тест архиватора 7z.


Запускается так:


7z b

Вывод теста 7z
7-Zip (a) 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=zh_CN.UTF-8,Utf16=on,HugeFiles=on,64 bits,4 CPUs LE)

LE
CPU Freq: 64000000 - - - - - - - -

RAM size:   16165 MB,  # CPU hardware threads:   4
RAM usage:    882 MB,  # Benchmark threads:      4

                       Compressing  |                  Decompressing
Dict     Speed Usage    R/U Rating  |      Speed Usage    R/U Rating
         KiB/s     %   MIPS   MIPS  |      KiB/s     %   MIPS   MIPS

22:      11279   327   3352  10973  |     130124   396   2803  11102
23:      10681   325   3346  10883  |     127682   393   2810  11048
24:      11183   353   3406  12025  |     126626   395   2815  11116
25:      11099   360   3525  12673  |     124248   394   2805  11058
----------------------------------  | ------------------------------
Avr:             341   3407  11638  |              395   2808  11081
Tot:             368   3108  11360


STREAM


Тест производительности ОЗУ.


Вывод теста STREAM
Function    Best Rate MB/s  Avg time     Min time     Max time
Copy:           16748.3     0.009969     0.009553     0.010576
Scale:          18735.0     0.009437     0.008540     0.010660
Add:            16333.2     0.015492     0.014694     0.016449
Triad:          17796.0     0.014789     0.013486     0.015294

Версия компилятора, ядра Linux


Ядро Linux:


Linux 4.19.167-rc5.lnd.1-loongson-3 #1 SMP Sat Apr 17 07:32:32 UTC 2021 loongarch64 loongarch64 loongarch64 GNU/Linux

Версия компилятора: gcc version 8.3.0 (Debian 8.3.0-6.lnd.vec.20).


Выводы


Loongson 3A5000 вышел достаточно неплохим процессором, который уже сейчас может применяться в различных десктопных решениях, а процессоры с низкими частотами могут применяться в ноутбуках (с TDP порядка 30 Вт.)
Очень хотелось бы попробовать в работе такие компьютеры, а учитывая то, что они поддерживают видеокарты от AMD, то можно запускать и игры с открытым исходным кодом. Будем надеяться, что такие процессоры получат широкое применение.


Другие результаты для сравнения:


Картинка


Ссылки


Теги:
Хабы:
Если эта публикация вас вдохновила и вы хотите поддержать автора — не стесняйтесь нажать на кнопку
+16
Комментарии37

Публикации

Информация

Сайт
icl.ru
Дата регистрации
Дата основания
Численность
1 001–5 000 человек
Местоположение
Россия