Почему на рынке нет 128-битных процессоров

Обновлено: 21.11.2024

Дата регистрации: июнь 2004 г. Местоположение The Animus

Хорошо, мне интересно, если у нас уже давно есть 64-битные процессоры, почему у нас нет 128-битных процессоров? (или это то, что представляют собой процессоры Intel i7 i-whatever.) Мне было интересно, является ли это проблемой микронизации или отсутствием поддержки операционной системы? Сейчас это физически невозможно?

Или переход к все большему количеству битов на процессоре был вытеснен гонкой за то, чтобы втиснуть как можно больше ядер в один чип?

Есть ли какое-либо преимущество в одноядерном 128-битном процессоре по сравнению, скажем, с шестиядерным 64-битным процессором?

Существует ли сейчас узкое место между процессором и контроллерами из-за того, что они работают еще быстрее? Это то, что удерживает биты на процессоре относительно низкими? Я имею в виду, разве процессоры 386 не были 32-битными чипами в конце 80-х и начале 90-х годов?

Разве у нас сейчас не должен быть процессор на 1 МБ? Или проблема с узким местом препятствует этой эскалации? И это практично? Я знаю, что процессор — это сердце компьютера, и чем быстрее процессор, тем быстрее может работать все остальное. Но если информация не может быть доставлена ​​из точки А в точку Б, значит ли это, что эта сила недостаточно используется?

Я неправильно понимаю скоростную гонку?

Похоже ли это на то, как производители процессоров (Intel и AMD) постепенно отказываются от участия в гонке GHZ и переходят в гонку ядер? Я к тому, что в 90-е главное было быстродействие чипа. То же самое в начале 2000-х. Но сейчас дошло до того, что вы даже не можете видеть, какова скорость одного ядра в ГГц.

Является ли 64-битный чип вершиной современных технологий? Будет ли это выше? Он поднялся выше и просто назвал что-то еще, с чем я не знаком? Есть ли необходимость идти быстрее? Будет ли это бесполезно, пока остальная часть автобусной системы не подтянется?

Обратите внимание на некоторую терминологию, которую я использую только потому, что смутно с ней знаком. Честно говоря, я не совсем понимаю, как работают автобусные системы. Я также не знаю, как работают многоядерные процессоры, кроме того, что они, по сути, представляют собой два процессора в одном чипе.

Значит, я просто задаю неправильные вопросы или есть реальное техническое препятствие для перехода на следующий уровень? Здесь на помощь приходят нанотехнологии?

Запрещено Регистрация Дата Октября 2004 г. Местоположение Freedonia

На самом деле сейчас ведется работа над 128-битными процессорами. Ходят слухи, что таким зверем является AMD Bulldozer. Это хороший пост с множеством интересных вопросов, но тот, кто разбирается в этом больше, чем я, может поделиться дополнительной информацией.

Дата регистрации: июнь 2004 г. Местоположение The Animus

Сейчас ведутся некоторые работы над 128-битными процессорами. Ходят слухи, что AMD Bulldozer является таким зверем

Интересно. Я уверен, что Intel тоже

Это хороший пост с множеством интересных вопросов, но кто-то, кто разбирается в этом больше, чем я, может поделиться дополнительной информацией.

Дата регистрации: декабрь 2005 г.

На настольных компьютерах нет необходимости в 128-битных процессорах. Разница в производительности между 32-битными и 64-битными процессорами практически отсутствует, единственным реальным преимуществом является возможность адресации дополнительной памяти.

Дата регистрации: февраль 2004 г. Место: США

Исходное сообщение от jagabo

На настольных компьютерах нет необходимости в 128-битных процессорах. Разница в производительности между 32-битными и 64-битными ЦП практически отсутствует, единственным реальным преимуществом является возможность адресации дополнительной памяти.

Ну, очевидно, вы понятия не имеете, как работает компьютер и процессор. 99,99% вычислений — это просто перемещение данных от А к Б, то есть от регистра к регистру.
16 32 64 бит - это просто размер реестра в процессоре, чем больше, тем лучше, так как вы можете хранить в нем больше информации сразу и не нужно ждать, пока она станет доступной

Ну, мы увидим эти 128-битные процессоры, когда придет время, в основном, когда программное обеспечение становится все более и более сложным и становится медленным, потому что процессор не может своевременно с ним справиться.

Дата регистрации: декабрь 2005 г.

Исходное сообщение lenti_75

Дата регистрации: февраль 2004 г. Место: США

потому что сейчас это было бы пустой тратой времени, мы едва можем использовать 64

все программное обеспечение должно быть переписано для него, чтобы оно могло обращаться к большему количеству областей памяти и большему количеству регистров; это время и ДЕНЬГИ

Дата регистрации: июнь 2004 г. Местоположение The Animus

то есть только потому, что это МОЖЕТ быть сделано, не означает, что это будет сделано, да? Только если этого потребует достаточное количество компаний?

Запрещено Регистрация Дата ноября 2005 г. Место США

Текущие процессоры — это 64-битные процессоры, способные выполнять 128-битные операции за счет использования simd, все текущие инструкции simd — это 128-битные операции.все современные процессоры выполняют 128-битные инструкции simd за один цикл, и указанные инструкции способны работать с четырьмя 32-битными фрагментами данных, двумя 64-битными фрагментами данных или одним 128-битным фрагментом данных за цикл.

Кроме того, Sandy Bridge и Bulldozer будут поддерживать новый набор 256-битных инструкций avx simd, который позволит одной 256-битной инструкции работать с восемью 32-битными фрагментами данных, четырьмя 64-битными фрагментами данных, двумя 128-битными фрагментами данных или один 256-битный фрагмент данных.

