Forth
http://fforum.winglion.ru/

ef \ esoteric forth \
http://fforum.winglion.ru/viewtopic.php?f=40&t=3244
Страница 12 из 15

Автор:  KPG [ Чт июл 28, 2022 03:45 ]
Заголовок сообщения:  Re: ef \ esoteric forth \

Обозначена разработка Yoda (Форта) на основе троичной логики.
https://github.com/gregorybednov/yoda

Автор:  KPG [ Сб июл 30, 2022 19:08 ]
Заголовок сообщения:  Re: ef \ esoteric forth \

Нужны или нет объекты Форту?
Ulrich Hoffmann Forth2020 #25 Tutorial:"Data Structures: Let's go for objects"

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

Автор:  _KROL [ Пн авг 08, 2022 16:38 ]
Заголовок сообщения:  Re: ef \ esoteric forth \

f02732 писал(а):
Это чем-то зашифровано?

Инопланетный Forth

Автор:  Total Vacuum [ Пн авг 08, 2022 19:20 ]
Заголовок сообщения:  Re: ef \ esoteric forth \

_KROL писал(а):
f02732 писал(а):
Это чем-то зашифровано?
Инопланетный Forth
Вполне себе земной... :) Даже "hello, world" почти по-человечески выглядит:
Код:
% c \ core \
% s \ stdio \
"hello" s

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

Автор:  KPG [ Пн авг 08, 2022 19:46 ]
Заголовок сообщения:  Re: ef \ esoteric forth \

Total Vacuum писал(а):
Надо было им дискетку с фортом дать, они бы самоуничтожились от умственного перенапряжения. :)

Какой то конкретной Форт системы (типа gForth) или сразу ForthCD (с местного форума) с набором их и софта сделанного на них? :)

P.S. Кстати, проверил как собирается последний gForth в рамках Linux64 - собрался в полной мере всего и с сообщениями, что проблем с производительносью не найдено (т.е. файлы gforth, gforth-ditc, gforth-fast), а под Linux 32 собрался только файл gforth-ditc.

Автор:  Sotnik [ Вт авг 09, 2022 13:05 ]
Заголовок сообщения:  Re: ef \ esoteric forth \

Total Vacuum писал(а):
_KROL писал(а):
f02732 писал(а):
Это чем-то зашифровано?
Инопланетный Forth
Вполне себе земной... :) Даже "hello, world" почти по-человечески выглядит:
Код:
% c \ core \
% s \ stdio \
"hello" s
Вспомнился какой-то фильм (название не помню), где земляне победили злобных пришельцев, заразив их компьютер вирусом, ага... :) Надо было им дискетку с фортом дать, они бы самоуничтожились от умственного перенапряжения. :)
Было круче: "А" и "Б" сидели на трубе. "А" упало, "Б" пропало. Как это будет на Форте? :)

Автор:  Total Vacuum [ Вт авг 09, 2022 19:54 ]
Заголовок сообщения:  Re: ef \ esoteric forth \

Sotnik писал(а):
"А" и "Б" сидели на трубе. "А" упало, "Б" пропало. Как это будет на Форте? :)
Ага, один железный шар сломал, другой - потерял. Не бывать этому в Форте! :)

Автор:  Total Vacuum [ Вт авг 09, 2022 19:59 ]
Заголовок сообщения:  Re: ef \ esoteric forth \

KPG писал(а):
Total Vacuum писал(а):
Надо было им дискетку с фортом дать, они бы самоуничтожились от умственного перенапряжения. :)
Какой то конкретной Форт системы (типа gForth) или сразу ForthCD (с местного форума) с набором их и софта сделанного на них? :)
:) Тут надо подумать хорошо. Хотелось бы, конечно, esoteric forth, но эту честь заслужить нужно. :) Тем более, что есть множество более достойных кандидатов. Что-то вспомнилась история с металлической пластинкой, на которой набили какие-то базовые сведения о Земле и ее обитателях и отправили курьером инопланетянам. Интересно, какой Форт был бы достоин попасть на такую металлическую пластинку? Понятно, что небольшой должен быть, т.к. места на пластинке мало, но все же... :D

