OberonCore
https://forum.oberoncore.ru/

Какова оптимальная для ЯВУ система машинных команд?
https://forum.oberoncore.ru/viewtopic.php?f=61&t=2202
Страница 1 из 2

Автор:  Сергей Губанов [ Вторник, 15 Декабрь, 2009 16:27 ]
Заголовок сообщения:  Какова оптимальная для ЯВУ система машинных команд?

Начало там:
viewtopic.php?p=39513#p39513
Info21 писал(а):
Вот Вирт когда-то вывел систему команд CPU из требования компиляции ЯВУ. И получилось гораздо лучше, чем выдумки из головы по принципу "добавим еще и такую штуку на всякий случай".

viewtopic.php?p=39519#p39519
Илья Ермаков писал(а):
По обсуждаемой теме (от языка - к проектированию системы команд) точно было у новосибирцев-кроносистов. Там же могут быть и ссылки на Вирта.
http://kronos.ru/
Так вот, у кроносов была стековая архитектура (все вычисления на стеке), а в книге Вирта "Построение компиляторов" -- регистровая (16 регистров) архитектура а-ля RISC. То есть друг с другом они "не дружат".

Следующее сообщение остаётся в силе:
Info21 писал(а):
Сергей Губанов писал(а):
Info21 писал(а):
где об этом можно почитать?
Сам хотел бы посмотреть. Следов не обнаруживается, планируется запросить "первоисточник".

Если кто-то что-то знает, хорошо бы сюда инфу.

Автор:  bohdant [ Вторник, 15 Декабрь, 2009 16:46 ]
Заголовок сообщения:  Re: Какова оптимальная для ЯВУ система машинных команд?

Сейчас Вирт с коммандой делают проект Оберон-На-Чипе
http://www.embeddedcomputingconference. ... ldener.pdf
Возможно что то изменилось?

Автор:  Info21 [ Вторник, 15 Декабрь, 2009 17:36 ]
Заголовок сообщения:  Re: Какова оптимальная для ЯВУ система машинных команд?

bohdant писал(а):
Сейчас Вирт с коммандой делают проект Оберон-На-Чипе

Вот тут часть команды:
http://www.inr.ac.ru/~info21/images/2009-05-26_ling.jpg

Автор:  bohdant [ Вторник, 15 Декабрь, 2009 18:38 ]
Заголовок сообщения:  Re: Какова оптимальная для ЯВУ система машинных команд?

Info21 писал(а):
bohdant писал(а):
Сейчас Вирт с коммандой делают проект Оберон-На-Чипе

Вот тут часть команды:
http://www.inr.ac.ru/~info21/images/2009-05-26_ling.jpg

Вы эту фотку уже второй раз выкладываете, а другие есть? :)

Автор:  Axcel [ Вторник, 15 Декабрь, 2009 18:56 ]
Заголовок сообщения:  Re: Какова оптимальная для ЯВУ система машинных команд?

Сергей Губанов писал(а):
...]Так вот, у кроносов была стековая архитектура (все вычисления на стеке), а в книге Вирта "Построение компиляторов" -- регистровая (16 регистров) архитектура а-ля RISC. То есть друг с другом они "не дружат"....

А у Терехова, в процессоре "Самсон" был регистровый стек, основной поток команд - однобайтовый, широкое использование микропрограммирования. Это я по памяти, 20 лет как никак прошло. К сожалению в интернете по "Самсону" материалов нет, вроде как он принят основным в РВСН и, соответственно, засекречен.
Была книга: - 3. Кожокарь С.К., Евстюнин М. В., Терехов А. Н., Уфнаровский В. А. "Как Паскаль и Оберон попадают на "Самсон"", Кишинев, изд. Штиница, 1992. Cоставитель: А. Н. Терехов, д.ф.-м.н., проф.
Но это какой-то недоступный раритет.

Автор:  Info21 [ Вторник, 15 Декабрь, 2009 19:02 ]
Заголовок сообщения:  Re: Какова оптимальная для ЯВУ система машинных команд?

