Forth
http://fforum.winglion.ru/

форт-процессор и... э... манипуляторы...
http://fforum.winglion.ru/viewtopic.php?f=3&t=2844
Страница 1 из 4

Автор:  WingLion [ Сб апр 28, 2012 14:41 ]
Заголовок сообщения:  форт-процессор и... э... манипуляторы...

Есть у форт-процессора одна особенность.
Его ресурсы довольно ограничены, хотя и позволяют многое делать очень быстро. В то же время, подключить к форт-процессору в ПЛИС много памяти (а много - это значит SD-RAM как минимум, a то и DDR и иже с ними) формально можно, но впихнуть в эту память стеки процессора - достаточно проблематично.
Вот и получается, что у форт-процессора своя память (внутри ПЛИС), свои стеки, а у Форта, который на этом форт-процессоре должен работать, память другая (внешняя SD-RAM) и стеки свои в ней.

И получается, что у форт-процессора свой Форт, а у программы, которая во внешней памяти находится (т.е. у юзеровской программы) Форт свой.

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

Данная ситуация есть в наличии. Это данность. И вопрос не в том, как все поменять до неузнаваемости, а в том, как работать в таких условиях.

А борьба с мельницами - это дело Дон-Кихота...

Есть Форт внутренний (прецессорный) и внешний (юзеровский).
Первый я назову Forth-A (Asm), а второй Forth-U (User).

Второй должен реализовываться средствами первого. При этом Внешняя SD-RAM память, являющаяся основной для второго, для первого является по сути внешним устройством.

Чтобы не путать команды внешнего и внутреннего фортов, я буду их называть одинаково, но в разных регистрах, т.е.

dup - это команда процессора, a DUP - слово внешнего форта.

И, разумеется, опредление вида: : DUP dup ; - совершенно бессмысленно.

Для того, чтобы внутренний форт работал для внешнего, надо брать данные внешнего стека, выполнять с ними операции и возвращать результаты назад.

Т.е. берем из внешнего стека N параметров, обрабатываем их на внутреннем стеке по принципу "кручу-верчу запутать-хочу" и результат этой мешанины возвращаем на внешний стек.

И вот тут-то возникает стойкое дежавю....

Где-то я видел этого Перца! (с) ...

А ведь это "натуральный комбинатор/манипулятор", о которых тут на форуме уже не первый год ведутся разные споры. И я, кажется, в тот котел даже свои какашки подкидывал...

Короче, пойду ка я темы про манипуляторы перечитывать заново...

Автор:  Hishnik [ Сб апр 28, 2012 19:45 ]
Заголовок сообщения:  Re: форт-процессор и... э... манипуляторы...

Вообще, встроенные системы в районе 32-64-128 кб кода хорошо себя чувствуют на "внутреннем" Форте. Зачем еще внешний?

Автор:  WingLion [ Сб апр 28, 2012 21:49 ]
Заголовок сообщения:  Re: форт-процессор и... э... манипуляторы...

Форту то 32кб хватит, вот только для обработки видео этой памяти маловато...
кроме того, хочется, чтобы приборчик можно было программировать на ходу во время работы, а под компилятор тоже нужна память, короче, внешний форт на внешней памяти просто нужен.

А в перспективе, если делать комп на форт-проце, то оставлять незадействованными 64 мегабайта SD-RAM было бы совсем некузяво...

Автор:  Hishnik [ Сб апр 28, 2012 21:55 ]
Заголовок сообщения:  Re: форт-процессор и... э... манипуляторы...

WingLion писал(а):
Форту то 32кб хватит, вот только для обработки видео этой памяти маловато...
кроме того, хочется, чтобы приборчик можно было программировать на ходу во время работы, а под компилятор тоже нужна память, короче, внешний форт на внешней памяти просто нужен.

А в перспективе, если делать комп на форт-проце, то оставлять незадействованными 64 мегабайта SD-RAM было бы совсем некузяво...

Так я же не про объем доступной процессору памяти, а про размеры тех проектов, которые на форт-процессорах крутятся. Им никакого внешнего Форта не нужно, и стек форт-процессора и есть стек Форта.

Автор:  WingLion [ Сб апр 28, 2012 22:17 ]
Заголовок сообщения:  Re: форт-процессор и... э... манипуляторы...

Хищник писал(а):
Им никакого внешнего Форта не нужно, и стек форт-процессора и есть стек Форта.


Дык, да, внутреннему Форту внешний Форт как бы по боку... Но дело то в том, что прибор делается для пользователя, а не для удобства внутреннего Форта.
А вот пользователю нужно, чтобы у него был нормальный форт, который не валился бы, когда в стек запихали пару десятков слов и не ругался на отсутствие памяти, когда программист напишет
CREATE 64К-MASSIVE 10000 ALLOT

