If-Koubou

Каква е максималната сума на RAM, която бихте могли теоретично да поставите в 64-битов компютър?

Каква е максималната сума на RAM, която бихте могли теоретично да поставите в 64-битов компютър? (Как да)

Повечето хора надстройват от 32-битови изчисления на 64-битови изчисления, за да нахлуят в ограничението от 4 GB RAM, но какдалече може ли да преминете през тази граница, след като влезете в сферата на 64-битовите компютри?

Днешната сесия за въпроси и отговори ни идва с любезното съдействие на SuperUser - подразделение на Stack Exchange - обединяване на уеб сайтове с въпроси и отговори. Изображение на Петър Кратоввил.

Въпроса

Четецът на SuperUser KingNestor е любопитен с колко RAM може да има 64-битов компютър:

Четох книгата си за компютърна архитектура и виждам, че в 32-битов процесор с x86, програмният брояч е 32 бита.

Така че броят байтове, които може да адресира, е 2 ^ 32 байта или 4GB. Така че има смисъл за мен, че повечето 32-битови машини ограничават размера на овен до 4gb (игнорирайки PAE).

Смятам ли, че една 64-битова машина може теоретично да адресира 2 ^ 64 байта, или 16екзабайта на овен ?!

Exabytes ти казваш? Сега, сега, не позволявайте да бъдете алчни. Ще се радваме да започнем с терабайт-две.

Отговорът

Отговорите на анкетата на KingNestor са интересна комбинация от практически и теоретични съображения. Matt Ball скача направо с теоретичния отговор:

Теоретично: 16,8 милиона терабайта. На практика: Вашият компютър случай е малко по-малък, за да се поберат всички, че RAM.

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

Конрад Дийн скочи с бележка за това колко е напълно непрактично да се постигне максимално теоретично ограничение на RAM, използвайки днешната технология:

За да допълнят отговора на Мат Бъл, сегашната най-голяма пръчка RAM, която мога да намеря на един конкретен онлайн търговец на дребно, е 32GB. Ще отнеме 32 от тях, за да достигнат 1 терабайт. На около половин инч за пръчка това ни води до отделен 16 инча пространство на вашата дънна платка за един терабайт от търговски овен. За да достигне 16,8 милиона терабайта, ще е необходима дънна платка с 4,242.42 мили. Разстоянието от Лос Анджелис до Ню Йорк е около 2141 мили, така че дънната платка ще се простира из цялата страна и обратно, за да приюти толкова много RAM.

Ясно е, че това е непрактично.

Какво ще кажете за това, че не сме поставили нашата RAM всичко в един ред като на повечето дънни платки, а вместо това ги поставяхме един до друг. Искам да кажа, че средната пръчка на овен е дълъг около шест инча, така че ако позволим половин инч за ширина, може да има квадратна единица от 12 пръчки овен на 6-инчов квадрат. Да наречем този площад RAM-плочка. След това RAM-плочката държи 384GB RAM. За да достигне необходимите 16,8 милиона терабайта в 384GB плочки, ще отнеме 44,8 милиона плочки. Нека да бъдем разхвърляни и да използваме квадратен корен, за да заключим, че това ще се побере на площад 6693 от 6694 плочки или 13 386 на 13 388 фута, достатъчно близо до 2,5 фута квадрат, достатъчно за покриване на центъра на Сиатъл в сянка, те вече нямаха достатъчно да се оплачат.

И накрая, Дейвид Шварц отбелязва, че дори теоретичната граница е затънала в текущата CPU архитектура:

Имайте предвид, че няма съществуващ x86 64-битов процесор, който всъщност може да направи това. Техните кешове нямат достатъчно битове за тагове, адресите им нямат достатъчно ширина и т.н. 46-битовете (8TB) са максималните стойности за много модерни процесори x86.

Имате ли нещо, което да добавите към обяснението? Звучи в коментарите. Искате ли да прочетете повече отговори от други потребители на Stack Exchange? Вижте цялата тема на дискусията тук.