Кстати, хрен знает этих инопланетян, может они вообще шитым кодом между собой разговаривают. И отца всех Фортов Мура через телескоп перепрошили. :D

Автор:  KPG [ Вс авг 14, 2022 22:40 ]
Заголовок сообщения:  Re: ef \ esoteric forth \

Новые презентации Forth 2020
(есть и по Forth в FPGA)

Автор:  Hishnik [ Пн авг 15, 2022 00:25 ]
Заголовок сообщения:  Re: ef \ esoteric forth \

Посмотрел... так сказать, проверил степень деградации.
Using low cost FPGA boards for FORTH - детский лепет. Во-первых, что мешало сделать развернутый анализ состояния рынка? Хотя бы систематизированно перечислить актуальные семейства ПЛИС. Во-вторых, с форт-процессорами та же сборная солянка - по сети надерганы ссылки. Наконец, в раскладке команд явно просматривается крайне малый опыт схемотехники. Ну и стандартная затычка - при 16-битной команде сделать литерал 15-битным... а там "сотни последователей разберутся".

µCore VHDL Code and Structure

"µCore has been ported to Xilinx (XC2S)," - мда... у меня уже платы с этими ПЛИС сгнили. Уже и XC3S, и даже XC6S сняты с производства.

Люди старательно и весело идут в тупик.

Автор:  Sotnik [ Пн авг 15, 2022 13:06 ]
Заголовок сообщения:  Re: ef \ esoteric forth \

KPG писал(а):
Новые презентации Forth 2020
(есть и по Forth в FPGA)
Большое спасибо!
С удовольствием просмотрел наработки по разным темам!!! :)
Как радикально международная группа отличается от нашего застоя...

И главное, что нет нытья по темам - люди делают свою работу,
оттачивая инструменты, и совершенствуя взаимодействия на таких презентациях!

Автор:  Total Vacuum [ Вт авг 16, 2022 20:43 ]
Заголовок сообщения:  Re: ef \ esoteric forth \

Минутка ностальгии... :D

Изображение

Бродилка под dendy(nes): http://totalvacuum.ru/nes3d.zip
Сразу скажу, что пока работает ну ооооооооочень медленно, поэтому в настройках эмулятора лучше снять галочку options->preferences->speed throttling - будет летать :) А если эта галочка стоит, то получается кадр в 1-2 секунды. Но если учесть, что сам процессор 6502 8-битный, работает на частоте 1.7(?)МГц, а на 8-битный глобус него приходится натягивать 16-битную сову 16-битный Форт и работать с 16-битной арифметикой (то еще удовольствие на 8-битках, на каждую 16-битную псевдоинструкцию приходится с десяток 8-битных), то это где-то даже фантастический результат. Да даже если сравнивать с arm, cortex и моей поделкой, где изначально было примерно то же самое, а именно - 1fps/MHz или около того. Да, безусловно, там с делением было, а тут - нет, но не суть.

По традиции, все вычисления на Форте. На асме сделаны только примитивы Форта (да и то пока не все), а также пересылка видеобуфера в видеоакселератор (PPU). Теперь надо бы по максимуму 8-битную арифметику задействовать, а в идеале - полностью под 8-бит переделать, переписать умножение, lshift и rshift на asm (пока они на Форте), тогда летать будет даже с галочкой speed throttling :)
Управление: вверх/влево/вправо.

Автор:  KPG [ Ср авг 17, 2022 16:06 ]
Заголовок сообщения:  Re: ef \ esoteric forth \

Total Vacuum писал(а):
Минутка ностальгии... :D .

А, кроме ностальгии Nes 6502 может быть полезна как одна из "идейных" основ реализации Форт процессора? :)

На https://opencores.org/projects есть и разные реализации 6502 (чтобы скачать какую то корку с сайта без регистрации достаточно в просмотре проекта Browse скопировать адрес ссылки и далее: wget -m <url> )

Можно, вероятно, на ходу перетранслировать команды 6502 в ядерные Forth FPGA для исполнения.
Проектов и Forth для 6502 много разных сделано и находятся и на Github.
MOS Technology 6502/Система команд

P.S. Для Linux собрал эмулятор Nestopia (в зависимостях минимум потребовалось сделать движений - libarchive и Fltk)

Сайт zx-pk.ru до сих пор под DDOS трафиком и не доступен публично и не почитать как идёт обсуждение темы Форт на нём.
Интервью с владельцем форума zx-pk.ru/forum по поводу DDOS атаки

Автор:  Total Vacuum [ Чт авг 18, 2022 11:32 ]
Заголовок сообщения:  Re: ef \ esoteric forth \

KPG писал(а):
А, кроме ностальгии Nes 6502 может быть полезна как одна из "идейных" основ реализации Форт процессора? :)
:) Не сказал бы, что 6502 так уж сильно заточен под Форт.

Даже если взять простую (но очень распространенную) операцию заталкивания числа в стек, то в 16-битном варианте оно выглядит примерно так:
Код:
`dex` `dex` `lda =0x12` `sta 0,x` `lda =0x34` `sta 1,x`
Т.е. 6 команд и 10 байт, на 2 байта полезной информации приходится 8 байт "воды" :)
Впрочем, это далеко не самый худший вариант. Например, в Thumb, если делать в лоб, можно родить что-то вроде
Код:
`sub r7,4` `mov r0,0x12` `strb r0,[r7]` `mov r0,0x34` `strb r0,[r7,1]` и т.д.
т.е. 9 команд, 18 байт на каждое 32-битное число. Можно, конечно, немного сэкономить:
Код:
`stmia r7!,{r0}` `ldr r0,[pc,4]` `b @f` `nop` `dd 0xDEADBEEF` `@@:`
4 команды (вместе с nop, который для выравнивания) и 12 байт (или 14, т.к. вся эта конструкция тоже должна выравниваться в коде). Наверное, можно убрать nop и заменить ldr r0,[pc,4] на ldr r0,[pc,2] для невыровненных данных, но не проверял, да и экономия мизерная.
Про ARM c его 4-байтными командами и "сверхспособностью" заталкивать за раз в регистр не больше байта я вообще молчу :)
Симпатичнее всего выглядит в Blackfin:
Код:
`[--sp]=r0;` `r0.l=0x1234;` `r0.h=0x5678;`
3 команды и 10 байт на 32-битное число.
Но тоже не идеал :) Я намеренно не рассматриваю более медленный и компактный вариант
Код:
call lit
db/dw/dd число 
каждый call весит 3-4 байта в зависимости от архитектуры, ну и плюс само число. Т.е для 32-битных чисел могло бы быть 7-8 байт, так тоже можно, если не важна скорость...
Но лучше все-таки иметь одну команду для заталкивания числа в стек. Или несколько, если команды имеют фиксированную ширину, не превышающую разрядность процессора. И размер ее (их), если оперировать 32-битными числами, должен быть не более 5 байт для архитектур с командами разной ширины и не более 8 байт для архитектур с моноширинными командами. Т.е. смысл в том, что "воды" в скомпилированном коде должно быть не больше 50%, чем меньше - тем лучше, но мне пока такое не попадалось... :)
Вот была бы в 6502 3-байтовая команда, которая уменьшает x на 2, а затем пишет двухбайтовое число в zero page со смещением x, а также аналоги команд inx/dex, меняющие значение в x на 2, то 6502 заиграл бы для фортеров новыми красками :)

По другим пунктам плюс-минус примерно то же самое, если сравнивать 6502 с остальными. Так что нельзя сказать, что он во всем сильно лучше или хуже любого другого процессора.

Впрочем, все это лирика, ведь Форт всеяден и прекрасно чувствует себя на любой архитектуре. Кстати, интересно, какой процессор самый неудобный для Форта? :)

Автор:  Sotnik [ Чт авг 18, 2022 17:38 ]
Заголовок сообщения:  Re: ef \ esoteric forth \

Total Vacuum писал(а):
Кстати, интересно, какой процессор самый неудобный для Форта? :)
два ядра процессора на основе CRISPR-Cas9 :)

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