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

Министерство образования РФ

Тульский государственный университет

Кафедра автоматики и телемеханики

реферат по курсу ____

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

Тула 2007г.

Содержание:

Аннотация

Введение

Какой процессор называют 64-битным?

Преимущества 64-битных вычислений

Реализация 64-разрядности в центральном процессоре

Инструментарий разработчика

Применение 64-битных систем

Выводы

Библиографический список

Аннотация

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

Введение

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

Переход к 64-битным системам оказался более медленным, чем от 16-битных систем к 32-битным. Это происходит по причине отсутствия поддержки драйверов и приложений. Но со временем совместимость программ и производительность 64-битных систем будет увеличиваться, и данного рода проблемы перестанут быть актуальными.

Какой процессор называют 64-битным?

Для начала давайте разберёмся, что такое разрядность процессора. Сразу следует сказать, что разрядность процессора - это не максимальный размер обрабатываемых данных! x86-процессоры уже давно могут складывать и вычитать 64-, 80- (например, i486), 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-битных систем:

    возможность использования 64-битного адресного пространства.

    возможность выполнять операции с 64-разрядными числами "напрямую".

    увеличенное вдвое число регистров общего назначения.

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

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

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

Инструментарий разработчика

К основным инструментам создания 64-битных приложений можно отнести современные компиляторы, такие как Visual Studio 2005/2008, GCC, Intel C++. Все они являются оптимизирующими компиляторами и позволяют получить эффективный 64-битный код. В среднем можно ожидать прирост производительности от перекомпиляции приложения для 64-бит в пределах 10%.

Среди вспомогательных инструментов можно выделить анализатор Viva64, позволяющий обнаружить ошибки при работе с большими объемами данных и проверить совместимость программы с 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-битные операционные системы необходим, и это заметно облегчит работу пользователям.

Библиографический список

    Сборник статей «64 бита для программистов». http://www.viva64.com/ru/articles/64-bit-development/

    Богдан Пенюк, Вячеслав Овсянников. 64 бита – роскошь или необходимость? http://www.epos.kiev.ua/pubs/pr/athlon64.htm

    Взгляды Microsoft по поводу 64-битного будущего. http://www.winblog.ru/2007/05/24/news24050701.html

    Наступает эра 64-битных систем. http://www.winblog.ru/news/1147765714-kovarsky04080803.html

    Сергей Озеров. 64 бита для всех. http://www.computerra.ru/237938/

    Стивен Уоррен. Причины медленного развития 64-битной вычислительной техники. http://www.winblog.ru/news/1147765028-15020804.html

    Scott Lowe. Прощай, 32-разрядная Windows? Или нет?... http://www.winblog.ru/news/1147765018-news12020804.html