Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект по МПиМК / Лекция 10.doc
Скачиваний:
273
Добавлен:
15.06.2014
Размер:
272.9 Кб
Скачать

4. Архитектура amd-64. Мп amd® Athlon® 64

Впервые о "64-битности" заговорили еще во времена первого Pentium (1993). Однако вскоре выяснилось, что 64-битной стала шина данных, тогда как логика самого процессора осталась 32-битной. Новый интерес к 64-битной архитектуре возник после анонса процессора Merced (1997), представленного в конце 1999 года под торговой маркой Itanium. К сожалению, существующие 32-битные программы работали на нем медленнее Celeron'а, стоящего, к тому же, в несколько раз дешевле. Это поставило крест на домашнем и офисном применении Itanium'а. Но время шло, и вот "магические" 64 бита опять на слуху. На сей раз виновником торжества стала архитектура AMD64 и основанные на ней процессоры: Athlon 64, Athlon FX и Opteron. Новые процессоры имеют много нововведений, отличающих их от своего предшественника, Athlon XP. Это и интегрированный контроллер памяти, и новая шина, и многое другое. В этой статье мы рассмотрим их главную особенность - 64-битную архитектуру. Итак, что же она из себя представляет?

4.1. Регистры

В AMD64 к имеющимся регистрам было добавлено несколько новых регистров, а существующие - расширены. Наиболее кардинальные изменения произошли в регистрах общего назначения (РОН), регистрах SSE и регистре указателя инструкций. Все они, за исключением регистров SSE, стали 64-битными. Прежние 32-битные РОНы теперь входят в состав новых 64-битных РОНов в качестве младших частей. Кроме того, добавлено еще 8, действительно новых, регистров общего назначения R8-R15, аналогов которых в x86-процессорах просто не было. Впервые за 25 лет существования архитектуры было увеличено число РОНов, и не просто так, а вдвое! Нововведение сулит заметный рост производительности, конечно, при условии использования соответствующих компиляторов.

Следующее по значимости расширение - увеличение числа регистров SSE. К регистрам XMM0-XMM7, появившимся в 1999 году в процессоре Pentium III, были добавлены новые регистры XMM8-XMM15. AMD показалось мало добавить поддержку SSE2. Она увеличила вдвое число регистров, и тем самым сделала свой SSE-блок потенциально более мощным, чем в процессоре Pentium 4! Ведь в нем по-прежнему только 8 регистров SSE (появление SSE2 означало появление новых инструкций, но не новых регистров). Фактически блок SSE2 в AMD64 представляет собой нечто большее, чем просто SSE2. Это уже своего рода "SSE2+", хотя корректнее было бы назвать его "SSE2 Double Register Set". Забавно, что AMD покусилась на родную "вотчину" Intel - расширения SSE, - перехватив пальму первенства в этой области. Но следует учесть, что мощность нового блока может раскрыться только в 64-битной системе при использовании 64-битных приложений. Поэтому не стоит делать скоропалительных выводов по результатам 32-битной версии "Сандры". Тем более, что синтетические тесты, по большому счету, обходятся всего 2-3 регистрами, тогда как реальные приложения могут использовать больше. Что касается регистра флагов, то расширен он пока с запасом на будущее: старшие 32 бит процессором не используются (всегда 0).

Рисунок 4.1

Расширение регистра указателя инструкций потребовалось при переходе к 64-битной адресации. Новый регистр теперь называется RIP, и включает в качестве младшей своей части регистр EIP. Набор регистров математического сопроцессора x87 остался без изменений. Впрочем, AMD больше не рекомендует им пользоваться, советуя 64-битным программам целиком перейти на SSE2.

Соседние файлы в папке Конспект по МПиМК