Автор |
Сообщение |
|
|
Заголовок сообщения: |
Re: минимальная архитиктура и минимальный микрокод |
 |
|
KPG писал(а): Ну да, старая, но неужели на ней не удасться получить каких то качественных результатов Она старая в первую очередь в смысле поддержки в САПР и поставок. Скорее всего, новый чип будет уже просто негде купить. В смысле сравнения со Spartan-6 в целом частоты получались сопоставимые, хотя архитектура ячейки и особенно аппаратных ядер существенно различаются. Хотя бы разница между 4-входовыми LUT и 6-входовыми может обернуться существенной разницей в "укладываемости" схем. Хотя не думаю, что для еще более старого проекта J1 это будет иметь решающее значение. KPG писал(а): по возможностям стековых процессоров в сравнениии с регистровыми? А это в целом от платформы слабо зависит. Сам факт, что стековая машина получила аппаратную реализацию, позволяет посчитать такты хотя бы на бумажке. KPG писал(а): слов пересылки данных MOVE, CNOVE и др. примитивы слов на Форт и понял, что вероятно, в регистровой архитектуре их выполнение будет реализованo быстрее, А это блочная пересылка и она зависит от характеристик той части схемы, которая выполняет саму пересылку. Условно говоря, сколько у памяти портов и есть ли поддержка автоинкремента - вот это и определит производительность. А прологовая/эпилоговая части тут играют сугубо вспомогательную роль.
[quote="KPG"]Ну да, старая, но неужели на ней не удасться получить каких то качественных результатов[/quote] Она старая в первую очередь в смысле поддержки в САПР и поставок. Скорее всего, новый чип будет уже просто негде купить. В смысле сравнения со Spartan-6 в целом частоты получались сопоставимые, хотя архитектура ячейки и особенно аппаратных ядер существенно различаются. Хотя бы разница между 4-входовыми LUT и 6-входовыми может обернуться существенной разницей в "укладываемости" схем. Хотя не думаю, что для еще более старого проекта J1 это будет иметь решающее значение.
[quote="KPG"]по возможностям стековых процессоров в сравнениии с регистровыми? [/quote] А это в целом от платформы слабо зависит. Сам факт, что стековая машина получила аппаратную реализацию, позволяет посчитать такты хотя бы на бумажке.
[quote="KPG"] слов пересылки данных MOVE, CNOVE и др. примитивы слов на Форт и понял, что вероятно, в регистровой архитектуре их выполнение будет реализованo быстрее, [/quote] А это блочная пересылка и она зависит от характеристик той части схемы, которая выполняет саму пересылку. Условно говоря, сколько у памяти портов и есть ли поддержка автоинкремента - вот это и определит производительность. А прологовая/эпилоговая части тут играют сугубо вспомогательную роль.
|
|
|
 |
Добавлено: Вс окт 13, 2019 17:57 |
|
|
 |
|
|
Заголовок сообщения: |
Re: минимальная архитиктура и минимальный микрокод |
 |
|
Hishnik писал(а): но вот Spartan-3e - это уже очень старая штука. Ну да, старая, но неужели на ней не удасться получить каких то качественных результатов по возможностям стековых процессоров в сравнениии с регистровыми? (даже эмперических) P.S. Смотрел реализации в данном процессоре, например, слов пересылки данных MOVE, CNOVE и др. примитивы слов на Форт и понял, что вероятно, в регистровой архитектуре их выполнение будет реализованo быстрее, но накладные расходы по передачи параметров между функциями (с пересылкой результата в память) может нивелировать это преимущество так же как и необходимость в сложных алгоритмах компиляции кода для привязке его к "преимуществам" регистровой архитектуры.
[quote="Hishnik"] но вот Spartan-3e - это уже очень старая штука.[/quote] Ну да, старая, но неужели на ней не удасться получить каких то качественных результатов по возможностям стековых процессоров в сравнениии с регистровыми? (даже эмперических)
P.S. Смотрел реализации в данном процессоре, например, слов пересылки данных MOVE, CNOVE и др. примитивы слов на Форт и понял, что вероятно, в регистровой архитектуре их выполнение будет реализованo быстрее, но накладные расходы по передачи параметров между функциями (с пересылкой результата в память) может нивелировать это преимущество так же как и необходимость в сложных алгоритмах компиляции кода для привязке его к "преимуществам" регистровой архитектуры.
|
|
|
 |
Добавлено: Вс окт 13, 2019 17:38 |
|
|
 |
|
|
Заголовок сообщения: |
Re: минимальная архитиктура и минимальный микрокод |
 |
|
KPG писал(а): P.S. Каким софтом от Xilinx целесообразно и достаточно перепрограммировать Spartan 3E ? (т.к. уже всё забыл со времени экспериментов с данными FPGA на плате от Digilent - Nexus 2 и где то ещё и софт затерялся) или проще прошивать флеш память через разъём выведенный ещё и на плату? Это без вариантов ISE design tool. Загружается бесплатно. В случае проблем с драйверами программатора можно попробовать Digilent Adept, но вот Spartan-3e - это уже очень старая штука.
[quote="KPG"]P.S. Каким софтом от Xilinx целесообразно и достаточно перепрограммировать Spartan 3E ? (т.к. уже всё забыл со времени экспериментов с данными FPGA на плате от Digilent - Nexus 2 и где то ещё и софт затерялся) или проще прошивать флеш память через разъём выведенный ещё и на плату?[/quote] Это без вариантов ISE design tool. Загружается бесплатно. В случае проблем с драйверами программатора можно попробовать Digilent Adept, но вот Spartan-3e - это уже очень старая штука.
|
|
|
 |
Добавлено: Вс окт 13, 2019 00:58 |
|
|
 |
|
|
Заголовок сообщения: |
Re: минимальная архитиктура и минимальный микрокод |
 |
|
mOleg писал(а): кстати, вот недавно случайно наткнулся The J1 Forth CPU Давно платка на J1 CPU (Gameduino от Olimex) лежала без движения  Сейчас решил к ней присмотреться и понять на какой "уровень" задач и какими ресурсами можно решать их, в сравнении с обычными контроллерами. Всё таки Форт-процессор на ней имеет определённый оригинальный дизайн, да и сам проект Gameduino тоже интересен. P.S. Каким софтом от Xilinx целесообразно и достаточно перепрограммировать Spartan 3E ? (т.к. уже всё забыл со времени экспериментов с данными FPGA на плате от Digilent - Nexus 2 и где то ещё и софт затерялся) или проще прошивать флеш память через разъём выведенный ещё и на плату?
[quote="mOleg"]кстати, вот недавно случайно наткнулся [url=http://excamera.com/sphinx/fpga-j1.html]The J1 Forth CPU[/url][/quote] Давно платка на J1 CPU (Gameduino от Olimex) лежала без движения :) Сейчас решил к ней присмотреться и понять на какой "уровень" задач и какими ресурсами можно решать их, в сравнении с обычными контроллерами. Всё таки Форт-процессор на ней имеет определённый оригинальный дизайн, да и сам проект Gameduino тоже интересен.
P.S. Каким софтом от Xilinx целесообразно и достаточно перепрограммировать Spartan 3E ? (т.к. уже всё забыл со времени экспериментов с данными FPGA на плате от Digilent - Nexus 2 и где то ещё и софт затерялся) или проще прошивать флеш память через разъём выведенный ещё и на плату?
|
|
|
 |
Добавлено: Вс окт 13, 2019 00:43 |
|
|
 |
|
|
Заголовок сообщения: |
Re: минимальная архитиктура и минимальный микрокод |
 |
|
Вспомнил. Еще в СССР повторили процессор Novix NC4016. Результат повторения назвали Дофин-1610. Повторили, в данном слечае не передрали. То есть не было послойного вскрытия. Просто взяли описание системы команд и реализовали в кристалле. Получился процессор той-же системой команд и с другой схемой.
А почему повторяли ? Да потому-что в создании Novix NC4016 принимал участие Чарьлз Мур и от того на его творение нисходит благодать гениальности, если выспренно выразить эту мысль.
Вспомнил. Еще в СССР повторили процессор Novix NC4016. Результат повторения назвали Дофин-1610. Повторили, в данном слечае не передрали. То есть не было послойного вскрытия. Просто взяли описание системы команд и реализовали в кристалле. Получился процессор той-же системой команд и с другой схемой.
А почему повторяли ? Да потому-что в создании Novix NC4016 принимал участие Чарьлз Мур и от того на его творение нисходит благодать гениальности, если выспренно выразить эту мысль.
|
|
|
 |
Добавлено: Пт янв 20, 2017 18:08 |
|
|
 |
|
|
Заголовок сообщения: |
Re: минимальная архитиктура и минимальный микрокод |
 |
|
А что за физические принципы? А то я видел стек, реализованный в Minecraft 
А что за физические принципы? А то я видел стек, реализованный в Minecraft :)
|
|
|
 |
Добавлено: Пт янв 20, 2017 02:42 |
|
|
 |
|
|
Заголовок сообщения: |
Re: минимальная архитиктура и минимальный микрокод |
 |
|
всем огромное спасибо !! информации куча - буду копать..
с уважением, Jelsay
всем огромное спасибо !! информации куча - буду копать..
с уважением, Jelsay
|
|
|
 |
Добавлено: Чт янв 19, 2017 19:04 |
|
|
 |
|
|
Заголовок сообщения: |
Re: минимальная архитиктура и минимальный микрокод |
 |
|
кстати, вот недавно случайно наткнулся The J1 Forth CPU
кстати, вот недавно случайно наткнулся [url=http://excamera.com/sphinx/fpga-j1.html]The J1 Forth CPU[/url]
|
|
|
 |
Добавлено: Чт янв 19, 2017 18:02 |
|
|
 |
|
|
Заголовок сообщения: |
Re: минимальная архитиктура и минимальный микрокод |
 |
|
Jelsay писал(а): предположим у меня есть возможность реализации простейшего Форт-процессора на иных физических базовых принципах нежели ЭЦВМ.. Покойный создатель этого форума разработал Форт-процессор Equinox на ПЛИС Альтера. http://winglion.ru/Forth-CPU/Есть и исходники и пояснения и вообще все-все ... А другие базовые принципы - это какие ? Оптический процессор ? Где каждый лишний логический вентиль это как серпом по причинному месту ? Лучше конкретизировать, чтобы было ясно чем можно пожертвовать, а чем не стоит.
[quote="Jelsay"]предположим у меня есть возможность реализации простейшего Форт-процессора на иных физических базовых принципах нежели ЭЦВМ..[/quote]Покойный создатель этого форума разработал Форт-процессор Equinox на ПЛИС Альтера. http://winglion.ru/Forth-CPU/ Есть и исходники и пояснения и вообще все-все ...
А другие базовые принципы - это какие ? Оптический процессор ? Где каждый лишний логический вентиль это как серпом по причинному месту ? Лучше конкретизировать, чтобы было ясно чем можно пожертвовать, а чем не стоит.
|
|
|
 |
Добавлено: Чт янв 19, 2017 16:50 |
|
|
 |
|
|
Заголовок сообщения: |
Re: минимальная архитиктура и минимальный микрокод |
 |
|
Есть Форт-процессор Novix NC4016. Вот если глядя на его систему команд задаться вопросом стоит ли ее делать меньше.
По моему не стоит ибо его система команд компромиссна между сложностью и эффективностью.
Хотя вот, да четыре команды + +c - -c можно заменить тремя +c clr_carry set_carry. Тогда + = clr_carry +c -c = -1 XOR +c - = set_carry -1 XOR +c где borrow = not(carry)
А вопрос о минимальном наборе команд вообще не имеет смысла. Потому-что процессор можно вообще построить на единственной команде "вычитание и переход если меньше". Тогда опкод можно не кодировать, а кодировать только операнды. Но программа, программа-то ... выйдет что твой BrainFuck.
Есть Форт-процессор Novix NC4016. Вот если глядя на его систему команд задаться вопросом стоит ли ее делать меньше.
По моему не стоит ибо его система команд компромиссна между сложностью и эффективностью.
Хотя вот, да четыре команды + +c - -c можно заменить тремя +c clr_carry set_carry. Тогда + = clr_carry +c -c = -1 XOR +c - = set_carry -1 XOR +c где borrow = not(carry)
А вопрос о минимальном наборе команд вообще не имеет смысла. Потому-что процессор можно вообще построить на единственной команде "вычитание и переход если меньше". Тогда опкод можно не кодировать, а кодировать только операнды. Но программа, программа-то ... выйдет что твой BrainFuck.
|
|
|
 |
Добавлено: Чт янв 19, 2017 16:40 |
|
|
 |
|
|
Заголовок сообщения: |
Re: минимальная архитиктура и минимальный микрокод |
 |
|
KPG писал(а): Личные примеры - приветствуются! То есть то, что выше - это не пример системы команд? Или надо в рамках "слабо" выложить весь рабочий код? Так его еще правильно применить нужно, и там не везде тривиальные решения. Проектирование форт-процессора не для copy&paste, а для освоения с нуля применительно к конкретным условиям. Ну вот есть изделия, которые за тысячные тиражи перевалили, но это же не догма, а результат адаптации к конкретной задаче.
[quote="KPG"]Личные примеры - приветствуются! [/quote] То есть то, что выше - это не пример системы команд? Или надо в рамках "слабо" выложить весь рабочий код? Так его еще правильно применить нужно, и там не везде тривиальные решения. Проектирование форт-процессора не для copy&paste, а для освоения с нуля применительно к конкретным условиям. Ну вот есть изделия, которые за тысячные тиражи перевалили, но это же не догма, а результат адаптации к конкретной задаче.
|
|
|
 |
Добавлено: Чт янв 19, 2017 15:19 |
|
|
 |
|
|
Заголовок сообщения: |
Re: минимальная архитиктура и минимальный микрокод |
 |
|
Hishnik писал(а): Стесняюсь спросить, а из этого что-то уже в продукции реализовано? Личные примеры - приветствуются! 
[quote="Hishnik"]Стесняюсь спросить, а из этого что-то уже в продукции реализовано? [/quote] Личные примеры - приветствуются! :)
|
|
|
 |
