___
Содержание:
Аннотация
Введение
Какой
процессор называют 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 Гбайт памяти.
Реализация
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.winblog.ru/news/1147765018-news12020804.html
Похожие работы на - Переход на 64-битные операционные системы
|