vak: (Улыбка)
Serge Vakulenko ([personal profile] vak) wrote2016-04-29 08:55 pm

Асинхронные FPGA и позитронный мозг

Такое ощущение, что грядёт тихая революция в области цифровой логики: переход на асинхронный дизайн. Любопытный, но малоизвестный факт: в 2012 году Интел предоставил стартапу Achronix свои заводы для производства асинхронных FPGA-чипов.

Есть несколько методологий асинхронного дизайна. Одна из них, под названием Null Convention Logic (сокращённо NCL), в качестве базового элемента использует так называемый пороговый вентиль. Обозначается он так:



Как и традиционный логический вентиль типа И или ИЛИ, он имеет несколько входов, один выход и, возможно, инверсию выхода. Кроме того, у него есть параметр M - порог срабатывания. К примеру, вентиль с порогом 2 переходит в активное состояние, когда как минимум два входа активны. В неактивное состояние пороговый вентиль переходит, когда все входы неактивны. Заметьте: вентиль с порогом M>1 обладает гистерезисом. Пока количество активных входов меньше порога, он сохраняет предыдущее состояние.

Из таких вентилей, применяя dual-rail протокол, можно строить цифровые логические схемы произвольной сложности. Например, так выглядит однобитный полный сумматор:


Для сравнения, полный сумматор на традиционной логике:



А теперь самое интересное. Знаете ли вы, как устроен нейрон, элементарный кирпичик нервной системы и мозга? Он имеет несколько отростков-дендритов (входов) и один аксон (выход). Для возбуждения нейрона нужно раздражение от нескольких дендритов (порог). Очень похоже на NCL-вентиль, не так ли?


Представьте, что через некоторое время, усилиями биохимиков и генетиков, можно будет выращивать "живые" нейронные сети заданной конфигурации. Если вы помните, в известной новелле Азимова про три закона робототехники, всё начиналось с изобретения позитронного мозга. Возможно, не так долго осталось ждать.

До сих пор разработка асинхронных логических схем осложнялась отсутствием возможности прототипирования и отладки их с использованием FPGA. Чипы Achronix могут поправить ситуацию.

[identity profile] 1500py470.livejournal.com 2016-04-30 04:36 am (UTC)(link)
Для МИЭТовских БМК с их появления есть набор библиотечных асинхроных элементов. На них даже энтузиасты асинхронный PIC делали для опытов. Память о делах Варшавского у нас живёт.

[identity profile] 1500py470.livejournal.com 2016-04-30 07:03 am (UTC)(link)
Про количество выводов в троичной логике советовал nabbla1 при защите его студентки указать.

[identity profile] avseyev.livejournal.com 2016-05-05 09:20 pm (UTC)(link)
Как обычно все упирается в трудности реализации соединений между элементами. Троичная логика не сильно поможет. Нужны трехмерные ПЛИС'ы. :)

[identity profile] sergegers1.livejournal.com 2016-04-30 05:19 am (UTC)(link)
Пара вопросов. А почему такие элементы называются асинхронными и в чём их революционное отличие от обычных, если они взаимно могут быть реализованны один через другой.

[identity profile] spamsink.livejournal.com 2016-04-30 05:33 am (UTC)(link)
Так комбинационной логике, типа этого полного сумматора, он отродясь не требовался.

[identity profile] spamsink.livejournal.com 2016-04-30 06:10 am (UTC)(link)
Я знаю (собственно, я эту или очень похожую работу видел году в 1998-1999); я о том, что пример не дает представления о преимуществах асинхронной логики.

[identity profile] spamsink.livejournal.com 2016-04-30 06:38 am (UTC)(link)

На первой странице там © 1997.

[identity profile] spamsink.livejournal.com 2016-04-30 07:41 am (UTC)(link)
Пора. Не более 20 лет точно.

[identity profile] proxfessor.livejournal.com 2016-04-30 02:51 pm (UTC)(link)
И это, кстати, благотворно влияет на энергопотребление.

[identity profile] pappadeux.livejournal.com 2016-05-02 05:13 pm (UTC)(link)
ммм...

судя по виду сумматора, проводков в новом заметно больше

и это плохо влияет на энергопотребление.

[identity profile] pappadeux.livejournal.com 2016-05-03 06:34 pm (UTC)(link)
> Сами проводки каши (энергии) не просят.

а утечки разве не по проводкам идут?

[identity profile] oboguev.livejournal.com 2016-04-30 06:50 am (UTC)(link)
А водку пить оно могёт?

