Инструкции SSE
Наиболее выгодный на современном этапе процессоростроения метод повышения производительности — это внедрение новых команд (инструкций), которые позволяют выполнять за один-два такта однотипные операции сразу для целой группы данных. Например, это очень выгодно для обработки потоков видеоданных, когда одна команда заменяет целую группу однотипных инструкций. Первое внедрение таких команд относится к эпохе процессоров Intel Pentium MMX. Именно тогда для ускорения работы процессора корпорация Intel внедрила набор 57 инструкций MMX (MultiMedia Extensions). Фактически, получился качественный скачок в производительности, поэтому название набора команд попало даже в маркировку процессоров.
Так как инструкции ММХ оказались стандартом де-факто для всей линейки процессоров х86, то конкуренты в лице AMD для новых процессоров предложили дополнительный набор из 21 мультимедийной инструкции под названием 3DNow! (в дальнейшем этот набор был дополнен новыми командами), которые узаконили дополнительные регистры памяти в архитектуре процессоров х86. В ответ через год корпорация Intel в процессорах Pentium III наела новый набор инструкций SSE. В процессорах Pentium4 добавился набор инструкций SSE2. В дальнейшем были разработаны наборы инструкций SSEЗ в вариантах для процессоров Intel и AMD. Последние веяния — это набор инструкций SSE4, который сначала предложила корпорация AMD, и ныне известный как SSE4A, а потом корпорация Intel свой набор под вариантами SSE4.1 и SSE4.2. Несмотря на такую пестроту мультимедийных инструкций, все современные программы поддерживают все варианты как от Intel, так и от AMD. Интересна эволюция внедрения инструкций SSE, например, на сайте корпорации Intel представлена картинка, которую можно привести в следующем виде:
SSE 1999 г. 70 инструкций
SSE1 2000 г. 144 инструкции SSE2 2004 г, 13 инструкций SSE3 2006 г. 32 инструкции SSE4.1 2007 г. 47 инструкций SSE4.2 2008 г. 7 инструкций
|