Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Вт июн 18, 2019 19:24

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 13 ] 
Автор Сообщение
 Заголовок сообщения: Forth-процессор от whiteTigr-а
СообщениеДобавлено: Чт авг 16, 2012 16:25 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 6661
Благодарил (а): 15 раз.
Поблагодарили: 107 раз.
whiteTigr развлекается. Развлекается, надо сказать, довольно продвинуто, так что необходимость тех или иных технических решений будет понятна только при наличии определенного практического опыта.
http://habrahabr.ru/post/149686/


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth-процессор от whiteTigr-а
СообщениеДобавлено: Ср дек 12, 2018 08:51 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Ср дек 06, 2006 09:23
Сообщения: 640
Благодарил (а): 6 раз.
Поблагодарили: 25 раз.
после некоторого шаманства (в основном распределение выводов, разбора принципа работы, перенаправления "отладочных/визуальных" сигналов) процессор успешно завёлся на плате Terasic DE0-CV.

В процессе разборок с кодом и внутренними сигналами добавлен стек счетчиков циклов (да, решение спорное, но.....теперь работает)), на его основе добавлены простейшие команды DO .. LOOP.

Для удобства работы на ассемблере данного процессора добавлены BEGIN ... UNTIL.

Модификация операций с 1/2 операндами достаточно проста и оставлена на "для конкретной задачи".

Проц уместился в 3% от Cyclon V. В силу полного в этом незнания никакие оптимизации и пр. не настраивались и не проводились (да пока и ни к чему).

как говорится - решение рабочее, интересное, рекомендую )))


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth-процессор от whiteTigr-а
СообщениеДобавлено: Ср дек 12, 2018 13:00 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 809
Благодарил (а): 1 раз.
Поблагодарили: 7 раз.
С LIT весьма интересное решение на мой непрофессиональный взгляд.

_________________
Цель: сделать 64-битную Нову под Винду


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth-процессор от whiteTigr-а
СообщениеДобавлено: Ср дек 12, 2018 14:08 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Ср дек 06, 2006 09:23
Сообщения: 640
Благодарил (а): 6 раз.
Поблагодарили: 25 раз.
Victor__v писал(а):
С LIT весьма интересное решение на мой непрофессиональный взгляд.


согласен - очень элегантно. а главное - можно любую разрядность делать (ну в пределах 32 бит без корректировки кода)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth-процессор от whiteTigr-а
СообщениеДобавлено: Чт дек 13, 2018 01:20 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 6661
Благодарил (а): 15 раз.
Поблагодарили: 107 раз.
Есть несколько моментов:
1. WhiteTigr использовал 9-битную команду, и это хорошо ложится на 18-разрядную память в ПЛИС. Тогда одна команда загружает 8 бит, а не 7, как было бы в 8-битной команде. Если память будет не 1-2 блока, а больше, синтезатор может переупаковать блоки, сделав, к примеру, 8 блоков по 1 биту. Если блоков получается мало, экономии не будет, потому что 9-й бит будет просто пропадать. Сколько разрядов отдавать на команду, и сколько там будет разрядов для литерала - вопрос оптимизации.
2. Есть вариант разделения литералов с помещением на стек "затравки" (проще всего 0) специальной "не литеральной" командой. После этого следующие литералы вдвигают себя в вершину стека, не пытаясь что-то положить. Затравок может быть несколько. Тогда варианты такие

0 NOP 0 - кладем два нуля, между ними придется ставить NOP, чтобы завершить формирование первого литерала
LIT0 LIT0 - две команды-затравки, нет NOP между ними, потому что каждая кладет новое число на стек

Однако
0x123 NOP 0x1FF - положили два числа тремя командами

LIT0 0x23 LIT0 0x1FF - нужны четыре команды, потому что в предыдущем варианте короткие литералы кладутся сразу, а в этом литерал всегда начинается с нуля

