Forums » Мультиклеточная архитектура »
Основы мультиклеточной архитектуры
Added by Natalia_multiclet over 11 years ago
В материале изложены основные принципы мультиклеточной архитектуры.
Replies (96)
RE: Основы мультиклеточной архитектуры - Added by micron_multiclet over 11 years ago
еще раз убеждаюсь, что формат обсуждения архитектуры должен быть только семинарский, на форуме все не рассказать и не объяснить
RE: Основы мультиклеточной архитектуры - Added by HEMAH over 11 years ago
Пару вопросов:
- А почему у Вашего процессора такое странное название MCp0411100101 ? Просто непонятно, какому стандарту обозначения элементной базы оно соответствует... Причём даже для микросхем с приёмкой ВП, что само по себе весьма странно...
- Планируется-ли введение микросхем с приёмкой ВП в перечень МОП ?
- Планируется-ли реализация интерфейса USB с режимами и Device и Host ? Вроде бы производительность хорошая, если рассматривать МП в качестве контроллера управления, значит можно подключать внешние устройства по USB и обрабатывать данные именно с них, являясь "ведущим" в этой цепочке. Кроме того это позволит подключать всякие USB ключи с криптозащитой выполненные например на МК типа 1886ВЕ3У.
RE: Основы мультиклеточной архитектуры - Added by Natalia_multiclet over 11 years ago
подробно о маркировке мультиклеточных процессоров и ядер написано на нашем сайте в разделе "Поддержка", общая техническая информация: http://www.multiclet.com/docs/PO/marks.pdf
RE: Основы мультиклеточной архитектуры - Added by DmitryK_multiclet over 11 years ago
1. Пока нами принята именно такая схема маркировки для коммерческого использования. Может в недалеком будущем будет присвоен номер в соотв. с российскими стандартами. Честно говоря, это еще тот ребус.
2. Возможно, но это долгий муторный процесс.
3. Из разговоров с потенциальными потребителями пришли к выводу, что в следующей версии будет USB2.0 FS device. И то, сомневались в необходимости 2.0. Большинству он нужен как технологический IF. В рабочем режиме USB им практически не нужен. Вот пока исходные данные такие были. Если бы вы немного пояснили про ключи и пример системы с ними, был бы очень благодарен. Вопрос в том, что употребление USB OTG предствляется пока только в рамках каких-то уст-в массового потребления, рынок, которому мы пока не очень интересны и дело даже не в периферии нашего МП, а в средствах разработки и поддержки широко-распространенных языков программирования.
RE: Основы мультиклеточной архитектуры - Added by HEMAH over 11 years ago
- Радиостанции шестого поколения сейчас строятся по технологии SDR, т.е "программируемое радио", дк вот, для того, чтобы извне, загрузить какой-либо алгоритм, есть вариант применения именно USB носителей со встроенной функцией криптозащиты данных. Речь идёт о том, что определённый алгоритм работы устройства иногда требуется лишь на небольшой промежуток времени, например, в случае ВВ МВД РФ при массовых мероприятиях типа МАКС-20ХХ.
- Ключ. Тут рассматривается возможность авторизации например технического персонала при обслуживании оборудования. И тут можно сделать парольную защиту, а можно с использованием такого вот ключа. Всё это уже давно применяется в гражданских устройствах, но для устройств спец. применения появляются дополнительные требования.
- Вариант логгирования работы устройства, тут думаю всё понятно - подошли, вставили флешку в оборудование, выбрали в меню нужную опцию, и поток данных пошёл сохраняться во флеш. А вот потоки данных могут быть самыми разными, начиная от состояния датчиков, и заканчивая съёмом спектральных данных, с последующим их анализом на отдельном оборудовании.
Всё это только начинает развиваться в сфере спец. применений, поэтому было предусмотрительным сделать интерфейс USB полноценным.
RE: Основы мультиклеточной архитектуры - Added by DmitryK_multiclet over 11 years ago
Про полноценный USB спорить не буду, это безусловно лучше.
Опять же утыкаемся в финансовый вопрос. USB и пр. продаются как компоненты, их стоимость, скажем так, достаточно существенная.
Мы стараемся сделать устр-во, где интеллектуальная собственность сторонних разработчиков применена законно.
В общем, по совокупности факторов приняли решение ставить только device. Какую-то часть задач это покроет, какую-то удасться решить немного подумав.
По возможности мы обязательно поставим device и host.
RE: Основы мультиклеточной архитектуры - Added by krufter_multiclet over 11 years ago
HEMAH wrote:
По третьему вопросу:
- Радиостанции шестого поколения сейчас строятся по технологии SDR, т.е "программируемое радио", дк вот, для того, чтобы извне, загрузить какой-либо алгоритм, есть вариант применения именно USB носителей со встроенной функцией криптозащиты данных.
А если USB 2.0 (device) будет с OTG, то тогда будет же возможность сделать USB носители, которые смогут определяться как ведомые или ведущие и с них уже можно будет считывать информацию.
RE: Основы мультиклеточной архитектуры - Added by HEMAH over 11 years ago
krufter_multiclet wrote:
А если USB 2.0 (device) будет с OTG, то тогда будет же возможность сделать USB носители, которые смогут определяться как ведомые или ведущие и с них уже можно будет считывать информацию.
Военные пока на обычный USB1.1 с недоверием поглядывают, а вы им сразу OTG)
Но в общем мысль хорошая)
RE: Основы мультиклеточной архитектуры - Added by krufter_multiclet over 11 years ago
Данное устройство найдёт своё применение в гражданских целях.
RE: Основы мультиклеточной архитектуры - Added by sprin about 11 years ago
Здравствуйте.
Вопрос такой:- Есть несколько коммутационных устройств?
- Если команды в 4-х клетках завершаются одновременно (на одном и том же такте) и возвращают значения, а следующие команды используют эти же значения (разные и каждое свое), задержка на передачу результатов предыдущих комманд в клетки есть? Или всё успеет передаться на следующем такте после выдачи результатов клетками?
- Предположим, что комманды обращаются к одним и тем же данным, будут ли эти данные получены всеми клетками одновременно или произойдёт "затык"?
Пример для последнего вопроса:
есть код http://multiclet.com/community/boards/4/topics/297:
... 1 madd @va04, @vb01 2 madd @va8C, @vb23 3 madd @va15, @vb01 4 madd @va9D, @vb23 5 madd @va26, @vb01 6 madd @vaAE, @vb23 7 madd @va37, @vb01 8 madd @vaBF, @vb23 9 madd @va04, @vb45 10 madd @va8C, @vb67 11 madd @va15, @vb45 12 madd @va9D, @vb67 13 madd @va26, @vb45 14 madd @vaAE, @vb67 15 madd @va37, @vb45 16 madd @vaBF, @vb67 17 madd @va04, @vb89 18 madd @va8C, @vbAB 19 madd @va15, @vb89 20 madd @va9D, @vbAB 21 madd @va26, @vb89 22 madd @vaAE, @vbAB 23 madd @va37, @vb89 24 madd @vaBF, @vbAB 25 madd @va04, @vbCD 26 madd @va8C, @vbEF 27 madd @va15, @vbCD 28 madd @va9D, @vbEF 29 madd @va26, @vbCD 30 madd @vaAE, @vbEF 31 madd @va37, @vbCD 32 madd @vaBF, @vbEF ...
имеет ли смысл его немного переставить, чтобы команды во всех 4 клетках одновременно обращались к разным данным, вот так:
... 1 madd @va04, @vb01 2 madd @va8C, @vb23 11 madd @va15, @vb45 12 madd @va9D, @vb67 21 madd @va26, @vb89 22 madd @vaAE, @vbAB 31 madd @va37, @vbCD 32 madd @vaBF, @vbEF 3 madd @va15, @vb01 4 madd @va9D, @vb23 13 madd @va26, @vb45 14 madd @vaAE, @vb67 23 madd @va37, @vb89 24 madd @vaBF, @vbAB 25 madd @va04, @vbCD 26 madd @va8C, @vbEF 5 madd @va26, @vb01 6 madd @vaAE, @vb23 15 madd @va37, @vb45 16 madd @vaBF, @vb67 17 madd @va04, @vb89 18 madd @va8C, @vbAB 27 madd @va15, @vbCD 28 madd @va9D, @vbEF 7 madd @va37, @vb01 8 madd @vaBF, @vb23 9 madd @va04, @vb45 10 madd @va8C, @vb67 19 madd @va15, @vb89 20 madd @va9D, @vbAB 29 madd @va26, @vbCD 30 madd @vaAE, @vbEF ...
RE: Основы мультиклеточной архитектуры - Added by krufter_multiclet about 11 years ago
Проблем с задержками не будет, обращаться можно к одним данным всеми 4-мя клетками, смысла переставлять команды так, чтобы они обращались к разным данным из коммутатора нет. Но можете проверить по таймеру результат и убедиться в правильности моих суждений.
RE: Основы мультиклеточной архитектуры - Added by EviLOne almost 11 years ago
Здравствуйте,не могли бы Вы разъяснить один вопрос, в процессе изучения архитектуры микроконтроллера наткнулся на рисунок 4.2 в разделе 4.1.1 в руководстве пользователя по программному обеспечению. Меня терзает вопрос: почему при размещении второго параграфа после команды формата aa вставляется слово команды формата av через три инструкции (0x0zzz+0x02 ПП1), а так же пропущено первое слово по адресу 0x0zzz+0x03 ПП0 и последующее дублирование команд aa формата? И куда делась av12? ;) . Можно по подробней рассказать о данном моменте?
RE: Основы мультиклеточной архитектуры - Added by Natalia_multiclet almost 11 years ago
Руководство поправили. Спасибо!
RE: Основы мультиклеточной архитектуры - Added by mailer almost 11 years ago
Здравствуйте!
Извините за возможно несколько глупый вопрос, но я не очень хорошо во всем этом разбираюсь. Собственно вопрос - а можно ли реализовать мультиклеточную систему на программируемой микросхеме, например вот такой - http://www.xilinx.com/products/silicon-devices/fpga/kintex-7/index.htm? У процессоров, реализованных на программируемых микросхемах сейчас не очень высокая скорость - порядка 100-200МГц, но может быть при использовании мультиклеточной архитектуры можно было бы добиться от них высокой производительности на невысоких частотах (если возможно реализовать мультиклеточную систему на таких микросхемах).
Заранее спасибо.
RE: Основы мультиклеточной архитектуры - Added by DmitryK_multiclet almost 11 years ago
Да, можно и в FPGA реализовать. Вопрос в применении. Например, у нас есть проекты(наработки) небольших 32-х разрядных микропроцессоров с фиксированной запятой, которые мы реализовывали на FPGA, 4 клетки входит на Spartan-6. А вот Р1 или Р2 - это уже 64-х разрядные машины с плавающей точкой одинарной(P1/P2) и двойной точности(P2), они помещаются только в Virtex-6 (P1) и в Virtex-7 (Р2).
RE: Основы мультиклеточной архитектуры - Added by mailer almost 11 years ago
Понятно, спасибо большое. Применение вот такое - http://papilio.cc/. Как вы считаете, сможет использование мультиклеточной архитектуры повысить быстродействие микроконтроллерных систем на вот такой платформе, по сравнению с
Use the familiar and easy Arduino IDE to run your sketches on the Papilio. Choose from two Arduino compatible Soft Processors:
AVR8 - Clone of the AtMega103 chip with standard AVR peripherals.
ZPUino - Arduino on steroids: 100Mhz, 32-bit, 96Mhz, up to 8MB code space.
RE: Основы мультиклеточной архитектуры - Added by mailer almost 11 years ago
В версии Papilio Pro как раз стоит Spartan 6 LX9 - http://store.gadgetfactory.net/papilio-pro/.
Но в любом случае - вы не рассматриваете такой вариант как реализацию софт-процессора для микроконтроллерных систем, типа Arduino? Имеется в виду сами практические приложения, а не тип процессора. Это сейчас довольно популярный сектор, с учетом развития любительской робототехники, бытовой автоматизации и вообще обучающих и развлекательных приложений.
RE: Основы мультиклеточной архитектуры - Added by mailer almost 11 years ago
Я извиняюсь, если продолжаю нести совсем ламерскую пургу, но если между отдельными платами с прошитыми в них мультиклеточными процессорами можно установить взаимодействие на уровне клеток, так чтобы они функционировали как одна система, то можно было бы собирать мультиклеточные системы примерно так же, как сейчас собирают микроконтроллерные системы на Arduino, когда просто соединяют друг с другом основную плату и платы расширений. Но это просто такое ламерское предположение :)
RE: Основы мультиклеточной архитектуры - Added by DmitryK_multiclet almost 11 years ago
Концепция мультиклеточного процессора позволяет делать системы из многих процессоров (это не относится к форме реализованной сейчас P1, P2).
Но это приведет к усложнению программной модели и быстродействие будет максимальным, если задачи будут разбиты для работы на стольки клетках, сколько вмещает один процессор (на одном ли кристалле реализованный или скорфигурированный в FPGA). Задачи разбитые на работу с большим кол-вом клеток будут выполняться медленнее т.к. они информация будет ходить по медленным каналам между микросхемами.
Spartan 6 LX9 - не подойдет, процессор 4 клетки, 32 бита, который был отработан, ложится без проблем в LX45. Можно его уменьшить, но думаю, что меньше, чем в LX25 он не войдет.
RE: Основы мультиклеточной архитектуры - Added by mailer almost 11 years ago
То есть никакой возможности установить достаточно быстрое соединение между клетками, расположенными в разных процессорах на нынешний момент нет? А если будет что-то вроде PCI или специальной скоростной шины с достаточной пропускной способностью? Извините, что продолжаю надоедать, но идея уж больно заманчиво выглядит - возможность наращивать производительность процессора так же, как сейчас наращивается оперативная память, с помощью добавления дополнительных плат. Или возможность использовать в конструкции разнесенные процессорные блоки, которые могут функционировать как вместе так и при выходе из строя одного или нескольких из блоков.
RE: Основы мультиклеточной архитектуры - Added by DmitryK_multiclet almost 11 years ago
У PCI-E - скорость до 256Гбит/с. В 4.0 - 512Гбит/с в будущем.
Для некоторых систем хватит, для некоторых нет. Но в любом случае, связи внутри кристалла быстрее и выход во вне - это всегда ограничения.
RE: Основы мультиклеточной архитектуры - Added by micron_multiclet almost 11 years ago
У нас есть проект с наращиванием производительности на плате - 30 процессоров, каждый по 128 клеток с PCI-E. Насчет гибкости компоновки, наборности блоков стоит подумать.
RE: Основы мультиклеточной архитектуры - Added by mailer almost 11 years ago
Понятно, спасибо большое за ответы. Я понимаю ограничения связанные с внешними линиями связи, но это дает и много достаточно интересных возможностей. Сейчас модульная электроника уже добирается до мобильных телефонов, а обычная настольная приближается по габаритам к мобильной, поэтому технология модульного процессора была бы очень востребована в таких системах - http://www.ibtimes.com/phonebloks-motorola-partners-3d-systems-modular-smartphone-future-project-ara-1485168
RE: Основы мультиклеточной архитектуры - Added by Yaisis almost 10 years ago
Здравствуйте.
То, что я узнал по Мультиклету выглядит интересно.
За счёт большого количества клеток может быть получена большая производительность, но весь ресурсоёмкий код заключён в циклы, как обстоят дела с ускорением этого кода ?
Как в мультиклете реализованы циклы ? Умеет он их разворачивать или их должен разворачивать заранее компилятор ?
Если их разворачивает заранее компилятор, то получается, что для процессоров с большим количеством клеток необходимо перекомпилировать программу, чтобы оптимальней использовать ресурсы процессора ?
А если длина цикла известна только на этапе выполнения, то как обстоят дела с такими циклами ?