buldozer предлагает 128-битные целочисленные единицы и 256-битные единицы с плавающей запятой. поскольку «нормальная» целочисленная операция — это 32-битная операция, как и «нормальная» операция с плавающей запятой ( Quote

Автор HCenc Регистрация Дата декабря 2006 г. Местоположение Нидерланды

Как правило, чем крупнее приложение (например, 32-разрядное, 64-разрядное и т. д.), тем больше оперативной памяти ему требуется и тем больше объем установленной памяти. если бы ОС была скомпилирована для 128 бит, то, во-первых, ни один процессор для настольных ПК, кроме Bulldozer (когда он будет выпущен), не смог бы ее запустить, а во-вторых, требования к оперативной памяти превысили бы максимальное значение, поддерживаемое большинством материнских плат в настоящее время (при условии, что большинство потребительских плат поддерживают максимальное 2-4 гигабайта оперативной памяти).

В целом нет никакой связи между размером приложения и потребностью в памяти, приложение решает, сколько памяти нужно выделить для того, что оно должно делать.
Кроме того, большинство потребительских сокетов 1366 МБ поддерживают 24 ГБ оперативной памяти DDR3.

Дата регистрации: декабрь 2005 г.

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

Запрещено Регистрация Дата ноября 2005 г. Место США

Первоначально опубликовано hank315

В целом нет никакой связи между размером приложения и потребностью в памяти, приложение решает, сколько памяти нужно выделить для того, что оно должно делать.
Кроме того, большинство потребительских процессоров с сокетом 1366 MB поддерживают 24 ГБ оперативной памяти DDR3.

это очень легко проверить, взглянув на любое количество проектов с открытым исходным кодом, для которых существуют 32-битные и 64-битные версии, ядро ​​Linux является отличным примером, запустите любую версию и обратите внимание на увеличение использования оперативной памяти (такая же разница существует между 32-битными и 64-битными окнами), хотя увеличение использования оперативной памяти компенсируется более полным использованием процессора благодаря вступлению в игру 64-битных регистров.

Дата регистрации: декабрь 2005 г.

Поддерживаемый материнскими платами объем памяти зависит от того, что вы подразумеваете под «поддержкой». Если бы вы могли получить модули DIMM DDR3 емкостью 8 ГБ, то многие из этих материнских плат с 3 слотами DIMM поддерживают 24 ГБ. Конечно, вы не можете получить модули DIMM на 8 ГБ, поэтому в настоящее время они не поддерживают 24 ГБ.

Если вы говорите о современных чипсетах, то большинство из них поддерживают адресацию от 36 до 48 бит (остальные контакты адреса подключены к земле).

Запрещено Регистрация Дата ноября 2005 г. Место США

Исходное сообщение от jagabo

Поддерживаемый материнскими платами объем памяти зависит от того, что вы подразумеваете под "поддержкой". Если бы вы могли получить модули DIMM DDR3 емкостью 8 ГБ, то многие из этих материнских плат с 3 слотами DIMM поддерживают 24 ГБ. Конечно, вы не можете приобрести модули DIMM на 8 ГБ, поэтому в настоящее время они не поддерживают 24 ГБ.

Если вы говорите о современных чипсетах, большинство из них поддерживают адресацию от 36 до 48 бит (остальные адресные контакты подключены к земле).

под "поддержкой" я подразумеваю, что материнская плата оснащена 2-4 слотами для оперативной памяти, и каждый слот для оперативной памяти поддерживает диммы не более 2 ГБ, моя текущая материнская плата может использовать только максимальный размер димм 2 ГБ и имеет 4 слота. , поэтому он может поддерживать только 8 ГБ оперативной памяти.

большинство материнских плат 1366, которые я видел, поддерживают максимум 6 ГБ оперативной памяти или 12 ГБ оперативной памяти, но все другие платы, которые я видел, поддерживают максимум 8 ГБ, если вам повезет. < /p>

Дата регистрации: июнь 2004 г. Местоположение The Animus

Текущие процессоры — это 64-битные процессоры, способные выполнять 128-битные операции за счет использования simd, все текущие инструкции simd — это 128-битные операции. все современные процессоры выполняют 128-битные инструкции simd за один цикл, и указанные инструкции способны работать с четырьмя 32-битными фрагментами данных, двумя 64-битными фрагментами данных или одним 128-битным фрагментом данных за цикл.

Тогда эти 64-битные процессоры являются 128-битными? Не «полный» 128-битный?

Дата регистрации: февраль 2004 г. Место: США

128 бит здесь не из-за законов экономики, вот и все.

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

Запрещено Регистрация Дата ноября 2005 г. Место США

Исходное сообщение yoda313

Текущие процессоры — это 64-битные процессоры, способные выполнять 128-битные операции за счет использования simd, все текущие инструкции simd — это 128-битные операции.все современные процессоры выполняют 128-битные инструкции simd за один цикл, и указанные инструкции способны работать с четырьмя 32-битными фрагментами данных, двумя 64-битными фрагментами данных или одним 128-битным фрагментом данных за цикл.

Тогда эти 64-битные процессоры являются 128-битными? Не «полный» 128-битный?

simd означает одну инструкцию, несколько данных, относится к любому количеству специализированных наборов инструкций, которые позволяют программисту манипулировать более чем одним фрагментом данных с помощью одной инструкции. примеры включают avx, altivec, mmx, sse. это контрастирует с инструкциями, отличными от SIMD, которые требуют одной инструкции для каждого фрагмента данных (в нормальных условиях).

все современные процессоры для настольных ПК представляют собой гибридные 32/64/128-битные архитектуры, настоящий 64-битный процессор не сможет запускать 32-битный код (я полагаю, что старые альфа-версии соответствуют этой категории), а для настоящих 128-битных процессоров требуется 128-битная архитектура. код, больше ничего запускать не будет.

для настольных компьютеров было бы глупо делать полностью 64-битный или 128-битный процессор, так как это предотвратило бы запуск устаревшего кода.

Дата регистрации: сентябрь 2011 г. Место: WNY

Биты и операционные системы

В настоящее время существуют 32-разрядные и 64-разрядные процессоры, операционные системы и программы.

Разрядность в информатике – это количество битов, которое устройство может одновременно обрабатывать. Есть:

  • Разрядность процессора — емкость его машинного слова.
  • Емкость шины данных — емкость операционной системы.
  • Емкость программ и приложений.

Все эти разные понятия пересекаются и могут частично зависеть друг от друга. На самом низком уровне находится мощность процессора.

Мы должны рассмотреть несколько вопросов:

  • Проблемы, связанные с битовой глубиной.
  • Разрядность процессора и разрядность ОС и их взаимосвязь.
  • Рост разрядности происходил исторически и почему он остановился на данный момент.

Увеличение емкости системы свыше 64 в настоящее время может представлять интерес только для узкого круга прикладных задач.

С ростом разрядности повышается и точность вычислений.

Исходя из предыдущего разговора, мы можем сделать вывод, что системы с 64-битным процессором теперь достаточно для основной массы пользователей.

64-разрядная система обеспечивает достаточную производительность компьютера для большинства профессиональных приложений, таких как:

  • Математика
  • Физика
  • Геодезия
  • Картография
  • Криптография
  • Базы данных

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

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

Более высокая разрядность операционной системы не означает напрямую более высокую скорость.

Увеличение разрядности системы, вопреки ожиданиям, не дает прироста производительности пропорционально увеличению разрядности и возможно.

Наоборот, будет тормозить из-за необходимости обрабатывать более длинные адреса.

Нам просто нужно подождать и посмотреть.

Давайте подробно рассмотрим, почему это так:

Разрядность процессора

Основной характеристикой процессора является его тактовая частота. Это количество циклов в секунду. А вот разрядность процессора, в свою очередь, определяет объем обработки данных за такт, которыми процессор обменивается с оперативной памятью (ОЗУ).

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

При этом увеличение быстродействия процессоров за счет этого увеличения не рассматривается, вероятно, из-за незначительности этой величины.

В 1982 году Intel анонсировала i80286, 16-разрядный x86-совместимый микропроцессор второго поколения. Это улучшенная версия процессора Intel 8086.

Главные преимущества нового процессора — повышение производительности в 3-6 раз и дополнительные режимы адресации. Однако его главным атрибутом была совместимость с существующим программным обеспечением.

В 1985 году Intel выпустила процессор i80386, возможно, самое значительное событие в истории процессоров x86. Это было революционно: 32-битный многозадачный процессор с возможностью запуска нескольких программ одновременно.

В Intel 386 значительно улучшено управление памятью по сравнению с i80286 и встроена многозадачность, что позволило разрабатывать операционные системы Microsoft Windows и OS/2.

На самом деле до недавнего времени большинство процессоров представляли собой не что иное, как быстрые 386-е.

Многие современные программы используют ту же архитектуру 386, но работают быстрее.

В 1989 году Intel выпустила процессор 80486 (также известный как i486, Intel 486 или просто 486th). Это 32-разрядный скалярный x86-совместимый микропроцессор четвертого поколения, построенный на гибридном ядре CISC-RISC.

80486 — это улучшенная версия микропроцессора 80386. Кроме того, это был первый микропроцессор со встроенным математическим сопроцессором (FPU).

В 2002 году Intel предложила 64-разрядную архитектуру для замены процессоров Intel процессорами AMD (AMD64). Intel представила новое обозначение EM64T (Extended Memory 64-Bit Technology), чтобы не отставать от своих конкурентов.

В настоящее время используются как 32-разрядные, так и 64-разрядные процессоры. Здесь необходимо некоторое пояснение. В обозначении процессорных архитектур мы встречаем аббревиатуры x86 и x64.

С переходом на 64-битную архитектуру разрядность внутренних регистров 64-битных процессоров удвоилась (с 32-бит до 64-бит). В результате 32-битные кодовые команды x86 получили 64-битные аналоги.

Кроме того, за счет расширения ширины адресной шины значительно увеличился объем памяти, адресуемой процессором.

Одним из основных различий между системами x86 и x64 является использование оперативной памяти компьютера.

Предел использования ОЗУ для 32-разрядных систем составляет 2 ^ 32 = 4 294 967 296 бит или 4 ГБ. Если на устройстве установлено более 4 ГБ оперативной памяти, остальное система использовать не будет. Для 64-разрядных систем это будет 2 ^ 64 = 18 446 744 073 709 551 616 или 18 миллионов терабайт.

Когда размер оперативной памяти превысит это значение?

Основной недостаток архитектуры x64 заключается в том, что 64-разрядные программы используют гораздо больше оперативной памяти для выполнения своей работы. Поэтому, если у вас мало оперативной памяти, ставить x64 не имеет смысла.

Кроме того, нужно учитывать, что сама операционная система (ОС) также использует часть оперативной памяти.

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

Ограничение в 4 ГБ ОЗУ для 32-разрядных систем влияет на производительность таких ресурсоемких программ.

Когда приложение с 64-битной архитектурой более эффективно:

  • Высокопроизводительные серверы и системы управления базами данных, где скорость работы многократно возрастает с увеличением объема оперативной памяти
  • Системы проектирования, моделирование конструкций и технологические процессы, такие как геодезия и картография.
  • Вычислительные системы для математических и научных расчетов и моделирования физических экспериментов
  • Криптография, сила которой растет с ростом длины операндов и ключей
  • Моделирование трехмерных ситуаций

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

Разрядная версия операционной системы

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

Если объем оперативной памяти в вашей системе составляет ровно 4 ГБ, иногда люди установят 64-разрядную систему, чтобы не потерять полгигабайта памяти. Но это заблуждение, поскольку система x64 использует для своей работы больше памяти, что делает такую ​​установку нецелесообразной.

Когда объем оперативной памяти не превышает 4 ГБ, а процессор еще и работает в режиме x32, ничего не остается, кроме как установить ОС x32.

В чем разница между x64? 64-битная ОС «видит» большие объемы памяти, умеет с ними работать и позволяет запускать 64-битные приложения.

На каждый бит, который вы добавляете в архитектуру ОС, мы удваиваем количество доступных адресов. Адреса — это количество комбинаций, которые вы можете сформировать с заданным количеством битов. Например:

1 бит = 0 или 1, что в сумме дает 2 комбинации

2 бита = 00, 01, 10 или 11, что в сумме дает 4 комбинации

3 бита = 000, 001, 010, 011, 100, 101, 110 или 111, всего 8 комбинаций

Таким образом, переход от 32-битного (всего 4 294 967 296 комбинаций) к 64-битному (всего 18 446 744 073 709 551 616 комбинаций) уже является излишним. И дело не только в адресуемом пространстве, которое было значительно увеличено. Посмотрите на эту таблицу для операционных систем Windows:

< tr>< /tr>
Архитектурный компонент64-битные окна32-битные окна
Виртуальная память16 терабайт4 ГБ
Размер файла подкачки256 терабайт< /td>16 терабайт
Гиперпространство8 ГБ4 МБ
Выгружаемый пул128 ГБ470 МБ
Невыгружаемый пул 128 ГБ256 МБ
Системный кэш1 терабайт1 ГБ
Системные PTE128 ГБ660 МБ

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

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

Следующий технический момент заключается в том, что для 64-разрядных операционных систем требуются 64-разрядные драйверы.

Как правило, все современные ПК, ноутбуки и периферийные устройства имеют две версии драйверов на прилагаемом установочном диске; то есть 32- и 64-битные. При работе с современными устройствами проблем с этим быть не должно.

64-разрядные программы предоставляют программам прямой доступ к объему памяти, примерно в миллиард раз превышающему объем памяти современных ПК.

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

Большинство чисел редко превышает несколько миллионов в типичной компьютерной программе, намного меньше, чем 64-битные числа, которые составляют миллиарды миллиардов (18 446 744 073 709 551 616).

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

Однако точность битов с плавающей запятой не имеет ничего общего с битами операционной системы или объемом памяти.

Преимущества Bit Growth для операционных систем и процессоров:

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

Переход к 64-битам позволяет обрабатывать числа до 64-бит за одну арифметическую операцию.

Однако необходимость работы с числами свыше двух миллиардов (32 разряда) возникает нечасто. Таким образом, реальная польза от этого новшества возможна для криптографии и серьезных научных исследований.

2

Начнем с разрядности процессора.

Мы должны платить за широкое ALU независимо от того, используем ли мы его или нет, или только малую часть его возможностей. Чтобы оправдать 128-битное АЛУ, мы должны найти проблему, достаточно серьезную, которая может выиграть от манипулирования 128-битными словами в отдельных инструкциях. Мы, вероятно, можем привести несколько примеров, однако они уже обслуживаются наборами инструкций специального назначения (такими как SSE) или специально предназначенными для этой цели процессорами (например, DSP), и таких проблем недостаточно, чтобы производители чувствовали, что они будут получить возврат инвестиций, необходимых для производства такого чипа. Например, мы бы не поставили один из этих чипов в холодильник, машину и т. д. С точки зрения стоимости, учтите, что широкое ALU делает более дорогими не только его, но и другие части чипа. ALU шириной 128 бит также означает, что должны быть пути передачи данных шириной 128 бит: это занимает много места на кристалле. Кроме того, эти данные должны откуда-то поступать и куда-то уходить, поэтому для эффективного использования широкого ALU потребуются такие же большие регистры, кэш, другая память и т. д.

Мое последнее замечание: мы уже можем выполнять произвольную арифметику ширины на любом процессоре. Мы можем добавить 32-битные слова памяти на PIC 18 за 8 инструкций, тогда как вы могли бы сделать это на той же архитектуре, масштабированной до 32 бит, всего за 2 инструкции. Мы можем выполнять арифметические действия над произвольно большими числами, используя программные библиотеки, которые можно скомпилировать на современных процессорах.Узкое ALU не мешает нам выполнять большие вычисления, оно лишь ограничивает нас в некоторых аспектах. Таким образом, ваш вопрос касается скорости (в основном), а не возможностей. Если вы посмотрите на спектр приложений, которые должны использовать определенные числа ширины, я надеюсь, вы увидите очень мало приложений, требующих 128-битных слов. Затраты на аппаратное ускорение тех немногих приложений, которые не помогут другому набору приложений, в настоящее время не являются хорошим вложением.

Я не думаю, что аргументация в этой статье настолько сильна. Замените 64 на 32 и 128 на 64, и вы могли бы сказать это о переходе с 32-бит на 64-бит. Однако этот переход _произошёл_.

Итак, у нас есть 7 лет от "8 бит недостаточно" до "16 бит недостаточно", и 18 оттуда до "32 бит недостаточно".

Если так и будет действовать закон Мура, я ожидаю, что 64-битные адресные пространства закончатся примерно через 32 года после исчерпания 32-битных, то есть примерно в 2035 году. -битные адресные пространства.

Я не совсем понимаю, что вы могли сказать то же самое о переходе с 32-битной на 64-битную версию. 4 гигабайта далеко от 18 эксабайт! Пройдет много времени, прежде чем мы поднимемся до этого уровня.

Да, но я помню, когда компьютеры имели 1 КБ ОЗУ, а 64 КБ были больше, чем самый большой мейнфрейм, и казались безумно большими.

А потом, несколько лет спустя, наступило время, когда "больше 640 КБ никому не понадобится".

Кроме того, 4 ГБ были невероятно большими, и никто не мог хотеть, не говоря уже о том, чтобы позволить себе такой объем оперативной памяти.

То же самое с тактовой частотой процессора (мой первый компьютер работал на частоте 2 МГц), объемом памяти (я заплатил несколько тысяч долларов за свой первый жесткий диск емкостью 5 МБ).

Это не означает, что кривая не станет более плоской по мере того, как мы приближаемся к числу атомов во Вселенной, но . никогда ничего не бывает достаточно.

Разве компьютер с 18 эксабайтами ОЗУ не будет совершенно непрактично массивным, даже при максимально возможной миниатюризации? Я согласен с «думающими машинами» масштаба склада, выходящим за рамки 64 бит, но в стандартное оборудование трудно поверить.

Существующие чипы в основном двухмерные. Не совсем, поскольку у них есть 3D-функции, но эти 3D-функции, по сути, по-прежнему реализуют отдельные ячейки в 2D-схеме.

И эти 2D-схемы подходят, например. 4 Гбит DRAM в однослойном чипе. На самом деле чип внутри пластиковой упаковки довольно мал — скажем, 4x4 мм.

Теперь вы можете упаковать несколько слоев чипсов в одну упаковку. Например, Samsung делает как минимум 12 слоев для HBM, и каждый из них имеет толщину всего 60 мкм.

Итак, у вас есть микросхема шириной примерно 65 536 ячеек и длиной 65 536 ячеек, но вы можете сложить ее только на 12 ячеек в высоту.

Давайте добавим 65 536 слоев: примерно 4-миллиметровый куб. Теперь это 256 Тбит на пакет. Поместите 36 из них в модуль DIMM, и вы получите модуль DIMM на 8 ПБ и 512 ПБ в сервере с 64 разъемами DIMM.

Возможно, мы можем удвоить плотность? Это дает нам 4 ЭБ на сервере.

Это полностью затушевывает множество сложных проблем, но это очень и очень далеко от того, чтобы быть немыслимым, если учесть разницу между 512-байтовым чипом RAM 2114, который был популярен, когда у меня появился мой первый компьютер, и тем, что мы имеем сегодня.

Если безопасность начинает все больше и больше зависеть от того, что случайный адрес НЕ является реальной адресуемой памятью, переход на 128 бит может произойти раньше, чем позже.

Я подозреваю, что это произойдет, потому что 128-битная шина будет полезна для вычислений.

Ширина шины, ширина регистра и размер указателя — разные значения.

64-битный процессор имеет регистры больше 64-бит (например, 512-бит для AVX512), а сама шина памяти уже либо 128-битная, либо 256-битная.

128-битные указатели кажутся сомнительными для скалярной обработки, а векторная обработка уже имеет более широкие регистры/GPU/TPU для ускорения.

С точки зрения безопасности 64-битное произвольное пространство (на самом деле 48-битное) — это чертовски хорошо, и увеличение этого пространства для безопасности — это не то, о чем я видел убедительные статьи.

Ширина шины ортогональна разрядности процессора. QPI, шина, которую используют процессоры Intel, представляет собой 20-битную шину. HT, эквивалентная технология AMD, использует 32-битную шину даже на 64-битных процессорах. HBM2, используемый на некоторых видеокартах AMD, использует 1024-битную шину. Commodore 64 имел 8-битные регистры, 8-битную шину данных и 16-битную адресную шину.

Нам не нужны аппаратные 128-битные типы данных. Нам едва ли нужны типы данных с 64-битной точностью. Это время от времени возникает - например, 32-битные числа с плавающей запятой не могут хранить значение широты/долготы достаточно точно, однако 32-битное целое число может хранить значение долготы с точностью около 1 фута, если -2 ^ 32 составляет 180 градусов на запад и 2^32 — это 180 градусов на восток. (у этого есть изящное преимущество переполнения целочисленного дополнения 2s, которое делает правильную вещь, хотя только с долготой, а не с широтой. но я отвлекся.)

Есть несколько ситуаций, когда вам нужна более высокая точность, чем эта. На ум приходят RSA и DH. Но в таких ситуациях вам все равно понадобится арифметика произвольной точности. 128-битный регистр не сильно поможет — уж точно этого недостаточно, чтобы компенсировать затраты на удвоение размера всех ваших ALU, даже если это машина специального назначения, которая весь день только и делает, что подписывает SSL-сертификаты.

В статье упоминается об этом (но это легко упустить): в то время как текущие чипы являются 64-битными, на практике адресация памяти составляет только 48-битную, и планируется расширить ее до 57-битной для серверных продуктов [1]. Принимая это во внимание, наблюдается явное замедление роста количества битов: 7 лет с 16 до 32, затем 18 лет для очередных 16 бит (с 32 до 48), а теперь еще ~18 лет всего для еще 9 бит. Похоже на экспоненциальное замедление, что имеет смысл, учитывая, что размер памяти является экспонентой числа битов.

Вы неправильно считаете количество лет в бите, комментарий, на который вы отвечаете, дает правильный ответ — новое поколение необходимо, когда заканчивается текущее пространство, а не когда следующий лимит требуется полностью. Таким образом, упомянутые вами ~ 18 лет - это время от необходимости 33-битных адресов до необходимости 49-битных адресов. (И 7 лет — это время от потребности в 9-м бите адресного пространства до потребности в 17-м).

За последние несколько лет действие закона Мура для объема ОЗУ стало замедляться. Упомянутая вами система на 64 ТБ появилась шесть лет назад, примерно тогда, когда закон Мура начал сужаться. Если бы закон Мура продолжал удваивать объем оперативной памяти каждые восемнадцать месяцев, мы должны были бы наблюдать четыре удвоения, вплоть до 1 ПБ. Но это не та машина, которую мы видим.

Примечательно, что пропускная способность ОЗУ не подчиняется и не подчиняется закону Мура, улучшаясь линейно, а задержка остается более или менее постоянной. Таким образом, по мере увеличения размера рабочих нагрузок производительность будет ухудшаться, ухудшаться и ухудшаться, пока «просто купите больше оперативной памяти» не перестанет решать проблему. Подобно тому, как разделы подкачки раньше были чем-то важным, но производительность теперь настолько плоха, что подкачка больше не может использоваться как дешевая оперативная память.

Хотя это 64 ТБ в одном адресном пространстве, это не настольный компьютер. Сравнение яблок с яблоками будет рассматривать Cray-1 1975 года, у которого был 64-разрядный процессор, а также были 128-разрядные процессоры.

Более 64 ГБ? Потому что это ограничение PAE, введенное с Pentium Pro (36-разрядная адресная шина), который иначе считался 32-разрядным процессором.

Я увеличу объем своего threadripper в четыре раза до 256 ГБ. Знаешь, я не могу допустить, чтобы эта сволочь добралась до меня.

Nintendo 64 и Playstation 2 использовали 64-разрядные процессоры до ПК.

x86 действительно опоздал.

Я думаю, что аналогия с законом Мура остается в силе, если вы выбираете машины, используемые в сопоставимых ролях. Причина в том, что вы не сможете использовать больше памяти, если ваш компьютер не станет быстрее (исключением могут быть очень разреженные хеш-таблицы, но для них потребуется объем памяти, которого у нас пока нет)

Предполагая чрезвычайно щедрые 2 цикла на байт, 1 МГц 6502 потребуется 2 секунды, чтобы очистить 1 МБ ОЗУ, или 2000, чтобы очистить 1 ГБ. Это больше получаса.

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

Нет; они только что процитировали статью в Википедии о x86. Но тогда, если игнорировать все, кроме x86, аргумент намного слабее, потому что технологии не остановились и не стали ждать Intel.

Не будет ничего удивительного, если x86 перестанет доминировать в будущем, и в этот момент, когда x86 станет 64-разрядным, это будет примерно так же актуально, как, скажем, выпуск PowerPC 620 (первый 64-разрядный чип PPC). , выпущенный в 1997 году).

В сообщении говорилось: "Я думаю, что лучшим аргументом будет обратиться к истории", а затем опущено 12 лет истории. x86_64 был на переднем крае этой истории.

18 экзабайт — это не так уж много, если вы хотите уникально адресовать каждый байт памяти в (будущем) центре обработки данных. Документы по системам унифицированной памяти на основе RDMA в настоящее время дают очень убедительные результаты производительности в таких рабочих нагрузках, как базы данных pub-sub и в основном читаемые. Вполне возможно, что в ближайшие 15 лет появятся специализированные компьютеры масштаба центра обработки данных, объединенные в сеть с унифицированным пространством памяти, которым требуется адресное пространство больше 64 бит, особенно при использовании оптановых модулей DIMM большой емкости, которые производит Intel.

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

Если старшие N битов глобальных адресов считываются только программным обеспечением маршрутизации, их не нужно представлять в аппаратном обеспечении процессора.

Я устал от жалоб на это.Если вы не видите необходимости обрабатывать-изолировать каждый элемент DOM, вы не понимаете интерфейс. Что, если

вылетает или зависает? Раньше считалось, что когда прослушиватели событий одного элемента DOM терпят неудачу, все приложение завершается ошибкой. Теперь просто перезапускаем процесс и перерисовываем экран. Обмен сообщениями и координация — это кошмар, но надежность и масштабируемость того стоят. Благодаря современной поддержке постасинхронных языковых конструкций это даже не увеличивает время разработки более чем на большой постоянный коэффициент.

Разрешает ли какая-либо система, позиционируемая как «суперкомпьютер» с эксабайтами памяти, унифицированную адресацию ОЗУ? Насколько я понимаю, они используются через такие интерфейсы, как MPI, который так не работает.

Я думаю, что вы что-то поняли, поскольку заметили, что супервычисления и кластерные вычисления — это спектр. Вы можете представить, что начинаете с кластерных вычислений при нулевой аппаратной поддержке, постепенно добавляя больше аппаратных межсоединений и вкладывая больше усилий в топологию, по мере того, как вы поднимаетесь к платоническому идеальному суперкомпьютеру, который, в соответствии со своим названием, будет просто одним суперкомпьютером.

Я не знаю, идут ли производители по лестнице вверх. Даже настольные компьютеры все больше и больше выглядят как независимые взаимосвязанные ядра (например, NUMA и графические процессоры). Даже в программном обеспечении рабочие нагрузки с большим объемом вычислений, как правило, записываются таким образом, чтобы избежать проблем с блокировкой.

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

Сегодня у нас нет даже 64-разрядных компьютеров. Посмотрите на характеристики вашего оборудования, и вы поймете, что на самом деле оно работает на значительно меньших адресных шинах. Доказательство: меньшие степени двойки появляются в максимальных спецификациях поддержки.

У нас есть 64-битные наборы инструкций, которые можно было бы использовать в 16-битную эпоху, если бы мы по какой-то причине захотели. Настоящая разница между 64-битной и 32-битной архитектурами заключается в том, что когда они перешли на 64-битную архитектуру, они сказали: «Кого волнует, если мы потеряем несколько битов в указателях, мы бы предпочли никогда больше не менять размеры указателей». Это означает, что больше не нужно пытаться сбрить каждый бит представления кода и данных в памяти.

Но эти шины также значительно больше, чем 32-битные. Случайно выбрав один из них, Cortex-A72 имеет 44-битный PA, который находится в диапазоне нескольких терабайт.

Даже если внешняя адресуемая память имеет разрядность 48 бит, внутреннее представление виртуальных адресов может быть 64-разрядным.

Я вижу, что со временем он становится все больше, на практике это уже происходит с ARM SVE.

Из-за этого ширина шины памяти также может увеличиваться полезным образом.

Но адресной памяти я не вижу.

64-битная версия, скорее всего, будет конечным продуктом, пока мы не будем использовать радикально другую архитектуру ЦП. (гораздо больше, чем разница между Z80 и Xeon)

Конечно, предсказывать будущее очень сложно, но если вы хотите сделать обоснованное предположение, лучше не ожидать бесконечного и монотонного роста. Всегда есть концовка.

Архитектура AS/400 уже несколько десятилетий использует 128-битные указатели, даже если в основе этого лежит 32-битный или 64-битный процессор - за исключением небольшого фрагмента кода, предоставленного IBM, вам не разрешено нацеливаться на них напрямую.< /p>

И ARM работает с командой CHERI над созданием аппаратного прототипа SOC (не на основе FPGA, как исследовательские устройства MIPS CHERI)

из этих 64 бит многие используются для маркировки указателей определенными атрибутами (коды безопасности PAC, флаги распределения и т. д.)

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

Имеет смысл иметь 128-битные компьютеры. Рассмотрим разреженные наборы данных с отображением памяти. Сейчас 18 ПБ кажется огромным адресным пространством, но кто знает, через 50 лет…

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

Если вы не отдел маркетинга Atari, в этом случае 64-разрядная архитектура означает, что два 32-разрядных процессора работают в тандеме. Исходное.

Однако у него необычная архитектура, в которой все программы выполняются в виртуальной машине на основе байт-кода, сравнимой с Java или dotnet. 128-битные указатели используются только в виртуальной машине. Базовое физическое оборудование изначально имело 48-битную адресацию (начиная с конца 1970-х годов); в 90-х они переключили физическое оборудование на поддержку 64-битной адресации

Кроме того, несмотря на то, что указатели являются 128-битными, многие биты в указателе зарезервированы для будущего использования. Отчасти это было упражнением в крайней готовности к будущему. Отчасти потому, что они используют теговые биты для маркировки действительных указателей в памяти (чтобы программы не подделывали указатели), но у них зарезервирован только один теговый бит на каждые 16 байт ОЗУ, поэтому указатели должны иметь выравнивание по 16 байтам.

