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

...
Google Search
Forth-FAQ Spy Grafic

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




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

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

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

Вот интересно будет, если со стороны экспертов ФИПС будут те же вопросы... :)
Сообщение Добавлено: Вс дек 07, 2014 23:38
  Заголовок сообщения:  Re: Архитектура стековой ЭВМ  Ответить с цитатой
Благодарю всех энтузиастов за внимание к данной теме. теперь ее можно закрыть.
Мне дискусс был полезен. Жалею, что не смог объяснить преимущества префиксов.Я думаю, что к данной теме мы вернемся через 14 месяцев. Столько нужно времени, чтобы эксперты ФИПС провели формальную экспертизу патента и экспертизу по существу. По результатам дискусса я введу некоторые изменения в заявку. Всем большое спасибо.
Сообщение Добавлено: Вс дек 07, 2014 21:31
  Заголовок сообщения:  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. С префиксами система команд становится примитивным конструктором, из которого программист собирает программу.

вобщем, пока не понятны мне преимущества вашего подхода.
Сообщение Добавлено: Ср дек 03, 2014 15:13
  Заголовок сообщения:  Re: Архитектура стековой ЭВМ  Ответить с цитатой
victosha писал(а):
Патент в рамочке - это официальное признание новизны и полезности технического предложения. С патентом тебя уже не пошлют сразу и не скажут, мол изобрел велосипед с гусеницами.

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

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

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

А недостатки понятны?
Сообщение Добавлено: Пн дек 01, 2014 02:34
  Заголовок сообщения:  Re: Архитектура стековой ЭВМ  Ответить с цитатой
Про префиксы.
1. Префикс константы не обсуждается. Его преимущества понятны.
2. Префикс операнда. Он позволяет ввести в стековую архитектуру одноадресные операции модификации для любой команды обработки данных.
3. С префиксами система команд становится примитивным конструктором, из которого программист собирает программу.
Есть базовый набор команд и есть два префикса, которыми он может модифицировать базовые команды как ему нужно.
Сообщение Добавлено: Вс ноя 30, 2014 20:16
  Заголовок сообщения:  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?..
Сообщение Добавлено: Вс ноя 30, 2014 20:00
  Заголовок сообщения:  Re: Архитектура стековой ЭВМ  Ответить с цитатой
Читаю "Процессорное ядро M16"
во введении:
Цитата:
Процессор M16 обеспечивает высокую производительность, которая достигается за счет вы-
борки из памяти программ нескольких байт-кодов программы и упаковки их в одну операцию,
выполняющуюся за один такт. Частота работы процессора при этом может в несколько раз пре-
вышать частоту обращения к памяти, что дает возможность при работе процессора на высоких
частотах достигать максимальной производительности, а при работе на низких частотах эконо-
мить потребление процессора.

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

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

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

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

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

да, еще возникает вопрос о компиляторе под данный процессор.
Сообщение Добавлено: Вс ноя 30, 2014 19:13
  Заголовок сообщения:  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. Идея префиксов осталась не раскрытой. Будем ждать заключение экспертов ФИПС.
Сообщение Добавлено: Вс ноя 30, 2014 14:56
  Заголовок сообщения:  Re: Архитектура стековой ЭВМ  Ответить с цитатой
Если в команде можно задать один из операндов, такая команда называется 1-адресной. Например, ADD R1, которая делает ACC = ACC + R1, является 1-адресной. В x86 команды 2-адресные (add eax, ebx), а вот в стековой машине 0-адресные. Если не придерживаться последовательно какого-то определенного заранее подхода, можно получить подобие "велосипеда с гусеницами" (ну а вдруг по бездорожью поедем).
Сообщение Добавлено: Чт ноя 27, 2014 00:18
  Заголовок сообщения:  Re: Архитектура стековой ЭВМ  Ответить с цитатой
P.P.S. Поле сохранения результата вычислительной команды возможно тоже сформировать, например, или в основной стек или в исходное место источника ранее задействованной "парной" команды. загрузки верхушки стека. :)
Сообщение Добавлено: Ср ноя 26, 2014 22:07
  Заголовок сообщения:  Re: Архитектура стековой ЭВМ  Ответить с цитатой
