Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Архитектура ЕМ64Т




DNow!

SSE3

SSE2

SSE

Данное расширение появилось в Pentium III (ядро Katmai, сентябрь 1999) и насчитывало 70 новых команд. Позднее в Athlon ХР (начиная с


Palomino) его стали поддерживать и процессоры AMD. Аббревиатура SSE расшифровывается как Streaming SIMD Extensions (потоковые SIMD расши­рения).

SSE оперирует с данными вещественного типа, которые используются в геометрических расчётах, то есть, приложениях трёхмерной графики, ком­пьютерных играх, редакторах типа 3DStudioMax, и многих других. С тех пор как в компьютерных играх вроде Quake текстурирование треугольников ста­ло производиться при помощи видеоускорителей, большая надобность в це­лочисленных вычислениях отпала. На первое место вышла скорость опера­ций с плавающей точкой, вроде перемножения вещественного вектора на вещественную матрицу.

При внедрении SSE процессор получил в дополнение к стандартным регистрам архитектуры х87 (математический сопроцессор) 8 новых больших регистров размером по 128 бит, в каждом из которых может содержаться 4 32-битных вещественных числа. С четвёрками операндов можно покомпо­нентно производить следующие операции: сложить две четвёрки чисел, вы­честь, перемножить, разделить. ычислить одновременно 4 (обратных) квад­ратных корня, точно или приближённо. Ещё можно тасовать содержимое ре­гистров, перекладывать данные из одних частей регистра в другие и произ­водить некоторые другие аналогичные операции. Однако перемещение дан­ных происходит не быстрее их сложения, так что эффективное использова­ние SSE возможно только на подготовленных правильно упакованных дан­ных.

первую очередь использование SSE позволяет современным процес­сорам при выполнении трансформации вершин треугольников, составляю­щих трёхмерную сцену, успешно соревноваться с видеоускорителями.

Следующее расширение, являющееся логическим продолжением ММХ и SSE появилось в Pentium 4 (начиная с Willamette). Athlon 64 появилось начиная с Clawhammer.

данное расширение включены 144 команды SSE2, ориентированные, в первую очередь, на работу с потоковыми данными. Подобно Pentium III, они также оперируют со 128-битными регистрами, но уже не только с чет­верками чисел одинарной точности, но и с любыми другими типами данных, которые умещаются в 128 бит. Это пары вещественных чисел двойной точ­ности, шестнадцать однобайтовых целых, восьмерки двухбайтовых целых, пары восьмибайтовых целых и т.д. результате получился некий симбиоз ММХ и SSE.

Теперь те же 8 больших 128-битных регистров уже можно интерпрети­ровать как содержащие не четыре 32-битных вещественных числа, а два 64-


битных вещественных числа повышенной точности. Числа с повышенной точностью используются в тех случаях, когда вычисления с обычной точно­стью приводят к большим погрешностям. се операции перенеслись с SSE, только работают не с четвёркой пар операндов, а с двойкой пар операндов.

SSE2 регистры по сравнению с ММХ удвоились, то есть, там стало помещаться не, например, 8 чисел, а 16. Поскольку скорость выполнения ин­струкций не изменилась, при оптимизации под SSE2 программа запросто по­лучала двукратный прирост производительности. Надо отметить ещё сле­дующее обстоятельство. Если программа уже была оптимизирована под ММХ, то оптимизация под SSE2 даётся сравнительно легко в силу сходности системы команд.

Следующий набор появился в Pentium 4 начиная с Prescott и Athlon 64 начиная с Venice. Это расширение имело поначалу рабочее название Prescott New Instruction, но получившее в итоге не совсем верное с технической точ­ки зрения название SSE3, призвано облегчить оптимизацию программ под SSE и SSE2. Причём, в первую очередь, сделать более легкой полностью ав­томатическую оптимизацию программ средствами компилятора. То есть, для оптимизации необходимо будет просто перекомпилировать программу.


Вертикальное сложение


Некорректность названия SSE3 объясняется тем, что в отличие от дру­гих SIMD инструкций, где операции (например, сложение) выполняются вертикально, здесь появилась возможность горизонтального выполнения операций.

оризонталъное сложение

Таким образом, в SSE3 появились удобные команды горизонтального последовательного сложения и вычитания операндов, а также другие разно­образные вспомогательные команды, облегчающие работу с данными.


Различают три поколения этого расширения инструкций: 3DNow!, Enhanced 3DNow! и 3DNow! Professional, однако очень часто их все называ­ют просто 3DNow! Набор инструкций 3DNow! появился в AMD К6-2 (Chomper). Д анный набор, состоящий из 21 команды, был оптимизирован для еще более узкой области, нежели "универсально-мультимедийный" Intel ММХ, а именно: для наиболее ресурсоемких расчетов, связанных с 3D-графикой. Даже в самом названии этого набора (3DNow!) отразилась область его применения. Это расширение во многом сходно с SSE, но так же имеет и значительные отличия. Регистров так же 8, но они размером не 128 бит, а 64. Соответственно, в них помещается не 4 числа, а только 2. Имеется аналогич­ный SSE набор арифметических операций с регистрами. Сложить-умножить-разделить две пары операндов и т.п. Есть и операции нахождения (обратно­го) квадратного корня, точные и более быстрые приближённые. Однако, есть ещё одно важное отличие расширения 3DNow! Можно складывать между собой содержимое одного регистра. То есть, так же как и в SSE3, произво­дить не только вертикальные операции, но и горизонтальные.

Другое важное обстоятельство, говорящее в пользу 3DNow!, это воз­можность достаточно эффективной автоматической оптимизации средствами компилятора. SSE слишком громоздко, размеры регистров большие для ав­томатической организации данных. На коде, наполненном вычислениями с плавающей точкой, можно было бы бесплатно получить примерно полутор­ный прирост производительности.

дальнейшем изменения блока 3DNow! произошли в К7. Он, как и раньше, работал с 64-битными регистрами, в которых находились пары ве­щественных чисел одинарной точности, зато его набор команд расширился еще на 24 инструкции (Enhanced 3DNow!). Последнее расширение этого на­бора до 3DNow! Professional появилось в ядре Thoroughbred.

На развитие набора 3DNow! негативно повлияло то, что у AMD первое время отсутствовал оптимизирующий компилятор, к тому же разработчики программ не торопились оптимизировать свои программы под эти инструк­ции.

Технология 64-разрядного расширения представляет расширение 32-разрядной архитектуры.

результате модифицированная архитектура IA-32 подразумевает поддержку 64-разрядной адресации. Расширение включает новые режимы работы и новые расширенные инструкции, обеспечивающие увеличение функциональных возможностей процессоров.


результате внедрения нововведений 32-разрядные процессоры с поддержкой технологии 64-разрядного расширения совместимы с сущест­вующим программным обеспечением. Они рассчитаны на поддержку как 32 бит адресации, так 64 бит прямой адресации больших объемов оперативной памяти.

Процессор с реализацией технологии 64-разрядного расширения пол­ностью поддерживает все существующие особенности IA-32. дополнение к ним вводится новый рабочий режим, получивший наименование 1А-32е. Этот режим (mode) включает два подрежима (sub-modes). Первый sub-mode — режим совместимости, доступный 64-разрядной операционной системе, создан для эксплуатации существующего наследия не модифицированного 32-разрядного программного обеспечения. торой sub-mode, названный 64-разрядным режимом, доступен 64-разрядной операционной системе, обеспе­чивающий работу приложений, написанных специально под 64-битную ад­ресацию пространства памяти.




Поделиться с друзьями:


Дата добавления: 2014-01-06; Просмотров: 467; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.