Безусловно, этот негатив о CISC просто от непонимания темы. Нынешний RISC порой куда сложнее тогдашнего CISC. Когда-то доминировал кремний. Сейчас доминирует software и Боливар, скорее всего, просто не может выдержать множество процессорных архитектур. Поэтому и уходят некоторые, но оставляют добрые воспоминания.
Помню, в системе команд ARM вначале было поле условия выполнения, а потом пропало. Где-то я прочитал, что пропало оно «из-за ненадобности, т.к. современные предсказатели ветвлений очень хорошо работают». В архитектуре RISC-V тоже нет подобных команд. Почему?
а) Байкал-Т1, -М1
б) Эльбрус + 10-ток других оригинальных архитектур +новомодные компании с RISC-V архитектурой
Я за все варианты вместе взятые. Особенно когда все это не за деньги налогоплательщиков.
По теории автора — не совпадает целевой регистр (a1 и a0). Придется в одном такте писать в регистры сразу два результата. Видимо, по их теории, так делать нельзя.
«У процессоров CISC большое количество комплексных команд...»
Интересно, как могла бы выглядеть архитектура у которой команды идут парой: мнимая и действительная :)
ARM стал по-настоящему серьезным проектом только после того как появился процессор StrongARM и XScale, т.е. когда эта система команд попала в руки тех разработчиков, которые умели делать процессоры. Возможно, некоторый интерес Intel к этой архитектуре заставил и других по-другому взглянуть на неё.
Спасибо, еще раз. По ссылке очень интересное замечание по поводу расстановки команд, чтобы процессор мог их выполнять параллельно если он может это делать. Получается, что если расставил «неудобно» для процессора, то он(процессор) тормознет :) Тогда в выигрыше те, у кого свой компилятор который удобнее расставит команды для «своего» процессора. По крайней мере процессор может быть проще.
Когда только появилась первая версия R32I, была шутка про отсутствие бита переноса. Посмотрел как сейчас будет сложение 2-х 64-бит чисел в наборе R32I.
add a3,a5,a1
mv a0,a3
sltu a0,a0,a5
add a4,a6,a2
add a5,a0,a4
Интересно, fusion здесь тоже применяют?
То, что в ARM есть пост-инкрементная адресация, в Р5 будет две команды. Автор объясняет, что пост-инкрементная адресация это очень сложно и лучше две раздельные команды. Вы их можете скомпрессировать(если получится), но внутри процессора вы можете эти две простые команды превратить в одну ARM-команду, чтобы выполнить её за один такт. Ведь это же проще чем декодировать одну сложную команду. Но вам нужно позаботится о том, чтобы компилятор вам эти команды расположил рядом, а лучше вообще в одном слове. Если не разместит, придется вам делать черти какой буфер команд и искать в нем подругу для склейки. Это если вы хотите сделать крутой процессор. Если простой, то два такта и отдыхайте. Можно конечно просто запускать 2 команды за такт. Так вроде даже проще чем клеить две команды в одну. Но 2 команды за такт это уже два конвейера, многопортовый регистровый файл и т.д.
RISC-V конечно интересный проект, но говорить о какой-то гениальности я бы не стал.
Всегда в выигрыше тот, кто посмотрит на сделанные ранее архитектуры, сделает хороший системный анализ, выберет сильные стороны, отбросит слабые. Но другие «не гениальные » архитектуры уже приносят пользу, а у этой еще все впереди. Также не пойму о какой простоте системы команд пишет автор. Возможно статья писалась когда была доступна только версия команд R32I. Нескончаемым потоком пишутся все новые расширения для этой архитектуры :) Какой бы ни была эта архитектура, лучшие процессоры RISC-V сделают те же разработчики которые сейчас делают лучшие x86, ARM,MIPS и т.д. Но несомненная польза RISC-V в том, что попрактиковаться в проектировании этой архитектуры процессора может каждый. И ничего ему за это не будет :)
то, что раскрутка плодит кучу кода это мне знакомо, но порой это говорит, что либо в процессоре плохо поддерживаются циклы на аппаратном уровне, либо компилятор не умеет хорошо настроить цикл под конкретную архитектуру.
Так что если душа это код, то только тот код, который во флэше.
Но в целом перевод хороший.
б) Эльбрус + 10-ток других оригинальных архитектур +новомодные компании с RISC-V архитектурой
Я за все варианты вместе взятые. Особенно когда все это не за деньги налогоплательщиков.
Интересно, как могла бы выглядеть архитектура у которой команды идут парой: мнимая и действительная :)
add a3,a5,a1
mv a0,a3
sltu a0,a0,a5
add a4,a6,a2
add a5,a0,a4
Интересно, fusion здесь тоже применяют?
Всегда в выигрыше тот, кто посмотрит на сделанные ранее архитектуры, сделает хороший системный анализ, выберет сильные стороны, отбросит слабые. Но другие «не гениальные » архитектуры уже приносят пользу, а у этой еще все впереди. Также не пойму о какой простоте системы команд пишет автор. Возможно статья писалась когда была доступна только версия команд R32I. Нескончаемым потоком пишутся все новые расширения для этой архитектуры :) Какой бы ни была эта архитектура, лучшие процессоры RISC-V сделают те же разработчики которые сейчас делают лучшие x86, ARM,MIPS и т.д. Но несомненная польза RISC-V в том, что попрактиковаться в проектировании этой архитектуры процессора может каждый. И ничего ему за это не будет :)