Энтузиаст состоит в различных чатах в 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 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.
########################################## 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. Считает различные массивы, матрицы, сортировка массивов и т. д. Предназначался для запуска на всём: от микроконтроллеров до мощных процессоров.
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
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 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
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
Тест производительности ОЗУ.
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, то можно запускать и игры с открытым исходным кодом. Будем надеяться, что такие процессоры получат широкое применение.
Другие результаты для сравнения:
Ссылки
ссылка на оригинал статьи https://habr.com/ru/articles/569976/
Добавить комментарий