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



После установки дополнительной оперативной памяти система стала работать заметно медленней, хотя естественно было бы ожидать обратного. Чем это может быть вызвано?

Для начала следует убедиться, что система "видит" БОЛЬШЕ памяти, чем это было до upgrade - чудеса с допустимыми конфигурациями (особенно в старых системах) могут дать и обратный результат. Далее - убедитесь, что вновь установленная память имеет параметры не хуже, чем уже имевшаяся (и чем те, которые требуются для нормальной работы системы). Сделать это можно как путем внешнего осмотра чипов, так и посмотрев на результаты автоконфигурации в BIOS setup (старой памяти, новой и обеих вместе). Если вам кажется, что вновь установленная память распознается контроллером как более медленная, чем это следует из маркировки - попробуйте выставить необходимые параметры (режим, время доступа или waitstate) вручную - хотя скорее всего контроллер все-таки был прав и это приведет к сбоям. Также (особенно это относится к контроллерам, позволяющим вручную выставлять waitstate) не исключено, что до upgrade подсистема памяти работала в более быстром, чем "по умолчанию", режиме, но вернулась в последний в результате переконфигурации.

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

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

После установки дополнительной оперативной памяти система стала работать нестабильно. Что делать?

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

Почему память EDO часто не работает в старых компьютерах и можно ли сделать, чтобы она работала?

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

Более подробный ответ хотелось бы начать с того факта, что память EDO имеет от памяти fast page одно-единственное отличие. Если для последней линии ввода-вывода данных немедленно закрывались, как только начиналось задание адреса следующего бита (зарядка CAS в fast page схеме), то EDO (Extended Data Out) режим позволяет держать эти линии открытыми практически вплоть до окончания ввода нового адреса и соответственно начала вывода следующего бита. Тем самым память EDO разрешает одновременно считывать данные и задавать адрес следующих данных, что в свою очередь позволяет сократить длительность цикла доступа путем использования конвейерной схемы.

Основная же неприятность происходит как раз из того факта, что память fast page автоматически закрывает шину данных при задании нового адреса. В результате для упрощения и ускорения работы большинство PC-контроллеров памяти (в том числе ВСЕ базирующиеся на форм-факторе 72-пиновых SIMM) отказались от использования линии Output Enable для контроля "открытости" линий ввода-вывода, предпочтя контроль посредством линии CAS. При этом системная шина, "свободная" с точки зрения памяти, открывалась для доступа другим подсистемам компьютера - таким, как кэш или контроллер жесткого диска, или, к примеру, другим "подбанкам" памяти, если использовался режим interleave.

С появлением же EDO предположение, что зарядка CAS закрывает линии ввода-вывода, перестало быть верным. Если же неосведомленные об этом контроллеры пытались открыть шину для других устройств, немедленно происходила порча данных, передаваемых этими устройствами, что естественно порождало остановку системы. Для нормального функционирования памяти EDO обязательно требовались контроллеры, об этом ее свойстве "осведомленные" (хотя и необязательно поддерживающие конвейерный EDO-режим). Такие контроллеры, что неудивительно, появились не ранее, чем стандарт EDO был официально признан. Забавно, что они по-прежнему не использовали линию Output Enable, поскольку ставшие к тому времени стандартом де-факто 72-пиновые SIMM этого не предусматривали.

Таким образом, неспособность многих разработанных "до EDO" систем работать с этой памятью является болезнью практически неизлечимой. Чисто теоретически можно предположить существование чипсетов, которые (хотя бы после апгрейда BIOS) допускали бы поддержку EDO путем изменения способа контроля открытости линий ввода-вывода с fast page на характерный для EDO, но на практике этого встречать не доводилось. Так же теоретически некоторые системы с interleave могли бы приобрести возможность распознавать EDO после принудительного отключения interleave (либо просто заполнения банков по исключающей interleave схеме), но особой практической ценности не имеет и это решение. Во-первых, отмена interleave может означать значительное падение производительности. Во-вторых, обычно interleave поддерживался системами серверного класса, для которых характерно применение памяти с четностью - соответствующие же модули EDO так и остались экзотикой.

К несчастью, память fast page в настоящее время близка к полному исчезновению с рынка, так что upgrade не поддерживающих EDO систем со временем будет становиться все более и более проблематичным. Единственная относительно хорошая новость для владельцев старых компьютеров заключается в том, что нередко высказывающиеся опасения, что память EDO, будучи установлена в их систему, может привести к сбоям в работе, не имеют под собой реальных оснований - EDO SIMM либо бесповоротно откажутся работать еще на стадии загрузки, либо будут работать, не порождая каких-либо специфических проблем.

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