В частности, настоятельно не рекомендуется использовать MD5 в новом программном обеспечении.

Дайте мне железо, и я найду вам применение! Конечно, 128-битные процессоры не имеют смысла для текущих приложений, но если наша история показывает нам что-то, так это то, что люди максимально используют аппаратное обеспечение с чем-то новым, как только оно появляется. Частью решения является использование компьютеров предыдущего поколения для создания данных и алгоритмов для компьютеров следующего поколения.

"Некоторые передовые устройства имеют 64 ГБ или даже 128 ГБ, но это требуется в очень редких случаях, например, в тяжелых CAT-приложениях или при редактировании видео".

Или запускать две копии Chrome одновременно.

-возможно, Билл Гейтс.

> "Гейтс опроверг цитату, и доказательства не являются убедительными"

> «комментарии Нэнси Эндрюс и Джерри Пурнелла показали, что общее мышление того периода было совместимо с неформальными гиперболическими замечаниями такого типа. Речь Гейтса 1989 года представила более сложный анализ роста вычислительной мощности и памяти. "

поэтому я интерпретирую нынешний пересказ анекдота как вложение слов в уста Гейтса, чтобы попытаться сбить его с ног, а оригинальная редакционная статья Джеймса Э. Фосетта 1985 года больше соответствует правдивости («убеждение или утверждение что конкретное утверждение истинно на основе интуиции или восприятий какого-то индивидуума или индивидуумов без оглядки на доказательства, логику»). Обратите внимание, как редакционная статья начинается со слов «У легенды есть это».

Нет никаких доказательств того, что Гейтс сказал это, и он отрицает это.

Я процитировал, как несколько человек в то время сказали это неиронично.

Нэнси Эндрюс: "Когда в 1981 году был представлен IBM PC-1, он был оснащен 64 КБ памяти. Те из нас, кто модернизировал свои системы до 128 КБ, думали, что у нас есть столько памяти, сколько нам когда-либо понадобится".

