Forth
http://fforum.winglion.ru/

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

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

Хищник писал(а):
Тут надо разъяснять, почему, например, слово + работает сразу с двумя ячейками, и где находится верхнее число, когда это слово пытается добраться до второго операнда. Для аппаратной форт-машины доступ к двум ячейкам крайне желателен, иначе у нас появляется многотактный доступ к стеку из АЛУ.

гм, а вот зачем объяснять? по крайней мере это.
TOP ведет себя не как стек, стек начинается с SUB и это в обоих рисунках отражено.
При создании процессора его разработчик может быть захочет и многотактный доступ сделать, но это уже его "тараканы".

Хищник писал(а):
mOleg писал(а):в форте он так работает
Так и обсуждается Форт-машина.

но это не означает, что надо пользоваться специфичными только для форта терминами.
(по крайней мере такие термины надо предварительно пояснить)

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

вопрос писал(а):
Цитата:собственно, тема открыта для других предожений!)
нарисуйте свой вариант, мы и его будем обсуждать (касается всех заинтересованных)
некий рисунок я помещал

да, но то был не рисунок форт-машины.

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

вопрос писал(а):
некий рисунок я помещал


Только проблемка маленькая, сей рисунок, по всей видимости понятен только его Автору.
И явно никак не согласуется с первыми двумя :(

Автор:  WingLion [ Сб авг 15, 2009 20:30 ]
Заголовок сообщения: 

mOleg писал(а):
При создании процессора его разработчик может быть захочет и многотактный доступ сделать, но это уже его "тараканы".


Кстати, в этом смысле, серые стрелки(проходящие сквозь IP) на моем рисунке убирать незачем, потому что двухтактное прохождение из TOP в RTOP и обратно все равно останется.

Автор:  vikt [ Сб авг 15, 2009 20:41 ]
Заголовок сообщения: 

Извините, что вмешиваюсь. Мне кажется реализовать swap dup итд для виртуальной машины
настолько пРОсто и доступно любому чайнику, что особо заморачиватся не стоит.
Наверно лишние регистры, это забота оптимизаторов, зависящих от конкретной
архитектуры.

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

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

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

что при этом является функциональными частями?

Автор:  Hishnik [ Сб авг 15, 2009 20:59 ]
Заголовок сообщения: 

vikt писал(а):
Извините, что вмешиваюсь. Мне кажется реализовать swap dup итд для виртуальной машины
настолько пРОсто и доступно любому чайнику, что особо заморачиватся не стоит.

Вообще да. В программе можно весьма свободно перемещать данные между разными массивами, имитирующими стеки и регистры. Перечень слов необходимо привести просто чтобы не было совсем уж анархии.

Автор:  mOleg [ Сб авг 15, 2009 21:02 ]
Заголовок сообщения: 

vikt писал(а):
Извините, что вмешиваюсь. Мне кажется реализовать swap dup итд для виртуальной машины
настолько пРОсто и доступно любому чайнику, что особо заморачиватся не стоит.
Наверно лишние регистры, это забота оптимизаторов, зависящих от конкретной
архитектуры.

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

вопрос писал(а):
мне кажется, что лучше описать машину не структурно, а функционально

одно не исключает другого на самом деле. Рисунок нужен лишь для большей наглядности.
Описание в словах, оно всегда хуже, чем описание с картинкой 8)

Автор:  вопрос [ Сб авг 15, 2009 21:06 ]
Заголовок сообщения: 

Цитата:
Рисунок нужен лишь для большей наглядности.
Описание в словах, оно всегда хуже, чем описание с картинкой

Если я реализовал форт на С без никаких регистров - это форт или нет?
Тут есть форт-машина? А куда тогда указывает схема с релистрами?
Если мы реализовали эмулятор форта - что тут ФМ?

Автор:  WingLion [ Сб авг 15, 2009 21:10 ]
Заголовок сообщения: 

вопрос писал(а):
Если я реализовал форт на С без никаких регистров - это форт или нет?
Тут есть форт-машина? А куда тогда указывает схема с релистрами?
Если мы реализовали эмулятор форта - что тут ФМ?


Есть у меня подозрение, что самого СИ без регистров не бывает...

Автор:  вопрос [ Сб авг 15, 2009 21:15 ]
Заголовок сообщения: 

Цитата:
Есть у меня подозрение, что самого СИ без регистров не бывает...

Да, хороший юмор ...

а определение форт-машины?

Автор:  mOleg [ Сб авг 15, 2009 21:16 ]
Заголовок сообщения: 

вопрос писал(а):
Если я реализовал форт на С без никаких регистров - это форт или нет?

ну, попробуй без них обойтись :)) :)) :))

ведь регистры не обязаны явно присутвовать, на самом-то деле 8)

вопрос писал(а):
Если мы реализовали эмулятор форта - что тут ФМ?

эмулятор форта - это сильно.
Как это?

Автор:  вопрос [ Сб авг 15, 2009 21:21 ]
Заголовок сообщения: 

Цитата:
эмулятор форта - это сильно.
эмулятор процессора, конечно

на С я могу просто не вспоминать о регистрах = возхникает вопрос - существенно ли упоминание этих самых регистров в
определении ФМ

ну, если реализуя форт, я могу про них не вспоминать? 8)

Автор:  WingLion [ Сб авг 15, 2009 21:25 ]
Заголовок сообщения: 

вопрос писал(а):
а определение форт-машины?


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

Автор:  mOleg [ Сб авг 15, 2009 21:26 ]
Заголовок сообщения: 

вопрос писал(а):
Цитата:эмулятор форта - это сильно. эмулятор процессора, конечно

вот тогда давай разделять ФВМ, от эмулятора процессора и от форт-процессора. Это три разные вещи 8)

вопрос писал(а):
на С я могу просто не вспоминать о регистрах

да неужели?
что по-твоему тогда регистр?

вопрос писал(а):
ну, если реализуя форт, я могу про них не вспоминать?

вот не сможешь 8)

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