http://ixbt.stack.nethttp://ixbt.stack.nethttp://ixbt.stack.net

Процессоры | Системные платы | Видеосистема | Носители информации | Мультимедиа | Периферия | Коммуникации | Поиск по сайту

FAQ по подсистеме памяти

iXBT Banner Network


Существует ли связь между тактовой частотой процессора и временем доступа используемой в компьютере памяти?

Связь, безусловно, существует, но не столько с тактовой частотой процессора, сколько с частотой системной шины. В принципе, тактовая частота и тип процессора практически однозначно (за исключением особо экзотических вариантов разгона) определяют частоту шины, но этот вопрос, видимо, все же выходит за рамки данного FAQ. В приведенной ниже таблице даны времена доступа для памяти с различной организацией цикла, при которых память работает с оптимальной для данной частоты шины временной диаграммой (иными словами, применение памяти с худшим временем доступа замедлит работу подсистемы памяти, а с лучшим - не ускорит). В таблице рассмотрены частоты не ниже 50 МГц и времена доступа не хуже 70 нс, так как и более низкие частоты, и соответствующая им медленная память не представляют сейчас особого практического интереса.

  Организация цикла
Частота шины, МГц fast page EDO SDRAM
50 70 70 -
60 70 70 12
66 60 60 12
75 - 50 12
83 - 50 10
100 - - 7 или
10 PC-100

В таблице указаны времена доступа в наносекундах для памяти fast page и EDO и длительность такта в наносекундах для SDRAM. Надо также иметь в виду, что реальные времена доступа могут быть как лучше (что бывает нередко), так и хуже промаркированных. Памяти, применяемой в 100-мегагерцовых системах, здесь посвящен отдельный вопрос.


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

"Разгон" процессора, как, впрочем, и замена процессора на более мощный, иными словами, любые действия, связанные с увеличением тактовой частоты процессора, можно условно разделить на две категории. Напомним, что частота процессора (или внутренняя) является произведением частоты системной шины (или внешней), на которой работает и подсистема памяти, на коэффициент умножения частоты. При "разгоне" первого типа (например, Pentium 233MHz до 266MHz), когда изменяется только коэффициент умножения (c 3.5 до 4), а внешняя частота (66MHz) остается прежней, никаких серьезных изменений, а тем более сбоев, в работе подсистемы памяти ожидать не следует (хотя в принципе нагрузка на нее и может несколько возрасти из-за большего числа запросов от процессора). Если такой "разгон" вызовет сбои в работе компьютера, они с подавляющей вероятностью будут объясняться сбоями самого процессора.

"Разгон" же второго типа, когда увеличивается внешняя частота (например, Pentium 266MHz до 300MHz путем увеличения внешней частоты с 66 до 75MHz) чреват для подсистемы памяти разнообразными последствиями, так как вполне может оказаться, что имеющаяся память (например, 60нс EDO) не в состоянии работать при повышенной тактовой частоте. Примерное соответствие между временем доступа памяти и допустимой внешней частотой приводится в предыдущем вопросе, и надо иметь в виду, что при тактовой частоте выше, чем приведена в таблице, соответствующим образом маркированная память работать не обязана (хотя в принципе вполне может и заработать, кроме того не исключено, что достаточно умный BIOS просто добавит waitstate и подсистема опять-таки будет работать, хотя и с более низкой производительностью, что способно съесть весь эффект от разгона). Впрочем, даже если разгон такого рода и вызовет сбои, опять же не очевидно, что они вызваны именно памятью, а не процессором, кэшом или, скажем, шиной PCI.

Невозможно не упомянуть довольно комичную ситуацию со старыми процессорами Pentium, которые выпускались Intel одновременно в 60 и 66MHz разновидностях. Как результат, upgrade, скажем, со 100MHz (1.5x66) до 120MHz (2x60) при визуальном повышении тактовой частоты на 20% имел побочным эффектом понижение частоты памяти на 10%, что на определенного рода задачах могло даже привести к понижению общего быстродействия системы.



Я устанавливаю в свою систему дополнительную память. Какие установки необходимо изменить в BIOS Setup, чтобы она заработала?

