Цитата: Telioc от 04.01.2018 19:49:58Можно это расшифровать простому смертному? Единственное что я понял с высоты своего "технического" образования, что наши процессоры на обычном ПК будут ужасно медленными. Как понятно из первого предложения сама система была придумана за бугром. Погуглил, увидел что у интела есть линейка с таким же типом компилятора. Наш крендель ещё чем то отличается?
И есть ли какие-нибудь преимущества у отечественного производителя для обычного компьютера?
Не пугайтесь:
VLIW может хорошо и быстро жевать только равномерный поток команд, максимально сгруппированных в "широкие команды" для их одновременного выполнения всеми "ядрами". Вот только чистый VLIW никакой собственной логики формирования таких "широких команд" не имеет и полностью полагается на компилятор. Это первая проблема - грабли просто переносятся на этап написания программы. КАЖДОЙ программы. Вторая проблема соседствует с первой - не из любого потока команд можно собирать действительнр "широкие команды" на этапе компиляции - любой условный переход будет ломать вам всю малину, потому что уже только потом, в процессе выполнения вы сможете определить пойдут ли умные направо или таки красивые налево. Отсюда "атомная" производительность на ПО общего назначения, в котором идет куча вызовов/переходов/прерываний.
На чем оно будет работать хорошо? Ну единственный опыт ширнармас со вливом - видеокарты 10 летней давности. Смотрим код любого шейдера на GLSL - вот это будет работать хорошо, однообразные численные операции, желательно без ветвлений и циклов. Вс загружено по максимуму, гига-тера-флопсы и пр.
Например, эльбрусовцы хвалились, что они могут сворачивать цикл for с вычислением внутри и выполнять его за один раз. Но стоит в этот самый for добавить вызов другой подпрограммы или ветвление и вся магия резко закончится. Ну, по крайней мере, мне так кажется...
Почему говорят, что у нынешних проблем ноги начали расти 22 года назад? А это время пеньков, когда интел для решения как раз описанных проблем начал городить черномагическую конструкцию, изменяющую порядок выполнения по неким своим правилам дабы добиться большей производительности, обеспечить какой-то параллелизм внутри процессора и пр. По сути они решили проблему "низкого качества" поступающих команд построив умную сортировочно-перепаковочную станцию (и кеша побольше!).
Машинный код получаемый в классическом ПО крайне хренов для проца - километровые стеки вызовов, прыжки туда-сюда и кеш не спасает. И тут появляется пенек, и несмотря на более низкую частоту, чем у всяких 486DX120 начинает их тупо рвать... Причем, на уже существующем ПО.
Для тех кому лениво, 15 летняя игрушка, которая щас есть на мобильниках, на эльбрусе:
https://www.youtube.…GRRsYWXQvY