Добавлено: Чт янв 19, 2017 14:56 |
|
|
 |
|
|
Заголовок сообщения: |
Re: минимальная архитиктура и минимальный микрокод |
 |
|
mOleg писал(а): в разрезе реализации в железе было тоже несколько обсуждений, навскидку это обсуждение, там начинается с 16 команд. Стесняюсь спросить, а из этого что-то уже в продукции реализовано? Или старая песня "вот Фортом никто в мире не занимается, так что слушайте меня". Напоминает вот это: https://www.youtube.com/watch?v=_O5btaXgiEk
[quote="mOleg"] в разрезе реализации в железе было тоже несколько обсуждений, навскидку это обсуждение, там начинается с 16 команд.[/quote] Стесняюсь спросить, а из этого что-то уже в продукции реализовано? Или старая песня "вот Фортом никто в мире не занимается, так что слушайте меня". Напоминает вот это:
https://www.youtube.com/watch?v=_O5btaXgiEk
|
|
|
 |
Добавлено: Чт янв 19, 2017 11:02 |
|
|
 |
|
|
Заголовок сообщения: |
Re: минимальная архитиктура и минимальный микрокод |
 |
|
вот, на фасме набрасывал по-быстрому вариант форт-системы с третьим стеком адресов может вам поможет. Там все достаточно просто. можно еще посмотреть в код СПФ-а, но там посложнее несколько. Если речь о создании виртуальной машины (выбора метода передачи управления от одного определения к другому и подобное) посмотрите в статьях перевод или оригинал Портирование ФортаИ можно еще посмотреть набросок стандарта, там достаточно схематично все, но имеется ответ на ваши вопросы по крайней мере в разделе 5.2 Базовый обязательный набор примитивов Был еще очень маленький eForth с минимальным количеством используемых примитивов, за счет чего был быстро портирован на большое количество платформ, можно поискать информацию о нем ну, и вопросы желательно задавать конкретные, иначе будет слишком много общих ответов 8( P.S. в разрезе реализации в железе было тоже несколько обсуждений, навскидку это обсуждение, там начинается с 16 команд.
вот, на фасме набрасывал по-быстрому вариант [url=http://fforum.winglion.ru/viewtopic.php?f=2&t=2375&start=120]форт-системы с третьим стеком адресов[/url] может вам поможет. Там все достаточно просто. можно еще посмотреть в код СПФ-а, но там посложнее несколько. Если речь о создании виртуальной машины (выбора метода передачи управления от одного определения к другому и подобное) посмотрите в статьях перевод или оригинал [url=http://fforum.winglion.ru/viewtopic.php?f=34&t=2260]Портирование Форта[/url] И можно еще посмотреть [url=http://fforum.winglion.ru/viewtopic.php?p=23179#p23179]набросок стандарта[/url], там достаточно схематично все, но имеется ответ на ваши вопросы по крайней мере в разделе [url=http://fforum.winglion.ru/viewtopic.php?p=23180#p23180]5.2 Базовый обязательный набор примитивов[/url] Был еще очень маленький [url=http://www.forth.org/eforthcd-index.html]eForth[/url] с минимальным количеством используемых примитивов, за счет чего был быстро портирован на большое количество платформ, можно поискать информацию о нем ну, и вопросы желательно задавать конкретные, иначе будет слишком много общих ответов 8(
P.S. в разрезе реализации в железе было тоже несколько обсуждений, [url=http://fforum.winglion.ru/viewtopic.php?p=2095#p2095]навскидку это обсуждение[/url], там начинается с 16 команд.
|
|
|
 |
Добавлено: Чт янв 19, 2017 09:27 |
|
|
 |
|
|
Заголовок сообщения: |
Re: минимальная архитиктура и минимальный микрокод |
 |
|
NOP NOT @ SHL SHR SHRA INPORT SWAP DUP OVER R> + - AND OR XOR = < > * DROP JMP CALL >R ! OUTPORT IF UNTIL RET LIT
Рабочий, хотя слегка морально устаревающий проект. Порядок может выглядеть странным, но оно сгруппировано по влиянию на стек. На этом строится вполне рабочий процессор. Необходимость "символьного канала", чтобы там еще и интерпретатор образовывался, в контексте схемотехники - высосанное из пальца наукообразие, чтоб народишко не расслаблялся и думать не смел о практических результатах. А думать надо об организации системной шины и подключении к ней устройств. Когда она появится, весь символьный ввод-вывод образуется массой способов, хоть в виде чтения из порта ВВ, хоть в виде чтения из памяти, на которую отображен физический канал ввода. Ну или, в особых случаях, в виде подмешивания к АЛУ внешнего порта, тогда команда KEY становится аппаратной. Точно так же, в виде последовательности операций с памятью, образуются и интерпретатор/компилятор.
NOP NOT @ SHL SHR SHRA INPORT SWAP DUP OVER R> + - AND OR XOR = < > * DROP JMP CALL >R ! OUTPORT IF UNTIL RET LIT
Рабочий, хотя слегка морально устаревающий проект. Порядок может выглядеть странным, но оно сгруппировано по влиянию на стек. На этом строится вполне рабочий процессор. Необходимость "символьного канала", чтобы там еще и интерпретатор образовывался, в контексте схемотехники - высосанное из пальца наукообразие, чтоб народишко не расслаблялся и думать не смел о практических результатах. А думать надо об организации системной шины и подключении к ней устройств. Когда она появится, весь символьный ввод-вывод образуется массой способов, хоть в виде чтения из порта ВВ, хоть в виде чтения из памяти, на которую отображен физический канал ввода. Ну или, в особых случаях, в виде подмешивания к АЛУ внешнего порта, тогда команда KEY становится аппаратной. Точно так же, в виде последовательности операций с памятью, образуются и интерпретатор/компилятор.
|
|
|
 |
Добавлено: Чт янв 19, 2017 00:35 |
|
|
 |
|