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

...
Google Search
Forth-FAQ Spy Grafic

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




Ответить
Имя пользователя:
Заголовок:
Текст сообщения:
Введите текст вашего сообщения. Длина сообщения в символах не более: 60000

Размер шрифта:
Цвет шрифта
Настройки:
BBCode ВКЛЮЧЕН
[img] ВЫКЛЮЧЕН
[flash] ВЫКЛЮЧЕН
[url] ВКЛЮЧЕН
Смайлики ВЫКЛЮЧЕНЫ
Отключить в этом сообщении BBCode
Не преобразовывать адреса URL в ссылки
Вопрос
Теперь гостю придется вводить здесь пароль. Не от своей учетной записи, а ПАРОЛЬ ДЛЯ ГОСТЯ, получить который можно после регистрации на форуме через ЛС.:
Этот вопрос предназначен для выявления и предотвращения автоматических регистраций.
   

Обзор темы - A FPGA based Forth microprocessor
Автор Сообщение
  Заголовок сообщения:  Re: A FPGA based Forth microprocessor  Ответить с цитатой
Ещё вариант Форт процессора в проекте на Github похожего на J1
DCPU
Сообщение Добавлено: Сб авг 05, 2023 01:58
  Заголовок сообщения:  Re: A FPGA based Forth microprocessor  Ответить с цитатой
microCore implemented on the simple RZ-EASY prototyping board with the EP4CE6 FPGA. Running @ 33 MHz ~ 25 M Forth instructions/second.

https://www.youtube.com/watch?v=pqhgPdtItjE&t=7415s
Сообщение Добавлено: Пт июл 14, 2023 22:48
  Заголовок сообщения:  Re: A FPGA based Forth microprocessor  Ответить с цитатой
Концепция небольшого RPN-процессора с интересными возможностями
https://hackaday.io/project/10553-cpu7 - CPU7

CPU7.pdf
emulation.zp
Код:
'! usage: addr len bubblesort8
:bubblesort8
  dup 1 > if          `! check if the array is more than one element
    enter
    1 over +          `! calculate end=addr+len; stack: beg, end
    1 swap dup        `! stack: end, beg, addr
    repeat
      dup rd8         `! stack: end, beg, addr, [addr]
      1 over ++ rd8   `! stack: end, beg, addr, [addr], [addr+1]
      < if            `! stack: end, beg, addr
        ++            `! addr=addr+1
      else
        dup rd8       `! stack: end, beg, addr, [addr]
        1 over ++ rd8 `! stack: end, beg, addr, [addr], [addr+1]
        2 over wr8    `! stack: end, beg, addr, [addr]
        1 over ++ wr8 `! stack: end, beg, addr
        drop dup      `! addr=beg; stack: end, beg, addr
      endif
    dup 3 over < until
    leave             `! clean up the data stack
  endif
  drop drop           `! remove the input parameters from the data stack
;

Код:
`! ==== collatz sequence ====
1000 1 =!
2
repeat
   dup
   :collatz_count
   0 0 =!
   repeat
      dup 1 and if
      3 * 1 + else
      1 shr endif
      0 ! ++ 0 =!
      trace
      100000 delay
      dup 1 ==
   until
   drop
   0 trace
   1000000 delay drop
   ++
   trace
   1000000 delay
   dup 1 ! >

until
print_stack
acall

Код:
`! ==== counter ====
154 trace 1 =!
1 ! trace print_stack
acall

1000 1 =!
6
repeat
   :collatz_count
   0 0 =!
   repeat
      0 ! ++ 0 =!
      trace
      --
      1000000 delay
      dup 1 ==
      print_stack
   until
   154 trace
   1000000 delay drop
   ++
   trace
   1000000 delay
   dup 1 !
   >
until

255 trace
1000000 delay
0 trace
1000000 delay
255 trace
1000000 delay
0 trace
1000000 delay
acall

P.S. В этой директории проекта на Github его реализация на Verilog CPU7
Сообщение Добавлено: Ср май 31, 2023 11:16
  Заголовок сообщения:  Re: A FPGA based Forth microprocessor  Ответить с цитатой
KPG писал(а):
Mr. Chen-Hanson Ting
August 29, 1939 - May 30, 2022

