История изменений
Исправление NiTr0, (текущая версия) :
Ога, его потенциал безграничен.
как только VLIW с помощью некоего волшебного конпелятора в рантайме сможет разворачивать циклы и предсказывать ветвление, дозагружая исполняемые блоки последующими командами из нужной ветки - так сразу и приходите. а без этого - возвращаемся в 95-й год к пню 1, разве что обросшему конвейерами и с явным указанием какую инструкцию на какой конвейер кидать.
Почему ты решил, что железяка сложнее софтварного уровня? Нихрена она не сложнее.
дада, совсем не сложнее :) предсказать какая ветка будет исполняться с большой вероятностью при еще неизвестных результатах вычислений, выбрать из нее команду которая не зависит от результатов еще не выполненных вычислений, загнать ее на исполнительное устройство и придержать прочие пока команда не исполнится - подумаешь фигня какая, в кремнии реализовать, еще чтобы и в реалтайме на частоте ядра шуршало :)
Нихрена. Там нужна производительность, которой нету и никогда не будет у суперскаляра.
нет. там рулит только производительность на ватт. которая таки выше ввиду низкого жора - банально потому, что у суперскаляров основной жор таки на том самом ОоО, а не на исполнительных блоках. ну и проще оно, да - закинул слово команд по блокам, подождал результата, дальше - следующее слово закинул, самое то для числодробилен, где почти как в анекдоте «чего там думать - множить надо»…
Нет, никаких 5-10% там нет. Тебя обманули - меньше слушай агиток рекламных.
берете сэнди бридж. берете какой-нить бенч. запускаете, смотрите попугаи. берете какой-нить *лейк. берете тот же бенч. фиксируете частоту на частоте сэнди бриджа. запускаете, смотрите попугаи. сравниваете, посыпаете голову пеплом.
далее, берете какой-нить gcc 4.4 например. компилите ним приложение бенча (желательно - на С, не С++), запускаете, смотрите результаты. потом берете gcc 9.x, компилите и запускаете тот же бенч. эдак в 90% случаев разница в производительности будет в пределах погрешности.
Если завтра всё перейдёт на софтварный уровень - это похоронит и интел и всех остальных. как только волшебный компилятор сможет на этапе компиляции предсказывать ветвления и загружать исполняемые блоки командами в следующей за ветвлением ветке - так сразу и приходите. вот только пичаль в том, что статический анализ - он довольно туп и примитивен, и ни на что не годен без живых данных…
К тому же интел сам пытался заняться вливом, когда суперскаляр упёрся в потолок.
никогда он не пытался заниматься вливом, там все-таки не идиоты сидят - пилить архитектуру, у которой ABI ломается при любом расширении ядра. итаники - ни разу не VLIW, хоть и отдаленно похожи.
Исходная версия NiTr0, :
Ога, его потенциал безграничен.
как только VLIW с помощью некоего волшебного конпелятора в рантайме сможет разворачивать циклы и предсказывать ветвление, дозагружая исполняемые блоки последующими командами из нужной ветки - так сразу и приходите. а без этого - возвращаемся в 95-й год к пню 1, разве что обросшему конвейерами и с явным указанием какую инструкцию на какой конвейер кидать.
Почему ты решил, что железяка сложнее софтварного уровня? Нихрена она не сложнее.
дада, совсем не сложнее :) предсказать какая ветка будет исполняться с большой вероятностью при еще неизвестных результатах вычислений, выбрать из нее команду которая не зависит от результатов еще не выполненных вычислений, загнать ее на исполнительное устройство и придержать прочие пока команда не исполнится - подумаешь фигня какая, в кремнии реализовать, еще чтобы и в реалтайме на частоте ядра шуршало :)
Нихрена. Там нужна производительность, которой нету и никогда не будет у суперскаляра. нет. там рулит только производительность на ватт. которая таки выше ввиду низкого жора - банально потому, что у суперскаляров основной жор таки на том самом ОоО, а не на исполнительных блоках. ну и проще оно, да - закинул слово команд по блокам, подождал результата, дальше - следующее слово закинул, самое то для числодробилен, где почти как в анекдоте «чего там думать - множить надо»…
Нет, никаких 5-10% там нет. Тебя обманули - меньше слушай агиток рекламных.
берете сэнди бридж. берете какой-нить бенч. запускаете, смотрите попугаи. берете какой-нить *лейк. берете тот же бенч. фиксируете частоту на частоте сэнди бриджа. запускаете, смотрите попугаи. сравниваете, посыпаете голову пеплом.
далее, берете какой-нить gcc 4.4 например. компилите ним приложение бенча (желательно - на С, не С++), запускаете, смотрите результаты. потом берете gcc 9.x, компилите и запускаете тот же бенч. эдак в 90% случаев разница в производительности будет в пределах погрешности.
Если завтра всё перейдёт на софтварный уровень - это похоронит и интел и всех остальных. как только волшебный компилятор сможет на этапе компиляции предсказывать ветвления и загружать исполняемые блоки командами в следующей за ветвлением ветке - так сразу и приходите. вот только пичаль в том, что статический анализ - он довольно туп и примитивен, и ни на что не годен без живых данных…
К тому же интел сам пытался заняться вливом, когда суперскаляр упёрся в потолок.
никогда он не пытался заниматься вливом, там все-таки не идиоты сидят - пилить архитектуру, у которой ABI ломается при любом расширении ядра. итаники - ни разу не VLIW, хоть и отдаленно похожи.