Forth
http://fforum.winglion.ru/

5.1 Базовая модель Форт-Машины
http://fforum.winglion.ru/viewtopic.php?f=36&t=2233
Страница 7 из 8

Автор:  Hishnik [ Вт авг 25, 2009 11:55 ]
Заголовок сообщения: 

mOleg писал(а):
предлагаю передышку в обсуждении на время ознакомления с http://fforum.winglion.ru/viewtopic.php?t=2250


Аспирантская публикация. Отзыв можно дать, акт внедрения вряд ли.

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

А я не считаю, т.к. он не является базой, недостаточно распространен, а главное, неестественен для форт-машины.

Автор:  mOleg [ Вт авг 25, 2009 19:13 ]
Заголовок сообщения: 

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

http://www.bradrodriguez.com/papers/moving1.htm
Цитата:
Indirect Threaded Code (ITC)
This is the classical Forth threading technique, used in fig- Forth and F83, and described in most books on Forth. All the other threading schemes are "improvements" on this, so you need to understand ITC to appreciate the others.

можно спорить и дальше, и приводить ссылки еще.
Только вот ведь Хищник всеравно свое мнение не поменяет, как обычно.

Автор:  вопрос [ Вт авг 25, 2009 19:22 ]
Заголовок сообщения: 

Цитата:
mOleg писал(а):
я все-таки считаю косвенный шитый код наилучшим вариантом, т.к. он является базой и наиболее распространен, а главное, он является наиболее естественной моделью форт-машины.

А я не считаю, т.к. он не является базой, недостаточно распространен, а главное, неестественен для форт-машины.

неестественен? (код-извращенец? :)) )

Автор:  Hishnik [ Вт авг 25, 2009 19:24 ]
Заголовок сообщения: 

mOleg писал(а):
http://www.bradrodriguez.com/papers/moving1.htm

Ну зови его сюда, пусть пообщается и докажет, что косвенный ШК - лучший вариант. Что за отношение? Это где-то завелись великие форт-гуру, которые сказали - как отрезали?
mOleg писал(а):
Indirect Threaded Code (ITC)
This is the classical Forth threading technique, used in fig- Forth and F83, and described in most books on Forth. All the other threading schemes are "improvements" on this, so you need to understand ITC to appreciate the others.

Классика - это Пушкин и Толстой. На заборе тоже написано, а при желании можно на него и ссылку дать. Вообще попрошу списочек фамилий, на которые мне надо делать "ку", дабы я убедительно пояснил неприятие общества с цветовой дифференциацией штанов.

Автор:  вопрос [ Вт авг 25, 2009 19:46 ]
Заголовок сообщения: 

Цитата:
Классика - это Пушкин и Толстой. На заборе тоже написано, а при желании можно на него и ссылку дать. Вообще попрошу списочек фамилий, на которые мне надо делать "ку", дабы я убедительно пояснил неприятие общества с цветовой дифференциацией штанов.
чтобы уйти от эмоций, я скромно замечу, что классика в любом деле - это то. что наилучшим образом отображает базовую идею...
Если mOleg считает, что форт как замысел лучше всего поняттен в КШК ...

Автор:  mOleg [ Вт авг 25, 2009 19:49 ]
Заголовок сообщения: 

вопрос писал(а):
Если mOleg считает, что форт как замысел лучше всего поняттен в КШК

это даже не мое мнение 8)
похоже, надо еще и moving forth перевести 8) чтобы остальным стало понятно.

Автор:  mOleg [ Чт авг 27, 2009 18:20 ]
Заголовок сообщения: 

<center>Шитый код и адресный интерпретатор.</center>

Исполняемый код в Форт-системе типично выглядит следующим образом (рис.1).
Имеется указатель IP (interpretation\instruction pointer), указывающий на адрес, в котором хранится следующий токен.

<center>Изображение</center>
<center>Рисунок 1.</center>

Токен может содержать как адрес вложенного определения, так и быть исполнимым (рис.2)

<center>Изображение</center>
<center>Рисунок 2.</center>
Адресный интерпретатор делает очень простую вещь, берет содержимое токена, на который указывает IP и в зависимости от того, исполнимый это токен, или адрес вложенной цепочки либо исполняет токен, либо сохраняет текущее значение IP в регистре RTOPS (содержимое RTOS заталкивается в стек возвратов), а в IP сохраняет указанный адрес. После чтения текущего токена каждый раз значение IP увеличивается на размер токена. После чего операция повторяется.

