Sandro>> Только не это! RISC-V — это порождение мозга безумных диверсантов-рептилоидов, не иначе.
Unix> Но дальше - удивил.
Sandro>> Вот как, например, объяснить, что 64-битная версия не совместима по двоичному коду с 32-битной, причём это сделано умышленно?
Unix> Ты типа не знаешь во что вылилось в кремнии тащить старые костыли и подпорки совместимость на Ынтеле?! Там пол-камня этим занято.
Знаю. А так же знаю, почему. 8086 исходно был затычкой в модельном ряду. Процессором переходного периода, так сказать. Поэтому его и слепили на коленке за полгода, почти не приходя в сознание. И должен был этот уродец запланированно сдохнуть через несколько лет.
Но случились две вещи:
1) Intel эпически облажалась с перспективной 32-х битной архитектурой. Overengineering в чистом виде. Из iAPX432 в принципе не могло выйти ничесго нормального.
2) Команда, работавшая над IBM PC — тоже архитектура-затычка по исходной идее — решила экономить как можно больше, и таки был выбран 8086 (а точне, 8088) в качестве процессора. Хотя рассматривался а вариант с 68000. Очень жаль, что от него отказались, цена машины вырастала не так уж и сильно, зато перспективы...
В результате мы и имеем эту чудовищную архитектуру с длиной команда от 1 до 15 байт, включая до 5 байт префиксов, двумя десятками форматов операндов и теперь уже где-то 4 тысячами команд.
А всё потому что аж два раза ответственные лица не подумали о возможных перспективах развития архитектуры.
К DEC Alpha это не имеет никакого отношения. Это чисто RISC машина с 32-битными командами и 8/16/32/64-битными данными. Разрядность выбирается двумя битами в коде команды и стоит в железе всего лишь нескольких четырёхвходовых мультиплексоров.
Более того, если обрезать регистры до 32 бит и по коду размеру операнда 11 выкидывать исключение, то это будет прекрасная 32-битная машина. Код которой будет корректно исполняться на 64-битной версии процессора
без изменений.
В RISC-V всё не так. У него есть 32-битная и 64-битная версии. При этом опкоды у них совпадают, и 64-бит версия будет пытаться исполнять команды 32-бит, как 64-бит. А для реализации 32-битных вычислений на 64-битной версии там предусмотрен специальный набор команд, который есть только у 64-битной версии.
Это вообще как называется?!?
Это даже не отсутствие двоичной совместимости, это ложная двоичная совместимость! Повбывав бы.
Unix> А компиляторы нынче могучие, вот тому же gcc пофиг под что собирать, был бы сырок.
А пользователю не нужен сырок. Ему нужен бинарник, и чтобы работал везде. Или хотя бы была совместимость старших моделей с младшими. Которая в RISC-V поломана умышленно!
Об этом кто-то из разработчиков архитектуры говорил, я уже не помню, кто.
Sandro>> Не говоря уже о том, что система команд у него изначально убогая и исправлению не подлежит.
Unix> Ещё скажи что не знаешь что означает акроним RISC
Знаю. Более того, даже доводилось делать RISC процессор на VHDL.
Убогость в данном случае относится конкретно к RISC-V. Та же DEC Alpha — вполне нормальная.
Ну вот просто возьми руководства на оба процессора, и посмотри, как там сделаны операции с длинными константами. Как с переходами. Как память адресуется. Для RISC-V зачастую придётся использовать больше команд.
Sandro>> Если кто хочет посмотреть на правильно сделанный 32/64-битный процессор — надо смотреть на DEC Alpha. Вот там всё сделано по уму.
Sandro>> К сожалению, в администрацию DEC просочились дебилы.
Unix> Я не знаю почему Sandro, но и Alpha и SPARC - трупы. Увы.
История DEC Alpha достаточно хорошо известна. "Она не умерла. Её похоронили. Заживо." Менеджмент DEC за каим-то раком препятствовал её продажам. Наиболее вопиющий случай: когда Джобсовы ребята искали, на что бы заменить процессор в новом Маке, то всерьёз рассматривали именно Альфу. Менеджер DEC, к которому они обратились, сказал — дословно — что считает это несвоевременным(!!!), так как ещё есть рынок для DEC VAX(!!!).
Это какую же степень повреждения мозга надо иметь, чтобы ляпнуть такое?
Ну а Мак, как мы знаем, вышел на Power PC. Тоже неплохая машина, но у DEC как-то посимпатичнее вышло, на мой вкус.
SPARC же вылез из того же гнезда (Беркли), что и RISC-V, и тоже уродец. Но по-другому. Кстати, в девичестве он Berkeley RISC, дипломный проект тамошних студиозусов под руководсвом Дэвида Паттерсона. Который теперь замешан — угадай с одного раза в чём?
Unix> Что то не ладно в Датском королевстве.
Увы.
"The RISC-V authors are academic but have substantial experience in computer design. The RISC-V ISA is a direct development from a series of academic computer-design projects."
Допустили чистых теоретиков без опыта реального программирования до разработки реального железа. Это достаточно надёжный способ получить нечто странное и неудобное.