Нулями, кстати, удобно включать-выключать флаги в периферийных регистрах, если добавить еще LIT1, кладущий в качестве затравки 1.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth-процессор от whiteTigr-а
СообщениеДобавлено: Ср фев 27, 2019 06:08 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Ср дек 06, 2006 09:23
Сообщения: 640
Благодарил (а): 6 раз.
Поблагодарили: 25 раз.
В рамках эксперимента после продолжительных плясок с бубном (немного вру, ибо есть только "посох дождя", а бубен надо таки сделать/купить)) и терзаний мэтров тупыми вопросами (благо география страны не позволяет им меня так просто побить))) к Форт-процессору от WhiteTiger (со всеми модификациями, указанными выше, плюс пара-тройка новых) был прикручен/адаптирован маленький, но мощный и интересный питоновский компилятор.
Отчёт/статья о деталях процесса - в работе, следите за рекламой)
Os/ если конечно мэтрами не будет наложен запретина распространение тайных знаний))))


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth-процессор от whiteTigr-а
СообщениеДобавлено: Ср фев 27, 2019 12:35 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 6661
Благодарил (а): 15 раз.
Поблагодарили: 107 раз.
Так тайное знание не потому тайное, что какие-то простые вещи держат в секрете, а потому что этим оперировать на практике оказывается нетривиально. Собственно, процесс разработки это же и показал :) И это в процессоре уже давно убраны всякие "маленькие хитрости", которые могут казаться приятными, а на деле все просто будет неустойчиво работать.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth-процессор от whiteTigr-а
СообщениеДобавлено: Ср фев 27, 2019 13:47 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Ср дек 06, 2006 09:23
Сообщения: 640
Благодарил (а): 6 раз.
Поблагодарили: 25 раз.
Возможно "маленькие хитрости" в процессор невольно вернулись))))

По поводу нетривиальности....возникают сложности при реализации проекта, написанного на языке, который не знаешь, да ещё и забыл), плюс недостаток ПЛИСовой практики сказывается.

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


В целом же....приключение сродни "Хоббит. Туда и обратно" )))


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth-процессор от whiteTigr-а
СообщениеДобавлено: Ср фев 27, 2019 13:55 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 6661
Благодарил (а): 15 раз.
Поблагодарили: 107 раз.
Хорошая иллюстрация к вопросу "а давайте везде сделаем open source, и тогда сразу все во всем разберутся и улучшат". Вот вывалил бы я процессор на гитхаб - там бы он благополучно и застрял, с десятком скачиваний "посмотрим-посмотрим" и парой долгостроев.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth-процессор от whiteTigr-а
СообщениеДобавлено: Ср фев 27, 2019 17:59 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Ср дек 06, 2006 09:23
Сообщения: 640
Благодарил (а): 6 раз.
Поблагодарили: 25 раз.
На самом деле той заготовки, что представлена была вполне хватает (ну плюс если ещё литературы почитать и первоисточники потерзать))).

Подход - рисуем кружочек, рисуем остальную сову - вот самое оно. Особенно, когда не привязан особо ни к требованиям по системе команд, ни по скорости. (Для ПЛИС, софт-ядро же вещь вспомогательная, ибо все что надо что б было быстро - делается логикой аппаратно...).
Совместимость по коду...зачем? Все проще вынести на уровень компилятора - или фортовского, или любого другого ЯВУ.

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth-процессор от whiteTigr-а
СообщениеДобавлено: Чт фев 28, 2019 07:07 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 1037
Благодарил (а): 3 раз.
Поблагодарили: 35 раз.
Где будет опубликована статья?
Если на хабр, то логично продолжение статьи от whiteTigr.

P.S. Интересно посмотреть и полученные Форт-Бенчмарки на данном решении.
На хабр добавили возможность монетного поощрения автора статьи (Яндекс деньги, Paypal, Webmoney)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth-процессор от whiteTigr-а
СообщениеДобавлено: Чт фев 28, 2019 10:27 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Ср дек 06, 2006 09:23
Сообщения: 640
Благодарил (а): 6 раз.
Поблагодарили: 25 раз.
Данный вопрос пока не обсуждался, но хотелось бы учесть и политические и коммерческие интересы авторов)))
Ну и не пожертвовать при этом доступностью статьи)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth-процессор от whiteTigr-а
СообщениеДобавлено: Сб мар 02, 2019 02:00 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 6661
Благодарил (а): 15 раз.
Поблагодарили: 107 раз.
KPG писал(а):
P.S. Интересно посмотреть и полученные Форт-Бенчмарки на данном решении.

Форт-процессор нужен, чтобы управлять аппаратурой. Бенчмарки для него в принципе неважны, поскольку в ПЛИС основная работа выполняется аппаратными ускорителями, а процессор должен заниматься управлением. Затягивать данные в процессорное ядро, обрабатывать их там и выдавать наружу - тупиковый путь, он упрется в предельные частоты. Как насчет 100-120 Gop/s? У процессора сегодня не может быть частоты 120 ГГц, но именно столько операций выполняется в одной из систем, которой управляет форт-процессор. Поэтому его бенчмарки ни о чем не скажут.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 13 ] 

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB