DRAM


...DRAM




Михаил Тычков aka Hard



Доброго времени суток.

Написать эту статью меня побудил частенько задаваемый мне вопрос: «Влияет ли на скорость работы системы увеличение объема оперативной памяти?». Не спешите с ответом! Давайте-ка разберемся, что из себя представляет оперативная память DRAM – Dynamic Random Access Memory (вообще следует отметить, что DRAM - это очень старый тип микросхем оперативной памяти, который сейчас уже давно не применяется, так что в данной статье понятие DRAM - просто оперативная память различного типа). По-русски это будет звучать так: динамическая память с произвольным порядком выборки. Что она из себя представляет?

Начнем из далека. Минимальной единицей информации при хранении или передаче данных в компьютере является бит. Каждый бит может быть в двух состояниях: включен (да, 1) или выключен (нет, 0). Любой объем информации в конечном итоге состоит из включенных и выключенных битов. Таким образом, что бы сохранить или передать какой либо объем данных, необходимо сохранить или передать каждый бит, не зависимо от его состояния, этих данных.

Для хранения битов информации в оперативной памяти есть ячейки. Ячейки состоят из конденсаторов и транзисторов. Вот примерная и упрощенная схема ячейки DRAM:

DRAM

Каждая ячейка способна хранить только один бит. Если конденсатор ячейки заряжен, то это означает, что бит включен, если разряжен – выключен. Если необходимо запомнить один байт данных, то понадобится 8 ячеек (1 байт = 8 битам). Ячейки расположены в матрицах и каждая из них имеет свой адрес, состоящий из номера строки и номера столбца.

DRAM

Теперь рассмотрим, как происходит чтение. Сначала на все входы подается сигнал RAS (Row Address Strobe) – это адрес строки. После этого, все данные из этой строки записываются в буфер. Затем на регистр подается сигнал CAS (Column Address Strobe) – это сигнал столбца и происходит выбор бита с соответствующим адресом. Этот бит и подается на выход. Но во время считывания данные в ячейках считанной строки разрушаются и их необходимо перезаписать взяв из буфера.

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

Следует учесть то, что матрицы с ячейками расположены вот таким вот образом:

DRAM

Это означает, что за один раз будет считан не один бит, а несколько. Если параллельно расположено 8 матриц, то сразу считан будет один байт. Это называется разрядностью. Количество линий, по которым будут передаваться данные от (или на) параллельных матриц, определяется разрядностью шины ввода/вывода микросхемы.
Говоря о работе DRAM необходимо учитывать один момент. Фишка заключается в том, что конденсаторы не могут бесконечно долго хранить заряд и он в конце концов «стекает» :(. Поэтому конденсаторы необходимо перезаряжать. Операция перезарядки называется Refresh или регенерацией. Происходит эта операция примерно каждые 2 мс и порой занимает до 10 % (а то и больше) рабочего времени процессора.

Важнейшей характеристикой DRAM является быстродействие, а проще говоря продолжительность цикла + время задержки + время доступа, где продолжительность цикла – время, затраченное на передачу данных, время задержки – начальная установка адреса строки и столбца, а время доступа – время поиска самой ячейки. Измеряется эта фигня в наносекундах (одна миллиардная доля секунды). Современные микросхемы памяти имеют быстродействие ниже 10 мс.

Оперативной памятью управляет контроллер, который находится в чипсете материнской платы, а точнее в той его части, которая называется North Bridge.

DRAM

А теперь поняв как работает оперативная память, разберемся, зачем же она вообще нужна. После процессора, оперативную память можно считать самым быстродействующим устройством. Поэтому основной обмен данными и происходит между этими двумя девайсами. Вся информация в персональном компьютере хранится на жестком диске. При включении компа в ОЗУ (Оперативное Запоминающее Устройство) с винта записываются драйвера, специальные программы и элементы операционной системы. Затем туда будут записаны те программы – приложения, которые Вы будете запускать. При закрытии этих программ они будут стерты из ОЗУ. Данные, записанные в оперативной памяти, передаются в CPU (Central Processing Unit), там обрабатываются и записываются обратно. И так постоянно: дали команду процессору взять биты по таким то адресам, как то их там обработать и вернуть на место или записать на новое – он так и сделал.

Все это хорошо, до тех пор, пока ячеек ОЗУ хватает. А если нет? Тогда в работу вступает файл подкачки. Этот файл расположен на жестком диске и туда записывается все, что не влезает в ячейки оперативной памяти. Поскольку быстродействие винта значительно ниже ОЗУ, то работа файла подкачки сильно замедляет работу системы. Кроме этого, это снижает долговечность самого жесткого диска.

Вот теперь мы и подошли к главному вопросу: «Влияет ли на скорость работы системы увеличение объема оперативной памяти?». Есть одна аксиома: увеличение объема памяти не приводит к увеличению ее быстродействия. Для тех кто не понял – изменение объема памяти (не важно, увеличение это или уменьшение) ни как не повлияет на ее работу. А вот если рассматривать работу системы, то тут дело другое. В том случае, если Вам хватает объема оперативной памяти, то увеличение объема не приведет к увеличению скорости работы системы. Если же ячеек ОЗУ не хватает, то увеличение их количества (проще говоря добавление новой или замене старой на новую с большим объемом линейки памяти) приведет к ускорению работы системы.

Объясню вышесказанное на простом и понятном примере. Есть некий молодой человек у которого имеется пустой ящик из под пива. В нем 20 пустых ячеек. Каждый день он покупал по 15 бутылок пива. Для этого он брал свой ящик, шел в магазин, покупал пиво и раскладывал бутылки по ячейкам. Потом, как-то этот человек приобрел еще один пустой ящик из под пива и ходил в магазин уже с двумя, но все равно, как покупал раньше 15 бутылок, так и продолжал это делать. Как Вы думаете, увеличилось ли быстродействие в данной операции? Думаю нет. Теперь рассмотрим тот же случай, но молодой человек каждый день покупал не 15, а 25 бутылок пива. В этом случае ему приходилось ходить два раза и покупка второго ящика заметно бы увеличило быстродействие, так как отпала бы необходимость во втором походе в магазин.

Так же и с оперативной памятью, если Вам хватает ее ячеек для хранения информации, то добавление новых не приведет к увеличению быстродействия. Но с другой стороны, справедлив вопрос: «А сколько на сегодняшний день необходимо оперативной памяти?». Все зависит от того, чем Вы занимаетесь на своем компьютере. Если Вы только лишь рассматриваете голых теток в инете да читаете мои статьи :) и при этом используете Windows 98 SE, то 64 Мбайт хватит. А если Ваш любимый мастдай - Windows XP и Вы большой поклонник серьезных трехмерных игр, то боюсь тут и 256 «метров» маловато будет! Короче, каждый должен решить для себя сам.

Ежели хочите почитать о логическом построении оперативной памяти, то читайте следующую статью.

Удачи.

читать еще по теме