Министерство образования РФ
Тульский государственный университет
Кафедра автоматики и телемеханики
реферат по курсу ____
«
Переход на 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-битного режима, сегментация функционирует обычным образом, используя семантику
В итоге получаем три преимущества 64-битных систем:
1. возможность использования 64-битного адресного пространства.
2. возможность выполнять операции с 64-разрядными числами "напрямую".
3. увеличенное вдвое число регистров общего назначения.
Главное преимущество – 64-битная адресация. Предел в 4 Гбайт оперативной памяти сказывается на производительности ресурсоемких программ. К задачам, где 64-битная адресация действительно необходима, относятся базы данных, скорость работы с которыми многократно возрастает при росте объема оперативной памяти.
Возможности быстрой работы с 64-битными операндами может пригодиться специалистам, занимающимся научными расчетами или решающим криптографические задачи.
Увеличение числа регистров общего назначения повышает производительность процессора, так как они играют роль ячеек памяти, с которыми процессор может работать напрямую, не тратя на обращения к ним никакого времени. Таким образом, увеличив число регистров до 16, можно повысить быстродействие.
Инструментарий разработчика
К основным инструментам создания 64-битных приложений можно отнести современные компиляторы, такие как VisualStudio 2005/2008, GCC, IntelC++. Все они являются оптимизирующими компиляторами и позволяют получить эффективный 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-битные операционные системы необходим, и это заметно облегчит работу пользователям.
Библиографический список
1. Сборник статей «64 бита для программистов». http://www.viva64.com/ru/articles/64-bit-development/
2. Богдан Пенюк, Вячеслав Овсянников. 64 бита – роскошь или необходимость? http://www.epos.kiev.ua/pubs/pr/athlon64.htm
3. Взгляды Microsoft по поводу 64-битного будущего. http://www.winblog.ru/2007/05/24/news24050701.html
4. Наступает эра 64-битных систем. http://www.winblog.ru/news/1147765714-kovarsky04080803.html
5. Сергей Озеров. 64 бита для всех. http://www.computerra.ru/237938/
6. Стивен Уоррен. Причины медленного развития 64-битной вычислительной техники. http://www.winblog.ru/news/1147765028-15020804.html
7. Scott Lowe. Прощай, 32-разрядная Windows? Или нет?... http://www.winblog.ru/news/1147765018-news12020804.html