Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Программная инженерия > Микроконтроллеры, робототехника, схемотехника, 3D принтеры
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.02.2015, 08:18   #21
almandrykin
Пользователь
 
Регистрация: 09.02.2015
Сообщений: 31
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Вау... Это такая забота о человеке? Ну дальше мне уже не интересно стало. Желаю удачи. Надеюсь мне на подобных камнях работать никогда не придется.
А что делать? За оптимальность приходится платить удобствами. Как вариант - в виду заботы о программисте, можно с помощью макросов смоделировать поведение x86. Будет очень просто программировать, но потеряется эффективность.
almandrykin вне форума Ответить с цитированием
Старый 10.02.2015, 09:16   #22
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
обязанность по сохранению адреса возврата ложится на программиста или компилятор
Это надо пофиксить. Шансы на конкуренцию с х86 малы, а вот где в микроконтроллерах можно пытаться... Но для этого должны быть реализованы минимальные стандарты. Это наверно один из них и потому надо исправить.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 10.02.2015, 11:00   #23
almandrykin
Пользователь
 
Регистрация: 09.02.2015
Сообщений: 31
По умолчанию

Цитата:
Сообщение от Utkin Посмотреть сообщение
Это надо пофиксить.
Теоретически можно было написать транслятор из x86 в предлагаемую систему команд. Например, взять за основу вывод gcc -S и на его основе транслировать интеловские инструкции в инструкции системы команд "Эверест". Но всё же это нетривиальная задача в виду множества различных размерностей операндов. Пожалуй, прощего всего поддалась бы эмуляция процессоров DEC PDP 11 и его аналогов.

Кстати, о названии. Это была попытка "потроллить" разработчиков "Эльбруса". Только они сумели в название "Эльбрус" поместить несколько несовместимых архитектур. Если речь идёт о "процессоре Эверест", то так говорить неправильно. Под "Эверестом" мы подразумеваем архитектуру и систему команд. Прошивки для ПЛИС будут иметь (и имеют) индивидуальные имена.

Мне уже нравится идея транслятора из других систем команд. Сам бы не додумался. Спасибо.
almandrykin вне форума Ответить с цитированием
Старый 10.02.2015, 12:11   #24
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
А что делать? За оптимальность приходится платить удобствами.
Соболезную пользователям такой разработки. Ты хотел чтоб тут высказывались только по теме и не троллили? Уж извини, без этого не удастся. Ты выбрал далеко не лучшую архитектуру, потому не обессудь если пойдут насмешки.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 10.02.2015, 12:14   #25
almandrykin
Пользователь
 
Регистрация: 09.02.2015
Сообщений: 31
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Соболезную пользователям такой разработки. Ты хотел чтоб тут высказывались только по теме и не троллили? Уж извини, без этого не удастся. Ты выбрал далеко не лучшую архитектуру, потому не обессудь если пойдут насмешки.
Скорее бы уже
almandrykin вне форума Ответить с цитированием
Старый 10.02.2015, 23:32   #26
Vapaamies
Ваш К. О.
Участник клуба
 
Аватар для Vapaamies
 
Регистрация: 26.12.2012
Сообщений: 1,774
По умолчанию

Цитата:
Сообщение от almandrykin Посмотреть сообщение
Кстати, а в чём привлекательность трёхадресных инструкций? Я без иронии спрашиваю, а хочу понять.
Трехадресными инструкциями я интересовался. Не довелось пока писать под них кодогенератор, но в теории неразрушаемые аргументы должны значительно упростить реализацию вложенных вызовов, в том числе вызовов методов предков.

Цитата:
Сообщение от almandrykin Посмотреть сообщение
Самая большая проблема в том, чтобы совместить эти проекты - в компиляторе. Система "Хамелеон" с дуру написана с применением классов С++
То есть вы изначально написали неподъемное решение, потом расписались в неспособности сделать компилятор основного языка разработки, и в порыве угара от бессилия взялись пилить собственный процессор? Ха-ха-ха-ха! ← (смеюсь)

Ребята, это же несерьезно. Какими практическими применениями доказана эффективность этого вашего L4? Во скольких реальных железках он применяется? Сами немцы его используют? Сколько я ни видел практиков-встроенщиков, всем болт положить на теории, главное чтоб работало. Ради скорости и экономии ресурсов собирают всё максимально просто... Забыл термин, как это называют...

Цитата:
Сообщение от almandrykin Посмотреть сообщение
Кстати, о названии. Это была попытка "потроллить" разработчиков "Эльбруса".
Мы умные, мы поняли. У меня название по тому же принципу. В обоих случаях, правда, пока что гора родила мышь.
Vapaamies вне форума Ответить с цитированием
Старый 11.02.2015, 01:02   #27
almandrykin
Пользователь
 
Регистрация: 09.02.2015
Сообщений: 31
По умолчанию

Цитата:
Сообщение от Vapaamies Посмотреть сообщение
Трехадресными инструкциями я интересовался. Не довелось пока писать под них кодогенератор, но в теории неразрушаемые аргументы должны значительно упростить реализацию вложенных вызовов, в том числе вызовов методов предков.
Спасибо за информацию. А всем ли операциям полезны трехадресные инструкции? Например, для операции XOR она может быть полезна? Правильно ли я понял, что для упрощения вызовов достаточно лишь трёхадресной операции сложения?

Цитата:
То есть вы изначально написали неподъемное решение, потом расписались в неспособности сделать компилятор основного языка разработки, и в порыве угара от бессилия взялись пилить собственный процессор? Ха-ха-ха-ха! ← (смеюсь)
Такая версия тоже имеет право на жизнь
Но порыв угара от бессилия начался не с компилятора, а с переноса системы на 64 бита. Там своя история, медленная и печальная, связанная с тем, что авторы Pistachio интересовались работой 64-битной версии только на эмуляторе Bochs. На других виртуальных машинах Pistachio просто не стартовало.

Цитата:
Ребята, это же несерьезно. Какими практическими применениями доказана эффективность этого вашего L4? Во скольких реальных железках он применяется? Сами немцы его используют?
Все ответы на эти вопросы здесь: http://l4hq.org/

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

Нашу работу можно сравнить как если бы мы оторвали микроядро Neutrino из QNX и реализовали его в железе. Только вместо Neutrino мы переносим в железо маленькое синхронное микроядро L4. В результате мы ожидаем получить простое и нетребовательное к ресурсам решение. Гарантировать успех я не могу, но предпосылки к успеху имеются - например, знания о том как избежать взаимоблокировок при обмене синхронными сообщениями.

Последний раз редактировалось almandrykin; 11.02.2015 в 01:17.
almandrykin вне форума Ответить с цитированием
Старый 11.02.2015, 10:09   #28
Vapaamies
Ваш К. О.
Участник клуба
 
Аватар для Vapaamies
 
Регистрация: 26.12.2012
Сообщений: 1,774
По умолчанию

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

Цитата:
Сообщение от almandrykin Посмотреть сообщение
Нашу работу можно сравнить как если бы мы оторвали микроядро Neutrino из QNX и реализовали его в железе. Только вместо Neutrino мы переносим в железо маленькое синхронное микроядро L4.
В таком случае где в вашем ассемблере команды этого самого микроядра? Пока вижу только общеассемблерные. Где вообще дока ассемблера с расшифровкой команд? На сайте не нашел.
Vapaamies вне форума Ответить с цитированием
Старый 11.02.2015, 21:28   #29
almandrykin
Пользователь
 
Регистрация: 09.02.2015
Сообщений: 31
По умолчанию

Цитата:
Сообщение от Vapaamies Посмотреть сообщение
В таком случае где в вашем ассемблере команды этого самого микроядра?
В версии 1.1 инструкции микроядра занимают коды операций с 0x08 по 0x0e и с 0x70 по 0x77.

Вот тут рассказано про две инструкции - http://everest.l4os.ru/simple_scheduler/ . Однако, предполагаю что инструкция IDLE в будущем будет не нужна, её заменят инструкции SEND and RECV - инструкции передачи и приёма синхронных сообщений. Пока эта функциональность не реализована - мне бы не хотелось касаться деталей реализации. Остальные коды операций "микроядра" работают с параметрами операций передачи и приёма сообщений.

Цитата:
Сообщение от Vapaamies Посмотреть сообщение
Пока вижу только общеассемблерные. Где вообще дока ассемблера с расшифровкой команд? На сайте не нашел.
Теперь и Вы рисуйте звёздочку. Только не бейте - дока не готова. Не могу взять и заставить себя (или кого-то другого) чтобы документировать. В принципе, если кто-то следил за проектом с самого начала, то представление о принципах программирования он получил.

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

Последний раз редактировалось almandrykin; 11.02.2015 в 21:35.
almandrykin вне форума Ответить с цитированием
Старый 12.02.2015, 07:39   #30
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Очень могли бы помочь наводящие вопросы по ассемблеру или инструкциям
Мало информации - вопросы будут глупые или повторяться.
Я мельком только читал и потому опять же наивный вопрос - мне нужно например делать много вложенных вызовов (подпрограммы, вложенные циклы). Стек возвратов? Прерывания? Или какой-то другой механизм?
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разработка программного обеспечения, с кем обсудить? BioWat Общие вопросы по программированию, компьютерный форум 6 06.09.2013 01:05
Как узнать архитектуру процессора на неттопе? qewertyns Компьютерное железо 8 16.04.2013 23:22
Желающим обсудить идею создания он-лайн игры ringu2 Фриланс 0 03.01.2011 17:06
Какую архитектуру выбрать? k376 Помощь студентам 2 23.04.2008 23:57