Сегодня 02 апреля 2025
18+
MWC 2018 2018 Computex IFA 2018
реклама
Процессоры и память

64-x битные процессоры

⇣ Содержание

AMD 64

У AMD же подход полностью противоположный. Компания считает, что сейчас не время и не место для революций, а плавность эволюционного развития x86 со времен 8086 до Pentium 4 и Athlon XP, не должна прерываться. Исходя из этой идеи и формулировалась сама идеология создания процессора AMD следующего поколения - K8. Необходимость 64-битности уже тогда прослеживалась абсолютно явно, да и Intel уже во всеуслышание заявил о разработке IA-64, так что вопрос - быть 64-бит или не быть, на повестке дня для компании просто не стоял.

Однако, запас мощности, объем ресурсов, выражающихся как в финансовом выражении, так и в прочих, например, во влиянии - доле рынка, у AMD и Intel просто несравним, так что последовать по пути своего конкурента и предложить Intel абсолютно новую идеологию компания попросту не могла. Не поняли бы и не пошли бы. Оставалось сделать то, что у AMD обычно получалось лучше всего: взять старый добрый x86, и сделать его лучше, чем у Intel. Так и родилась на свет архитектура x86-64.

Естественно, в первую очередь здесь идет речь о расширении восьми регистров общего назначения до 64-бит. Чего, впрочем, безумно мало для сегодняшних процессоров, даже если мы учтем наличие еще восьми регистров для операций с плавающей точкой и восьми регистров для SIMD операций. В любом случае это не сравнить с количеством регистров у процессоров действительно нового поколения - у того же Itanium, во многом и обеспечивающим им новый уровень производительности. Мы привыкли во многом оценивать процессоры по разнице в объеме кэша - а ведь разница в количестве регистров не менее определяюща, поскольку они выполняют роль своеобразного пред-кэша.

Впрочем, опять же, никто здесь не является гениальным провидцем, и разработчиком микропроцессоров эти вещи известны давным-давно. Так же, как и некоторые из путей их решения. Скажем, у того же Pentium 4 действительно 8 32-бит регистров общего назначения. Те, что видит исполняемый код. За их же фоном в глубинах процессора скрываются еще 120 (!), которыми тот может жонглировать как угодно, в нужный момент представляя любой из них под видом одного из базовой восьмерки. Путь интересный, но неочевидный. Для того же компилятора. На который, впрочем, как мы помним, Pentium 4 совершенно и не полагается.

AMD предпочла более очевидный для компилятора путь, вдвое увеличив количество видимых ему регистров - в 64-бит режиме K8 имеет шестнадцать 64-бит регистров общего назначения. Количество регистров для операций с плавающей точкой осталось прежним - восемь, поскольку не на x87 при операциях с плавающей точкой здесь возлагается основная надежда, а на SIMD операции, потому и количество SIMD регистров также удвоено - тоже до шестнадцати.


Дальше все зависит лишь от того режима, в котором работает процессор. Есть режим обратной совместимости, где K8 работает как обычный 32-бит процессор, не используя ничего из своих новых возможностей, кроме тех, что относятся к простому увеличению производительности процессора. Есть так называемый "long mode", который, в свою очередь, состоит из двух подрежимов: "64-bit mode" и "compatibility mode". Обязательно требуется наличие 64-бит OS, способной, впрочем, исполнять оба вида кода, как 64-бит, так и обычный x86. Естественно, что в последнем случае программа не будет иметь доступа к памяти выше 4 Гбайт, полному объему регистров, дополнительным регистрам, и т.д. В общем, в свое время Windows 95 примерно так же относилась к 16-бит и 32-бит программам.

Впрочем, по умолчанию регистры установлены в 32-бит режим, поскольку даже 64-бит программа не пользуется только 64-бит числами. Скорее, она даже не столько пользуется ими, сколько старыми добрыми 32-бит. Выделять под их хранение 64-бит регистры - напрасная трата ресурсов, так что по умолчанию - 32-бит. Если же программе потребовалась именно операция с 64-бит регистрами, она должна использовать специальный префикс при обращении к ним, длиной в один байт. Это довольно много, учитывая, что таких обращений в программе может быть достаточно много. Впрочем, AMD полагает, что вряд ли увеличение объема одного и того же кода при переходе с x86 на x86-64 составит более десяти процентов.


Зато, с другой стороны, 32-бит программы во всех режимах обратной совместимости будут чувствовать себя просто как дома - они попросту не заметят, что исполняются на 64-бит процессоре, пользуясь всеми благами новых технологий, вроде встроенного в процессор северный моста чипсета, и т.д. А учитывая, что, как уже говорилось, 32-бит для подавляющего большинства всех необходимых программ для PC, рабочих станций, и Low-End серверов ближайшие несколько лет хватит, то здесь у Athlon 64 и Opteron перед Itanium несомненное преимущество - они не предлагают ненужных для этого рынка вещей за лишние деньги. Понадобятся 64-бит - всегда пожалуйста, нет - значит будем исполнять 32-бит в родном режиме, не занимаясь медленной эмуляцией.

Весь вопрос в том и заключается - есть ли вообще надобность в подобных процессора: умеющих исполнять стандартный 32-бит код, но, в случае необходимости, пользоваться и преимуществами 64-бит вычислений и доступа к памяти выше 4 Гбайт: Некоторые уверены, что да, вроде создателя Unreal, Tim Sweeny. По его мнению, подобная платформа обеспечит возможность создания дешевых рабочих станций, с соотношением цена/производительность в разы большей, чем у систем на том же Itanium. К выходу Athlon 64 Epic собирается выпустить 64-бит версию Unreal, и вообще полон оптимизма по поводу перспектив подобного подхода.

Причем, судя по словам разработчиков, одна только возможность доступа к увеличившемуся набору регистров (те самые дополнительные восемь и восемь) позволяет поднять скорость выполнения переписанного кода на десятки процентов. Добавим увеличившуюся производительность самого процессора за счет чисто технических новведений, при практически не увеличившейся стоимости (в отличие от Itanium), и получим отличный продукт для своей ниши.

Первый представитель ядра K8 уже вышел - это Opteron, серверный процессор для одно-, двух-, и четырехпроцессорных конфигураций, с перспективой выхода на 8-процессорные платформы. С его облегченным вариантом, Athlon 64, к сожалению, пока полной ясности нет - процессор уже неоднократно откладывался, и сейчас ожидается где-то ближе к 2004 году. Виной тому технологические проблемы, или же уже упоминавшееся отсутствие 64-бит приложений для PC (включая операционную систему - Windows-64, поскольку Unix - это не OS для PC)? Скорее все же второе, и теперь AMD вынуждена ждать, пока Microsoft придет ей на помощь. Остается лишь надеяться, что это произойдет не слишком поздно.


Впрочем, есть 64-бит процессоры, у которых вопрос поддержки на уровне ОС и софта просто-напросто не стоит. Это, естественно, ветераны серверных платформ - RISC процессоры IBM, Sun, и Compaq.

Следующая страница → ← Предыдущая страница
⇣ Содержание
Если Вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.

window-new
Soft
Hard
Тренды 🔥
Дональд Трамп намерен обсудить сделку с TikTok сегодня 42 мин.
Картинки в стиле Ghibli перегрузили серверы OpenAI — выпуск новых функций замедлен 8 ч.
У Ubisoft пока нет чёткого плана работы новой компании с Tencent — инвесторы и сотрудники нервничают 10 ч.
«Загрузки быстрее, чем в Doom (2016)»: эксперт Digital Foundry остался в восторге от Doom: The Dark Ages 11 ч.
Консоли задержат релиз постапокалиптического стелс-экшена Steel Seed от создателей Close to the Sun — объявлена новая дата выхода 13 ч.
ИИ-модель Llama запустили на ПК из прошлого тысячелетия на базе Windows 98 13 ч.
Telegram продал виртуальных первоапрельских кирпичей почти на 100 млн рублей 14 ч.
Nintendo подтвердила рекордную продолжительность презентации Switch 2 и устроит две демонстрации игр для консоли 14 ч.
ChatGPT остаётся самым популярным чат-ботом с ИИ, но у конкурентов аудитория тоже растёт 15 ч.
Google сделает сквозное шифрование в Gmail доступным для всех 15 ч.