Как правило - никаких. Подавляющее большинство компьютеров, а равно и других систем, распознает и конфигурирует установленную дополнительную память совершенно автоматически. Иными словами, если память НЕ заработала, то установки BIOS тут уже не помогут. Единственное исключение - если ваш BIOS позволяет выставлять время доступа либо другие временные параметры вручную и для уже установленной памяти были выставлены предельно высокие (в смысле - быстрые) параметры, то не исключено, что новая память работать столь быстро откажется и нужно "опустить планку" (подозреваю, впрочем, что вы предпочтете поменять память, а не параметры).

К системам, которые действительно требуют некоего ручного вмешательства (хотя обычно и не в Setup), относятся серверы, поддерживающие шину EISA, а также некоторые (обычно достаточно старые) ноутбуки. Такие системы для распознания новой памяти требуют запуска специальной конфигурационной утилиты.

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

Парадоксальный ответ заключается в том, что на быстродействие "низкого" уровня (в частности, параметры, тестируемые с помощью программ типа sysinfo), установка дополнительной памяти не должна в большинстве случаев повлиять никак. Означает ли это, что все призывы к установке дополнительной памяти с целью ускорения производительности системы - грубая ложь? Как правило, нет - и вот почему.

Рискнем предположить, что на вашем компьютере установлена многозадачная операционная система типа Windows (хотя нижесказанное справедливо и для альтернативных ОС). Такого рода системы обычно поддерживают так называемую виртуальную память - а именно, объем памяти, доступный приложениям, заметно превышает объем физически установленной оперативной памяти и, очень грубо, является суммой последней и некоторого выделенного операционной системой объема жесткого диска, известного также как swap-файл или файл подкачки. Если суммарный объем памяти, запрошенной различными приложениями, превышает имеющийся (после загрузки самой ОС) объем оперативной памяти, наиболее "старые" (то есть неактивные) приложения и их данные просто перемещаются из оперативной памяти на жесткий диск, освобождая место для новых. Причем происходит это совершенно непрозрачно как для приложений, так и для пользователя. Явным достоинством такого способа является то обстоятельство, что пользователь, имеющий вообще говоря не особо ограниченные возможности запуска различных приложений, способен запустить большое (вернее, требующее много памяти) их количество, не будучи ограниченным сравнительно небольшим объемом оперативной памяти. Разумеется, исчерпать можно и виртуальную память, но это происходит заметно реже.

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

Главное, что дает в подобных ситуациях расширение оперативной памяти - это избавление от свопинга (и всех связанных с ним неприятностей, из которых главная - замедление работы системы). В ряде ситуаций (например, когда до upgrade памяти едва хватало для загрузки самой системы) ускорение действительно получается, причем сравнимое по масштабом разве что с заменой процессора с 486SX25 на Pentium II. В других случаях (например, когда основное используемое приложение - Adobe Photoshop со 100-мегабайтными картинками) лишние 32MB не будут играть абсолютно никакой роли. В общем случае - если система постоянно свопирует (а тем более - "падает") хотя бы при переключении между обычно загруженными приложениями - дополнительная память должна заметно ускорить ее работу (хотя первым делом следовало бы проверить установки виртуальной памяти и наличие места для swap-файла на жестком диске). В следующем вопросе даны примерные рекомендации по поводу того, сколько памяти требуется для нормальной (без свопинга) работы различных ОС с более-менее стандартным набором офисных приложений.

Все вышесказанное относится и к DOS-программам, использующим оперативную память полностью и осуществляющим подкачку данных с жесткого диска. Заметим еще одно обстоятельство - дополнительная память далеко не всегда устанавливается именно с целью повышения быстродействия системы - целью может быть появление возможности запуска некоторых программ, которым памяти просто не хватало (тех же Windows, к примеру) или (особенно в серверах) для повышения, если можно так выразиться, конфигурации системы (например, объема дискового массива).



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

Ответу на вопрос будет предшествовать небольшое предварительное обсуждение, поскольку формулировка его столь же неудовлетворительна, сколь часто встречается. Дело в том, что понятие "нормальной работы" (без сбоев приложений? без зависаний системы? без постоянного свопинга? без свопинга вообще?) довольно растяжимо. Кроме того, для ответа необходимо иметь представление о количестве обычно открытых приложений и их потребности в памяти (причем потребность эта, вообще говоря, может быть сколь угодно большой).

Еще одно обстоятельство, которое надо иметь в виду - что в качестве ответа приводятся объемы, являющиеся степенями двойки - что представляется вполне оправданным, если учесть как реальные возможности установки памяти, так и заведомо неточную формулировку вопроса.

Наконец, наличие указанного объема оперативной памяти само по себе не будет являться гарантией "нормальной" работы, так как операционные системы предъявляют также определенные требования к процессору, видеоподсистеме, объему жесткого диска и другим параметрам компьютера.

Таблица объемов оперативной памяти для различных OS приводится ниже. Данные количества памяти необходимы для нормальной (свопинг редок) работы сравнительно небольшого числа приложений и относительно небольших объемов открытых файлов. Пользователям, постоянно имеющим большое количество открытых приложений (например, активно использующим OLE при работе с MS Office) рекомендуются объемы вдвое больше. Пользователям, работающим со сверхбольшими файлами (например, в графических редакторах или при верстке) рекомендуется исходить из своих реальных потребностей - операционная система в данном случае особого значения не имеет.

Для справки приведены также "минимальные" объемы памяти, которые обычно приводятся поставщиком OS в качестве требований к системе. Реальная эксплуатация при таких размерах оперативной памяти обычно достаточно мучительна и рекомендована быть не может. Часто упоминают эмпирическое правило, согласно которому для определения реальной потребности OS в памяти необходимо округлить приведенное в мануале значение до ближайшей степени двойки (в сомнительных случаях округлять вверх), а потом удвоить.

Операционная система Минимальный объем
оперативной памяти, MB
Рекомендуемый объем
оперативной памяти, MB
Windows 3.x 4 8
Windows 95 8 16 и выше
Windows 98 16 и выше 32
Windows NT 4.0 Workstation 16 (рекомендуется 32) 32
Windows NT 4.0 Server 16 32
OS/2 Warp 4 12-16 без голосовых функций 32
MacOS System 8 12 32


Какие меры безопасности следует соблюдать при установке в систему дополнительной памяти?

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

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

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

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

Мой компьютер поддерживает только память с четностью, но я не хотел бы лишних расходов при upgrade. Могу ли я использовать память с "логической четностью"?

Достаточно подробное обсуждение вопроса о применимости "логической четности" имеется в FAQ по модулям. Вкратце же ответ следующий:

  • Если это сервер - не рекомендуется (хотя бы по причине возможной потери достоверности данных).
  • Если это обычный настольный компьютер - теоретически возможно (во всяком случае именно для них и предназначена "логическая четность"), однако нужно иметь в виду, что не исключено возникновение проблем - иными словами, рекомендуется предварительное тестирование.


Я установил в свой компьютер новый модуль (новые модули) SIMM 72-пин, но система его (их) не видит (или не загружается). Чем это может быть вызвано и что следует делать?

Честно говоря, вопрос в такой постановке (особенно если убрать уточнение про 72-пиновые SIMM) сам по себе тянет на небольшую книгу, причем произвольного жанра - от руководства по эксплуатации до сборника детективных рассказов. Тем не менее ниже сделана попытка систематизировать ВСЕ возможные причины такого поведения компьютера с краткими рекомендациями относительно того, что следует делать в том или ином случае. Прошу заранее извинить, если среди ситуаций и рекомендаций будут встречаться тривиальные - именно такого рода ошибки иногда могут съесть уйму времени и нервов у всех, имеющих отношение к данному upgrade - от владельцев системы до продавца памяти, и в первую очередь - у непосредственного исполнителя.

По той же причине первые шаги, которые следует делать в описанной ситуации - это:

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

