Здравствуйте, Pzz, Вы писали:
Pzz>В России есть только один процессор с собственной системой команд, пресловутый Эльбрус. Компилятор евонный сделан из gcc с кодогенератором отечественного производства. Исходников никто не видел, увы, так что качество оценить сложно.
Ты вводишь людей в заблуждение. Там купленный EDG в качестве фронтенда, а генератор действительно собственный
Здравствуйте, Pzz, Вы писали:
Pzz>В России есть только один процессор с собственной системой команд, пресловутый Эльбрус. Компилятор евонный сделан из gcc с кодогенератором отечественного производства. Исходников никто не видел, увы, так что качество оценить сложно.
Уже к 1979 году на Эльбрусе-1 были реализованы (на основе Эль-76) и вовсю использовались:
Фортран, Алгол, ПЛ/1, Кобол, Паскаль, Рефал, Снобол-4, Лисп. Чуть попозже добавился десяток более специализированных языков, включая пресловутый ПРОЛ-2 для Бурана.
Так, что компиляторов там действительно было много. Компилятор на основе gcc — лишь один из многих.
Здравствуйте, кт, Вы писали:
кт>Уже к 1979 году на Эльбрусе-1 были реализованы (на основе Эль-76) и вовсю использовались: кт>Фортран, Алгол, ПЛ/1, Кобол, Паскаль, Рефал, Снобол-4, Лисп. Чуть попозже добавился десяток более специализированных языков, включая пресловутый ПРОЛ-2 для Бурана. кт>Так, что компиляторов там действительно было много. Компилятор на основе gcc — лишь один из многих.
Тот Эльбрус к современному ни по системе команд, ни по набору компиляторов никакого отношения не имеет.
Здравствуйте, dsorokin, Вы писали:
D>ты тоже не знаком с предметом? см. ответ выше
С современным состоянием ПО для Эльбруса-3 не знаком. Я лишь отметил, что там компилятор не один. Даже 40 лет назад их было много.
Здравствуйте, pagid, Вы писали:
P>Тот Эльбрус к современному ни по системе команд, ни по набору компиляторов никакого отношения не имеет
По системе команд имеет команды процессора
Здравствуйте, кт, Вы писали:
кт>По системе команд имеет команды процессора
Это современный. Вроде как в открытом доступе достаточно подробное описание появилось только в этом году.
Советские Эльбрус-1, -2, компиляторы для которого ты перечислил выше, имел совсем другую систему команд на других принципах. Соответственно и наборы компиляторов у них совершенно разные.
Здравствуйте, pagid, Вы писали:
P>Советские Эльбрус-1, -2, компиляторы для которого ты перечислил выше, имел совсем другую систему команд на других принципах. Соответственно и наборы компиляторов у них совершенно разные.
Откуда Вы взяли, что другие? Есть ссылка на те команды?
Здравствуйте, кт, Вы писали:
кт>Здравствуйте, pagid, Вы писали:
P>>Советские Эльбрус-1, -2, компиляторы для которого ты перечислил выше, имел совсем другую систему команд на других принципах. Соответственно и наборы компиляторов у них совершенно разные.
кт>Откуда Вы взяли, что другие? Есть ссылка на те команды?
Достаточно того, что в описаниях типа такого сказано про
>> безадресная система команд;
(на стеке)
что приблизительно аналогично Forth или VM типа JVM.
А вот нынешний Эльбрус — EPIC со вполне себе явной адресацией с толпой регистров.
Здравствуйте, netch80, Вы писали:
N>Достаточно того, что в описаниях сказано про безадресная система команд; N>(на стеке)
Адресов памяти в смысле х86 в Эльбрусе-3 и сейчас нет.
Все это расплывчато. Например, можно утверждать, что 386 и Pentium имеют разную архитектуру (и это правда), а вот команды в массе те же. N>что приблизительно аналогично Forth или VM типа JVM.
Это домыслы. N>А вот нынешний Эльбрус — EPIC со вполне себе явной адресацией с толпой регистров.
Я специально искал литературу по командам Э-1 и Э-2 еще 30 лет назад. Ее просто нет в открытом доступе. Затем вдруг появляется описание команд Itanium и через двадцать лет — вдруг сразу команды Э-3.
Зачем сейчас секретить команды Э-1 и Э-2 ? Я предполагаю, что вот это они и есть с некоторыми расширениями. "Безадресные" можно толковать по-разному.
Здравствуйте, Sinclair, Вы писали:
кт>>На мой взгляд, созданием и развитием средств программирования должны заниматься не наши университеты (как учебные заведения), а госорганизации, как делом государственной важности. S>Нет лучшего способа развалить что-то, чем поручить это госорганизации.
Росатом смотрит на тебя с недоумением.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Здравствуйте, кт, Вы писали:
кт>Зачем сейчас секретить команды Э-1 и Э-2 ? Я предполагаю, что вот это они и есть с некоторыми расширениями. "Безадресные" можно толковать по-разному.
http://www2.icmm.ru/~masich/win//lexion/elbrus2/elbrus2.htm
>> Воспользовавшись ПолИЗ, приведенную группу команд (1) можно сократить, вычеркнув все ссылки к промежуточным результатом и представив ее в виде Сч а, Сч b, Сч c, *, Сч d, –, /,
>> ПолИЗ предполагает использование стека в качестве памяти операндов; все операнды считываются из вершины стека, а результаты описываются в вершину стека. При этом явного указания адресов операндов и результата в команде не требуются, поэтому система команд, основанная на ПолИЗ, называется безадресной.
Да, конкретных деталей по-прежнему ни слова. Но общая концепция абсолютно не соответствует тому, что публикуется для современного зверя с EPIC.
кт> "Безадресные" можно толковать по-разному.
Здравствуйте, кт, Вы писали:
кт>Зачем сейчас секретить команды Э-1 и Э-2 ?
В свое время все секретили. Сейчас оно только имеет исторический интерес.
кт>Я предполагаю, что вот это они и есть с некоторыми расширениями. "Безадресные" можно толковать по-разному.
Безадресность там толкуется однозначным образом — стековая система команд. Об этом прямо пишут. Для распараллеливания выполнения подобная архитектура неудобна совершенно. Возможно по этой причине на Э-3 круто метнулись в другую сторону.
P>Безадресность там толкуется однозначным образом — стековая система команд. Об этом прямо пишут. Для распараллеливания выполнения подобная архитектура неудобна совершенно. Возможно по этой причине на Э-3 круто метнулись в другую сторону.
Я все это читал еще в описаниях Э-1 1980 года издания. Нет там ничего, сплошной туман. Если сейчас только исторический интерес, почему во всех статьях, даже разработчиков, ничего не приводят конкретного?
Здравствуйте, Privalov, Вы писали:
P>Я не о том. Допустим, в процедуре стоит ON ENDFILE, а это самое ENDFILE возникает где-то ниже, в подпрограмме. Что будет?
Все ON-операторы пишутся в свой стек, вызывается самый верхний нужного типа. В этом стеке хранятся и значения стека (RSP для х86), которые были в момент установки ON-оператора. При выходе из процедуры стек ON-операторов сверху очищается до тех пор, пока стек записанный для ON-операторов не станет меньше или равен физическому стеку, т.е. установленные в процедуре ON-операторы отменяются (но если рекурсия — то только очередной слой)
В данном случае сработает последний из неотмененных ON ENDFILE