bohdant писал(а):
Вы эту фотку уже второй раз выкладываете, а другие есть? :)
В этой ветке? Уже забыл...

Ну, их 18 штук по 2М, вроде кина. Вот еще.

Вложения:
DSC01614-1024.jpg
DSC01614-1024.jpg [ 229.5 КБ | Просмотров: 15306 ]

Автор:  Рэйлвэй Каген [ Вторник, 15 Декабрь, 2009 19:30 ]
Заголовок сообщения:  Re: Какова оптимальная для ЯВУ система машинных команд?

bohdant писал(а):
..Возможно что то изменилось?
Давно уже изменилось. Java Virtual Machine появилась в hardware implementation. На AVR32(Atmel) аппаратно исполняется жабовский байт-код.

Автор:  Galkov [ Вторник, 15 Декабрь, 2009 22:55 ]
Заголовок сообщения:  Re: Какова оптимальная для ЯВУ система машинных команд?

Рэйлвэй Каген писал(а):
На AVR32(Atmel) аппаратно исполняется жабовский байт-код
Atmel - серьезная контора, вроде.... У них и 8-бит - тоже не так уж и плохо под ЯВУ заточен
Один Zero propogation чего стоит: пойти против традиций - не каждый себе позволить может

Автор:  Valery Solovey [ Среда, 16 Декабрь, 2009 00:42 ]
Заголовок сообщения:  Re: Какова оптимальная для ЯВУ система машинных команд?

Сергей Губанов писал(а):
Так вот, у кроносов была стековая архитектура (все вычисления на стеке), а в книге Вирта "Построение компиляторов" -- регистровая (16 регистров) архитектура а-ля RISC. То есть друг с другом они "не дружат".
Не в курсе, что с Lilith, а в Ceres стековый процессор - это точно. Lilith Вирт на общем уровне в своей Тьюринговской лекции описывал. Не помню, какой архитектуры процессор, но помню, что он там сетовал по поводу того, что ЯВУ подстраивают под процессор, а не архитектуру процессора под нормальны ЯВУ.

Автор:  Илья Ермаков [ Среда, 16 Декабрь, 2009 01:14 ]
Заголовок сообщения:  Re: Какова оптимальная для ЯВУ система машинных команд?

Да, там вроде безымянные регистры в виде стека. Кажется.

Автор:  Валерий Лаптев [ Среда, 16 Декабрь, 2009 07:31 ]
Заголовок сообщения:  Re: Какова оптимальная для ЯВУ система машинных команд?

Valery Solovey писал(а):
Сергей Губанов писал(а):
Так вот, у кроносов была стековая архитектура (все вычисления на стеке), а в книге Вирта "Построение компиляторов" -- регистровая (16 регистров) архитектура а-ля RISC. То есть друг с другом они "не дружат".
Не в курсе, что с Lilith, а в Ceres стековый процессор - это точно. Lilith Вирт на общем уровне в своей Тьюринговской лекции описывал. Не помню, какой архитектуры процессор, но помню, что он там сетовал по поводу того, что ЯВУ подстраивают под процессор, а не архитектуру процессора под нормальны ЯВУ.

Это он тогда нет в курсе про Эльбрус был... :)

Автор:  Trurl [ Среда, 16 Декабрь, 2009 08:58 ]
Заголовок сообщения:  Re: Какова оптимальная для ЯВУ система машинных команд?

Axcel писал(а):
А у Терехова, в процессоре "Самсон" был регистровый стек

Даже три стека: целых, адресов и вещественных.

Автор:  Trurl [ Среда, 16 Декабрь, 2009 09:17 ]
Заголовок сообщения:  Re: Какова оптимальная для ЯВУ система машинных команд?

Valery Solovey писал(а):
Не в курсе, что с Lilith, а в Ceres стековый процессор - это точно. Lilith Вирт на общем уровне в своей Тьюринговской лекции описывал. Не помню, какой архитектуры процессор, но помню, что он там сетовал по поводу того, что ЯВУ подстраивают под процессор, а не архитектуру процессора под нормальны ЯВУ.

