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