Почему мой процессор поддерживает только 32 ГБ ОЗУ, если он имеет 39 бит адреса?

1505
Lord Loh.

Ниже приводится вывод cat /proc/cpuinfo

user@localhost:~$ cat /proc/cpuinfo  processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 60 model name : Intel(R) Core(TM) i3-4130 CPU @ 3.40GHz stepping : 3 microcode : 0x12 cpu MHz : 800.000 cache size : 3072 KB physical id : 0 siblings : 4 core id : 0 cpu cores : 2 apicid : 0 initial apicid : 0 fpu : yes fpu_exception : yes cpuid level : 13 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid bogomips : 6784.48 clflush size : 64 cache_alignment : 64 address sizes : 39 bits physical, 48 bits virtual power management: 

Теперь 39 бит должны дать мне 512 ГБ адресуемой физической памяти. Однако процессор Intel® Core iM- 4130 с тактовой частотой 3,40 ГГц поддерживает только 32 ГБ. Почему это? Как я могу согласовать этот расчет?

Я не спрашиваю о количестве слотов в материнской плате, максимальном количестве памяти RAM / платах DIMM и т. Д. Я ищу, как подходят физические биты, адресные строки и максимальный объем физической памяти.

Кроме того, 48 бит должны составлять 256 ТБ виртуального адресного пространства. Это правда??

