Статическая и динамическая оперативная память

Оперативная память — совокупность специальных электронных ячеек, каждая из которых может хранить конкретную 8-значную комбинацию из нулей и единиц — 1 байт (8 бит). Каждая такая ячейка имеет адрес (адрес байта) и содержимое (значение байта). Адрес нужен для обращения к содержимому ячейки, для записи и считывания информации. Оперативное запоминающее устройство (ОЗУ) хранит информацию только во время работы компьютера. Емкость оперативной памяти современного компьютера 32-138 Мбайт.
При выполнении микропроцессором вычислительных операций должен быть в любой момент обеспечен доступ к любой ячейке оперативной памяти. Поэтому ее называют памятью с произвольной выборкой — RAM (Random Access Memory). Оперативная память выполнена обычно на микросхемах динамического типа с произвольной выборкой (Dynamic Random Access Memory, DRAM). Каждый бит такой памяти представляется в виде наличия (или отсутствия) заряда на конденсаторе, образованном в структуре полупроводникового кристалла. Другой, более дорогой тип памяти — статический (Static RAM, SRAM) в качестве элементарной ячейки использует так называемый статический триггер (схема которого состоит из нескольких транзисторов). Статический тип памяти обладает более высоким быстродействием и используется, например, для организации кэш-памяти.

Статическая память
Статическая память (SRAM) в современных ПК обычно применяется в качестве кэш-памяти второго уровня для кэширования основного объема ОЗУ. Статическая память выполняется обычно на основе ТТЛ-, КМОП- или БиКМОП-микросхем и по способу доступа к данным может быть как асинхронной, так и синхронной. Асинхронным называется доступ к данным, который можно осуществлять в произвольный момент времени. Асинхронная SRAM применялась на материнских платах для третьего — пятого поколения процессоров. Время доступа к ячейкам такой памяти составляло от 15 нс (33 МГц) до 8 нс (66 МГц).
Для описания характеристик быстродействия оперативной памяти применяются так называемые циклы чтения/записи. Дело в том, что при обращении к памяти на считывание или запись первого машинного слова расходуется больше тактов, чем на обращение к трем последующим словам. Так, для асинхронной SRAM чтение одного слова выполняется за 3 такта, запись — за 4 такта, чтение нескольких слов определяется последовательностью 3—2—2—2 такта, а запись — 4—3—3—3.
Синхронная память обеспечивает доступ к данным не в произвольные моменты времени, а синхронно с тактовыми импульсами. В промежутках между ними память может готовить для доступа следующую порцию данных. В большинстве материнских плат пятого поколения используется разновидность синхронной памяти — синхронно-конвейерная SRAM (Pipelined Burst SRAM), для которой типичное время одиночной операции чтения/записи составляет 3 такта, а групповая операция занимает 3—1—1—1 такта при первом обращении и 1—1—1—1 при последующих обращениях, что обеспечивает ускорение доступа более, чем на 25%.

Динамическая память
Динамическая память (DRAM) в современных ПК используется обычно в качестве оперативной памяти общего назначения, а также как память для видеоадаптера. Из применяемых в современных и перспективных ПК типов динамической памяти наиболее известны DRAM и FPM DRAM, EDO DRAM и BEDO DRAM, EDRAM и CDRAM, Synchronous DRAM, DDR SDRAM и SLDRAM, видеопамять MDRAM, VRAM, WRAM и SGRAM, RDRAM.
В памяти динамического типа биты представляются в виде отсутствия и наличия заряда на конденсаторе в структуре полупроводникового кристалла. Конструктивно она выполняется в виде модуля SIMM (Single in line memory module). Каждый бит информации записывается в отдельной ячейке памяти, состоящей из конденсатора и транзистора. Наличие заряда на конденсаторе соответствует 1 в двоичном коде, отсутствие — 0. Транзистор при переключении дает возможность считывать бит информации или записывать новый бит в пустую ячейку памяти.
Поиск ячейки по адресу осуществляется специальными дешифрующими схемами, которые образуют матрицу, то есть пересекают кристалл памяти двумя полосами — по горизонтали и вертикали. Когда центральный процессор сообщает адрес ячейки, горизонтальные дешифраторы указывают нужный столбец, а вертикальные — строку. На пересечении находится искомая ячейка. После нахождения ячейки происходит выборка их нее байта данных.

Буферная память

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

Статическая и динамическая оперативная память - student2.ru

Организация кэш-памяти

Мы уже не раз отмечали, что оперативная память вычислительных систем реализуется на относительно медленных микросхемах динамической памяти. Если процессор работает непосредственно с памятью такого типа, требуется вводить такты ожидания для процессора. В этом случае процессор частично простаивает. Статическая память, построенная на триггерах, имеет то же быстродействие, что и процессоры и использование такой памяти позволило бы работать процессору без тактов ожидания, но параметр цена/производительность диктует поиски другого выхода из этой ситуации. Разумным компромиссом для построения экономичных и производительных систем явился иерархический способ построения памяти. Обмен процессора с оперативной памятью производится при помощи промежуточной относительно небольшой кэш-памяти на быстродействующих микросхемах SRAM.
В переводе слово кэш (cache) означает склад или тайник. Для выполняемой программы он не представляет собой дополнительной адресуемой памяти. Он выполняет роль быстродействующего хранилища копий блоков информации основной памяти, к которым в ближайшее время ожидается обращение. Объем кэш во много раз меньше объема оперативной памяти. Контроллер кэш памяти ведет каталог и при каждом обращении к кэш памяти по каталогу проверяет, есть ли действительная копия затребованных данных в кэше? Если она там есть, то это случай кэш попадания (cache hit), и обращение за данными происходит только к кэш-памяти. Если действительной копии там нет, то это случай кэш-промаха (cache miss), и данные берутся из основной памяти.
Отношение числа попаданий к общему числу обращений к памяти называется коэффициентом эффективности поиска. Если этот коэффициент достаточно высок, большая часть времени затрачивается на обращение к кэш-памяти, что эквивалентно использованию быстродействующей основной памяти при выполнении программы. Обычно коэффициент эффективности поиска превышает 95%.
Обращение к основной памяти может начинаться одновременно с поиском данных в каталоге кэш, и в случае попадания - прерывается (архитектура Look Aside). При параллельном поиске из - за параллельного обращении к оперативной памяти возрастают затраты энергии.
В другом варианте обращение к внешней памяти начинается только после фиксации случая промаха (архитектура Look Through), на этом теряется, по крайней мере, один такт процессора, зато значительно экономится энергия.
В современных процессорах кэш обычно строится по двухуровневой схеме. Первичный кэш (L1 Cache) имеет сравнительно небольшой объем и для повышения производительности обычно используется раздельный кэш для данных и команд (так называемая Гарвардская архитектура - противоположность Принстонской, использующей общий кэш для команд и данных). Вторичный кэш (L2 Cache) тоже включается в микросхему микропроцессора, но не разделяется на кэш команд и данных. Работает встроенный кэш на внутренней тактовой частоте процессора.

Наши рекомендации