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: форт-процессор и... э... манипуляторы... |
ндя, необходимо написать интерпретатор поверх интерпретатора, затем, поверх еще интерпретатор, а затем начать оптимизировать скорость выполнения Имхо, где-то что-то слишком усложняется не в том месте. |
Автор: | вопрос [ Сб апр 28, 2012 23:08 ] |
Заголовок сообщения: | Re: форт-процессор и... э... манипуляторы... |
WingLion писал(а): Как интересно. И чего же ему (процессору) не хватает? для начала не хватает возможности держать стек любого размера в памяти, а все остальные сложности - проистекают mOleg писал(а): ндя, необходимо написать интерпретатор поверх интерпретатора, затем, поверх еще интерпретатора, а затем начать оптимизировать скорость выполнения а что третий интерпретатор - стековые манипуляторы? а можно ли считать их интерпретаторами? Даже наложить один форт на другой - задача нетривиальная, если нужна скорость, хм, это вроде такого http://dic.academic.ru/dic.nsf/enc_mathematics/53/АВТОМАТОВ |
Автор: | Гость [ Сб апр 28, 2012 23:16 ] |
Заголовок сообщения: | Re: форт-процессор и... э... манипуляторы... |
вопрос писал(а): WingLion писал(а): Как интересно. И чего же ему (процессору) не хватает? для начала не хватает возможности держать стек любого размера в памяти, а все остальные сложности - проистекают |
Автор: | 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/ |