FAQ по подсистеме памяти
Страница 8.



Можно ли устанавливать в одну систему модули памяти разного происхождения?

Безусловно. Более того, практически любой upgrade памяти, возможность которого изначально заложена в конструкцию, подразумевает неявным образом именно такую ситуацию, так как было бы наивно предполагать, что модули, которые будут ставиться в систему спустя несколько лет после ее покупки, вдруг окажутся "одного происхождения" с уже имеющимися. Соответственно как минимум против установки в РАЗНЫЕ банки модулей, скажем так, одинаковой природы возражений нет и быть не может.

Более того, как правило, в одну и ту же систему, но в разные банки, можно безболезненно устанавливать модули памяти разного типа (при условии, что каждый из них по отдельности системой поддерживается, исключение здесь составляют рассмотренные в отдельном вопросе системы, поддерживающие одновременно SIMM и DIMM). При этом в зависимости от контроллера будет происходить одно из двух - либо вся подсистема памяти будет работать так, как если бы все параметры (время доступа, организация цикла, контроль четности) всех модулей имели "наинизшее" для установленных модулей значение, либо даже каждый банк памяти будет работать с оптимальными для себя параметрами. Впрочем, некоторые системы определяют тип памяти по первому банку, так что слабейшие по параметрам модули следует устанавливать именно туда. Не исключена также ситуация, при которой "наинизшие" параметры понадобится выставить вручную в BIOS Setup. Подробности должны содержаться в системном мануале, с которым в любом случае полезно ознакомиться, чтобы убедиться, что устанавливаемая конфигурация (с точки зрения емкостей) вообще поддерживается системой.

Ситуация, когда разные модули устанавливаются в ОДИН банк, рассмотрена в следующем вопросе.

Можно ли устанавливать в один банк модули памяти разного происхождения?

Существует очень простое формальное правило, предписывающее устанавливать в один банк памяти (при условии, что он состоит из нескольких модулей) только одинаковые (то есть происходящие из одной партии, как следствие, неотличимые визуально) модули. Подавляющее большинство людей, которым когда-либо доводилось производить upgrade памяти, правило это знают и стараются его придерживаться. Но время от времени возникает ситуация, когда имеется необходимость установить в один банк модули разного происхождения. Можно ли это делать?

Достаточно неожиданный для многих ответ заключается в том, что делать так можно, причем сравнительно безбоязненно, особенно если речь идет всего лишь о модулях с идентичными характеристиками, но происходящих из разных партий. Более того, возьму на себя смелость утверждать, что в системах класса Pentium и выше (применительно к которым обычно и задают сейчас этот вопрос) можно практически без последствий смешивать почти любые модули памяти (при условии, конечно, что система вообще их поддерживает). На всякий случай напомню, что до недавнего времени стандартный банк памяти в таких системах представлял собой два 72-пиновых SIMM. Мне доводилось неоднократно (в основном с целью тестирования одиночных образцов) заполнять банки в Pentium-плате совершенно разными SIMM, и при этом я не могу припомнить случая, когда эти SIMM (при условии, конечно, что оба они исправны) отказывались работать или сбоили.

Дело, в сущности, в том, что правило "одинаковых" модулей происходит из времен 386-х процессоров, когда в банки устанавливалось аж по 4 30-пиновых SIMM, а возможности контроллеров осуществлять автоматическую конфигурацию были, скажем так, ограничены (в действительности я не могу припомнить проблем и с установкой в один банк разных 30-пиновых модулей, хотя здесь мой опыт и нельзя назвать исчерпывающим). Поэтому зачастую контроллер мог пытаться заставить весь банк работать со скоростью, грубо говоря, первого попавшегося SIMM (а скорее даже чипа или линии ввода/вывода, поскольку деление банка на физические модули контроллер мало интересует), в то время как другие модули могут оказаться заметно медленнее. При этом считается (не без оснований, хотя и без стопроцентной уверенности), что разброс параметров внутри одной партии модулей, а фактически - чипов, заметно меньше, чем между случайно взятыми модулями. Более же современные контроллеры, применяемые в Pentium-системах, при автоконфигурации тестируют обычно весь банк и настраиваются на параметры наихудшего чипа (или модуля, если речь идет, например, о контроле четности).

