Какова максимальная адресуемая память?

4482
Journeyman Geek

Я только начал изучать сборку.

В спецификации моего ноутбука говорится:

Микропроцессор: процессор Intel Core Duo T2300

Микропроцессорная кэш-память: 2 МБ кэш-памяти L2

Макс. Память: 2048 МБ

Память: 1024 МБ, 667 МГц, системная память DDR2 (2 димма)

В спецификации « Intel Core Duo T2300 » говорится:

Набор инструкций: 32-битный

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

Кроме того, в спецификации процессора также упоминаются спецификации памяти

Расширения физических адресов 32-битные

что, как я понимаю, означает, что он может адресовать 64 ГБ памяти

Означает ли это, что, учитывая только 2 слота памяти на материнской плате, мой ноутбук может поддерживать 2x 2 ГБ карты памяти == (4 ГБ) памяти?

Полагаю, ребята из ноутбуков предположили, что не будет 2ГБ, поэтому они могли бы упомянуть Memory Max: 2048MB

3

4 ответа на вопрос

3
Kevin Montrose

Адресная память для 32-разрядной системы составляет 4 ГБ, физическая память - это то, что установлено. Ваша операционная система управляет последними, чтобы дать запущенным программам иллюзию первого. Это намного сложнее, но это суть.

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

Объем памяти на машине определяется не только возможностями процессора. Не думайте, что ваша машина может поддерживать 4 ГБ.

Этот ответ игнорирует тот факт, что существуют виртуальные адреса и физические адреса, и вопрос явно относится к физическим адресам. Ben Voigt 12 лет назад 0
@Ben Если вы не используете AWE, все адреса являются виртуальными (могут быть некоторые исключения ядра вне загрузки, но в пользовательском режиме это определенно верно). Кроме того, я различаю их в первой строке моего ответа; и отметьте, что не только ваши слоты для процессора и оперативной памяти определяют то, что на самом деле адресуется в последней строке (разделение между ядром и пользовательским режимом является большим, но материнская плата тоже будет мешать). Kevin Montrose 12 лет назад 0
@KevinMontrose То, что вы называете «адресуемой» памятью, лучше назвать «виртуальной». И даже если вы используете AWE, адреса, которые вы используете в своей программе, все еще являются виртуальными, и их диапазон все еще ограничен виртуальным адресным пространством пользовательского режима. Jamie Hanrahan 8 лет назад 0
1
Paul Tomblin

Помимо адресного пространства памяти, существует множество факторов, определяющих, сколько памяти может адресовать компьютер. Например, Mac Book PRo моей жены может поддерживать только 3 ГБ, и если вы установите две карты памяти объемом 2 ГБ, они все равно будут адресованы только 3 ГБ.

Кстати, 32 бита означает, что чип теоретически может адресовать 4 ГБ памяти. Где вы получили этот номер 64GB?

1
Brian Rasmussen

Здесь есть ряд факторов. Благодаря 32-битной архитектуре ОС может обрабатывать 4 ГБ памяти. Однако все это может быть недоступно для приложений. Например, машина Windows с 4 ГБ памяти, как правило, не сможет использовать более 3,5 ГБ для ОС и приложений, так как часть адресного пространства используется для отображения оборудования.

Кроме того, Windows разделяет 32-разрядное адресное пространство памяти на два: 2 ГБ для памяти ядра, используемой ОС, и 2 ГБ для приложений пользовательского пространства. Т.е. по умолчанию каждое приложение сможет получить доступ только к 2 ГБ памяти. В Windows можно настроить использование 1 ГБ для ядра и 3 ГБ для пользователя.

Кроме того, фактическое оборудование может устанавливать определенные ограничения. Когда в спецификации вашего ноутбука указано, что максимальная память составляет 2 ГБ, это, скорее всего, потому что это максимум, который материнская плата будет поддерживать. Неважно, сколько ОС может адресовать. Если оборудование распознает только 2 ГБ, то это предел физической памяти для машины.

32-разрядное адресное пространство, которое Windows разделяет на две области по 2 ГБ, является адресным пространством _virtual_. Это совершенно не связано с тем, сколько оперативной памяти может обрабатывать ОС. Jamie Hanrahan 8 лет назад 0
1
debendra nath tiwary

Нет, я совершенно не согласен - 32-разрядный процессор не означает, что адресуемая память составляет 4 ГБ. Строго говоря, 32-битные процессоры означают, что ваш размер ALU равен 32, то есть он может выполнять операции с 32-битными данными одновременно. * примечание: 32-битный процессор не означает размер шины данных. Поскольку ваш процессор 32-битный, он может манипулировать 32-битными данными (которые могут быть адресами), поэтому он работает быстрее.

Все, что от этого зависит, - это размер вашей адресной шины. Если размер шины адреса составляет 32 бита, это означает, что для вашего ЦП доступно 2 ^ 32 местоположения, с которым он может взаимодействовать. Расположение начинается с 0H до FFFFFFFF. Представьте, что ваш процессор 32-битный, а адресная шина всего 8 бит. Сколько локаций доступно для вашего процессора для связи? Для вашего процессора доступно только 2 ^ 8 = 256 мест. Поскольку каждое местоположение составляет 8 бит = 1 байт, ваш процессор может адресовать только до 256 байтов памяти.

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