Джерри Пурнелл: "В моем первом микрокомпьютере было 12 КБ памяти. Когда я расширил ее до 64 КБ, я подумал, что у меня есть столько памяти, сколько мне когда-либо понадобится. Ха. Теперь я знаю лучше."

И самое раннее упоминание этой предполагаемой цитаты было в редакционной статье со множеством примеров того, как программное обеспечение не было подготовлено для использования большего объема памяти - вряд ли пример "шутки, которую никто не понял в то время".

Поскольку у меня нет докторской или докторской степени, но есть степень магистра, вам не следует называть меня "доктор". Соответствующее академическое звание — «Магистр», хотя для HN это кажется чрезмерным.

[0] Я начал с микрокомпьютеров в 1983 году и немного программировал мэйнфреймы на FORTRAN, так что знаю контекст.

Нэнси и Джерри не были программистами. У нас нет указаний, кто это сказал или когда, но явно кто-то это сказал. Если бы этот кто-то был программистом, они могли бы сказать это только с иронией. Неудивительно, что кто-то, кто не является программистом, пропустил шутку.

Если вы получили работу ассистента в аэропорту, и кто-то просит вас принести ведро с моющим средством для реквизита и веревку на сотню ярдов, не делайте этого. Если вам говорят попросить кого-нибудь о длительной встрече за копейки, будьте готовы к долгому ожиданию (или просто возьмите выходной).

> У нас нет указаний, кто это сказал

Кирк в ToS никогда не говорил: "Получи меня, Скотти", но эту цитату знают все.

Правда важнее правды.

Похоже, что взгляды Гейтса и Microsoft в то время были примерно такими же, как он сказал в 1989 году: "То есть переход с 64 КБ на 640 КБ кажется чем-то, что продлится очень много времени".

Обратите внимание, что фраза "много времени" портит то, что вы считаете саркастической шуткой. Это уточнение также является тем нюансом, который стирается при пересказе, поскольку его удаление делает пересказ более интересным.

Правда важнее правды.

Мы знаем, что самая ранняя форма этой приписываемой цитаты содержится в статье директора редакции Джеймса Э. Фосетта в Infoworld от 29 апреля 1985 года: «Когда мы установили верхний предел PC-DOS на уровне 640 КБ, мы думали, что никто когда-нибудь понадобится столько памяти. — Уильям Гейтс, председатель Microsoft"

У него нет цитирования, нет дополнительного контекста, а несколько других частей статьи («Есть легенда» и «О ней сообщалось») убедительно свидетельствуют о том, что она была написана без учета исторической точности. Вместо этого я интерпретирую это как использование этих примеров в качестве притч, чтобы сделать редакционную аргументацию более яркой.

Правда важнее правды.

Дело в том, что я согласен, что это шутка. Думаю, шутка была такой: "Посмотрите на этих чокнутых инженеров. Они такие ограниченные! Разве они не знают, что нам всегда нужно больше оперативной памяти, больше места на диске и всего побольше?!"

Но эта грубая шутка ставит под сомнение инженерные компромиссы и решения, и, как вы правильно заметили, журналисты редко обладают таким опытом. Таким образом, шутка сделана из Джобса и Гейтса, потому что всегда весело опустить генерального директора на ступеньку выше. Даже если это неправда.

Нет абсолютно никаких планов по выпуску 128-битных чипов на базе ARM, потому что они просто не нужны. Слухи об обратном просто неверны.

ARM не часто опровергает слухи и предположения, но в данном случае Ян Дрю, директор ARM по маркетингу и исполнительный вице-президент по развитию бизнеса, написал резкое опровержение, чтобы опровергнуть ошибочную статью Korea Herald. По словам Яна, «у нас нет абсолютно никаких планов по 128-битным чипам на базе ARM, потому что они просто не нужны. Слухи об обратном просто неверны».

Единственным именем, упомянутым в статье Herald, было имя Антонио Вианы, исполнительного вице-президента ARM по глобальному и коммерческому развитию, который присутствовал на Техническом симпозиуме ARM, чтобы представить презентацию о подключении и мобильности в будущем. Ян Дрю написал, что ни Антонио, ни какой-либо другой руководитель ARM не сделали предполагаемых комментариев. «Кроме того, комментарии, приписываемые любому руководителю ARM, включая моего коллегу Антонио Виана, в которых якобы обсуждаются планы какого-либо конкретного партнера на будущее или разработка 128-разрядных микросхем, являются неточными: таких комментариев не было», — добавил Дрю.

64-битная версия — это все, что вам нужно

Поскольку 64-разрядные процессоры перемещают данные фрагментами по 8 байт, как внутри, так и снаружи, операции, связанные с графикой, вводом-выводом и инструкциями с одной инструкцией и несколькими данными (SIMD), значительно ускоряются. Также такие задачи, как шифрование, значительно ускоряются. Согласно эталонным тестам, выполненным на 64-разрядной реализации ARM от Apple, некоторые операции на 64-разрядном процессоре выполняются на 68 % быстрее, а шифрование AES выполняется на 825 % быстрее. Однако стоит отметить, что некоторые из этих преимуществ связаны с поддержкой криптографии на уровне инструкций в новой архитектуре ARMv8, а не с переходом на 64-разрядную версию как таковую.

Подобно переходу с 16 бит на 32 бит, переход с 32 бит на 64 бит знаменует собой новую эру для мобильных вычислений, часть из которых связана с памятью, а большая часть – нет. Однако не похоже, что в ближайшее время произойдет переход на 128 бит.

Читайте также: