21

Я читаю книгу о своей компьютерной архитектуре и вижу, что в 32-битном процессоре x86 счетчик программ 32-битный.

Таким образом, число байтов, которые он может адресовать, составляет 2 ^ 32 байта или 4 ГБ. Поэтому для меня имеет смысл, что большинство 32-битных машин ограничивают объем оперативной памяти до 4 Гб (игнорируя PAE).

Прав ли я, предполагая, что 64-битная машина теоретически может адресовать 2 ^ 64 байта или 16 эксабайт оперативной памяти ?!

9 ответов9

28

Теоретически: 16,8 миллиона терабайт. На практике: корпус вашего компьютера слишком мал, чтобы вместить всю эту оперативную память.

http://en.wikipedia.org/wiki/64-bit#Limitations_of_practical_processors

17

В дополнение к ответу Мэтта Болла, на данный момент самый большой объем оперативной памяти, который я могу найти в одном конкретном интернет-магазине, составляет 32 ГБ. Для достижения 1 терабайта потребуется 32 из них. Приблизительно полдюйма на одну флешку, это дает нам выделенные 16 дюймов места на вашей материнской плате для терабайта коммерческой оперативной памяти. Чтобы достичь 16,8 миллиона терабайт, материнской плате потребуется 4242,42 мили. Расстояние от Лос-Анджелеса до Нью-Йорка составляет около 2141 миль, поэтому материнская плата будет простираться по всей стране и обратно, чтобы вместить столько оперативной памяти.

Понятно, что это нецелесообразно.

Как насчет того, чтобы мы не поместили нашу оперативную память в один ряд, как на большинстве материнских плат, а вместо этого разместили их рядом. Я хочу сказать, что средняя палка барана составляет около шести дюймов в длину, поэтому, если мы допустим ширину в полдюйма, вы можете получить квадратную единицу из 12 палочек барана в квадрате 6 дюймов. Давайте назовем этот квадрат RAM-плиткой. Тогда RAM-плитка содержит 384 ГБ ОЗУ. Для получения необходимых 16,8 миллионов терабайт в ячейках размером 384 ГБ потребуется 44,8 миллиона. Давайте запутаемся и используем квадратный корень из этого, чтобы заключить, что это поместится в квадрат 6693 на 6694 плиток, или 13 386 на 13 388 футов, что достаточно близко к квадрату на 2,5 мили, достаточно, чтобы покрыть центр Сиэтла в тени, как будто у них уже не было достаточно, чтобы жаловаться.

4

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

3

Не существует конкретной фиксированной связи между размером в битах процессора и объемом адресуемой памяти. Большинство 8-битных машин конца 1970-х годов могли легко получать прямой доступ к 65 536 байтам, 16-битные 8088 и 8086 могли напрямую получать 1 048 576 байт. Кроме того, можно добавить аппаратное обеспечение, чтобы машины могли получать косвенный доступ к любому количеству ОЗУ; многие машины с 8-разрядными процессорами имели 128 КБ или более, а модули расширения памяти для ПК на базе 8088 могли иметь доступ более 16 мегабайт. Хотя Microsoft включала такую функцию только в "серверных" версиях Windows, 32-битный код мог получить доступ к памяти за пределами 4GiB, используя аналогичные подходы.

2

Вы были бы правы. Вы можете адресовать до 16 эксабайт оперативной памяти. Теперь ... может ли операционная система справиться с этим, это был бы другой вопрос ....

2

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

Например, посмотрите, что википедия говорит о Windows Vista 64:

Все 64-разрядные версии операционных систем Microsoft в настоящее время ограничивают адресное пространство 16 ТБ. Процессы, созданные в 64-разрядных выпусках Windows Vista, могут иметь 8 ТБ виртуальной памяти для пользовательских процессов и 8 ТБ для процессов ядра для создания виртуальной памяти 16 ТБ. [29] Что касается физической памяти, Windows Vista 64-Bit Basic поддерживает до 8 ГБ ОЗУ, Windows Vista 64-Bit Home Premium поддерживает до 16 ГБ ОЗУ, а Windows Vista 64-Bit Business/Enterprise/Ultimate поддерживает до 128 ГБ. оперативной памяти. [8]

1

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

0

Большинство современных процессоров имеют своего рода искусственное ограничение на размер своего адреса. Например, архитектура AMD64 имеет 52-битное ограничение на физическую память и в настоящее время поддерживает только 48-битное виртуальное адресное пространство. (Через Википедию). Однако да, физически ~ 16,4 миллиона терабайт возможно.

-1

за реалистичный физический ответ 1536 ГБ с 48 картами ОЗУ с 32-гигабайтными одиночными палками и 4x ксенами lga2011

это для esayist pc, который кто-то может купить, не нарушая скрытые хардкорные серверы, полагающие, что theres 64gb единственные статьи приносят к .... 3072gb 128gb будет 6144gb 256gb будет 12288gb

просто чтобы показать, что есть способы обойти ограничения OS с помощью оперативной памяти, если в операционной системе Windows видно только 4 ГБ оперативной памяти, превращающей оставшийся диск в оперативную память и использование оперативной памяти в качестве файла подкачки. XD XD XD XD - просто вопрос предварительной загрузки ОС. Система некоторые подобные вещи были сделаны еще в первые дни DOS / Windows 3.11 и т. д.

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

снаряжение, которое мы видим, неужели там нет ничего более мощного, у меня был компьютер из 98 с 8 процессорами и что-то вроде 32 ГБ оперативной памяти, но это дорогое привет-серверы

я смотрю на серверы в качестве рабочих столов, потому что я устал от компьютеров для общественности XD

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .