Some random GrafanCon EU 2k18 Notes – Telegram
Some random GrafanCon EU 2k18 Notes
73 subscribers
312 photos
9 files
54 links
Заметки по докладам на которые я пошел (начинаются с #talk) и флуд фоточками.

Связаться с автором можно так: @Civiloid
Download Telegram
мы можем что-нибудь посчитать
и в разных стадиях несколько вещей могут выполняться параллельно
но это все еще in-order
in-order более эффективны с точки зрения потребляемой энергии (обычно), меньше по площади и проще делать
но
они медленее
например мы встретили загрузку из памяти - она долгая
и пока она не закончится мы ничего выполнять не можем, конвеер загружен
тут приходит out of order
Это совсем не то что думают программисты
это параллельные задачи
фактические последние лет 20 индустрия пыталась сделать более умный процессор который сможет оптимизировать код на лету
например у нас есть код делающий:
R1 = Load A
R2 = Load B
R3 = R1 + R2

и потом идет другое:
R1 = 1
R2 = 1
R3 = R1 + R2
in-order сделает все последовательно
но out-of-order на это посмотрит и скажет что "а ваще давайте переназначим регистры и сделаем все параллельно)
но возврат данных будет в том порядке как ожидает программа
В высокопроизводильном - все обычно ОоО
Изобрели это ооооочень давно для System/360 Model 91
изобрел Robert Tomasulo
это иногда называют "динамическое выполнение" (Dynamic Execution)
Инструкции попадают в буффер