Стековый процессор - в Lilith, а в Ceres обычный регистровый

Автор:  Valery Solovey [ Среда, 16 Декабрь, 2009 12:03 ]
Заголовок сообщения:  Re: Какова оптимальная для ЯВУ система машинных команд?

О, и вправду.

Кстати, здесь написано, что Кроносс - клон Lilith.

Автор:  Рэйлвэй Каген [ Среда, 16 Декабрь, 2009 13:17 ]
Заголовок сообщения:  Re: Какова оптимальная для ЯВУ система машинных команд?

Попробую-таки развить в духе предыдущего высказывания..

набор команд VM (разумеется, в контексте языков, для которых существуют виртуальные машины) оптимален по отношению к языку в значительно большей степени, чем набор машинных команд произвольной аппаратной платформы. Может что-то есть в "золотом фонде" по проектированию VM?

Автор:  Valery Solovey [ Среда, 16 Декабрь, 2009 15:31 ]
Заголовок сообщения:  Re: Какова оптимальная для ЯВУ система машинных команд?

Виртуальные машины можно разделить на 2 класса:
1. эффективно реализующие ЯВУ, которые в свою очередь спроектироваы под задачу, а не тем же способом, что и ВМ второго класса.
2. реализованные в стиле "- А давайте сделаем... - А почему бы и нет... - И там будет ... и ...".

Если переформулировать названия классов, то они будут выглядеть так: ориентированные на ЯВУ и не ориентированные на ЯВУ.

По повествованиям из многих источников можно сделать вывод, то JVM относится ко второму классу. И смысл её не в том, чтобы под неё было проще компилятор сделать, а в том, чтобы она быстрее работала на реальных машинах. Поэтому можно предпололжить, что скорее будут выбирать такие команды для ВМ, чтобы их было эффективнее реализовать на реальном железе. Или другими словами: набор команд JVM сильно коррелирует с набором команд процессора.

Поэтому "золотой фонд" "золотым фондом", но первый вопрос, который должен быть решён при рассмотрении очередной ВМ, это какому классу она принадлежит.

Это важно, поскольку ВМ второго класса не интересны.

Автор:  Рэйлвэй Каген [ Среда, 16 Декабрь, 2009 15:53 ]
Заголовок сообщения:  Re: Какова оптимальная для ЯВУ система машинных команд?

Valery Solovey писал(а):
..первый вопрос, который должен быть решён..
Может не зацикливаться на нём, а копнуть поглубже :)
В район языков, имеюших представление в виде байткода?

Автор:  Сергей Губанов [ Среда, 16 Декабрь, 2009 16:02 ]
Заголовок сообщения:  Re: Какова оптимальная для ЯВУ система машинных команд?

bohdant писал(а):
Сейчас Вирт с коммандой делают проект Оберон-На-Чипе
http://www.embeddedcomputingconference. ... ldener.pdf
Возможно что то изменилось?
Подивился планам реализовать сборщик мусора аппаратно в сопроцессоре.

Info21 писал(а):
Ну, их 18 штук по 2М, вроде кина. Вот еще.
А чтоб было видно что у них там на мониторе нарисовано фотка есть? А то у них такие выражения лиц захватывающие... :D

Автор:  Valery Solovey [ Среда, 16 Декабрь, 2009 18:55 ]
Заголовок сообщения:  Re: Какова оптимальная для ЯВУ система машинных команд?

Вот в этом и заключено искусство фотографии - сделать обыденное захватывающим и интересным. : )

Автор:  Info21 [ Среда, 16 Декабрь, 2009 19:26 ]
Заголовок сообщения:  Re: Какова оптимальная для ЯВУ система машинных команд?

Valery Solovey писал(а):
здесь написано, что Кроносс - клон Lilith.
Таким формулировкам никогда нельзя верить буквально.
Во всяком случае, кажется, не 1:1.

Страница 1 из 2 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/