Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Чт мар 28, 2024 13:19

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 22 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Вс авг 23, 2009 00:57 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
гм, я вот над этим делом тоже как раз недавно думал.
Классическим для Форта является не прямой, а косвенный ШК (ITC).
И вот в рамках его можно было бы сделать:
1) разрядность адресной ссылки и разрядность команды равны
2) вызов высокоуровневого определения и базовой команды выглядят одинаково

вспоминаем ITC
иными словами, код должен выглядеть как последовательность адресов (как бы все команда call), только первые несколько десятков таких ссылок будет отрабатываться как железные команды.

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вс авг 23, 2009 01:15 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
А зачем заставлять процессор постоянно выбирать из памяти адреса и прыгать по ним для исполнения команды, если он может просто исполнять команды? Все ухищрения с ШК проистекали из-за ограниченных ресурсов компьютеров и возможности перемещаться по шкале "компактность - производительность". А с ПЛИС ситуация как в анекдоте про девушку, которая разделась и села на колени - и что теперь, лихорадочно придумывать, как бы выпросить у нее номер телефона? :))
Для софт-процессоров вообще немного другие ориентиры. Разрядность адреса и команды означает... да целый ворох проблем. Во-первых, очень качественной и удобной накристальной памяти, как обычно, мало. Во-вторых, внешняя (существенно большего размера) то ли будет, то ли нет. Стековая машина позволяет существенно сократить количество опкодов, т.е. команд во всех вариантах, которых должно быть не больше, чем 2^разрядность. Но если при этом мы автоматически получим и адресов не больше, чем опкодов... :aaa;
Поэтому представленный процессор как раз и предназначен для более интенсивной загрузки блочной памяти ПЛИС, когда команда составляет всего один байт, но при этом разрядность и адресов, и данных может быть сколь угодно большой.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вс авг 23, 2009 12:59 
Не в сети

Зарегистрирован: Сб янв 26, 2008 18:23
Сообщения: 71
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Хищник писал(а):
та структура называется стеком возвратов
- я специально не использовал этот термин для того чтобы указать что данная структура должна не просто хранить адреса, но и активно их обрабатывать.

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

с уважением - Jelsay


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вс авг 23, 2009 14:17 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Jelsay писал(а):
я специально не использовал этот термин для того чтобы указать что данная структура должна не просто хранить адреса, но и активно их обрабатывать.

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

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн мар 08, 2010 04:29 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Уфф, не прошло и года, как оно наконец-то стало запускаться по F9 (в смысле опробовано в оболочке). На сей радостной, но тихой (поскольку половина четвертого утра, а бросить такое дело любопытство не позволяло) ноте отползаю дрыхнуть! :)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн мар 08, 2010 11:26 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
Хищник писал(а):
Уфф, не прошло и года, как оно наконец-то стало запускаться по F9 (в смысле опробовано в оболочке). На сей радостной, но тихой (поскольку половина четвертого утра, а бросить такое дело любопытство не позволяло) ноте отползаю дрыхнуть! :)
Стало запускаться что? эмулятор? или к Протеусу подключена клавиатура?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн мар 08, 2010 12:16 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
вопрос писал(а):
Стало запускаться что? эмулятор? или к Протеусу подключена клавиатура?

Программа на Форте компилируется в коды Протеуса и отправляется по USB->Serial в ПЛИС. Клавиатура - это обычный порт, это неинтересно (и уже сделано).


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

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


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

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


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

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