Автор:  вопрос [ Сб апр 28, 2012 22:39 ]
Заголовок сообщения:  Re: форт-процессор и... э... манипуляторы...

Хищник не хочет ли сказать :( :( сложность этой задачи достаточно велика и упростить её выбором средств - то ли манипуляторов то ли других - думаю - нельзя

видимо, некоторой переделки процессора не избежать, причём он должен стать сложнее
:?

Автор:  WingLion [ Сб апр 28, 2012 22:59 ]
Заголовок сообщения:  Re: форт-процессор и... э... манипуляторы...

вопрос писал(а):
видимо, некоторой переделки процессора не избежать, причём он должен стать сложнее


Как интересно. И чего же ему (процессору) не хватает?

Автор:  mOleg [ Сб апр 28, 2012 23:01 ]
Заголовок сообщения:  Re: форт-процессор и... э... манипуляторы...

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

Автор:  вопрос [ Сб апр 28, 2012 23:08 ]
Заголовок сообщения:  Re: форт-процессор и... э... манипуляторы...

WingLion писал(а):
Как интересно. И чего же ему (процессору) не хватает?

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

а что третий интерпретатор - стековые манипуляторы? а можно ли считать их интерпретаторами? Даже наложить один форт на другой - задача нетривиальная, если нужна скорость, хм, это вроде такого
http://dic.academic.ru/dic.nsf/enc_mathematics/53/АВТОМАТОВ

Автор:  Гость [ Сб апр 28, 2012 23:16 ]
Заголовок сообщения:  Re: форт-процессор и... э... манипуляторы...

вопрос писал(а):
WingLion писал(а):
Как интересно. И чего же ему (процессору) не хватает?

для начала не хватает возможности держать стек любого размера в памяти, а все остальные сложности - проистекают
А почему Fort-A держит "стек", а не набор команд для организации бесконечного количества стека бесконечного размера?

Автор:  WingLion [ Сб апр 28, 2012 23:54 ]
Заголовок сообщения:  Re: форт-процессор и... э... манипуляторы...

mOleg писал(а):
ндя, необходимо написать интерпретатор поверх интерпретатора, затем, поверх еще интерпретатор,


А это то зачем?

Интерпретатор один на всех...



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


Программная реализация "любого стека" чем не устраивает?

вопрос писал(а):
а что третий интерпретатор - стековые манипуляторы? а можно ли считать их интерпретаторами?


Зачем обсуждать заведомую ерунду? никаких третьих, вторых и т.п. интерпретаторов нет. Интерпретатор один...

Автор:  WingLion [ Сб апр 28, 2012 23:55 ]
Заголовок сообщения:  Re: форт-процессор и... э... манипуляторы...

Гость писал(а):
А почему Fort-A держит "стек", а не набор команд для организации бесконечного количества стека бесконечного размера?


А кто сказал, что его набора команд для этого не достаточно? Сами придумали?

Автор:  Гость [ Вс апр 29, 2012 00:05 ]
Заголовок сообщения:  Re: форт-процессор и... э... манипуляторы...

WingLion писал(а):
А кто сказал, что его набора команд для этого не достаточно? Сами придумали?
Сказал это вопрос, но если это неправда, то о чем мы вообще говорим?
Для тупых: форт не потому работает со стеком, что это самый удобный способ обработки данных, а потому, что так проще всего. Если кто-то даст проц более умный, чем изначальная "IBM 360", то и Forth будет чем-то иным, чем предлагал Мур в 70-м. Forth, это не язык, а способ решения проблемы.

Автор:  Hishnik [ Вс апр 29, 2012 00:22 ]
Заголовок сообщения:  Re: форт-процессор и... э... манипуляторы...

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

Напротив, задача довольно проста. А манипулятор - это не актуальное средство. В том смысле, что задача, которую решают манипуляторы, изначально не ставится перед системами на Форте, а всего лишь появляется, когда программист хочет использовать Форт для не вполне подходящих целей.

Автор:  вопрос [ Вс апр 29, 2012 00:24 ]
Заголовок сообщения:  Re: форт-процессор и... э... манипуляторы...

WingLion писал(а):
Программная реализация "любого стека" чем не устраивает?

Цитата:
В то же время, подключить к форт-процессору в ПЛИС много памяти (а много - это значит SD-RAM как минимум, a то и DDR и иже с ними) формально можно, но впихнуть в эту память стеки процессора - достаточно проблематично.
Это же не я сказал
Гость писал(а):
Для тупых

Предлагаю позволять обзываться только залогиненным пользователям, а то некрасиво

Страница 1 из 4 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/