Причина перехода с 16 на 32 и 64-разрядные архитектуры

#architecture #cpu #16-bit

Вопрос:

Почему 64-разрядные регистры используются в современных процессорах общего назначения (например, ARM)? Для большинства пользовательских задач достаточно 16-разрядного ALU ( больше бит SIMD для мультимедиа и других).

(для мудераторов: не блокируйте этот вопрос, на него нет ответа в stackoverflow, он не дублируется!)

Ответ №1:

Основная причина — адресное пространство. С помощью 32-разрядного регистра вы можете адресовать 4 Гбайта памяти (или, что более вероятно, только 2 Гбайта, поскольку часть адресного пространства необходима для ввода-вывода с отображением памяти). 2 Гбайт явно недостаточно для современных серверов, настольных компьютеров и смартфонов. Таким образом, используются 64-разрядные регистры.

Поскольку регистры и ALU являются регистрами общего назначения ALU, т. е. используются как для вычисления адресов в памяти, так и для общих числовых вычислений, преобладает 64 — разрядная архитектура.

Я бы также отверг ваше утверждение о том, что в большинстве случаев достаточно 16-битного ALU. 16-разрядные числа очень ограничены. Я думаю, что 32-разрядного ALU обычно достаточно.

Комментарии:

1. Кроме того, процессоры часто имеют векторные расширения со 128-битными регистрами, так что теперь переходите к 128-битным архитектурам со 128-битными регистрами общего назначения? Все это не дает ответа на вопрос. Я, наверное, не могу это хорошо сформулировать.

2. Процессор общего назначения выполняет множество различных задач. Решение, сразу же упомянутое такими интеллектуалами, как вы, — это всего лишь одна из задач.

3. Какая медиа — проблема не может быть решена на 16-битном процессоре (с учетом наличия векторного расширения (взгляните на основной вопрос))? Речь идет не о запуске современных операционных систем и программного обеспечения на 16-разрядном оборудовании. Браузер, YouTube, тик-ток, мессенджер … что из этого стандартного списка не вписывается в 16-битный подход?

4. В тех же 8-разрядных процессорах AVR имеются регистры, работающие в сопряженном режиме. Это регистры общего назначения, которые могут использоваться как для вычислений, так и для анализа. Но основная архитектура по-прежнему 8-битная.

Ответ №2:

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

Снижение стоимости памяти проложило путь для систем с большими объемами оперативной памяти, и использование пространства виртуальной памяти более 4 ГБ стало желательным для обработки определенных типов сценариев использования/проблем/решений. Для удовлетворения этого требования MIPS и DEC разработали начальные 64-разрядные архитектуры, ориентированные на серверные машины и высокопроизводительные рабочие станции.

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

Это позволяет приложению выполнять чтение из памяти и другие операции плавно, поскольку ОС не требует дополнительных затрат на «перевод» (упаковку/распаковку памяти и т. Д.) Для команд, которые использует приложение. Кроме того, если приложение испытывает огромную потребность в памяти, то 64-разрядная версия даст преимущество. Если система имеет 16 ГБ оперативной памяти, то лучше использовать 64-разрядную для максимального использования оперативной памяти. Приложения, которым требуется многозадачность, значительно выигрывают, поскольку они могут быстро переключаться между несколькими задачами . Например, программное обеспечение для обработки / редактирования изображений, которому необходимо сохранять огромные контексты и открывать / работать с несколькими огромными наборами файлов одновременно, извлекает из этого выгоду. Также от этого выигрывают системы, которым необходимо выполнять тесты на нагрузку / стресс. Увеличение доступности оперативной памяти и 64-разрядные процессоры позволили ведущим производителям ОС создавать ОС, которые в полной мере используют преимущества 64-разрядной поддержки. Соответственно, приложения и игровое программное обеспечение, требующие высоких требований к производительности, в полной мере используют доступность оперативной памяти.

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

Кроме того, следует отметить, что все алгоритмы могут не требовать или работать с технологией SIMD, и, следовательно, использование должно быть соответствующим требованиям продукта / приложения.