vak: (Улыбка)
[personal profile] vak
Дали мне любопытную платку поиграться: GreenArrays EVB001.



На плате установлены два чипа GA144f18a. Каждый чип содержит 144 процессора с архитектурой f18a, соединённых в форме матрицы 8x18. Процессор имеет 144+144 байт памяти RAM+ROM (по 64 18-битных слова), а также набор регистров для общения процессоров между собой и с внешним миром через ножки ввода-вывода. Понятие частоты процессора отсутствует: это асинхронный дизайн.



Суть подхода в том, что каждый процессор выполняет небольшую программу, обмениваясь данными с соседями. К примеру, для реализации контроллера Ethernet 10Base-T достаточно всего 26 процессоров (PDF). Алгоритм вычисления контрольной суммы требует 14 процессоров (PDF).

Архитектура процессора и система команд представляют собой очень простой стековый компьютер со словной организацией. Слово данных и команда процессора имеют одинаковый размер в 18 бит. Подробное описание архитектуры имеется в документе "F18A Technology Reference". Для пользователей предлагается среда программирования на языке Forth.

Не могу сказать, что я сильно впечатлён. Судя по примерам MD5 и 10Base-T, разработка софта для такой архитектуры дело крайне трудоёмкое. Forth - типичный пример так называемого write-only language, на котором можно программу написать (один раз), но нельзя понять (больше никогда). Можно пытаться приспособить простой Си-компилятор, однако архитектура плохо для этого приспособлена. Отлаживать систему из сотен взаимодействующих процессоров тоже не сахар. В общем, чисто академический интерес получается.

Date: 2016-04-27 19:41 (UTC)
From: [identity profile] oboguev.livejournal.com
И в памяти черной пошарив, найдешь
До самого локтя перчатки,
И слово транспьютер, и в сумраке лож
Тот запах и душный и сладкий..."


Date: 2016-04-27 19:53 (UTC)
From: [identity profile] raydac.livejournal.com
автор этого чипа - Чак Мур, автор языка FORTH, так что странно было бы ждать какой то ориентации на другой язык, причем он последние годы фанатеет от своего Color FORTH, а он на мой взгляд неочень что то

Date: 2016-04-27 20:03 (UTC)
From: [identity profile] raydac.livejournal.com
просто на нем как и на любом другом языке надо иметь опыт и постоянно юзать

Date: 2016-04-28 05:19 (UTC)
From: [identity profile] raydac.livejournal.com
кстати насколько помню, основная фишка этого проца в суперэкономичном энергопотреблении была заявлена в свое время

Date: 2016-04-27 20:25 (UTC)
From: [identity profile] oboguev.livejournal.com
Так языки для этого дела (Inferno всякий) вроде бы давно проехали.
Сейчас такие вещи обычно делаются на Джаве -- всякий map-reduce, apache spark etc.
Ну или на этом, как его, который для программирования NVIDIA применяют.

К слову, как-то не сложилось поинтересоваться (или сложилось, но уже забыл), с чем Интел продаёт свои платы с тыщей пентиумов.
Edited Date: 2016-04-27 20:25 (UTC)

Date: 2016-04-28 03:17 (UTC)
From: [identity profile] qvb.livejournal.com
Интеловский Xeon Phi имеет всего 72 процессора на чипе, четыре треда каждый. Работает на нем линукс.

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

Date: 2016-04-27 19:41 (UTC)
From: [identity profile] raydac.livejournal.com
FORTH не более read only чем Си или С++
GA-144 уже вроде как несколько лет в обед как выпущен, но что то производитель походу сдулся

Date: 2016-04-27 19:48 (UTC)
From: [identity profile] raydac.livejournal.com
я сужу по их активности в продвижении, чипов то наверное осталось запасов, но все свои технические блоги они забросили и фанаты тож на это забили после такого
минимальный заказ чипов у них 10 штук
я мож купил бы у них чисто для истории, но у нас растаможка с 21 евро начинается и возится с этим неохота
Edited Date: 2016-04-27 19:52 (UTC)

Date: 2016-04-27 20:03 (UTC)
From: [identity profile] raydac.livejournal.com
старенький но с презентухами выступает все еще
сайт правда смотрю что то у него ушел "в разработку", х.з. выйдет ли из неё
Edited Date: 2016-04-27 20:04 (UTC)

Date: 2016-04-27 20:58 (UTC)
From: [identity profile] vit-r.livejournal.com
Опоздало это чудо лет на двадцать. А Форт плох, потому что среды и тулов нет, тулов нет, потому что не популярен.

Был бы жёсткий реалтайм, интересно было бы для микроспутников. Если, цепочки процессоров можно перепрограммировать.

Date: 2016-04-28 05:22 (UTC)
From: [identity profile] raydac.livejournal.com
форт "плох" только тем что он не мейнстрим, только этим и плох, все остальное ему могут приписывать только люди которые наверное на нем не писали, но я на нем без тулов "энтерпрайз систему уровня предприятия" писал и систему для тестирования производимых предприятием девайсов, вполне нормальный язык с хорошими фичами, которые уверен, в будущем "откроют" в очередной раз и толпа будет "блеять" от восторга