Ох, жалко.
Сообщение Добавлено: Сб май 13, 2023 00:47
  Заголовок сообщения:  Re: A FPGA based Forth microprocessor  Ответить с цитатой
https://github.com/chochain/eJsv32
Цитата:
Реинкарнация eP32, 32-битного процессора от доктора Тинга. Однако, отклоняясь от дальнего происхождения eForth, он использует байт-код Java в качестве внутреннего набора инструкций и, следовательно, название J. После десятилетий разработки ЦП доктор Тинг в написании руководства для eJsv32 пришел к следующему выводу...


Изображение

P.S. R.I.P
Цитата:
Mr. Chen-Hanson Ting
August 29, 1939 - May 30, 2022

The family of Mr. Chen-Hanson Ting created this Life Tributes page to make it easy to share your memories.
Сообщение Добавлено: Пт май 12, 2023 20:57
  Заголовок сообщения:  Re: A FPGA based Forth microprocessor  Ответить с цитатой
Вот так вот вместо работы на обеспечение технологического суверенитета России собираются ссылки на проекты из недружественных государств...
Сообщение Добавлено: Сб апр 09, 2022 00:17
  Заголовок сообщения:  Re: A FPGA based Forth microprocessor  Ответить с цитатой
ZTH1 Форт (стековый) процессор в директории с Форт системой для него на VHDL

P.S. Мне, всё таки, кажется полезным/правильным иметь возможность в системе команд процессора с 0-адресной системой команд иметь возможность отдельной командой по адресу (по умолчанию считывать/записывать данные в "теневое" ОЗУ с таким же адресом как у команды в адресном пространстве исполняемого кода 0-адресной архитектуры).
т.е. по месту использования такой команды получать/сохранять данные в "теневом" ОЗУ однобайтовой командой помимо других железных Форт команд.
Сообщение Добавлено: Пт апр 08, 2022 15:21
  Заголовок сообщения:  Re: A FPGA based Forth microprocessor  Ответить с цитатой
Это все вокруг одной идеи - гетерогенная система на кристалле, собираемая под конкретный набор периферийных устройств и задач. В статье два ядра. Может быть три разных архитектуры, четыре или пять. Зависит от того, когда сложность программирования и поддержки превысит положительный эффект от специализации.
Сообщение Добавлено: Чт июл 08, 2021 22:05
  Заголовок сообщения:  Re: A FPGA based Forth microprocessor  Ответить с цитатой
Hishnik писал(а):
В FPGA как раз и следует собирать систему для конкретной задачи. Не "массив исполнителей", а набор ядер под конкретные периферийные устройства и алгоритмы. При этом имеет смысл заранее создать такой набор ядер, чтобы не придумывать каждый раз сверхспециализированный процессор.
Я имел в виду что-то подобное:
https://www.researchgate.net/publication/254037228_Active_Cells_A_Computing_Model_for_Rapid_Construction_of_On-Chip_Multi-core_Systems
Сообщение Добавлено: Чт июл 08, 2021 12:04
  Заголовок сообщения:  Re: A FPGA based Forth microprocessor  Ответить с цитатой
В FPGA как раз и следует собирать систему для конкретной задачи. Не "массив исполнителей", а набор ядер под конкретные периферийные устройства и алгоритмы. При этом имеет смысл заранее создать такой набор ядер, чтобы не придумывать каждый раз сверхспециализированный процессор.
Сообщение Добавлено: Ср июл 07, 2021 18:45
  Заголовок сообщения:  Re: A FPGA based Forth microprocessor  Ответить с цитатой
Hishnik писал(а):
Если создавать оригинальную систему из нескольких ядер с произвольно разрабатываемой схемой соединений, то можно устранить потенциально узкие места. Если одно ядро не справляется - ему добавляется второе, забирающее часть работы.
Я имел в виду структуру "железа", определяемую задачей, а не "просто универсальный массив исполнителей". Что-то вроде Active Cells. Понятно, что FPGA сейчас кучу всего промоделировать способны, но там, всё же - "тупо-универсальный подход" - "на все случаи жизни, в рамках ресурсов".
Сообщение Добавлено: Ср июл 07, 2021 01:52
  Заголовок сообщения:  Re: A FPGA based Forth microprocessor  Ответить с цитатой
Wlad писал(а):
Напоминает решения Parallax (Propeller-ы ихние), ну и - GreenArray...

Они оба немного другие. Propeller - это "толстые" ядра, разделяющие одну системную шину. Общая часть, с точки зрения логической структуры, у них довольно мала. GreenArray - это... array. Из этого вытекает, что у него есть периферийные ядра и внутренние, а значит, возникает задача передачи данных от периферии.

Если создавать оригинальную систему из нескольких ядер с произвольно разрабатываемой схемой соединений, то можно устранить потенциально узкие места. Если одно ядро не справляется - ему добавляется второе, забирающее часть работы. Софт-ядра в этом плане отличаются от систем, предназначенных для широкого круга разработчиков, потому что тут всех ситуаций не учесть. Но если уж в наличии конфигурируемая элементная база, то странно отказываться ее конфигурировать, а вместо этого начинать воспроизводить аппаратные решения массового назначения.
Сообщение Добавлено: Ср июн 30, 2021 13:34
  Заголовок сообщения:  Re: A FPGA based Forth microprocessor  Ответить с цитатой
Hishnik писал(а):
Добавление независимых процессоров для работы с такими критичными кусками кода, или же просто для облегчения работы программиста - вполне перспективное направление.
Напоминает решения Parallax (Propeller-ы ихние), ну и - GreenArray...

Вообще, самое понятие прерывания - "от бедности" прижилось. Когда все (даже "элементарные") "подзадачи", могут выполняться каждая - на отдельном "ядре", понятие "прерывание" - просто исчезает, "как класс" из программирования. :)
Сообщение Добавлено: Ср июн 30, 2021 12:18
  Заголовок сообщения:  Re: A FPGA based Forth microprocessor  Ответить с цитатой
KPG писал(а):
Может в этом варианте будет эффективнее сразу переложить выполнение части кусков кода программы, например, при возникновении прерываний на дополнительный контроллер.

В самую точку! Это одна из объективных и существенных проблем сегодня. Для программиста вообще очень неудобно, что в критическом куске кода может внезапно возникнуть прерывание. Запретить - может возникнуть проблема с периферией, которую не обработают. А уж понятие "шторм прерываний" попросту показывает, что проблема получила собственное название.

Добавление независимых процессоров для работы с такими критичными кусками кода, или же просто для облегчения работы программиста - вполне перспективное направление. Если работа с собственным процессором не воспринимается как что-то запредельно сложное, жизнь внезапно облегчается. Программисту не нужно думать, хватит ли ему производительности. Ему не нужно думать, не нарушит ли добавляемый в основной цикл вызов функции нормальную работу предыдущих кусков проекта. Ему не нужно думать, что делать, когда прерывания перекрываются (а также как это проверить и хотя бы воспроизвести для тестирования). Вобщем, сплошные плюсы :) Из минусов цена.... но это цена одного компонента, и важно это будет разве что для пресловутого массового производства, до которого еще нужно добраться. А на сегодня +10-20 $ к спецификации далеко не всегда непреодолимая проблема. Тем более если это ускоряет выпуск нормально работающего изделия.

Кстати, kf732 был разработан именно с целью влезть в ПЛИС подешевле. Там-то как раз была серия.
Сообщение Добавлено: Чт дек 10, 2020 23:25
  Заголовок сообщения:  Re: A FPGA based Forth microprocessor  Ответить с цитатой
Hishnik писал(а):
В принципе мысль технически реализуема, но вопросы начнутся потом..

Спасибо за развёрнутый ответ.
Думаю да, если не попробовать такой вариант сделать или смоделировать, то нет полной ясности.
К, тому же, например у части контроллеров есть интерфейс к памяти расширения поддержанный аппаратно и он быстрее чем IO через порты.

P.S. Может в этом варианте будет эффективнее сразу переложить выполнение части кусков кода программы, например, при возникновении прерываний на дополнительный контроллер.

Кстати, интересно, что на AVR в ассемблере есть реализованные проекты микропроцессора 6502. :)
Сообщение Добавлено: Чт дек 10, 2020 22:53

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


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