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

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 94 ]  На страницу 1, 2, 3, 4, 5 ... 7  След.
Автор Сообщение
 Заголовок сообщения: разделение котлет от мух
СообщениеДобавлено: Сб апр 25, 2015 20:02 
<удалено из-за того, что коллега mOleg этого не понял>


Последний раз редактировалось gudleifr Пн июн 08, 2015 20:58, всего редактировалось 1 раз.

Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth на inline asm. Это реально?
СообщениеДобавлено: Вс апр 26, 2015 01:00 
Не в сети
Аватара пользователя

Зарегистрирован: Вт мар 20, 2007 23:39
Сообщения: 1261
Благодарил (а): 3 раз.
Поблагодарили: 19 раз.
Что мешает скомпилировать СПФ в dll? В девел где-то лежит либа для генераци длл из спф.

_________________
Cтоимость сопровождения программного обеспечения пропорциональна квадрату творческих способностей программиста.
Роберт Д. Блисc


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth на inline asm. Это реально?
СообщениеДобавлено: Вс апр 26, 2015 10:54 
<удалено из-за того, что коллега mOleg этого не понял>


Последний раз редактировалось gudleifr Пн июн 08, 2015 20:58, всего редактировалось 1 раз.

Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth на inline asm. Это реально?
СообщениеДобавлено: Вс апр 26, 2015 14:06 
<удалено из-за того, что коллега mOleg этого не понял>


Последний раз редактировалось gudleifr Пн июн 08, 2015 20:58, всего редактировалось 1 раз.

Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth на inline asm. Это реально?
СообщениеДобавлено: Вс апр 26, 2015 14:34 
Не в сети

Зарегистрирован: Ср фев 17, 2010 18:10
Сообщения: 323
Откуда: Тверь
Благодарил (а): 13 раз.
Поблагодарили: 11 раз.
Я не против, только вопрос как?

Возьмем пример из Fobos:

Next MACRO
lodsd
jmp eax
ENDM


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

Я был бы очень признателен за пример: слова Next, Call, Ret из Fobos на inlineAsm или на C++


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth на inline asm. Это реально?
СообщениеДобавлено: Вс апр 26, 2015 15:03 
<удалено из-за того, что коллега mOleg этого не понял>


Последний раз редактировалось gudleifr Пн июн 08, 2015 20:59, всего редактировалось 1 раз.

Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth на inline asm. Это реально?
СообщениеДобавлено: Вс апр 26, 2015 17:22 
<удалено из-за того, что коллега mOleg этого не понял>


Последний раз редактировалось gudleifr Пн июн 08, 2015 20:59, всего редактировалось 1 раз.

Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth на inline asm. Это реально?
СообщениеДобавлено: Вс апр 26, 2015 18:05 
Не в сети
Administrator
Administrator
Аватара пользователя

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

Специальное железо - это не которое ускоряет Форт до небывалых пределов. Оно должно выполнять действия вообще вне потока данных процессора (тезис "do not block the datapath"). Неверен сам подход, когда процессор работает в цикле "загрузили данные через шину - обработали в регистрах - выгрузили через шину". Это автоматически формирует бутылочное горлышко. Его можно усугубить, если тратить много тактов на стадии "обработали в регистрах", но принципиально расшить поток здесь не получится. Речь идет, конечно, о действительно высокопроизводительных вычислениях. Для PC игра в "компилятор-интерпретатор" тоже интересна, но остается на нижнем уровне. Потому что, например, 3D-графику в процессорной эмуляции ну никак не сделать, только с GPU. Отсюда и вопрос - за что мы боремся? У программы есть множество характеристик, из которых производительность - не единственная. Зачем же выжимать из кода какие-то пределы (тем более что их там и не особо много), если это создает проблемы? Важнее здесь понять сценарии использования. Для каких-то производительность будет совершенно не важна, для каких-то - приемлем и шитый код. А вот откладывание запуска рабочей версии до момента, когда будут выжаты еще +10% может быть совершенно неприемлемо. Фактически, программы нет, хотя можно было уже работать. А вместо этого идет шлифовка непонятно зачем нужного функционала.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth на inline asm. Это реально?
СообщениеДобавлено: Вс апр 26, 2015 21:58 
<удалено из-за того, что коллега mOleg этого не понял>


Последний раз редактировалось gudleifr Пн июн 08, 2015 20:59, всего редактировалось 1 раз.

Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth на inline asm. Это реально?
СообщениеДобавлено: Вс апр 26, 2015 22:39 
<удалено из-за того, что коллега mOleg этого не понял>


Последний раз редактировалось gudleifr Пн июн 08, 2015 21:00, всего редактировалось 1 раз.

Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth на inline asm. Это реально?
СообщениеДобавлено: Вс апр 26, 2015 23:12 
<удалено из-за того, что коллега mOleg этого не понял>


Последний раз редактировалось gudleifr Пн июн 08, 2015 21:00, всего редактировалось 1 раз.

Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth на inline asm. Это реально?
СообщениеДобавлено: Вс апр 26, 2015 23:26 
Не в сети

Зарегистрирован: Ср фев 17, 2010 18:10
Сообщения: 323
Откуда: Тверь
Благодарил (а): 13 раз.
Поблагодарили: 11 раз.
gudleifr писал(а):
Т.е. в D нет понятия указателя на функцию? А на фига нам такой язык?


Есть там указатель на функцию.
Я просто тренируюсь именно с ассемблера вызвать другую функцию. Основная задача, это получить
работающий форт на ассемблере, но внутри D модуля. Причем хочу не внешнею DLL, а именно внутри модуля.

Кстати, gudleifr, вот если бы вы реализовывали Fobos, какие слова должны быть реализованы первыми?
Как видеться вам их реализация. Желательно пример.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth на inline asm. Это реально?
СообщениеДобавлено: Вс апр 26, 2015 23:32 
<удалено из-за того, что коллега mOleg этого не понял>


Последний раз редактировалось gudleifr Пн июн 08, 2015 21:00, всего редактировалось 1 раз.

Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth на inline asm. Это реально?
СообщениеДобавлено: Пн апр 27, 2015 00:39 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Мне все же непонятно. Вот взят язык D. Какие именно сопутствующие вещи он привносит в проект целиком? Иными словами, если быстрее - то надо сразу на ассемблере. И удобнее, и размер кода меньше, и dll можно сделать. Но раз выбран D, то почему? Ведь у него есть какие-то положительные свойства, ради которых он использован. А раз так, то от них можно и оттолкнуться.

Если уже говорить про С-подобные языки, то вот это вызывает слова Форта. ReadCode(pc) вернет очередной адрес, перед этим идет объявление вида "указатель на функцию void()". Для gudleifr отдельное задание - разобраться, почему слова Форта должны быть оформлены как void() (ну или любым, но одинаковым образом).
Код:
void Step()
{
    void(*fword)();
    fword = (void(*)())ReadCode(pc);
    pc += sizeof(int);
    fword();
}


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth на inline asm. Это реально?
СообщениеДобавлено: Пн апр 27, 2015 01:01 
<удалено из-за того, что коллега mOleg этого не понял>


Последний раз редактировалось gudleifr Пн июн 08, 2015 21:01, всего редактировалось 1 раз.

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

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


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

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


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

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