Подобное представление исполнимого кода называется Шитым Кодом, а механизм обработки(исполнения) такого кода называется адресной интерпретацией. Существует множество возможных видов ШК, в которых токены могут представляться различным образом, в том числе это может быть ассемблерный код целевой платформы.

В представленном на рис.1 фрагменте шитого кода рассматривается вариант(ы) представления классического для форта косвенного шитого кода, в котором каждый адрес рассматривается как новая команда процессора (по сути каждое новое определение есть новая команда процессора, хотя и многотактная). Пунктиром обозначены участки, отвечающие за формирование команд процессора, называемые низкоуровневыми определениями, которые отсутствуют на реальном процессоре, но обязательны для ВМ.
По-сути, низкоуровневые определения - это куски естественного для данной архитектуры процессора кода, с помощью которых реализованы базовые команды форт-процессора.

Автор:  mOleg [ Чт авг 27, 2009 18:48 ]
Заголовок сообщения: 

WingLion писал(а):
Итак, рассмотрим слово самого нижнего уровня.
Считая (для простоты), что все слова состоят из 3-5 токенов (в среднем 4), посчитаем, сколько исполняется слово уровня N.

возьми любую форт-систему, и посчитай среднее количество токенов в ней. Твои прикидки сомнительны шибко.

WingLion писал(а):
Исходя из этих цифр можно очень просто сказать, какую часть форт-машины надо ускорять, а какую можно ускорять во вторую очередь.

вы опять ко мне со своими оптимизациями 8( я ведь пытаюсь модель базовую изобразить!
а уж как там битики в железе или в коде лягут дело следующих глав и конкретных проектов(железяк)

WingLion писал(а):
Так или иначе, наибольшее время тратится именно на исполнение примитивов, а не на лазание по адресам, хотя и лазание по адресам влияет и не слабо.

в любом случае количество адресных ссылок остается одинаковым!!!

Автор:  mOleg [ Пт авг 28, 2009 18:34 ]
Заголовок сообщения: 

добавились подписи на картинке в http://fforum.winglion.ru/viewtopic.php?p=23399#23399
небольшие правки в описании

Автор:  вопрос [ Пт авг 28, 2009 19:50 ]
Заголовок сообщения: 

Цитата:
вы опять ко мне со своими оптимизациями 8( я ведь пытаюсь модель базовую изобразить!

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

Автор:  вопрос [ Пт авг 28, 2009 19:56 ]
Заголовок сообщения: 

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

Автор:  mOleg [ Пт авг 28, 2009 20:11 ]
Заголовок сообщения: 

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

оптимизация = это всегда различные частности, которые лишь корректируют базовую модель.

вопрос писал(а):
и - хочу добавить, из-за того, что раньше это не было на уме, это начинает вызывать ...

этого чего? не понял

Автор:  вопрос [ Пт авг 28, 2009 20:22 ]
Заголовок сообщения: 

Цитата:
оптимизация = это всегда различные частности, которые лишь корректируют базовую модель.

вот нет, оптимизация - это некоторая логика, которая дополняет или даже изменяет базовую модель, если не ... эээ саму базовую модель, то её привычное понимание - точно.
Цитата:
этого чего? не понял
то, что организовать оптимизацию легче, если думал с самого начала, т.к. алгоритм достаточно сложен

Автор:  mOleg [ Пт авг 28, 2009 20:40 ]
Заголовок сообщения: 

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

если нет понимания базовой модели, то оптимизация не нужна.
если есть понимание основ, можно заниматься оптимизацией.
в этой теме разбираются именно основы, оптимизация и возможные ее варианты в другом месте.

вопрос писал(а):
Цитата:этого чего? не понял то, что организовать оптимизацию легче, если думал с самого начала, т.к. алгоритм достаточно сложен

кто там сказал из известных?: "сначала пусть оно заработает, оптимизируйте потом". Или как то так 8)

Автор:  WingLion [ Пт авг 28, 2009 22:37 ]
Заголовок сообщения: 

mOleg писал(а):
сначала пусть оно заработает, оптимизируйте потом


А у нас что, ФОРТ НЕ РАБОТАЕТ???

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