Pull to refresh

Hardkernel ODROID-XU миникомпьютер на Exynos5 Octa (big.LITTLE Cortex-A15). Личные впечатления

Configuring Linux *
Как многие, кто интересуется этой темой, знают, компания Hardkernel, специализирующаяся на выпуске мини-компьютеров бренда ODROID на ARM SoC Samsung, недавно анонсировала новую плату ODROID-XU.
Плата построена вокруг Exynos5 Octa Cortex-A15 с технологией big.LITTLE. Это самый быстрый SoC на данный момент из доступных в виде готовых решений, хоть и не самый быстрый из анонсированных.
Это практически единственная плата на рынке которую можно называть мини-компьютером, а не development board. Потому что она выполнена в миниатюрном форм-факторе, а не лопатой, и заключена в какой-никакой, но корпус. Довольно удобно не только для разработчиков, но вполне подходит и для энтузиастов, жаждущих компактных домашних компьютерных систем.

image

Волею судеб сама плата попала мне в руки до того, как начнется официальная отгрузка.
Так что в этом топике я напишу довольно кратко именно то, что вы не прочтете в официальных анонсах, которыми заполнен интернет, и представляющих из себя перечисление технических характеристик.


Ну чтобы было, от чего отталкиваться, начать придется все-таки с тех самых технических характеристик.
Плата выполнена на чипсете Samsung Exynos 5 Octa, процессор 5410. Не самый новый, но господи, сколько можно уже. Вы и Playstation 4 наверное ждете уже почти год со дня анонса, не покупая Playstation 3, потому что «она устарела». Я прав? 5410 это процессор, который используется в Galaxy S4 и самый новый из доступных на рынке в виде готовых решений, хоть и не самый новый из анонсированных. Я вас уверяю, дури в нем хватит на всех.
Основная фишка процессора — технология big.LITTLE: когда четырем ядрам Cortex-A15 ассистируют четыре ядра Cortex-A7. Когда считать особо нечего работают более медленные А7, когда есть что посчитать — А15. Это возможно двумя методами в зависимости от программной реализации: или 8 процессоров — 4 помедленнее, 4 побыстрее; или 4 процессора — каждый из которых является объединением двух А15-А7, которое может работать или медленно, или быстро.
Видеочип — PowerVR SGX544MP3, трехпроцессорный монстр от Imagination Technologies.
2 гига памяти.
USB 3.0 в виде Micro-A коннектора, 4 обычных USB 2.0
10/100 Ethernet
встроенного Wi-Fi нет
eMMC connector
SD/MMC slot
В общем, набор стандартный. Прочитать поточнее, что там есть можно на сайте.

Теперь к основной части: то, чего вы не прочтете в анонсах.

Перво-наперво, плата очень маленькая. Фотографии не передают этого. Я был готов к тому, что она уже стала крупнее в сравнении с крошечным ODROID-U2, и был довольно удивлен ее реальными параметрами. Скорее всего, это из-за вентилятора. Глядя на фотографии, мы представляем себе его довольно массивным и масштабируем всю плату вокруг него. А на самом деле, он просто крошечный, и плата вокруг него совсем небольшая. Достаточно посмотреть на разъем Ethernet и сравнить его с вентилятором. Он реально всего в 4 раза больше обычного разъема RJ-45 и очень низенький. Так что платка, хоть и больше чем ODROID-U2, но не сильно. Буквально, меньше чем на сантиметр шире Raspberry Pi. Все элементы на плате настолько крошечные, что нет никаких шансов ковыряться там пальцами, разве что подругу попросить. Отсоединять eMMC и переключать джамперы мне пришлось зубочисткой.

Касательно вентилятора — он конечно шумит, но не громко. Плюс, в ядре есть контроль скорости и под линуксом, и под андроидом. И без нагрузки, а это довольно часто, он останавливается совсем. Контроль довольно резкий и точный, не как на моем макбуке, который может гудеть несколько минут после того, как температура уже давно упала. Вентилятор мгновенно стартует при нагрузке и мгновенно останавливается при ее падении. Он может включиться буквально на секунду, если запустить grep по крупному файлу, и мгновенно выключиться по выполнении команды.

Про софт.

Компания Hardkernel официально ориентирована в основном на Андроид. Моя плата шла с андроидом на карте памяти. Насколько я на него взглянул, там сразу все было готово и довольно слаженно: видео драйвера, кодеки — все работает, все присутствует. Не стоит беспокоиться, что к релизу чего-то будет не хватать, уже все есть. Я не большой фанат андроида, поэтому взглянул я на это все одним глазком.
Что касается линукса, то он для меня является приоритетом, и тут все сложнее. Образ xubuntu появился примерно вчера. Ядро — фактически пересборка андроидного с кучей опций, специфичных для андроида: всякие контроли памяти и шедулеры, все это еще требует сильной доработки. Но работы как раз усиленно ведутся. Как минимум сейчас линукс уже грузится и работает. Я совсем не уверен, как будут дела обстоять с GLES, так как PowerVR известен своей жлобской позицией относительно драйверов под линукс. Но обратный инжиниринг и написание свободных драйверов является приоритетной задачей для Open Source сообщества в связи с широким распространением этих чипов, так что надежда есть. Насчет, собственно, самого вывода на экран — он работает, X11 на телевизоре присутствует. Скорее всего, пока без 3D ускорения, я еще не проверял. Как минимум, могу сказать, что в этой плате хватит дури и без драйверов порисовать как следует.

Про хард.

Теперь к самым популярным темам форумных войн. Так называемый баг CCI-400, про который обязательно кто-то да ворвется рассказать всем правду.
Баг заключается в том, что самсунг накосячил с реализацией взаимодействия ядер А7 и А15 работающих в паре. И просто залочил эту функцию. Problem Solved.
Это ведет к тому, что при маленькой нагрузке работает ядро А7 на медленной скорости. При средней, но разумной, работает А7 на полных 1.2 гигагерца. А вот при большой нагрузке это должно было выглядеть как совместная работа А7 и А15, но, так как связь между ними залочена, происходит передача всей задачи эксклюзивно на А15.
К чему это ведет:
Для начала, забудьте про пункт энергопотребления, мы с вами не на телефоне, у нас устройство подключено к сети. Неоптимальный расход энергии? Hello???
Второй пункт чуть посложнее, отсекая А7 ядро, процессор теряет в производительности, но А7 относится к А15 примерно, как 10—15%, так что столько вы и теряете. Это совсем не много от той дури, которая запаяна в этом монстре. Не стоит быть занудой.
Плюс, присутствует задержка в передаче задачи, приходится сбрасывать регистры. Это наносекунды, честное слово, это не заметно, даже если 1080p видео идет на полный экран.

В заключение.

Собственно, это все, что пришло мне в голову, чем бы заинтересовался я сам при желании узнать больше про эту плату.
Прошу прощения за скрин, взятый с офсайта: пишу с работы, плата дома, хотелось выложить статью как можно раньше.

С удовольствием отвечу на ваши вопросы в комментариях, возможно и статью дополню, по любому поводу, кроме андроида. Его я уже снес с флешки, а официальный образ пока еще не выложен нигде, так что это безвозвратно до середины сентября.

UPDATES:

По просьбе enclis:
На обратной стороне платы есть FPC разъем на который выведен MIPI DSI для подключения внешнего дисплея.

Результат UnixBench:

========================================================================
   BYTE UNIX Benchmarks (Version 5.1.3)

   System: odroid: GNU/Linux
   OS: GNU/Linux -- 3.4.5-odroidxu -- #3 SMP PREEMPT Mon Aug 19 07:32:01 CEST 2013
   Machine: armv7l (armv7l)
   Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8")
   17:38:33 up 25 min,  3 users,  load average: 0.66, 1.01, 1.16; runlevel 2

------------------------------------------------------------------------
Benchmark Run: Mon Aug 19 2013 17:38:33 - 18:07:05
0 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables        8022186.3 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                      745.3 MWIPS (10.0 s, 7 samples)
Execl Throughput                                691.4 lps   (29.7 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        161064.0 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           47219.8 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        468665.9 KBps  (30.0 s, 2 samples)
Pipe Throughput                              248652.0 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                  51520.2 lps   (10.0 s, 7 samples)
Process Creation                               2104.0 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   2437.1 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    860.0 lpm   (60.1 s, 2 samples)
System Call Overhead                         579711.5 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0    8022186.3    687.4
Double-Precision Whetstone                       55.0        745.3    135.5
Execl Throughput                                 43.0        691.4    160.8
File Copy 1024 bufsize 2000 maxblocks          3960.0     161064.0    406.7
File Copy 256 bufsize 500 maxblocks            1655.0      47219.8    285.3
File Copy 4096 bufsize 8000 maxblocks          5800.0     468665.9    808.0
Pipe Throughput                               12440.0     248652.0    199.9
Pipe-based Context Switching                   4000.0      51520.2    128.8
Process Creation                                126.0       2104.0    167.0
Shell Scripts (1 concurrent)                     42.4       2437.1    574.8
Shell Scripts (8 concurrent)                      6.0        860.0   1433.3
System Call Overhead                          15000.0     579711.5    386.5
                                                                   ========
System Benchmarks Index Score                                         333.9


Geek Porn:

Tags:
Hubs:
Total votes 67: ↑57 and ↓10 +47
Views 64K
Comments Comments 79