Переход на 64-битные операционные системы

Переход на 64-битные операционные системы

Почему? В чём причины медленного развития 64-битной вычислительной техники? Какие преимущества 64-битных систем перед 32-битными? На эти вопросы мы попробуем ответить в рамках этой работы.

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

Компьютеры под управлением 64-битных операционных систем способны работать более чем с 4 Гбайт оперативной памяти. А также показывают большую по сравнению с 32-битными операционными системами производительность при параллельном выполнении различных приложений.

Переход к 64-битным системам оказался более медленным, чем от 16-битных систем к 32-битным. Это происходит по причине отсутствия поддержки драйверов и приложений. Но со временем совместимость программ и производительность 64-битных систем будет увеличиваться, и данного рода проблемы перестанут быть актуальными. Какой процессор называют 64-битным? Для начала давайте разберёмся, что такое разрядность процессора. Сразу следует сказать, что разрядность процессора - это не максимальный размер обрабатываемых данных! x 86-процессоры уже давно могут складывать и вычитать 64-, 80- (например, i 486), 128-битные (обрабатываемые инструкциями SSE-наборов операнды (регистры XMM)) данные. Но это не делает процессор 64-, 80-, 128-битным. По возможностям вычислений 64-битный процессор теоретически почти ничем не отличается от 32-битного. Но, например, 32-разрядные процессоры не могут перемножать целочисленные 64-битные числа и делить 128-битные целые числа на 64-битное число. Таким образом, 64-битный процессор - это не только тот процессор, который может выполнять с 64-битными целыми числами все базовые арифметические операции, а, самое главное, это тот процессор, который способен использовать 64-разряда при адресации к памяти.

Преимущества 64-битных вычислений Во-первых, это быстродействие.

Выигрыш в виде большей скорости получат только некоторые задачи (например, криптография), которые оперируют с цифрами очень большой разрядности. В целом же переход к 64-разрядным вычислениям мало способствует повышению быстродействия. Во-вторых, это возможность прямой адресации большого объёма памяти. 32 разряда позволяют напрямую адресовать только 4 Гбайт памяти.

Современные приложения порой ставят перед вычислительной техникой чрезвычайно ресурсоемкие задачи. Уже сейчас существуют приложения, которым может понадобиться более 4 Гбайт ОЗУ. 64-битные системы открывают здесь новые горизонты.

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

Привычные регистры общего назначения RO-R7 (GPR) дополняются восемью 64-битными регистрами R8-R15, которые задействуются в 64-битном режиме (т. е. для их использования требуется перекомпиляция программ). Существующие регистры ЕАХ, ЕВХ и т. д. расширены с 32 до 64 бит и носят названия RAX , RBX . Увеличение числа регистров повышает производительность ресурсоемких приложений, а их расширение позволяет выполнять операции с 64-битными числами напрямую. Для реализации одновременной работы как с 32-, так и с 64-битным кодом и регистрами предусмотрены два режима: Long Mode ('длинный') и Legacy Mode ('наследственный'). Long Mode , в свою очередь, имеет два подрежима - 64-разрядный и совместимости ( Compatibility mode ). Таким образом, в 64-битном режиме доступны: § 64-битные виртуальные адреса; § восемь старых и восемь новых 64-битных регистров общего назначения, расширенные до 64 бит регистры общего назначения (в том числе 'старые' ЕАХ, ЕВХ и т. д.); § 64-битный указатель инструкций (RIP) и новый метод адресации данных относительно RIP ( RIP-relative ); § сплошное адресное пространство с единым пространством для инструкций, данных и стека.

Следовательно, 64-битный режим предоставляет полный набор 64-разрядных ресурсов центрального процессора. Режим совместимости обеспечивает обратную бинарную совместимость с существующими 32-битными приложениями при работе с 64-битной операционной системой. Compatibility mode включается операционной системой для отдельных кодовых сегментов. При этом, в отличие от 64-битного режима, сегментация функционирует обычным образом, используя семантику защищенного режима. С точки зрения выполняемого приложения процессор выглядит как обычный х86 центральный процессор в защищенном режиме ( protected mode ). С точки же зрения операционной системы трансляция адресов, работа с прерываниями и исключениями, а также системные структуры данных используют механизмы 64-бит Long Mode . В итоге получаем три преимущества 64-битных систем: 1. возможность использования 64-битного адресного пространства. 2. возможность выполнять операции с 64-разрядными числами 'напрямую'. 3. увеличенное вдвое число регистров общего назначения.

Главное преимущество – 64-битная адресация.

Предел в 4 Гбайт оперативной памяти сказывается на производительности ресурсоемких программ. К задачам, где 64-битная адресация действительно необходима, относятся базы данных, скорость работы с которыми многократно возрастает при росте объема оперативной памяти.

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

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

Инструментарий разработчика К основным инструментам создания 64-битных приложений можно отнести современные компиляторы, такие как Visual Studio 2005/2008, GCC , Intel C ++. Все они являются оптимизирующими компиляторами и позволяют получить эффективный 64-битный код. В среднем можно ожидать прирост производительности от перекомпиляции приложения для 64-бит в пределах 10%. Среди вспомогательных инструментов можно выделить анализатор Viva 64, позволяющий обнаружить ошибки при работе с большими объемами данных и проверить совместимость программы с 64-битными системами. Этот инструмент также может быть использован для оптимизации программного кода. Более подробно с этим и аналогичными инструментами можно познакомиться на сайте разработчиков http://www.viva64.com/ru/viva64-tool/. Применение 64-битных систем Для использования преимуществ 64-битных систем необходимо программное обеспечение, которое сможет реализовать все перечисленные преимущества: § операционная система, которая будет переводить процессор в 64-битный режим, а для старых приложений включать режим совместимости; § приложения, которые смогут использовать 64-битное адресное пространство и все 16 64-битных регистров.

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

Вычисления с большими числами (или с высокой точностью) – конек 64-битной архитектуры, ведь даже обычное число с плавающей запятой двойной точности умещается как раз в 64 бита. Но это востребовано в более специфических областях, например, шифрование и медиакодирование . До тех пор, пока не решится проблема программной совместимости и не появится поддержка соответствующих драйверов и приложений, темпы освоения компьютеров с 64-битной операционной системой не возрастут. В свою очередь, производители не начнут разработки в этой области, пока спрос не поднимется до нужной отметки. Этот фактор сказывается на медленном развитии 64-битной вычислительной техники. Но, в то же время, увеличение объёма оперативной памяти расширяет возможности пользователей.

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

Поэтому развитие 64-битных вычислительных систем положительно сказывается на выполнении общих задач по обработке данных.

Выводы Сегодня всё чаще возникают ситуации, в которых 64-разрядные системы становятся незаменимы. Да и преимущества 64-битных систем перед 32-битными очевидны.

Главное достоинство новых операционных систем состоит в увеличении оперативной памяти до 18 миллионов терабайт, быстродействии, высокой производительности.

Поэтому можно сделать вывод, что переход на 64-битные операционные системы необходим, и это заметно облегчит работу пользователям.