Технологии 64-битных процессоров
Автор: Hanna_ • Январь 19, 2019 • Реферат • 2,230 Слов (9 Страниц) • 452 Просмотры
Технологии 64-битных процессоров
Какой ажиотаж творился вокруг 64-битных процессоров, пока его не оттеснила новая маркетинговая фича с двумя ядрами? Вот только далеко не всегда ажиотаж имеет под собой вескую причину – зачастую бывает так, что он раздут на пустом месте, и является простым следствием грамотного пиара заинтересованных компаний. Вполне возможно, что и ты уже прикупил себе 64-битный Athlon’чик. А тебя не удивляло, почему 64-битная технология не дает двукратного увеличения производительности по сравнению с 32-битной? Впрочем, настало время расставить все по своим местам.
Фокусы с разрядностью
И вправду, почему же мы не получаем резкого прироста в производительности? Чтобы ответить на этот вопрос, стоит сначала разобраться, чем же вообще отличается 64-битный процессор от 32-битного, не вдаваясь в подробности конкретной архитектуры. На самом деле основополагающим параметром, определяемым разрядностью, является разрядность регистров (если точнее, регистров общего назначения), которыми манипулирует процессор. В свою очередь разрядность регистров определяет предельный размер хранимых ими чисел, то есть 64-битный регистр может запоминать числа длиной не более 64 бит. Тогда уже возникает вопрос, что же нам дает использование 64-битных чисел?
Во-первых, регистры общего назначения используются для целочисленных вычислений (вычисления над числами с плавающей точкой проходят по довольно сложному механизму, в котором разрядность не играет ключевой роли). Таким образом, переход на 64 бита позволит за одну арифметическую операцию обрабатывать числа размером до 64 бит. Это, конечно, замечательно, однако потребность в работе с числами, выходящими за границу двух миллиардов (32 бита), возникает крайне редко. Разве что подобное нововведение будет по достоинству оценено теми, кто работает с криптографией и над серьезными научными исследованиями.
А во-вторых, увеличение разрядности регистров до 64 бит позволяет снять ограничение, установленное на максимальный объем оперативной памяти, равный четырем гигабайтам. Данное ограничение объяснялось тем, что в стандартном режиме для хранения адреса одной ячейки памяти процессор использует один из регистров, а, как известно, при помощи 32 бит всего можно записать чуть более четырех миллиардов уникальных чисел. Конечно, это не единственный способ адресации памяти – для того чтобы получить доступ к большему объему, можно прибегнуть к различным ухищрениям, однако это в любом случае будет связано с потерей производительности. К примеру, Intel для процессоров Xeon придумали следующий способ: вся память разбивается на блоки, и в адресе отдельной ячейки сначала значится номер содержащего ее блока, а затем ее номер внутри блока. Таким образом, в Xeon для адресации стали использоваться 36-битные числа, а значит, предельный объем памяти возрос до 64 Гб, вот только фактическая производительность упала более чем на 30%. При использовании 64-битной системы, как «несложно» посчитать, теоретически максимальный объем оперативной памяти составит более 18 экзабайт (экзабайт, грубо говоря, равен миллиону терабайт), конечно, в реальных процессорах это значение ограничивается куда меньшей величиной. Безусловно, для серверов такие объемы будет просто счастьем, особенно при работе с непомерными базами данных. Также дополнительная оперативная память опять-таки не помешает ученым. А вот для настольных систем, хозяева которых не занимаются ни одним из перечисленных выше видов деятельности, найти достойное применение высокой разрядности пока будет не так просто, разве что когда-нибудь поиграть в меганавороченные игры будущего.
Архитектура AMD x86-64
С того момента, как корпорация AMD лицензировала первый x86 CPU у Intel, ей ничего другого не оставалось, как постоянно тянуться за лидером и делать практически
...