Forth http://fforum.winglion.ru/ |
|
A FPGA based Forth microprocessor http://fforum.winglion.ru/viewtopic.php?f=26&t=2228 |
Страница 3 из 3 |
Автор: | Wlad [ Ср июн 30, 2021 12:18 ] |
Заголовок сообщения: | Re: A FPGA based Forth microprocessor |
Hishnik писал(а): Добавление независимых процессоров для работы с такими критичными кусками кода, или же просто для облегчения работы программиста - вполне перспективное направление. Напоминает решения Parallax (Propeller-ы ихние), ну и - GreenArray...Вообще, самое понятие прерывания - "от бедности" прижилось. Когда все (даже "элементарные") "подзадачи", могут выполняться каждая - на отдельном "ядре", понятие "прерывание" - просто исчезает, "как класс" из программирования. |
Автор: | Hishnik [ Ср июн 30, 2021 13:34 ] |
Заголовок сообщения: | Re: A FPGA based Forth microprocessor |
Wlad писал(а): Напоминает решения Parallax (Propeller-ы ихние), ну и - GreenArray... Они оба немного другие. Propeller - это "толстые" ядра, разделяющие одну системную шину. Общая часть, с точки зрения логической структуры, у них довольно мала. GreenArray - это... array. Из этого вытекает, что у него есть периферийные ядра и внутренние, а значит, возникает задача передачи данных от периферии. Если создавать оригинальную систему из нескольких ядер с произвольно разрабатываемой схемой соединений, то можно устранить потенциально узкие места. Если одно ядро не справляется - ему добавляется второе, забирающее часть работы. Софт-ядра в этом плане отличаются от систем, предназначенных для широкого круга разработчиков, потому что тут всех ситуаций не учесть. Но если уж в наличии конфигурируемая элементная база, то странно отказываться ее конфигурировать, а вместо этого начинать воспроизводить аппаратные решения массового назначения. |
Автор: | Wlad [ Ср июл 07, 2021 01:52 ] |
Заголовок сообщения: | Re: A FPGA based Forth microprocessor |
Hishnik писал(а): Если создавать оригинальную систему из нескольких ядер с произвольно разрабатываемой схемой соединений, то можно устранить потенциально узкие места. Если одно ядро не справляется - ему добавляется второе, забирающее часть работы. Я имел в виду структуру "железа", определяемую задачей, а не "просто универсальный массив исполнителей". Что-то вроде Active Cells. Понятно, что FPGA сейчас кучу всего промоделировать способны, но там, всё же - "тупо-универсальный подход" - "на все случаи жизни, в рамках ресурсов".
|
Автор: | Hishnik [ Ср июл 07, 2021 18:45 ] |
Заголовок сообщения: | Re: A FPGA based Forth microprocessor |
В FPGA как раз и следует собирать систему для конкретной задачи. Не "массив исполнителей", а набор ядер под конкретные периферийные устройства и алгоритмы. При этом имеет смысл заранее создать такой набор ядер, чтобы не придумывать каждый раз сверхспециализированный процессор. |
Автор: | Wlad [ Чт июл 08, 2021 12:04 ] |
Заголовок сообщения: | 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 |
Автор: | Hishnik [ Чт июл 08, 2021 22:05 ] |
Заголовок сообщения: | Re: A FPGA based Forth microprocessor |
Это все вокруг одной идеи - гетерогенная система на кристалле, собираемая под конкретный набор периферийных устройств и задач. В статье два ядра. Может быть три разных архитектуры, четыре или пять. Зависит от того, когда сложность программирования и поддержки превысит положительный эффект от специализации. |
Автор: | KPG [ Пт апр 08, 2022 15:21 ] |
Заголовок сообщения: | Re: A FPGA based Forth microprocessor |
ZTH1 Форт (стековый) процессор в директории с Форт системой для него на VHDL P.S. Мне, всё таки, кажется полезным/правильным иметь возможность в системе команд процессора с 0-адресной системой команд иметь возможность отдельной командой по адресу (по умолчанию считывать/записывать данные в "теневое" ОЗУ с таким же адресом как у команды в адресном пространстве исполняемого кода 0-адресной архитектуры). т.е. по месту использования такой команды получать/сохранять данные в "теневом" ОЗУ однобайтовой командой помимо других железных Форт команд. |
Автор: | Hishnik [ Сб апр 09, 2022 00:17 ] |
Заголовок сообщения: | Re: A FPGA based Forth microprocessor |
Вот так вот вместо работы на обеспечение технологического суверенитета России собираются ссылки на проекты из недружественных государств... |
Автор: | KPG [ Пт май 12, 2023 20:57 ] |
Заголовок сообщения: | 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. |
Автор: | Hishnik [ Сб май 13, 2023 00:47 ] |
Заголовок сообщения: | Re: A FPGA based Forth microprocessor |
KPG писал(а): Mr. Chen-Hanson Ting August 29, 1939 - May 30, 2022 Ох, жалко. |
Автор: | KPG [ Ср май 31, 2023 11:16 ] |
Заголовок сообщения: | 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 |
Автор: | KPG [ Пт июл 14, 2023 22:48 ] |
Заголовок сообщения: | 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 |
Автор: | KPG [ Сб авг 05, 2023 01:58 ] |
Заголовок сообщения: | Re: A FPGA based Forth microprocessor |
Ещё вариант Форт процессора в проекте на Github похожего на J1 DCPU |
Страница 3 из 3 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |