История создания PC | Корпуса | Системные платы | Интерфейсы | Носители информации | Устройства ввода | Устройства вывода | Мультимедиа | Коммуникации | Приложение | От автора



Оперативная память




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

Перед оперативной памятью (RAM, Random Access Memory) поставлена задача по требованию процессора предоставлять любую хранящуюся в ней информацию, причем делать это нужно достаточно быстро, чтобы избежать длительного простоя CPU. Особенностью RAM является то, что она относится к семейству динамической памяти, то есть ее содержимое должно перезаписываться через определенное время, иначе информация будет потеряна. Запоминающим элементом динамической памяти (любой, не только оперативной) является конденсатор, который может находиться либо в заряженном, дибо в разряженном состоянии. Считается, что в первом случае случае в ячейку памяти записана логическая единица (1), а во втором логический ноль (0). В идеальном конденсаторе заряд должен сохраняться сколь угодно долго. В реальном же конденсаторе существует ток утечки, поэтому со временем записанная инфорация будет утрачена, так как конденсаторы запоминающих элементов окажутся полностью разряженными.

Поэтому для динамической памяти (DRAM, Dinamic RAM) применимо такое понятие, как регенирация, или освежение (refresh). Регенирация ячеек памяти выполняется автоматически во время циклов чтения или записи данных. Но при выполнении любой програмы нельзя с уверенностью сказать, что каждый раз будет происходить обращение ко всем ячейкам (скорее наоборот, можно гарантировать, что этого практически никогда не случится), поэтому имеется специальная схема, которая через заданные промежетки времени (скажем, каждые 2 ms) будет принудительно регенерировать память путем осуществления доступа (для считывания) ко всей памяти. Во время цикла освежения процессор приостанавливается, что естественно, замедляет работу системы. Альтернативой динамической памяти может служить статистическая память (Static RAM, SRAM), которая в целом идентична динамической, но не требует процедуры регенерации. Применение SRAM в качестве микросхем оперативной памяти (а также многих других типов RAM, особенно видеопамяти) дало бы существенный прирост производительности, но при этом непомерно увеличилась бы цена компьютера из-за ее дороговизны, особенно если учесть современные объемы оперативной памяти и требуемое быстродействие. Поэтому SRAM в настоящее время применяется в основном только для процессорного кэша (смотрите соответствующую главу), так как там не требуются большие объемы и более всего важно бытродействие.

Из других видов памяти можно также отметить NVRAM, которая предназначена для долговременного хранения информации при отсутствии питания (в то время как для SRAM необходимо наличие аккумулятора). Буквы NV в названии означают Non Volatile, то есть "не временная". NVRAM используют для изготовления микросхем BIOS, карт памяти и прочего.

Принцип работы оперативной памяти заключается в следующем. Ячейки памяти конфигурируются в матрицу строк и столбцов и полный адрес ячейки данных (одного бита информации) делится на два компонента: адрес строки (row address) и адрес столбца (column address). Для передачи на микросхему памяти адреса строки служит сигнал RAS (Row Address Strobe), а для адреса столбца - сигнал CAS (Column Address Strobe). В процессе обращения к памяти для записи или считывания информации на адресные входы микросхемы подается вначале код адреса строки и одновременно с ним (или с задержкой) сигнал RAS, затем, с незначительной задержкой, код адреса столбца, сопровождаемый сигналом CAS. Время доступа к блоку RAM определяется в первую очередь временем чтения (разряд конденсатора) и регенерации (заряд конденсатора).

Рассмотрим подробнее, как функционирует RAM. При обращении к памяти (независимо от того, чтение это или запись) на входы памяти подается адрес строки и сигнал RAS. При этом происходт соединение со всеми ячейками из этой строки. Поскольку информация хранится в виде заряда конденсатора, то для того, чтобы считать данные, необходимо устройство с высоким входным сопротивлением, ограничивающим ток разряда конденсатора, чтобы избежать большого тока утечки. Информация считывается со всей строки запоминающих элементов одновременно и помещается в регистр строки (своего рода буфер). Как уже отмечалось выше, с некоторой задержкой после сигнала RAS на входы микросхемы памяти подается адрес столбца и сигнал CAS. При этом данные выбираются из регистра в соответствии с адресом столбца и подаются на выход памяти. При считывании информации из запоминающих ячеек считывающие усилители разрушают ее, поэтому для сохранения данных необходима перезапись: выходы регистра строки снова соединяются с ячейками и осуществляют запись. Если ячейка имела заряд, то она снова будет заряжена еще до завершения цикла чтения. На ячейки, которые заряда не имели, напряжение не подается.

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

Важной характеристикой элементов памяти является время доступа, характеризующееся интервалом времени, в течение которого информация записывается в память или считывается из нее. Время доступа у оперативной памяти измеряется в наносекундах. Сегодняшние микросхемы памяти имеют время доступа около 10 ns и менее. В принципе, на материнскую плату можно установить элементы памяти с несколько различным временем доступа, но это может привести к нестабильной работе системы или вообще к отсутствию оной. В этом случае стоит в CMOS Setup установить параметры, соответствующие более медленной памяти (я не буду подробно останавливаться на этом и вообще на настройках BIOS, так как этому посвящено много материала в сети и множество документации, да и на разных платах настройки могут существенно отличаться). Естественно, при этом работа системы замедлится. Поэтому старайтесь при установке модулей памяти обращать внимание на то, чтобы они имели идентичные параметры. Также не очень желательно устанавливать в систему память разных производителей. Хотя сейчас все делается для того, чтобы максимально облегчить жизнь пользователю, и проблемы могут возникнуть в основном только если вы пытаетесь совместить слишком старую и новую память или модули отличаются частотами, на которые они рассчитаны.

В микросхемах, совместимых с архитектурой Intel, начиная с CPU 80486, для доступа к памяти реализован так называемый пакетный режим (Burst). Он заключается в том, что при необходимости чтения одного слова (последовательности битов) CPU вместе с ним читает еще три, расположенные рядом. Время пересылки обычно измеряют в тактах процессора и щаписывают, например, таким образом: 3-2-2-2. Эта запись означает, что если на первую пересылку данных требуется 3 такта CPU, то на следующие три - только 2 такта. Понятно, что чем меньше эти значения, тем лучше. Поэтому можно поэкспериментировать с этим параметром в CMOS Setup, так как значения по умолчанию не всегда соответствуют возможностям установленной памяти. Поставьте возможно меньшие значения, при которых система будет работать стабильно (если работает одновременно Unreal Tornament, Internet Explorer, играет MP3 и при активном переключении между этими процессами не возникает проблем, то все OK).

Кроме пакетного режима, для повышения быстродействия динамической памяти используется метод управления памятью с чередованием адресов (Interleaving Mode), который базируется на том, что адреса логически связанных байтов чаще всего располагаются в памяти дуг за другом. Как уже отмечалось, после завершения доступа к микросхеме требуется пауза, чтобы она подготовилась к следующему этапу записи или считывания. Чтобы по возможности избежать таких пауз, существует система чередования памяти, то есть помещение следующих друг за другом ячеек памти в различные банки, из которых CPU должен считывать данные попеременно. Пока в одном из чипов происходит регенерация данных, процессор может без промедления обратиться к следующему байту из другого банка.

Циклы ожидания (Wait State), которые вставляются между обращениями к памяти, существенно замедляют работу системы. Еще одним способом для улучшения производительности подсистемы памяти является разбиение памяти на страницы (Pacing Mode). Этот метод базируется все на том же факте, что каждый поступающий в CPU байт обычно находится вблизи от байта, уже считанного из памяти и логически связанного с ним. Следовательно, повторения сигнала RAS и связанных с этим издержек можно избежать, если адреа строк выбираемых ячеек лежат в пределах одной страницы, то есть адрес строк неизменен. Память делится на страницы от 512 байтов до нескольких Kb. Затем микросхема распределения памяти позволяет обращаться к ячейкам внутри страницы без введения состояния ожидания.

Для всех IBM PC существует такое понятие, как логическое разделение памяти. Логическое строение RAM определяется аппаратными особенностями IBM-совместимых компьютеров, а также особенностями программного обеспечения. Правда, это было более актуально во времена существования первых РС, когда компьютеры имели мало памяти и вовсю использовалась DOS и DOS-программы. Но тем не менее многое важно и сейчас, хотя значительная часть информации из следующей части статьи в большой степени свидетельствует об истории и традициях в области компьютерных технологий.