6
Просто потому, что у вас есть адресное пространство, не означает, что ваша система поддерживает достаточно, и достаточно большие слоты оперативной памяти. IIRC самое большее, что вы можете использовать с 4x rdimms - это 128, а обычный ddr4 достигает максимума в 16 ГБ флешки). В старых системах * размер * на флеш-память была еще меньше - мой процессор i7 3770 поддерживает 32 ГБ ddr3, так как у меня 4 слота (а у mini itx может быть 2 слота), а самый большой флеш-накопитель, который я мог получить, - 8 ГБ. , Journeyman Geek 8 лет назад 0
Это может быть связано с [как физическая память адресуется] (http://lackingrhoticity.blogspot.com.au/2015/05/how-physical-addresses-map-to-rows-and-banks.html). Каждый адрес состоит из таких деталей, как строка, канал, банк, смещение и т. Д. Bob 8 лет назад 0
@JourneymanGeek Это не связано с системой. Я думаю, что он мог бы иметь 64 ГБ в своей системе, если материнская плата поддерживает это, но процессор сможет работать только с 32 ГБ одновременно. Intel имеет жесткое ограничение на уровне процессора. Это напоминает различные максимумы в разных версиях Windows (например, Pro против Home). Чтобы обойти это, нужно было получить процессоры ** X ** Extreme или материнскую плату, которая поддерживает более одного физического процессора. Louis 8 лет назад 0
Вряд ли есть процессор Intel, поддерживающий 64 ГБ. [Чтобы получить такую ​​поддержку, вы должны обратиться к их экстремальной линейке продуктов] (http://ark.intel.com/products/family/79318/Intel-High-End-Desktop-Processors#@Desktop) Ramhound 8 лет назад 0
@ Луис - Действительно. Конечно, эти материнские платы и процессоры в основном ограничены линейкой продуктов Xeon. Ramhound 8 лет назад 0
@ Луис, следовательно, мое упоминание о максимальном количестве барана на палку. Хотя я предполагаю, что «материнская плата» будет более точной, я пытался сослаться как на ограничения, связанные с контроллером памяти, так и на физические ограничения. Даже с полностью загруженной двухпроцессорной высокопроизводительной системой 512 ГБ будет непростым делом. Journeyman Geek 8 лет назад 0
Это ограничение не имеет ничего общего с адресным пространством (все чипы haswell используют один и тот же 48-разрядный код MAR, будь то i3 / i5 / i7, как и все остальные модули), но искусственно созданы для дифференциации продуктовой линейки. Единственные чипы серии Nahelem, которые поддерживают более 32 ГБ, - это Extreme Edition i7, которые часто стоят 1000 долларов или больше. Frank Thomas 8 лет назад 0
Я понимаю емкость материнской платы. Моя материнская плата поддерживает максимум 16 ГБ, но даже если бы я купил материнскую плату высокого класса, она все равно будет поддерживать только 32 ГБ. Из всех комментариев, похоже, что у Intel жесткое ограничение, но никто не дал мне определенного ответа. Не является ли 39 бит само по себе жестким ограничением? Почему два жестких ограничения? Lord Loh. 8 лет назад 0
39 / 48bit MAR не имеет никакого отношения к этому пределу. Вы правы, 48-битный MAR способен использовать около 256 терраадресов, но это не имеет значения, потому что Intel написала свой набор инструкций для размещения максимум 32 ГБ. Frank Thomas 8 лет назад 1
@FrankThomas Я не знаю, как вы «пишете набор инструкций» для реализации такого ограничения. 99% времени набор команд утверждает виртуальные адреса, а не физические. Набор команд полностью способен помещать биты в PTE, что привело бы к преобразованию v, a, в физические адреса> 32 ГБ, если бы такой контроллер поддерживал только контроллер памяти. Что касается виртуальных адресов, конечно, 48 реализованных бит позволяют вам получить доступ к 256 ТиБ VAS. Jamie Hanrahan 8 лет назад 0
@LordLoh. - За исключением того, что это не так. Intel имеет процессоры, которые поддерживают 64 ГБ. Они просто ограничены небольшим подмножеством своих самых высоких конечных продуктов. Ramhound 8 лет назад 0
Мой вопрос был о конкретном процессоре, который я перечислил. Lord Loh. 8 лет назад 0

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

1
Overmind

It only supports 32GB of RAM because of the memory controller. It was designed with this limitation. Similar, it is limited to 25.6 GB/s bandwidth.

так почему бы не иметь только 34 физических адреса адреса? Какой цели служит 39 бит? Lord Loh. 8 лет назад 0
Не все, что имеет физический адрес, является ОЗУ. Наличие большего количества бит физического адреса, чем необходимо для оперативной памяти, позволяет, например, устройствам ввода-вывода, которые представляют большой объем отображаемого в памяти адресного пространства, не влияя на объем оперативной памяти, которую вы можете использовать. Я также видел платформы, которые использовали некоторые «лишние» биты для указания типов доступа к пространству ввода / вывода (например, байтовый и размерный доступ), которые процессор не мог поддерживать другим способом - это было указано с помощью кода в библиотека поддержки драйверов и интерпретируется мостом шины. Я не знаю, делается ли это на современных платформах Intel. Jamie Hanrahan 8 лет назад 5
@JamieHanrahan - Ваш комментарий, вероятно, лучший ответ, который у меня есть до сих пор. И я задал этот вопрос год назад. Вы уверены в доступе к памяти - IO, байту и размеру слова, используя дополнительное физически адресуемое пространство? Большинство ответов здесь и на https://www.quora.com/Why-does-my-CPU-only-support-32GB-RAM-when-it-has-39-address-bits являются лишь предположениями. Спасибо. Почему бы вам не опубликовать это в качестве ответа. Lord Loh. 7 лет назад 1
-2
Rammac

All of the Intel LGA 1150 socket cpu's are limited to 32GB.

Какой-то источник или доказательство того, что это так, было бы неплохо. Mokubai 8 лет назад 1
Если они планируют поместить его в упаковку LGA1150, зачем тратить кремний на все регистры, когда линии идут в никуда. Это похоже на строительство 39-полосной трассы в тупик. Lord Loh. 8 лет назад 0
Все чипсеты для LGA 1150 поддерживают максимум 2 DIMM в каждом из 2 каналов памяти. Они поддерживают максимальный размер модуля 8 ГБ. Простая математика. Мне легче не подвергать сомнению методы или идеи Intel, потому что они, кажется, знают, что делают. Rammac 8 лет назад 0
@Rammac - я предпочитаю подвергать сомнению методы и идеи Intel, чтобы знать, что они делают. Lord Loh. 7 лет назад 0

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