Таким образом, скорее всего не вызовет никаких проблем установка в один банк SIMM одной емкости, но:

  • разного происхождения (в том числе и модулей на базе чипов разной организации, например, 1х4 и 1х16).
  • с разным маркированным временем доступа, если, конечно, система способна работать с наихудшим из них. Между прочим, какой из двух модулей памяти с чипами, маркированными, скажем, 60 и 70нс, способен работать быстрее - сам по себе неочевидный вопрос, обычно такие чипы сходили с одних и тех же линий и маркировались просто в соответствии с потребностями заказчика.
  • с четностью и без четности, при условии, что система поддерживает память без четности. В этом случае контроль четности просто не будет выполняться. Аналогично скорее всего заработают вместе модуль без четности и с логической четностью.
  • (с известной долей риска) fast page и EDO - видимо, система будет работать в режиме fast page. Положительный опыт таких экспериментов имеется, но в принципе нельзя отрицать вероятности того, что модуль EDO в этом режиме работать откажется, что нередко происходит в 486-х компьютерах, см. вопрос.
Более того, многие контроллеры способны также отключать логические разделы (банки либо старшие разряды адресного пространства) на всей шине при невозможности обратиться к ним по одной из линий ввода-вывода. Как результат, с большой вероятностью заработают в одном банке (хотя больший модуль при этом будет "виден" контроллеру лишь частично) следующие модули:
  • Одно- и двухбанковые с одинаковой организацией адресного пространства (см. FAQ по модулям, обратите внимание - речь о совсем других банках), например, 1х32 (4MB) и 2х32 (8MB). В этом случае контроллер, не имея возможности обратиться к отсутствующему второму банку 4MB SIMM, будет и 8MB рассматривать как однобанковый. Сответственно, доступны будут только 8MB - но надо заметить, что сам по себе 8MB модуль работать не будет!
  • Модули с одинаковым количеством банков, но разной организацией адресного пространства, например 1х36 (4MB) и 4x36 (16MB). Для адресации мегабитного адресного пространства первого модуля (см. FAQ по чипам) требуется 10 адресных линий, четырехмегабитного пространства второго модуля - одиннадцать, но контроллером будут использоваться только 10, как и у первого модуля. Доступны в результате будут опять-таки 8MB, хотя вероятность отказа в этом случае больше.
Сам не проверял, но полагаю, что комбинация 8 и 16MB SIMM может дать опять-таки 8MB - каждый SIMM при этом будет трактоваться контроллером как мегабитный однобанковый, т.е. 4MB. Не то чтобы были основания полагать, что кто-то всерьез захочет эксплуатировать свои SIMM таким образом, но это может оказаться временным выходом в экстремальной ситуации. Совершенно аналогично и с комбинацией 4 и 32MB SIMM, но первый пример более изящный, так как ограничения будут почерпнуты контроллером из разных модулей.

Теперь несколько слов о комбинациях, способных вызвать проблемы:

  • Не должны заработать вместе (при условии, что контроль четности отключить невозможно) SIMM с четностью и ECC SIMM.
  • Возможны проблемы, опять же при неотключаемой четности, при применении SIMM c истинной и логической четностью.
  • Высока вероятность проблем, если один или оба модуля являются "нестандартными". Имеются в виду, например, композитные (см. FAQ по модулям) или с неквадратным адресным пространством (см. FAQ по модулям) SIMM. Собственно говоря, такого рода модули, как впрочем и упомянутая выше логическая четность, способны порождать проблемы и сами по себе.

Хотелось бы также отметить, что вряд ли целесообразно устанавливать модули разного происхождения в один банк в системах, поддерживающих interleave различных уровней и/или обязательный контроль четности либо ECC - как правило, это достаточно дорогие и ответственные компьютеры серверного класса и определенная перестраховка представляется здесь вполне оправданной. Ну и, наконец, не следует рассматривать ответ на этот вопрос как призыв прекратить обращать внимание на то, какими модулями памяти заполняются банки. Выполнение технических условий, пусть даже кажущихся не слишком разумными, есть само по себе хороший принцип, поэтому применять различные модули в одном банке все же лучше только тогда, когда имеется насущная необходимость. Наконец, даже безупречно работая в паре, разные модули могут, например, породить проблемы как самоочевидная, но ложная версия при диагностике неисправностей (в том числе и при гарантийном обслуживании).

 
« Предыдущая статья   Следующая статья »