logo search
КС-ZAO / Лекции ЦЭВМруский вариант11

§22.3.Распаровка (paring).

Точно так же, как и «обычные» инструкции микропроцессора, инструкции MMX могут выполняться в паре с другой инструкцией одновременно. Более того, в некоторых случаях возможно одновременное выполнение двух инструкций MMX. Операции сдвига и умножения могут быть выполнены как на и-, так и на v-конвейере. Ограничения, накладываемые на возможность распаровки, следующие:

Две инструкции, использующие блок сдвигов MMX (инструкции упаковки/распаковки и сдвига), не могут выполняться одновременно.

Две инструкции, использующие блок умножения MMX (инструкции типа pmul, pmulh, pmadd), не могут выполняться в паре.

Целевой регистр ММХ-инструкции, попавшей в u-конвейер, не должен совпадать с регистром-источником инструкции, попавшей на v-конвейер (тест на зависимость). То есть пара инструкций:

paddb mmreg2, mmregl paddb mmregЗ, mmreg2

не может выполняться одновременно,

Инструкция EMMS не паруется.

Если установлены CRO.TS или CRO.EM, то ММХ - инструкции не могут быть выполнены на v-конвейере.