Можно выделить пять важнейших логических областей оперативной памяти:

  • Стандартная оперативная память (Conventional Memory

  • EMS-память (Extended Memory Specification)
  • UMA (Upper Memory Area)
  • HMA (High Memory Area)
  • XMS (eXtended Memory Specification)

С точки зрения аппаратной спецификации стандартная память является наиважнешей. Она начинается от адреса 0000:0000 и продолжается до адреса A000:0000. (Для адресации памяти испоьзуется шестнадцатеричная система счисления; адрес выражается двумя конструкциями, разделенным двоеточием. Эти части называются соответственно сегмент (номер шестнадцатибайтного блока памяти) и смещение (относительно начала сегмента). Адрес 1000h:0112h, например, дает так называемый эффективный адрес 10112h. Буква "h" здесь указывает на то, что число шестнадцатеричное, но когда и так ясно, какая система используется, то это число может опускаться, как в данном случае.) Такой диапазон адресов соответствует памяти от 0 до 1 Mb. Такой невысокий предел был установлен процессорамми 8088 и 8086 (хотя тогда, наверное, он не казался таким уж невысоким). Эти процессоры имели 20-разрядную адресную шину и поэтому могли адресовать 1048576 (220) байт. В пределах этой области, начиная от 640 Kb, фирмой IBM были зарезервированы 384 Kb для выполнения внутренних функций (UMA), но мы остановимся на этом чуть-чуть ниже.

В оставшихся 640 Kb находится так называемая таблица векторов прерываний - адреса сервисных прграмм, входящих в BIOS и операционную систему. Речь идет о базовых функциях, таких как, например, отображение символа на экране, организация доступа к диску и тому подобное. Так как существуют различные версии BIOS и операционных систем, то эти программы-прерывания могут располагаться в различных местах памяти. В таблице прерываний указано их реальное положение. Таблица занимает 1 Kb (1024 байта) и начинается с адреса 0000h:0000h. Вслед за таблицей прерываний находится область данных BIOS размером 768 байт. Здесь размещены, например, буфер клавиатуры, счетчик таймера и другая внутренняя информация. Далее вся память до 640 Kb (A000h:0000h) свободна и ее могут использовать программы и OS.

Вслед за этими 640 Kb RAM становится "аппаратной". Здесь находится информация, необходимая для взаимодествия программ с аппаратным обеспечением компьютера. Рассматриваемая область памяти неоднородна. Здесь размещается и ROM видеокарты, сетевой платы, и ROM BIOS. Перенос ROM различных устройств в оперативную память позволяет также повысить быстродействие системы, так как многие программы весьма активно работают с ROM различных устройств, а постоянная память в отличие от оперативной не отличается малым временем доступа. В CMOS Setup можно устанавливать, надо ли кэшировать ROM BIOS. Для повышения быстродействия РС рекомендуется активизировать эту опцию (если вы ничего не меняли, то по умолчанию она и так должна быть включена). Рассматриваемый сегмент стандартной памяти называется UMA (Upper Memory Area), так как речь идет о "верхних" адресах основной памяти. Очевидно, что если система не располагает достаточно большим количеством устройств, которые помещают в UMA свои данные (а это практически любая система), то в этой области находятся и свободные участки. Эти блоки памяти называются UMB (Upper Memory Block). Фирма Microsoft разработала драйвер EMM386.EXE, который позволяет использовать эти блоки прикладным програмам и операционной системе. Это драйвер может увеличить объем доступной памяти на несколько десятков или сотен килобайт. Для DOS это очень важно, так как не все DOS-программы (особенно старые) могут работать с памятью XMS или хотя бы EMS (смотрите ниже).

Однако главная область применения драйвера EMM386.EXE (EMM означает Expanded Memory Manager, существуют также и другие менеджеры памяти, например QEMM, но драйвер от Microsoft по понятным причинам получил гораздо более широкое распространение) заключается в осуществелении доступа к памяти свыше 1 Mb, что позволяет использовать более ресурсоемкие программы. Один из таких типов памяти - память EMS (Expanded Memory Specification). Чтобы лучше понять, что это такое, обратимся к истории. Во времена процессоров 80286 для увеличения объема оперативной памяти использовались специальные карты расширения с установленными на них микросхемами RAM, которые тоже управлялись специальным менеджером памяти. Соответственно и программы разрабатывались с поддержкой этого вида памяти. Начиная с процессора 80386 предел в 1 Mb был преодолен, и компьютеры стали оснащаться бОльшими объемами памяти, однако отказываться от созданных под EMS программ сразу никто не собирался. EMM386.EXE позволяет путем программной эмуляции "превращать" память свыше 1 Mb в EMS-память и таким образом даже на современных компьютерах без EMS-карт можно использовать программы, работающие с этой памятью (хотя даже для DOS они порядком подустарели). Доступ к EMS происходит следующим образом. Как уже упоминалось, в верхней памяти имеются изрядные дыры, которые вообще-то недоступны пользователю, но с помощью все того же EMM386.EXE их можно сделать доступными и тем самым несколько увеличить объем свободной памяти. Так вот, в оном из таких UMB драйвером выделяется 64 Kb для создания так называемого страничного окна (page frame), которое разделяется на четыре страницы по 16 Kb каждая. При обращении программы к EMS-памяти (программа должна уметь это делать) происходит ранее построенное отображение страниц из расширенной памяти (XMS) в логические. Кстати, работа с настоящей EMS-памятью осуществляется аналогично, только отображаются старинцы не расширенной памяти (свыше 1 Mb, об этом дальше), а из памяти на плате расширения. Для эмуляции EMS на современных компьютерах нужно в файле CONFIG.SYS поставить команду вызова диспетчера памяти EMM386.EXE и указать в качестве параметра объем эмулируемой EMS-памяти в килобайтах (естественно, он не может превышать объем расширенной памяти, то есть всего объема установленной в компьютер памяти минус 1 Mb): например, команда "device=<путь_к_файлу>\emm386.exe 2048" (без кавычек) указывает драйверу, что 2 мегабайта расширенной памяти нужно сделать отображаемой (при этом вся остальная расширенная память будет доступна как обычно). Если вместо числа поставить RAM, то отображаемой станет вся доступная XMS-память. Кстати, многие программы, работающие с EMS, не используют вышеупомянутое окно обмена, поэтому вы можете попоробовать убрать его и тем самым освободить 64 Kb в основной памяти. Для этого нужно указать параметр "frame=none" (без кавычек). Например, "device=<путь_к_файлу>\emm386.exe ram frame=none" позволяет преобразовать в EMS всю расширенную память и не использовать окно обмена. Если программы, обращающиеся к EMS, не виснут, значит все в порядке, в противном случае уберите параметр "frame=none". Естественно, эмуляция EMS необходима лишь в том случае, если вы используете в DOS какие-либо программы, использущие эту память в своей работе.

Наконец, вся память свыше 1 Mb (наверное, это уже и так стало понятно) называется расширенной, или XMS. За ее использвание в DOS отвечает все тот же менеджер EMM386.EXE. Все современные DOS-программы (я не имею ввиду современность DOS, я имею ввиду те служебные программы, которые используются для тестирования компьютера, разметки и форматирования жестких дисков и прочего, хотя и к традиционным прикладным программам это тоже относится не меньше) не используют EMS, им собственно и нужна память XMS. Здесь драйвер EMM386.EXE в основном выполняет только одну функцию - переводит процессор в защищенный режим, то есть режим, в котором он может адресовать всю память, а не только первый мегабайт (когда используется так называемый реальный режим). Поэтому в CONFIG.SYS обычно вставляют строку "device=<путь_к_файлу>\emm386.exe noems", где параметр "noems" указывает, что эмулировать EMS-память не нужно.

В XMS-памяти особо выделяют первые 64 килобайта, которые носят название HMA (High Memory Area). Эта область своим существованием целиком обязана ошибке, которую допустила Intel при разработке своего процессора 80286. Дело состоит в следующем. Вся стандартная память, помимо того, что может быть представлена в виде 16 неперекрываемых блоков размером по 64 килобайта каждый (0-F), также может быть представлена и в виде перекрываемых 64-килобайтных областей, нзываемых сегментами, которые, вообще говоря, могут начинаться через каждые 16 байтов. максимальный полный адрес в виде сегмент:смещение, по которому может обратиться процессор 8088, - это FFFF:000F (20 адресных линий). Если увеличить это значение хотя бы на единицу, то произойдет циклический перенос (wrap around) и значение адреса станет 0000:0000. Для CPU 80286 и выше этого не случится, так как адресная шина у этих процессоров больше 20 разрядов, но адрес памяти при этом превысит границу 1 Mb. Чтобы исправить эту ошибку, на материнских платах предусмотрены специальные аппаратные средства, заставляющие процессор 80286 (и старше) выполнять переход на низшие адреса, как это и было при работе процессора 8088. Однако такой переход может быть отменен чисто программным путем. Для этого используется драйвер HIMEM.SYS. Он переносит часть операционной системы в первые 64 Kb XMS (точнее, 64 Kb минус 16 байт) и тем самым освобождает небольшой кусочек основной памяти.

Особенно важен тот факт, что этот кусок памяти может быть использован в реальном режиме процессора. Если вы не совсем поняли этот абзац и вас не интересует, какие там адреса используются и откуда в 286-ом процессоре появились глюки, то запомните, что для рационального использования памяти в DOS в файле CONFIG.SYS должна содержаться строка "device=<путь_к_файлу>\himem.sys" (без кавычек). Таже нужно написать DOS=HIGH,UMB - это позволит использовать свободные блоки в UMA. Таким образом, правильная организация использования памяти должна отражаться в CONFIG.SYS следующим образом:

dos=high, umb
device=c:\windows\himem.sys testmem:off1
device=c:\windows\emm386.exe noems

1Параметр "testmem:off" отключает проверку расширенной памяти, что уменьшает время загрузки. (Естественно, на вашем компьютере местоположение соответствующих фалов может быть иным.)

После этого для загрузки драйверов можно вместо команды device пользоваться командой devicehigh. Это желательно делать, так как при этом драйверы загружаются в расширенную память, и тем самым освобождается основная для тех программ, которые не могут использовать XMS или EMS и работают только в основной памяти (а такие программы есть).

Обобщая все вышесказанное, РС имеет два главных типа памяти: основную и расширенную. Размер основной составляет 1 Mb; в этой памяти отводится 384 Kb для внутренних функций, а в оставшихся 640 (точнее, то, что осталось от 640 от таблицы прерываний и области данных BIOS) может безо всяких драйверов и прочих премудростей размещаться OS, драйверы и прикланые программы. Расширенная память представляет собой всю оставшуюся память РС. С помощью диспетчера памяти EMM386.EXE она может быть доступна как обычная память или преобразована в EMS. Обычно EMS не используют, но если у вас завалялась парочка древних программ с поддержкой EMS и вы хотите с ними поработать, а они жалуются, что им не хватает памяти, то можно отвести под EMS часть расширенной памяти (или всю, но в этом нет особой необходимости, разве только если в вашем компьютере установлено очень мало памяти). Как это сделать, было подробно описано выше. В расширенной памяти также выделяют первые 64 Kb, которые, в отличие от всей остальной XMS, могут быть адресованы процессором в реальном режиме и в них может быть помещена часть ядра DOS. Необходимую программную поддержку здесь выполняет драйвер HIMEM.SYS.

Диспетчер памяти необходим только в DOS (тогда, казалось бы, зачем все это? Но не следует забывать, что наличие таких дружественных OS, как Windows, не отменяет полностью необходимость в DOS и DOS-программах, равно как наличие лифта и автомобиля не отменяет необходимость иметь ноги - в экстренных случаях - например, если у вас не загружается Windows или нужно работать без жесткого диска - эта информация может оказаться весьма полезной). Windows по сути дела сама является диспетчером памяти и может выделять программам память самостоятельно. Это касается и DOS-программ (в том числе использующих EMS), запущенных из-под Windows, и работы в DOS (путем запуска командного процессора COMAND.COM) под Windows. Если вышеупомянутые драйверы и понадобятся, Windows грузит их автоматически. Упоминание драйверов EMM386.EXE и HIMEM.SYS в файле CONFIG.SYS нужно только либо при работе в чистой DOS (покажите мне такого человека? хотя нет, парочка артефактов еще наверное найдется), либо при работе Windows 9х в режиме единственного приложения MS DOS, для чего соответствующие файлы и входят в комплект поставки Windows, а команды вызова этих драйверов содержатся в CONFIG.SYS после установки системы, а также на загрузочной дискете, изготавливаемой Windows.

Вышеуказанное не имеет смысла для систем Windows NT, так как Windows NT, в отличие от Win95/98, не имеет к DOS почти никакого отношения. Аналогично можно сказать и про МЕ.

Но вернемся к железу. В процессе развития компьютерной индустрии появились следующие основные типы микросхем оперативной памяти.

DRAM

Буква "D" в наименовании этой памяти говорит о том, что она динамическая. Как уже, говорилось, большинтво применяемой в РС памяти, в том числе и оперативной, является динамической, и это ни в коем случае не означает, что этот тип RAM особенно динамичен и данные очень быстро улетучиваются. Просто память типа DRAM появилась первой и такое название было вполне логичным, хотя фантазии у его авторов могло бы быть и побольше. На очень старых материнских платах (для CPU 8088 и 80286) микросхемы DRAM устанавливаются отдельными DIP-микросхемами (в виде жука), однако позже были разработаны SIP- и SIMM-модули, получившие более широкую популярность, в виде отдельных плат с уже установленной на них памятью. Со временем SIMM-модули также вытеснили SIP-модули, так как ножки SIP-модулей при их установке и извлечении часто обламывались. Понятно, что DRAM давным-давно устарела и найти примеры ее микросхем для более близкого рассмотрения очень сложно.

FPM DRAM

Микросхемы DRAM, реализующие упомянутый выше страничный режим, называют FPM (Fast Page Mode) DRAM. FPM DRAM получила широкое распространение во времена расцвета 486-х процессоров, так как время доступа по сравнению с обычной DRAM сокращается на 50%, а повышенное быстродействие в системах на основе этого процессора, ставшем на какое-то время символом компьютерной мощи, было очень кстати.

EDO DRAM

В РС с процессором класса Pentium обычно применяется память типа EDO DRAM - память с расширенным выводом данных (Extended Data Output). За счет наличия дополнительных регистров для хранения данных увеличивается пропускная способность памяти. Это происходит благодаря тому, что в этих дополнительных регистрах информация может удерживаться даже в течение следующего запроса к микросхеме, поэтому следующий цикл обращения CPU к RAM может начинаться до того, как закончится предыдущий. Модули EDO RAM работают на 10-15% быстрее, чем стандаотные FPM DRAM. Особенно заметно преимущество EDO в пакетном режиме. Так как сами процессоры Pentium уже мало где применяются, то и память EDO DRAM тоже устарела. Правда, на сегодняшний момент SIMM-модули с памятью EDO и FPM DRAM часто применяются в лазерных принтерах - там особое быстродействие не нужно.

BEDO RAM

Микросхемы BEDO DRAM (Burst EDO) являются разновидностью памяти EDO DRAM. Здесь выборка четырех операндов, требуемых для передачи, происходит автоматически. Как следствие, BEDO DRAM работает несколько быстрее, чем EDO. Однако это преимущество не столь значительно, и BEDO DRAM не получила большого распротранения.

CDRAM, EDRAM, ESDRAM

Со времен CPU 80486 наметилось все большее большее отставание производительности памяти от все нарастающей мощности центральных процессоров. А сегодня память по сути является грандиозным тормозом всей системы, и мне кажется, что вряд положение вещей изменится, по крайней мере в обозримом будущем. Однин из способов повысить быстродействие памяти достаточно очевиден - можно интегрировать определенное количество ячеек SRAM (об этом типе памяти уже было написано чуть выше) в обычную DRAM. Например, на одном кристалле могут находиться 4 Mb обычной оперативной памяти и 16 Kb SRAM. Эту технологию в данном случае можно рассматривать как кэш, встроенный в память. Такие и им подобные типы памяти стоят дорого, поэтому область их применения обычно ограничивается сервероподобными конструкциями или иными компьютерами, где более всего важна производительность.

SDRAM

То есть Synchronous DRAM - пожалуй, за все время не было другой памяти, получившей такую большую популярность. Основное отличие SDRAM от остальных видов памяти заключается в том, что все операции в микросхемах памяти синхронизированы с тактовой частотой CPU, то есть память и процессор работают синхронно. Это достигается путем использования внутренней трехступенчатой конвейерной архитектурой микросхемы и чредованием адресов. Технология SDRAM позволяет сократить время, затрачиваемое на выполнение команд и передачу данных, за счет исключения циклов ожидания. Причем при куда большей производительности SDRAM стоит в несколько раз дешевле применяемых до этого микросхем EDO DRAM, что тоже очень немаловажно. Существуют моули со SDRAM (они называются DIMM-модулями и имеют 168 контактов, в то время как память типа EDO/BEDO/FPM DRAM встречается в основном в виде 72-контактных SIMM-модулей), предназначенные для работы на частотах 66, 100 и 133 MHz. Соответственно память может соответствовать спецификациям РС66, РС100 или РС133, причем первая уже не встречается. С момента появления Pentium III с внешней частотой 133 мегагерца SDRAM типа PC100 также постепенно отошла на второй план. Где-то до конца 2000-го года для высокопроизводительных компьютеров была стандартной связка Pentium III/133 MHz - PC133 SDRAM, но, когда в 2001-м начали набирать обороты процессоры Pentium IV и AMD Athlon c частотами выше 1 GHz, стало окончатльно ясно, что время уходить со сцены для SDRAM уже пришло. Подробнее о SDRAM написано здесь. Впрочем, обладая все же довольно неплохим быстродействием, из-за своей низкой цены SDRAM будет еще какое-то время сохранять достаточно прочные позиции, а на рынке дешевых систем "для дома", как любят выражаться продавцы, как мне кажется, еще несколько лет не будет видно никаких изменений - это подтверждают очень хорошие объемы сегодяшних продаж этой памяти. Но в системах категории Hi-End пальму первенства ставшая за время своего существования столь широко распространенной память типа SDRAM уже уступила. Далее мы рассмотрим две сравнительно новых технологии, которые претендуют на место в современном РС.

RDRAM

Одна из таких технологий - технология памяти RDRAM (Rambus DRAM), разработанная компанией Rambus и активно продвигаемая на рынок компанией Intel, которая разрабатывает все свои последние продукты в расчете эту память. В отличие от SDRAM, RDRAM использует более узкую (малоразрядную) магистраль даных. Это позволило в несколько раз повысить частоту, на которой функционирует память. Данные передаются по два пакета за такт. В результате пропускная способность RDRAM во много раз превышает этот параметр у SDRAM. Основным недостатком этого типа памяти является большая стоимость, однако за последнее время цена на модули RIMM очень заметно упала. См. также технология Rambus.

DDR SDRAM

Новый тип памяти DDR SDRAM (Double Data Rate SDRAM) появился в следствие улучшений архитектуры SDRAM, поэтому другое название этого типа памяти - SDRAM II. Лидерство в разработке DDR SDRAM принадлежит корпорации Samsung. Память типа DDR SDRAM может передавать и принимать данные по восходящему и нисходящему уровню сигнала шины, в отличие от обычной памяти типа SDRAM, которая передает данные только по восходящему уровню сигнала. То есть за один такт передается два пакета данных (отcюда и аббревиатура DDR), что означает увеличение пропускной способности вдвое. В настоящее время многие крупные производители, такие как VIA и AMD, заявили о намерении продвигать эту архитектуру. Большим плюсом DDR SDRAM является ее более низкая по сравнению с RDRAM цена. Кстати, DDR SDRAM также имеет меньшую латентность, поэтому эта память очень часто превосходит по производительности RDRAM (подробнее о технологии DDR смотрите в этой статье. Однако в силу того, что Intel уже сделала ставки на память RDRAM, будущее DDR SDRAM представляется не таким уж светлым.

Интересно, что же победит в этой гонке технологических вооружений, напоминающей времена холодной войны - старания VIA и AMD и здравый смысл или финансовая мощь и авторитет Intel? Иначе мир расколется на два лагеря: мы сможем выбирать между системами на процессорах от AMD с памятью DDR SDRAM и имидживыми продуктами в лице Pentium IV + RDRAM. Но я не люблю рассуждать о том, что от меня не зависит. Поживем - увидим. В любом случае карман покупателей останется в выигрыше, а это сегодня пожалуй одно из самых важных.




История создания PC | Корпуса | Системные платы | Интерфейсы | Носители информации | Устройства ввода | Устройства вывода | Мультимедиа | Коммуникации | Приложение | От автора