Forth
http://fforum.winglion.ru/

Архитектура стековой ЭВМ
http://fforum.winglion.ru/viewtopic.php?f=56&t=3022
Страница 2 из 2

Автор:  Hishnik [ Вт ноя 25, 2014 19:35 ]
Заголовок сообщения:  Re: Архитектура стековой ЭВМ

victosha писал(а):
Никто не заметил, что предложенное техническое решение относится к архитектуре ЭВМ, а именно к системе команд

А как же можно заметить, если архитектура ЭВМ и Instruction Set Architecture - разные вещи. Патент сформулирован в терминах архитектуры ЭВМ, поскольку описывает устройства и порядок их соединения. А математика, btw, не патентуется (именно поэтому Intel не может запретить AMD делать x86-совместимые процессоры).
victosha писал(а):
Про ФОРТ-процессоры с их 16-разрядной системой команд я вообще молчу.

А разве форт-процессор обязан иметь именно 16-разрядные команды? У меня они были в диапазоне от 6 до 32 бит (в разных реализациях).
victosha писал(а):
Программа занимает всего 4 байта
Вопрос? Можно ли на типовом стековом процессоре получить такие результаты.
Ответ. нет.

Я не знаю, что имеется в виду под "типовым" процессором. Если есть возможность описывать команды на HDL, то MIN будет одной командой (т.е. одним командным словом). Но это если не жалко опкода, и такая операция действительно улучшает интегральные показатели качества.

Автор:  mOleg [ Ср ноя 26, 2014 00:02 ]
Заголовок сообщения:  Re: Архитектура стековой ЭВМ

victosha писал(а):
Я, как посторонний человек на форуме, наблюдаю за дискуссом.
Никто не заметил, что предложенное техническое решение относится к архитектуре ЭВМ, а именно к системе команд.

Простите, просто нет времени и сил вдаваться в подробности сейчас. Из патента понять что-то достаточно тяжело.
Что же до систем команд, тут обсуждался и процессор с 4х битовыми командами, т.е. в 16 бит влазит 4 команды, а в 32 аж 8. И процессор, у которого выбор операции зависит от предыдущей команды (т.е. хитрее префикса), более того, процессор с 4х битовой шириной команды и префиксом выложен в исходниках.
Последний процессор Мура позволяет вообще выполнять код из порта, т.е. зацикливается на одном адресе в пространстве В\В и каждое принятое слово исполняет, причем в одном слове тоже не одна команда.

victosha писал(а):
Вопрос? Можно ли на типовом стековом процессоре получить такие результаты.

Вопрос, что считать типовым стековым процессором 8)
ваш ответ для меня не очевиден, опять же, я приводил вам ссылку на стековой архитектуру с адаптивной системой
команд, где в принципе можно делать и не такое.

Все же, хотелось бы объяснения на пальцах и с картинками, что же вы предлагаете 8-), однако, моментальных ответов не обещаю, не до того нонче.

Автор:  KPG [ Ср ноя 26, 2014 20:01 ]
Заголовок сообщения:  Re: Архитектура стековой ЭВМ

Рассмотрев систему команд CPU видно некоторое (частичное) влияние на её формирование ядра команд PIC контроллера. :)
Что просматривается - определено отдельным действием "мультиплексирование" верхушки стека ("виртуальный" верхний элемент стека) для следующей вычислительной команды командой "пересылки" аргумента из разных источников данных. (в классике RISC тоже самое, но загрузка одного из регистров)

P.S. Ново это или не ново и как "обыгрывается" в разных архитектурах комманд ядер CPU?. Может команды только более неделимые:)

Автор:  KPG [ Ср ноя 26, 2014 22:07 ]
Заголовок сообщения:  Re: Архитектура стековой ЭВМ

P.P.S. Поле сохранения результата вычислительной команды возможно тоже сформировать, например, или в основной стек или в исходное место источника ранее задействованной "парной" команды. загрузки верхушки стека. :)

Автор:  Hishnik [ Чт ноя 27, 2014 00:18 ]
Заголовок сообщения:  Re: Архитектура стековой ЭВМ

Если в команде можно задать один из операндов, такая команда называется 1-адресной. Например, ADD R1, которая делает ACC = ACC + R1, является 1-адресной. В x86 команды 2-адресные (add eax, ebx), а вот в стековой машине 0-адресные. Если не придерживаться последовательно какого-то определенного заранее подхода, можно получить подобие "велосипеда с гусеницами" (ну а вдруг по бездорожью поедем).