Теперь - несколько более подробная классификация причин:

  • Неисправная память. От проблем такого рода не застрахован никто и никогда - в конце концов, наиболее вероятная ситуация, когда SIMM могли быть повреждены - именно сама инсталляция. Решение - замена памяти. Диагностика после "нулевого цикла" - удалить всю уже имеющуюся память и проверить, работает ли система только с новыми модулями (желательно в нулевом или первом - в зависимости от точки отсчета - банке). Если есть возможность - желательно также проверить модули в другой системе, где им заведомо следовало бы работать (почти идеальны в этом отношении системы на базе чипсета 430HX, позволяющие проверить модули fast page и EDO без четности, с четностью и ECC).
  • Неправильная или незавершенная инсталляция. В эту группу входят достаточно разнообразные причины, которые объединяет только одно обстоятельство - данная память должна заработать в данной системе, как только будет инсталлирована должным образом. Что обычно и происходит после выполнения "нулевого цикла". Варианты:
    • Модули фактически не установлены. Иногда, особенно если слоты расширения труднодоступны, модуль попросту не "садится" в гнездо, несмотря на полную иллюзию того, что он установлен.
    • Неверное заполнение банка. Имеется в виду ситуация, когда предполагалось установить банк из двух или более модулей, но установлены они были по ошибке в разные банки. Это тоже бывает, причем иногда и в силу естественных причин - встречаются материнские платы, у которых слоты, относящиеся к одному банку, расположены "через один".
    • Недопустимая конфигурация банков. Предполагается, что всего заполнено более одного банка. Некоторые платы (больше это характерно для 486-х компьютеров) предъявляют довольно нетривиальные требования к тому, как именно та или иная комбинация модулей должна быть распределена по банкам. Характерный признак - "по отдельности" модули прекрасно работают (хотя для очистки совести любые модули, не заработавшие в первом по счету банке, следует попробовать и в остальных). Рекомендуется внимательное прочтение мануала. При отсутствии или невнятности последнего можно попытаться поискать работоспособную комбинацию самостоятельно. Обычно чувствительные к порядку расположения банков системы желают видеть в первом банке либо самые медленные (по времени доступа либо режиму), либо самые большие модули, хотя бывают и абсолютно непредсказуемые капризы. При этом есть определенная вероятность, что вы столкнулись с более неприятным случаем:
      • Взаимная несовместимость модулей. Редко, но встречаются ситуации, когда по отдельности SIMM или их пары прекрасно работают в системе, однако вместе они работать не будут никогда. Обычно это недопустимая комбинация емкостей или типов памяти, реже - организаций контроля четности. Особенно неприятно то, что если о подобной несовместимости явно не сказано в мануале, на экспериментальное ее подтверждение путем перебора всех возможных комбинаций может уйти уйма времени. Единственное решение - отказаться от планов использования данной конфигурации. (Тот же эффект может проявляться в ситуации, когда среди модулей есть "нестандартные", подробнее об этом ниже в разделе про несовместимость с системой.)

    • Незаконченная или неверная сборка. Очень часто при обеспечении доступа к слотам SIMM приходится отсоединять различные шлейфы, карты расширения и т.п. Один забытый или неправильно присоединенный шлейф вполне может привести к отказу системы грузиться.
    • Система не переконфигурирована. Иногда после установки дополнительной памяти требуется либо изменить установки в BIOS Setup (обычно в случае, когда они находились не в состоянии автоконфигурации), либо запустить специальную конфигурационнную утилиту (это в основном касается систем с шиной EISA).

  • Модули несовместимы с системой. Речь о ситуации, когда модули работают в другом компьютере, но принципиально не желают работать в данном. Решение - замена модулей на те, которые будут работать (не считая ситуации с незаполненным банком). Примерный список встречающихся причин несовместимости:
    • Незаполненный банк. Очень распространенная ошибка во времена перехода от 486-х процессоров к Pentium, когда постоянно делались попытки запустить Pentium-систему с одним SIMM. Также иногда пытаются расширить парой модулей некоторые серверы, у которых банк состоит из четырех SIMM. Решение - либо поменять SIMM на пару вдвое меньшей емкости, либо добавить еще один такой же.