Сколько памяти может машинный адрес на 64 бита за один раз?

Если память с байтовой адресацией, не был должен она быть

2^64 / (2^10 * 2^10 * 2^10) = 2^34 GB ?

Общий поиск Google говорит что 8GB или 16 ГБ максимум.

Как это верно? Кроме того, как это зависит от Операционной системы?

32
задан 25.07.2010, 09:20

3 ответа

Существует несколько коэффициентов чередования.

В первую очередь, Вы никогда не будете мочь собрать систему, которая имеет 264 байта (16 exibytes) физической RAM.

Во-вторых, просто потому что 64-разрядные указатели использования архитектуры, не означает, что все биты тех указателей на самом деле используются. В частности, текущие x86-64 центральные процессоры (иначе AMD64 и текущие 64-разрядные микросхемы Intel) на самом деле используют 48-разрядные строки адреса (AMD64) и 42-разрядные строки адреса (Intel) (см. http://en.wikipedia.org/wiki/X86_64#Virtual_address_space_details), теоретически позволяя 256 терабайт физической RAM.

Во-вторых, материнские платы имеют свои собственные пределы на то, сколько RAM они могут поддерживать, и физически и логически. Физически, там будут только таким количеством слотов, доступных для RAM. Что касается "логических" пределов, я не полностью понимаю, почему это все еще имеет место для x86-64 (контроллер памяти, давно бывший перемещенным в сам ЦП), но там это. По-видимому, углы сокращаются на строках адреса для сохранения нескольких маркеров в проектировании и изготовлении.

В-третьих, операционная система может иметь внутренние ограничения относительно того, сколько RAM она может эффективно поддерживать. Частично, это должно на самом деле предотвратить бывшие нужные чрезмерно большие структуры данных для отслеживания использование для памяти, которая не является действительно там. В последний раз я проверил, Linux позволяет 128 ТБ виртуального адресного пространства для каждого процесса на x86-64 и может теоретически поддерживать 64 ТБ физической RAM.

В-четвертых, некоторые операционные системы (например, Windows) искусственно ограничат, сколько RAM может использоваться в качестве тактики, чтобы заставить пользователей обновить до более дорогих версий, если они хотят больше RAM (Windows 7 Starter ограничена 2 ГБ, Домой Основными к 8, Домой Premium к 16, и Профессионал и выше - 192 ГБ, и выпуски Windows Server имеют намного более высокие пределы).

53
ответ дан 07.12.2019, 09:09

При использовании MS Windows максимальная память ограничивается операционной системой.

Для Windows 7 максимумы:

  • Начинающий: 2 ГБ
  • Домой основной: 8 ГБ
  • Домой Premium: 16 ГБ
  • Профессионал: 192 ГБ
  • Предприятие: 192 ГБ
  • Окончательный: 192 ГБ

Windows Server 2008 колеблется от 8 ГБ для начального уровня к 2 ТБ для вершины строки.

См. http://msdn.microsoft.com/en-us/library/aa366778%28VS.85%29.aspx для списка полного выхода.

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

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

9
ответ дан 07.12.2019, 09:09

64-разрядная машина должна смочь обратиться к 264 адресуемым единицам (в архитектуре, разработанной за последние несколько десятилетий, адресуемые единицы являются неизменно байтами, иначе октеты). Если бы Вы определяете "гигабайт" как 230 адресуемых единиц, то да, 234 гигабайта были бы другим способом выразить то же количество.

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

Операционные системы совершенно определенно могут и действительно ограничивать объем адресуемой памяти (например, они могут сделать так путем ограничения размера таблиц страниц, возможно, к некоторому настраиваемому максимуму, который может быть установлен путем перекомпиляции или иначе реконфигурирования ОС - трудно быть более конкретным, не фокусируясь на некоторой определенной группе OSs).

8
ответ дан 07.12.2019, 09:09

Теги

Похожие вопросы