Автор:  victosha [ Вс ноя 30, 2014 14:56 ]
Заголовок сообщения:  Re: Архитектура стековой ЭВМ

Слово...в оправдание от изобретателя...
1. Патент в рамочке - это официальное признание новизны и полезности технического предложения. С патентом тебя уже не пошлют сразу и не скажут, мол изобрел велосипед с гусеницами.
2. Идея родилась из опыта работы с микро-ЭВМ и микроконтроллерами, в том числе программирования на форте, включая процессор ТF-16.
Байт-код и локальные переменные в стеке пришли из виртуальной машины JVM.
Префиксы пришли потом. Я на них подавал заявку, которая лежит в архивах ФИПСа.
RU 2008 108 483.........................
http://bankpatentov.ru/node/17528
Тогда проблема возникла из-за прототипа, поскольку был выбран промышленный образец 4-разрядного стекового микроконтроллера М44С260 фирмы Temic. который вроде выкупила фирма ATMEL.
Сейчас прототип найден в виде US патента, поэтому у экспертов ФИПС сомнений уже не будет.
3.Области стека - это отдельные адресные пространства. Для микроконтроллера допустимо их хранить в отдельной памяти. Максимальный размер адресуемых элементов стека составляет 256 слов. Эту память можно рассматривать как КЭШ со сквозной записью в память. Только нужно ли это для 16-разрядного микроконтроллера. Вопрос.
Система команд предусматривает расширение разрядности процессора до 32-х. Там эту проблему придется решать.
4. Идея префиксов осталась не раскрытой. Будем ждать заключение экспертов ФИПС.

Автор:  mOleg [ Вс ноя 30, 2014 19:13 ]
Заголовок сообщения:  Re: Архитектура стековой ЭВМ

Читаю "Процессорное ядро M16"
во введении:
Цитата:
Процессор M16 обеспечивает высокую производительность, которая достигается за счет вы-
борки из памяти программ нескольких байт-кодов программы и упаковки их в одну операцию,
выполняющуюся за один такт. Частота работы процессора при этом может в несколько раз пре-
вышать частоту обращения к памяти, что дает возможность при работе процессора на высоких
частотах достигать максимальной производительности, а при работе на низких частотах эконо-
мить потребление процессора.

Вопрос, за один такт чего? (я так подозреваю, что речь о тактировании памяти?)
Или, все-таки, очень сложный декодер команд?

Цитата:
Регистр состояния программы RS (Register of program Status) содержит:

интересно, зачем упрятывать все флаги в один регистр?
Тот же признак переполнения можно было бы как отдельный регистр 16-разрядный, чтоб его
содержимое можно было использовать при работе с числами двойной разрядности.

И, все-таки, я не понял смысла в префиксах. Вы чуточку выиграли в объеме кода, там, где не нужны длинные переходы, большая разрядность, но усложнили декодер команд. Не проще ли было сделать больше команд?

А вообще, больше похоже на ява-процессор, чем на форт-процессор.
(я про дикое количество операций ветвлений)

да, еще возникает вопрос о компиляторе под данный процессор.

Автор:  victosha [ Вс ноя 30, 2014 20:00 ]
Заголовок сообщения:  Re: Архитектура стековой ЭВМ

Ответы.
1. Упаковка байт-кода стековой машины применяется в JVM. патент US 2007 0277021.
Называется это instruction folding, когда они как-то сложно, но упаковывают последовательность стековых команд в одну 3-адресную команду, которую выполняют за один такт.. Сколько тактов они тратят на упаковку - не знаю, но там автомат стоит.
2. Я уже отметил, что процессор сделан по мотивам JVM. Там нет регистра состояния, а есть только команды ветвления по уловиям проверки с 0 и соотношения.. С бит необходим. Без него сдвиговые операции и операции двойной и более длины не сделаешь. Раз он есть, то он используется даже там где нет переноса. Например в операциях над числами со знаком дает знак операции, в логических операциях 0 или не 0.
3. Я тут интерестный пример в ВИКИ нашел байт-кода явы для дурацкой программы. Набросал пример этой проги для процессора M16XX/
https://cloud.mail.ru/public/1d7c73c438 ... 0Java.docx
Чо то ссылка странная получилась, но не в этом суть.
В Яве 44 байта получается, в процессоре M16XX только 18 байт или 19?..

Автор:  victosha [ Вс ноя 30, 2014 20:16 ]
Заголовок сообщения:  Re: Архитектура стековой ЭВМ

