Re[19]: Эльбрус - 8 ядер
От: vdimas Россия  
Дата: 04.06.17 12:28
Оценка:
Здравствуйте, netch80, Вы писали:

V>>Есть еще SIMD — та же хрень, вид сбоку. Тоже одна инструкция задаёт работу сразу нескольким исполнительным устройствам. Всей разницы, что эти устройства выполняют одинаковую операцию над своими аргументами, а не уникальную для каждого исполнительного устройства, как в случае VLIW, что даёт экономию в размере бинарника программы.


N>Это как раз не "всей разницы", а критично для данного обсуждения.


Критично, это когда SIMD не на RISC.


N>он цеплялся даже поверх неконвейеризованных процессоров 70-х


При чем тут конвейеризированость?
Побочные эффекты от конвейеризированности в RISC происходят чуть в других местах — на условных ветвлениях. Поэтому-то там бывают такие прикольные виды ветвлений, как "пропустить следующую команду". Или, например, в той же архитектуре TI C6000 после команды ветвления будет выполнено еще +5 команд, которые уже находятся в конвейере. Т.е. эти следующие 5 команд можно забить NOP-ами, а можно заставить продолжать делать что-то полезное, что и делает оптимизирующий компилятор при компиляции тела цикла. Вот как раз в моём примере видно, что после первого ветвления еще 5 команд приносят некоторую пользу.


N>он и не конфликтует с суперскалярностью


Увы, конфликтует, когда речь о RISC, потому что ты понятия не имеешь, как он там устроено "унутре". ))


N>скорее даже наоборот — например, SIMD регистры типа XMM в x86 точно так же переименовываются, а операции переставляются.



Сам же себе возразил.

Суперскаляр динамически распределяет свои ресурсы, поэтому, от исходного SIMD там может ничего не остаться после отображения вот этого "абстрактного" входного бинарного кода программы на конкретный внутренний VLIW-микрокод. Ты даже не можешь гарантировать — выполнится ли эта групповая операция над данными за один так (одновременно) или последовательно/произвольно/как получится, на доступных в данный момент вычислительных блоках. ))

В общем, применение термина SIMD к суперскаляру — оно не корректно, если быть строгим. Даром внешне, т.е. сугубо для программиста, эта техника выглядит почти одинаково в обеих случаях.


N>Не комментирую остальное (про VLIW в сигнальных процессорах и т.п.), но тут тебя явно не туда понесло.

N>Или в сигнальных на самом деле такой же VLIW, который на самом деле не VLIW?

Тебя тоже в Гугле забанили?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.