Переход на 64-битные операционные системы
Переход на 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-битных систем: 1. возможность использования 64-битного адресного пространства. 2. возможность выполнять операции с 64-разрядными числами "напрямую". 3. увеличенное вдвое число регистров общего назначения. Главное преимущество - 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-битные операционные системы необходим, и это заметно облегчит работу пользователям. Библиографический список 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
|