Про префиксы.
1. Префикс константы не обсуждается. Его преимущества понятны.
2. Префикс операнда. Он позволяет ввести в стековую архитектуру одноадресные операции модификации для любой команды обработки данных.
3. С префиксами система команд становится примитивным конструктором, из которого программист собирает программу.
Есть базовый набор команд и есть два префикса, которыми он может модифицировать базовые команды как ему нужно.

Автор:  Hishnik [ Пн дек 01, 2014 02:34 ]
Заголовок сообщения:  Re: Архитектура стековой ЭВМ

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

Пошлют чуть позже, только и всего :) Распространенное заблуждение заключается в том, что наличие патента само по себе является основанием для практического внедрения разработки. Это далеко не так, и официально и на практике. Если изобретение понравится производителю, патент является документом, подтверждающим авторство. Однако никто не обязан начинать выпуск, "потому что есть патент". На практике, вход с патентом наперевес является замечательным основанием для отказа.

victosha писал(а):
Эту память можно рассматривать как КЭШ со сквозной записью в память. Только нужно ли это для 16-разрядного микроконтроллера.

Схемотехника памяти слабо связана с разрядностью. Речь о том, что 32-разрядный процессор должен быть производительнее 16-разрядного, поэтому для 16-разрядного допустимы несложные решения с низкой пропускной способностью, а у 32-разрядного такое уже не должно встречаться?
victosha писал(а):
Префикс константы не обсуждается. Его преимущества понятны.

А недостатки понятны?

Автор:  mOleg [ Ср дек 03, 2014 15:13 ]
Заголовок сообщения:  Re: Архитектура стековой ЭВМ

victosha писал(а):
1. Упаковка байт-кода стековой машины применяется в JVM. патент US 2007 0277021.
Называется это instruction folding, когда они как-то сложно, но упаковывают последовательность стековых команд в одну 3-адресную команду, которую выполняют за один такт.. Сколько тактов они тратят на упаковку - не знаю, но там автомат стоит.

Я подозреваю, что речь идет о jit-компиляции.
Можно в кратко раскрыть суть?

victosha писал(а):
2. Я уже отметил, что процессор сделан по мотивам JVM.

процессор софтовый(на ПЛИСе), или в железе? (интересно, однако).

victosha писал(а):
Там нет регистра состояния, а есть только команды ветвления по уловиям проверки с 0 и соотношения..

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

victosha писал(а):
Я тут интерестный пример в ВИКИ нашел байт-кода явы для дурацкой программы.

если возможно, вставляйте код прямо в текст сообщения (не очень приятно ходить по ссылкам, которые еще и не у всех открываются...

victosha писал(а):
В Яве 44 байта получается, в процессоре M16XX только 18 байт или 19?

Имхо, хотя java машина и является стековой, с фортом она плохо соотносится, лучше бы примеры для GA144 8)
Ну, или, раз вам знаком, технофортовский проц, на нем.

victosha писал(а):
1. Префикс константы не обсуждается. Его преимущества понятны.

увы 8( поясните пожалуйста его преимущества.

victosha писал(а):
2. Префикс операнда. Он позволяет ввести в стековую архитектуру одноадресные операции модификации для любой команды обработки данных.

зачем? Выигрыш в объеме и скорости не очевидны, не лучше ли просто дополнительную команду ввести.
(имхо)

victosha писал(а):
3. С префиксами система команд становится примитивным конструктором, из которого программист собирает программу.

вобщем, пока не понятны мне преимущества вашего подхода.

Автор:  victosha [ Вс дек 07, 2014 21:31 ]
Заголовок сообщения:  Re: Архитектура стековой ЭВМ

Благодарю всех энтузиастов за внимание к данной теме. теперь ее можно закрыть.
Мне дискусс был полезен. Жалею, что не смог объяснить преимущества префиксов.Я думаю, что к данной теме мы вернемся через 14 месяцев. Столько нужно времени, чтобы эксперты ФИПС провели формальную экспертизу патента и экспертизу по существу. По результатам дискусса я введу некоторые изменения в заявку. Всем большое спасибо.

Автор:  Hishnik [ Вс дек 07, 2014 23:38 ]
Заголовок сообщения:  Re: Архитектура стековой ЭВМ

victosha писал(а):
Я думаю, что к данной теме мы вернемся через 14 месяцев. Столько нужно времени, чтобы эксперты ФИПС провели формальную экспертизу патента и экспертизу по существу.

Вот интересно будет, если со стороны экспертов ФИПС будут те же вопросы... :)

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