Память динамического типа DRAM

Динамическая память (DRAM) - это тип памяти с произвольным доступом, используемый в вычислительных устройствах, и в первую очередь на ПК. DRAM хранит каждый бит данных в отдельном пассивном электронном компоненте, который находится внутри интегральной платы. Каждый электрический компонент имеет два состояния значения в одном бите, называемом 0 и 1. Он должен часто обновляться, иначе информация исчезает. DRAM имеет один конденсатор и один транзистор на бит, в отличие от статической памяти произвольного доступа (SRAM), которая требует 6 транзисторов. Используемые конденсаторы и транзисторы исключительно малы. Существуют миллионы конденсаторов и транзисторов, которые подходят к одному чипу памяти.

Развитие динамической технологии

Развитие динамической технологии

Будучи одной из форм технологии памяти, динамическая память ОЗУ возникла из разработок первых микропроцессоров и сопутствующих разработок интегральных схем. В середине 1960-х годов интегральные схемы начали появляться в некоторых современных электронных продуктах, где ранее использовалась форма магнитной памяти в виде одного небольшого ферритового тороида для каждого элемента. Естественно, эта «основная» память была очень дорогой, а интегрированные версии были более привлекательными в долгосрочной перспективе.

Идея технологии DRAM появилась относительно рано на временной шкале полупроводниковых интегральных схем. Ранняя форма была применена в калькуляторе Toshiba, который был выпущен в 1966 году из дискретного компонента, а затем через два года идея была запатентована. Следующий этап разработки технологий произошел в 1969 году, когда Honeywell, который вошел на компьютерный рынок, попросил Intel изготовить динамическую память, используя три идеи транзисторных ячеек. Полученная ИС DRAM была названа Intel 1102 и появилась в начале 1970 года. Однако у устройства было несколько проблем, после чего Intel разработал новую технологию, которая работала более надежно.

Полученное новое устройство появилось в конце 1970 года и получило название Intel 1103. Технология продвинулась еще дальше, когда в 1973 году MOSTEK выпустил свой MK4096. Как показывает номер детали, устройство имело емкость 4 к. Главным его преимуществом было то, что он включал мультиплексированный подход к строкам и столбцам. Этот новый подход позволил вписаться в пакеты с меньшим количеством контактов. В результате преимущество в стоимости выросло по сравнению с предыдущими подходами при каждом увеличении объема памяти.

Это позволило технологии MOSTEK получить более 75 % доли мирового рынка. В конце концов MOSTEK проиграл японским производителям, поскольку они смогли производить более качественные устройства по более низкой цене.

Разновидности памяти и их назначения

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

Разновидности памяти и их назначения

SRAM — это энергозависимая память, которая является статической и не нуждается в обновлении. Поскольку она выполняется намного быстрее, то используется в регистрах и кеш-памяти. SRAM хранит данные и работает на более высоких скоростях, чем динамическая память c материнской платой, потому что это намного дешевле в производстве.

DRAM — это один из вариантов полупроводниковой памяти, которым разработчик системы может использовать при создании компьютера. Альтернативные варианты памяти включают статическое ОЗУ (SRAM), электрически стираемая программируемая память только для чтения (EEPROM), NOR Flash и NAND Flash. Во многих системах используется более одного типа памяти.

Типы печатных плат и системы считывания

Три основных типа печатных плат, которые содержат микросхемы памяти — это два встроенных модуля памяти (DIMM), однострочные модули памяти (SIMM) и модули памяти Rambus в линейке (RIMM).

Типы печатных плат

Сегодня большинство материнских плат используют модули DIMM. Частота обновления модуля для DRAM составляет каждые несколько миллисекунд (1/1000 секунды). Это обновление выполняется контроллером памяти, расположенным на чипсете материнской платы. Поскольку логика обновления используется для автоматического обновления, плата DRAM является довольно сложной.

Существуют различные системы, используемые для обновления, но для всех методов требуется, чтобы счетчик отслеживал строку, которая должна быть обновлена следующим образом. Ячейки DRAM организованы в виде квадратного набора конденсаторов, обычно 1024 на 1024 ячеек. Когда ячейка находится в состоянии «прочитано», считывается целая строка, и обновление записывается обратно. Когда в состоянии «записи», целая строка «считывается», изменяется одно значение, а затем вся строка переписывается.

В зависимости от системы есть чипы DRAM, которые содержат счетчик в то время, как другие системы полагаются на логику обновления периферийного устройства. Время доступа составляет около 60 наносекунд, в то время как SRAM может достигать 10 наносекунд. Кроме того, время цикла DRAM намного длиннее, чем у SRAM. Время цикла короче, потому что ему не нужно останавливаться между обращениями и обновлениями.

DRAM против SRAM

DRAM против SRAM