[identity profile] oppad (from livejournal.com) 2016-04-30 08:24 am (UTC)(link)
на каких-нибудь не мейнстримовских ПЛИС типа актеловских проазиков можно асинхронщину делать. единственная проблема, что все ручками - струменты-то под синхронный дизайн заточены. в "обычных" ПЛИС все крутится вокруг триггеров, то есть архитектура под синхронный дизайн. тоже можно, но совсем уж извращение выходит, там даже латчей нет, только флип-флопы.

Acronix кстати предлагает обычные синхронные ПЛИС, ну по крайней мере их можно купить и струменты поддерживают, а асинхронные (HP что-ли), для пеара у него, по-моему

[identity profile] spamsink.livejournal.com 2016-04-30 04:18 pm (UTC)(link)
там даже латчей нет, только флип-флопы

Это неправда. См. диаграмму на стр. 19 (http://www.xilinx.com/support/documentation/user_guides/ug474_7Series_CLB.pdf), выбор FF/latch конфигурируется битом, и так у Xilinx отродясь было.

[identity profile] oppad (from livejournal.com) 2016-04-30 09:17 pm (UTC)(link)
а в новых поколениях Альтеры латчи только в виде петель логики
да и в 7 Ксайлинсах
из 8 "элементов" только 4 могут быть ff/latch, я уже не говорю про LUT-ы, которые могут в сдвиговые регистры превращаться

причем экономят они не какие-то внутренние гейты слайса/le, а конфигурационный бит в образе. то есть настолько ненужными считают latch-и


[identity profile] vit-r.livejournal.com 2016-04-30 10:00 am (UTC)(link)
Будут те же приемущества и те же недостатки, что и у аналоговых компьютеров.

А нейроны интересны тем, что они растут сами. То есть, важна переконфигурация схемы во время обучения.

[identity profile] vit-r.livejournal.com 2016-04-30 08:25 pm (UTC)(link)
Кривую заменили лесенкой :-)

Насколько помню, наиболее выгодная схема деления - это сочетание элементов с двумя и тремя состояниями. Можно будет перейти на двенадцатеричную систему.
ext_646638: (Default)

[identity profile] rdia.livejournal.com 2016-04-30 11:34 pm (UTC)(link)
> Можно будет перейти на двенадцатеричную систему.

Back to Babylon!!!

[identity profile] vit-r.livejournal.com 2016-05-02 06:22 pm (UTC)(link)
Мы всё-таки о системе вычисления и логики, а не об устройствах ввода-вывода.
ext_646638: (Default)

[identity profile] rdia.livejournal.com 2016-04-30 11:36 pm (UTC)(link)
Причём с учётом размеров мозга и длины нейрона переконфигурация может быть в "произвольном" виде. Т.е. вполне можно протянуть нейрон из "видеокарты" в регистры напрямую.

[identity profile] vit-r.livejournal.com 2016-05-01 06:32 am (UTC)(link)
Нет "видеокарты". Обработка начинается уже в первом слое. Причём, есть регистры положения, регистры движения, регистры решёток. И, естественно, выравнивание контраста плюс фильтры Фурье. Не понятно, где кончается глаз-регистратор и начинается мозг - обработчик.

На этом основаны оптические иллюзии.
ext_646638: (Default)

[identity profile] rdia.livejournal.com 2016-05-02 03:50 am (UTC)(link)
Я про это знаю - поэтому и написал в кавычках.

Мне больше интересно про то, почему в мозгах от 4-х до 9-ти регистров. Вы что-то буркнули в прошлый раз про 2-3 дерево, но я, хоть убей, не понимаю, как получается 4-9.

Это слои 2-3 дерева с 1-го по 3-ий? Но тогда второй слой - это уже 3 узла, а 3-ий - до 9-ти. Или это просто третий слой, который тогда может иметь от 4-х до 9-ти узлов?

[identity profile] vit-r.livejournal.com 2016-05-02 05:47 am (UTC)(link)
Как-то так
     *
    / \
   *   *
  /\   /\
 *  * *  *

         *
       / | \
     /   |   \
    /    |    \
   *     *     *
  /|\   /|\   /|\ 
 * * * * * * * * *

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

И деление - это вывод из синергетики. Что там в голове - будет намного сложнее.
Edited 2016-05-02 05:48 (UTC)

[identity profile] proxfessor.livejournal.com 2016-04-30 02:49 pm (UTC)(link)
Забавно, что я занимался дизайном сверхпроводниковых асинхронных схем еще в 1995 году :)
ext_646638: (Default)

[identity profile] rdia.livejournal.com 2016-04-30 11:37 pm (UTC)(link)
Скорее всего.

Вопрос по ПЛИС - там можно соединять любой вентиль с любым вентилем?

[identity profile] spamsink.livejournal.com 2016-05-04 02:51 pm (UTC)(link)
Или через 10-12 часов скажет, что не решил. :)