Рассмотрев систему команд CPU видно некоторое (частичное) влияние на её формирование ядра команд PIC контроллера. :)
Что просматривается - определено отдельным действием "мультиплексирование" верхушки стека ("виртуальный" верхний элемент стека) для следующей вычислительной команды командой "пересылки" аргумента из разных источников данных. (в классике RISC тоже самое, но загрузка одного из регистров)

P.S. Ново это или не ново и как "обыгрывается" в разных архитектурах комманд ядер CPU?. Может команды только более неделимые:)
Сообщение Добавлено: Ср ноя 26, 2014 20:01
  Заголовок сообщения:  Re: Архитектура стековой ЭВМ  Ответить с цитатой
victosha писал(а):
Я, как посторонний человек на форуме, наблюдаю за дискуссом.
Никто не заметил, что предложенное техническое решение относится к архитектуре ЭВМ, а именно к системе команд.

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

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

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

Все же, хотелось бы объяснения на пальцах и с картинками, что же вы предлагаете 8-), однако, моментальных ответов не обещаю, не до того нонче.
Сообщение Добавлено: Ср ноя 26, 2014 00:02
  Заголовок сообщения:  Re: Архитектура стековой ЭВМ  Ответить с цитатой
victosha писал(а):
Никто не заметил, что предложенное техническое решение относится к архитектуре ЭВМ, а именно к системе команд

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

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

Я не знаю, что имеется в виду под "типовым" процессором. Если есть возможность описывать команды на HDL, то MIN будет одной командой (т.е. одним командным словом). Но это если не жалко опкода, и такая операция действительно улучшает интегральные показатели качества.
Сообщение Добавлено: Вт ноя 25, 2014 19:35
  Заголовок сообщения:  Re: Архитектура стековой ЭВМ  Ответить с цитатой
Я, как посторонний человек на форуме, наблюдаю за дискуссом.
Никто не заметил, что предложенное техническое решение относится к архитектуре ЭВМ, а именно к системе команд. Использование префиксных команд константы и операнда в корне меняют систему байт-кода стековой ЭВМ, например такой, что принята в виртуальной машине JAVA. Про ФОРТ-процессоры с их 16-разрядной системой команд я вообще молчу.
У меня есть несколько примеров программ, реализованных по предлагаемому техническому решению. Все они обеспечивают сокращение числа команд и объема кода.
Пример 1. Вычисление квадратного корня для аргумента, лежащего в диапазоне 0...1. Вычисление производится по формуле Герона с двумя итерациями
procedure ISQR
in-var X;
out-var Y;
exitp =0? // выход если X = 0
null // счетчик нормировки
do // цикл нормировки
X / # C000h and // выделение разрядов 15,14
exit =0? // в разрядах 15,14 единица
X 2 <<0 1+ // счет сдвигов
next
endo
1С\ X / C>> // Y0=(X+1)/2
X 16. u<<% + 0>> // Y1=(Y0+X/Y0)/2
X 16. u<<% + 0>> // Y2=(Y1+X/Y1)/2
do // цикл нормировки
exit 1-=0?
Y 0>>
next
endo drop C+ // округление
endp ret
0025 01 ret
Программа занимает всего 37 байт
Пример 2.
procedure min // (S1 S0 -- S0), S0=min(S0,S1)
if S1 / >=? then swap endi
endp drop\ret
0004 00 drop\ret
Программа занимает всего 4 байта
Вопрос? Можно ли на типовом стековом процессоре получить такие результаты.
Ответ. нет.
Сообщение Добавлено: Вт ноя 25, 2014 16:18
  Заголовок сообщения:  Re: Архитектура стековой ЭВМ  Ответить с цитатой
VoidVolker писал(а):
Т.е., вот вся эта разработка лишь патента ради? И что потом? Патент в рамочку, в шкафчик на полочку и любоваться? Имелось ввиду практическое применение данной разработки.

рассуждая цинично - да, а что такого-то? :shuffle; каждый развлекается как может
Сообщение Добавлено: Вт ноя 25, 2014 11:33

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


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