DRAM является преемником SRAM. Дизайнеры памяти уменьшили количество элементов на бит и исключили дифференциальные разрядные линии, чтобы сохранить область чипа для создания DRAM. В результате ее дешевле производить, чем SRAM. Но SRAM сохраняет некоторые преимущества перед DRAM. Сравнение статической и динамической памяти:

  1. SRAM не нуждается в обновлении, поскольку работает по принципу переключения текущего потока в одном из двух направлений вместо того, чтобы удерживать заряд в месте хранения.
  2. Ее обычно используется для кеш-памяти, к которой можно получить доступ быстрее, чем DRAM.
  3. SRAM способна считывать и записывать байтовые разряды и быстрее считывает и записывает, чем DRAM, который записывает данные на уровне байта и читает на уровне многобайтовых страниц.
  4. Различия в мощности определяются в зависимости от того, находится ли система в активном или спящем режиме. DRAM требует меньше энергии, чем SRAM в активном состоянии, но SRAM потребляет значительно меньше энергии, в режиме ожидания.

Существует много типов или интерфейсов для связи с DRAM. Они включают в себя с быстрым режимом страницы (FPM DRAM), расширенные данные из DRAM (EDO RAM) и синхронную DRAM (SDRAM). SDRAM это общее название для типов DRAM, синхронизированных с тактовой частотой от микропроцессора. Они включают SDRAM с одной скоростью передачи данных (SDR), SDRAM с двойной скоростью передачи данных (DDR), DDR2 SDRAM, DDR3 SDRAM и DDR4 SDRAM.

Принцип работы RAM

Устройства динамической памяти имеют технологию MOS, лежащую в основе проектирования, изготовления и эксплуатации. Посмотрев, как работает память DRAM, можно видеть, что в базовой памяти RAM или DRAM используется конденсатор для хранения каждого бита данных и передающее устройство — MOSFET, которое действует как коммутатор.

Уровень заряда на конденсаторе ячейки памяти определяет, является ли этот конкретный бит логическим «1» или «0» — наличие заряда в конденсаторе указывает логику «1», а отсутствие заряда указывает логическое «0». Динамическое распределение памяти RAM имеет определенный формат, в результате чего он может быть плотно упакован на кремниевый чип, и это делает его очень дешевым. Две строки соединены с каждой динамической ячейкой RAM - линия Word (W / L) и линия бит (B / L), так что требуемая ячейка внутри матрицы может считывать или записывать данные.

Базовая ячейка

Показанная базовая ячейка памяти была бы одной из многих тысяч или миллионов таких ячеек в полном чипе памяти. Они могут иметь емкость 256 Мбит и более. Чтобы улучшить возможности записи и чтения и скорость, выполняют динамическое выделение памяти c разделением на подматрицы. Наличие нескольких подмассивов сокращает слова и битовые строки, и это сокращает время доступа к отдельным ячейкам. Например, динамическое ОЗУ 256 Мбит, DRAM может быть разделено на 16 меньших 16 Мбит массивов.

Линейные управляют входом линий передачи, в то время как битовые бины подключены к каналу FET и в итоге подключены к усилителям чувствительности. Существует два способа организации битовых строк:

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

Операция обновления динамической ОЗУ

Операция обновления динамической ОЗУ

Одна из проблем, связанных с этой схемой, заключается в том, что конденсаторы не удерживают свой заряд неограниченно, поскольку на конденсаторе имеется некоторая утечка. Было бы неприемлемо, чтобы память потеряла свои данные, и для преодоления этой проблемы периодически обновляются данные. Данные считываются и записываются, и это гарантирует, что всякая утечка будет преодолена, и данные будут восстановлены.

Одним из ключевых элементов памяти DRAM является тот факт, что данные периодически обновляются. Обычно производители указывают, что каждая строка должна обновляться каждые 64 мс. Этот временной интервал соответствует стандартам JEDEC для динамических периодов обновления RAM.

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

Независимо от того, какой метод используется, необходимо, чтобы счетчик мог отслеживать следующую строку в памяти DRAM, которая должна быть обновлена. Некоторые чипы включают счетчик, в противном случае для этой цели необходимо добавить дополнительное устройство. Может показаться, что схемы обновления, необходимые для памяти DRAM, усложнят общую схему памяти и делают ее более дорогой. Однако обнаружено, что дополнительная схема не является серьезной проблемой, если ее можно интегрировать в чип памяти. И также обнаружено, что эта память намного дешевле и имеет гораздо большую емкость, чем у другого основного соперника — статического ОЗУ (SRAM).

Отношение сигнал/шум

По мере увеличения размеров воспоминаний проблема соотношения сигнал/шум становится очень важной, поскольку может вызвать проблемы с повреждением данных. Это зависит от отношения емкости накопительного конденсатора в памяти DRAM к емкости линии Word или бит, на которую сбрасывается заряд, когда к ячейке обращаются. По мере увеличения плотности битов на микросхему отношение ухудшается, поскольку площадь ячейки уменьшается, из-за того, что на разрядную линию добавляется больше ячеек.

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