Date: 2016-04-28 05:30 (UTC)
From: [identity profile] vit-r.livejournal.com
Создавать "энтерпрайз систему уровня предприятия" в одиночку сейчас никому не надо. Тулы нужны для того, чтобы поддерживать и развивать софт лет тридцать и чтобы распараллеливать работу на сотни людей.

Date: 2016-04-28 05:34 (UTC)
From: [identity profile] raydac.livejournal.com
то то и смотрю что у языка Go много тулов :)

Date: 2016-04-28 05:41 (UTC)
From: [identity profile] vit-r.livejournal.com
Половина современных языков являются диверсией.

Date: 2016-04-27 21:40 (UTC)
From: [identity profile] oppad (from livejournal.com)
из подобного баловался xcore от xmos, у них дешевых платок много - там основная "многопроцессорность" за счет логических ядер, но и многоплиточные чипы есть. по моему, это самая дешевая многопроцессорность на сегодня. ну и концепция + среда разработки вполне удобны. но куда-то на практике применить - не вышло.

и epiphania лежит e16g301 - так и не дошли руки, кроме как на вспомогательном цинке Линукс пустить. я так понимаю, что adapteva всё? а как дышали с той епифанией... вобщем уже раритет. ну и как теоретически предполагаю - это было скорее что-то типа нвидеошных чипов, но пожиже. то есть как бы для эмбедед, но не совсем хомебрю

кстати и отечественная инициатива была (в рамках истерии импортозамещения, нанотехнологий и вообще вставания с колен непонятно было фейк или что-то реальное) мультиклет - но не видел вживую

а из хомебрю вспомнилось propeller chip (parallax) - в руках не держал, но очень понравилась целевая аудитория и исполнение в труЪ dip-40. я так понимаю, что ардуина не дала этому направлению развиться - имхо, пичаль

Date: 2016-04-27 22:02 (UTC)
From: [identity profile] rbs-vader.livejournal.com
А гигабит потянет? Или дохловато?

Date: 2016-04-27 23:40 (UTC)
spamsink: (Default)
From: [personal profile] spamsink
Такие чипы, особенно асинхронные, наверное, будут хороши для генетического программирования (это я памятуя про эволюцию схемы в FPGA, различающую слова yes и no, которая совершенно непонятно как работает, потому что на фидбеке устроена).

Date: 2016-04-28 08:23 (UTC)
From: [identity profile] ledernierheros.livejournal.com
Тоже, с тех пор, как прочитал про генетическое программирование, думаю, что Forth для него очень хорошо подходит. Тем более, что тут - целая матрица. Но, по-моему, надо бы этим сперва студентов загрузить - чтобы посмотреть, может ли вообще что-либо годное выйти.
From: [identity profile] andrey-yurin.livejournal.com
А можно краткий ликбез для тех, кто ничего толком не понял ни из исходного поста ни из комментов? В чём, вообще, основная мысль от таких процессоров? Как я понимаю, то они мало походят на архитектуру какого-нибудь там ARM, x51 и им подобных. Там под них программа что ли представляет не набор инструкций, которые выполняются последовательно?
From: [identity profile] andrey-yurin.livejournal.com
А по каким ключевым словам лучше всего загуглить этот принцип?

Date: 2016-04-28 06:08 (UTC)
From: [identity profile] ikaktys.livejournal.com
для такого чуда хорошо б свой расово верный компилятор, для того же С или Java сделать, с примерами основных алгоритмов иначе так и останется игрушкой, и ваще, 21 век таки, компиляторы должны гнуть код по процессор, а не наоборот.

Date: 2016-04-29 07:27 (UTC)
From: [identity profile] ikaktys.livejournal.com
"ичо?" (tm)
для FPGA/VHDL тоже есть свой язык, почти с++, почему б тут не сделать похожую надстройку над С или чем то подобным если уж чип есть, и по факту каждое ядро более менее "стандартно". Программят же уже под GRID и подобное когда у тебя 100500 и более ядер, и все связаны, но кто как, напрямую ваще внутри проца, по шине, или infiniband или еще как ...
Edited Date: 2016-04-29 07:28 (UTC)

Date: 2016-04-28 08:32 (UTC)
From: [identity profile] ledernierheros.livejournal.com
> Forth - типичный пример так называемого write-only language, на котором можно программу написать (один раз), но нельзя понять (больше никогда).

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

Магазин или CMS я бы на Форте писать, конечно, не стал. Но для околожелезных задач он хорошо подходит. REPL плюс расширяемость синтаксиса - можно фигячить любые DSL.

Date: 2016-04-28 17:03 (UTC)
From: [identity profile] http://users.livejournal.com/katarsis_/
450 дороговато для моего академического интереса
кроме того я вдруг вспомнил про православный мультиклет

Date: 2016-04-30 09:53 (UTC)
From: [identity profile] mandrykin.livejournal.com
Самое интересное каким образом реализовано взаимодействие процессоров. Я имею в виду логическое взаимодействие - как это всё синхронизируется? От этого зависит очень много.