Re[12]: Эльбрус мёртв, да здравствует Эльбрус-Б!
От: vdimas Россия  
Дата: 22.05.25 20:30
Оценка: +1
Здравствуйте, netch80, Вы писали:

V>>В любом случае, эффективно обыграть эту проблему с целью утилизации выч. блоков получилось только с аппаратной многопоточностью, а не через ОоО и переименование регистров.

V>>Единственно что, 2x аппаратная многопоточность оказалась недостаточной, более хорошо выглядели 4x и даже 16x многопоточность.
N>Так "утилизация выч. блоков" никогда не была прямой целью.

Это совершенно новая для меня мысль. ))


N>А вот сократить задержки на команды в целом — да.


Это в "лапшееобразном" коде т.н. "бизнес-логики", где куча if-ов и простейших перемещений данных в памяти, зачастую даже без вычислений.
Т.е. где код заведомо неэффективный-непродуманный с произвольной итерацией по графу косвенно связанных блоков данных произвольной же глубины этих связей.
Именно под такой непродуманный код требуется ОоО.

А где происходят именно полезные вычисления над сколь-нибудь заметными объёмами данных, там все эти вещи прекрасно обыгрываются через prefetch, да и сам лейаут данных в памяти продуман всяко лучше, чем эти бесконечные виноградные гроздья т.н. бизнес-объектов в памяти, особенно в языках наподобие Джавы или C#, провоцирующих просто чудовищную косвенность хранения данных, что предсказать промахи кеша на этапе компиляции действительно невозможно. ))
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.