Чипы памяти DRAM широко используются, и технология очень хорошо зарекомендовала себя. А чипы памяти и плагины доступны для расширения памяти компьютеров и многих других устройств. Хотя DRAM имеет свои недостатки, она по-прежнему широко используется, поскольку предлагает множество преимуществ с точки зрения размера затрат и удовлетворительной скорости, она не самая быстрая, но все же намного быстрее, чем некоторые другие типы памяти.

Асинхронная технология

Асинхронная технология

В семействе памяти DRAM существует несколько типов, включая асинхронные, синхронные, EDO, BEDO, FPM и другие. Помимо типа технологии памяти, она также может содержаться в нескольких типах пакетов IC. DRAM также доступен в форматах модулей и имеется несколько типов модулей памяти, включая модули DIMM, SIMM, RIMM и т. п. Таким образом, необходимо иметь представление обо всех различных типах DRAM и форматах, в которых память может быть получена, установлена и использована.

При изучении самой технологии памяти существует большое разнообразие различных типов DRAM. Асинхронный DRAM, является основным типом, на котором основаны все остальные типы. Асинхронные имеют соединения для питания, адресных входов и двунаправленных линий данных. Хотя этот тип DRAM является асинхронным, система запускается контроллером памяти, который синхронизирован, и это ограничивает скорость системы, чтобы умножить тактовую частоту. Тем не менее, сама работа DRAM не является синхронной.

Выделение памяти

Динамическое выделение памяти - это процесс, с помощью которого компьютерным программам и службам присваивается физическое или виртуальное пространство памяти. Фактически - это процесс резервирования частичной или полной части компьютерной памяти для выполнения программ и процессов. Распределение памяти достигается посредством процесса, известного как управление памятью через операционную систему и программные приложения.

Динамическое выделение памяти имеет два основных типа:

  1. Распределение статической памяти, программе выделяется память во время компиляции.
  2. Динамическое распределение памяти, программы распределяются с памятью во время выполнения.

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

Оптимизация использования памяти

Оптимизация использования памяти Arduino

Динамическая память arduino выполнена в виде flash.Там где сама программа хранится и не может быть изменена, кроме случаев, когда пользователь загружает новую программу, называемую «эскизом», с компьютера, и сохраняет то, что загрузил, даже если питание отключено. Когда проверяют или загружают эскиз, ПК сообщит в окне, сколько флэш есть и сколько использовано, если включен «подробный режим» в настройках.

Каждый раз, когда загружается новый эскиз, он перезаписывает старый. Arduino одномоментно имеет только одну программу, и когда в Arduino подается питание, программа запускается навсегда. Большинство современных Arduinos имеют около 32 тыс. флэш-памяти, что довольно мало и ограничивает размер программ (эскизов), которые вам можно загрузить. Но SRAM - реальный предел для многих вещей. Пользователю действительно нужно быть осторожным в планировании, чтобы свести к минимуму то, что действительно нужно сохранить. И если пытаются использовать слишком много — Arduino просто не сработает. Пользователь даже не сможете выполнить самые минимальные отладочные действия, пока не будет перезагружен ПК.

SRAM — самый ценный товар памяти на Arduino. Хотя недостатки SRAM, вероятно, являются наиболее распространенными проблемами памяти на Arduino. Их трудно диагностировать. Если программа терпит неудачу необъяснимым образом, есть хорошие шансы, что пользователь разбил стек из-за нехватки SRAM. Есть ряд вещей, которые можно сделать для сокращения использования SRAM:

  1. Удалить неиспользуемые переменные.
  2. Зарезервировать строки.
  3. Переместите постоянные данные в PROGMEM.
  4. Уменьшение размеров буфера.
  5. Уменьшение негабаритных переменных.

Любая переменная, которую пользователь определяете либо в верхней части программы, внутри функции, либо даже «на лету» в чем-то вроде цикла for, скорее всего, будет использовать SRAM, хотя некоторые переменные никогда не хранятся в SRAM. Каждый раз, когда Arduino запускается с помощью включения или сброса, все его переменные повторно инициализируются по умолчанию, и ей необходимо повторно изучить среду, с которой она работает.

Работа с динамической памятью - важный важный аспект, который следует учитывать при разработке системы. На самом деле, есть третий вид памяти - EEPROM, который можно записать, и он будет сохранен в случае прерывания питания. Arduino может записывать 300 EEPROM в секунду, если пользователь будет неосторожен, то теоретически такая скорость может уничтожить ячейку памяти через 5 минут, а весь EEPROM - через два дня.

Статья закончилась. Вопросы остались?
Комментарии 0
Подписаться
Я хочу получать
Правила публикации
Редактирование комментария возможно в течении пяти минут после его создания, либо до момента появления ответа на данный комментарий.