Принцип однопоточности команд и
многопоточности данных SIMD (Single Instruction – Multiple Data, т. е. «одна инструкция – много наборов операндов») позволил существенно
ускорить обработку однотипных данных, которые очень часто используются в
мультимедийных приложениях. Например, при умножении массива переменных на
определенное число при однопоточной схеме работы процессор будет циклически
повторять одни и те же действия для каждой переменной, в том числе много раз
декодировать одну и ту же команду умножения. Работая же по многопоточной схеме,
процессор только один раз декодирует инструкцию, а дальше будет заниматься
только вычислениями и пересылкой данных. Кроме того, при наличии
соответствующих аппаратных средств он может одновременно выполнять несколько
операций. Естественно, такая схема работы процессора значительно повышает
эффективность вычислений.
Итак, необходимость повышения
производительности при обработке потоковых данных привела к тому, что
практически каждый принципиально новый процессор оснащался дополнительными
исполнительными блоками, а система команд
х86 все расширялась и расширялась.