Сайт о телевидении

Сайт о телевидении

» » Модули памяти. Статическая и динамическая оперативная память

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

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

Глава 7. Запоминающие устройства ПК

После изучения главы вы должны знать:

запоминающие устройства трех уровней внутренней памяти ПК: микропроцессорную, основную и буферную кэш-память, их назначение, основные характеристики;

физическую и логическую структуру основной памяти, ее модули:SIPP,SIMM, DIMM и типы: DRAM, SDRAM, DRDRAM, DDRDRAM;

методы адресации ячеек основной памяти;

принципы организации виртуальной памяти;

назначение кэш-памяти разных уровней.

Персональные компьютеры имеют три основных уровня памяти:

l микропроцессорная память (МПП);

l основная память(ОП);

l внешняя память (ВЗУ).

К этим уровням добавляется промежуточная буферная или кэш-память. Кроме этого многие устройства ПК имеют собственную локальную память.

Две важнейших характеристики (емкость памяти и ее быстродействие) трех основных типов памяти приведены в табл. 9.1.

Таблица 9.1. Сравнительные характеристики запоминающих устройств

Быстродействие первых двух типов запоминающих устройств измеряется временем обращения (t обр) к ним, а быстродействие внешних запоминающих устройств - двумя параметрами: временем доступа (t дост) и скоростью считывания (V счит):

l t обр - сумма времени поиска, считывания и записи информации (в литературе это время часто называют временем доступа, что не совсем строго);

l t дост - время поиска информации на носителе;

l V счит - скорость последовательного считывания смежных байтов информации.

Напомним общепринятые сокращения: с - секунда, мс - миллисекунда, мкс - микросекунда, нс - наносекунда; 1с = 10 6 мс = 10 6 мкс = 10 9 нс.

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

Оперативная память может формироваться из микросхем динамического (Dynamic Random Access Memory - DRAM) или статического (Static Random Access Memory - SRAM) типа.

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

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

Ячейки динамической памяти по сравнению со статической имеют большее время срабатывания (десятки наносекунд), но большую удельную плотность (порядка десятков Мбит на корпус) и меньшее энергопотребление. Динамическая память используется для построения оперативных запоминающих устройств основной памяти ПК.

Кэш-память

Кэш-память имеет несколько уровней. Уровни l1, L2 и L3 это регистроваякэш-память - высокоскоростная память сравнительно большой емкости, являющаяся буфером между ОП и МП и позволяющая увеличить скорость выполнения операций. Регистры кэш-памяти недоступны для пользователя, отсюда и название кэш (cache), что в переводе с английского означает «тайник».

В современных материнских платах применяется конвейерный кэш с блочным доступом (Pipelined Burst Cache). В кэш-памяти хранятся копии блоков данных тех областей оперативной памяти, к которым выполнялись последние обращения, и весьма вероятны обращения в ближайшие такты работы - быстрый доступ к этим данным и позволяет сократить время выполнения очередных команд программы. При выполнении программы данные, считанные из ОП с небольшим опережением, записываются в кэш-память. В кэш-память записываются и результаты операций, выполненных в МП.

По принципу записи результатов в оперативную память различают два типа кэш-памяти:

l в кэш-памяти «с обратной записью» результаты операций прежде, чем их записать в ОП, фиксируются, а затем контроллер кэш-памяти самостоятельно перезаписывает эти данные в ОП;

l в кэш-памяти «со сквозной записью» результаты операций одновременно, параллельно записываются и в кэш-память, и в ОП.

Микропроцессоры, начиная от МП 80486, обладают встроенной в основное ядро МП кэш-памятью (или кэш-памятью 1-го уровня - L1), чем, в частности, и обусловливается их высокая производительность. Микропроцессоры Pentium имеют кэш-память отдельно для данных и отдельно для команд: у МП Pentium и Pentium Pro емкость этой памяти небольшая - по 8 Кбайт, у следующих версий МП Pentium по 16 Кбайт. У Pentium Pro и выше кроме кэш-памяти 1-го уровня есть и встроенная на микропроцессорную плату кэш-память 2-го уровня (L2) емкостью от 128 Кбайт до 2048 Кбайт. Эта встроенная кэш-память работает либо на полной тактовой частоте МП, либо на его половинной тактовой частоте.



Следует иметь в виду, что для всех МП может использоваться дополнительная кэш-память 2-го (L2) или 3-го (L3) уровня, размещаемая на материнской плате вне МП, емкость которой может достигать нескольких мегабайтов (кэш на MB относится к уровню 3, если МП, установленный на этой плате, имеет кэш 2-го уровня). Время обращения к кэш-памяти зависит от тактовой частоты, на которой кэш работает, и составляет обычно 1–2 такта. Так, для кэш-памяти L1 МП Pentium характерно время обращения 2–5 нс, для кэш-памяти L2 и L3 это время доходит до 10 нс. Пропускная способность кэш-памяти зависит и от времени обращения, и от пропускной способности интерфейса, и лежит в широких пределах от 300 до 3000 Мбайт/с.

Использование кэш-памяти существенно увеличивает производительность системы. Чем больше размер кэш-памяти, тем выше быстродействие, но эта зависимость нелинейная. Имеет место постепенное уменьшение скорости роста общей производительности компьютера с ростом размера кэш-памяти. Для современных ПКрост производительности, как правило, практически прекращается после 1 Мбайт кэш-памяти L2. Создается кэш-память L1, L2, L3 на основе микросхем статической памяти.

В современных ПК применяется и кэш-память между внешними запоминающими устройствами на дисках и оперативной памятью, обычно относящаяся к 3-му уровню, реже, если есть кэш L3 на системной плате, к 4-му уровню. Кэш-память для ВЗУ создается либо в поле оперативной памяти, либо непосредственно в модуле самого ВЗУ.

Основная память

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

РЕСПУБЛИКА КАЗАХСТАН

УНИВЕРСИТЕТ "ТУРАН"

Кафедра "информационных технологий"

тема:"Статическая память"

Выполнил: Айнакулов Д.А. 3курс, "ИС" 9 гр. Проверила: ЗиятбековаГ.З.

Алматы 2009 г.


1. Введение

2. Статическая память

4. Типы статической памяти

5. Заключение

Список использованной литературы


1. Введение

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

Слово "компьютер" означает "вычислитель". Потребность в автоматизации обработки данных, в том числе вычислений, возникла очень давно. В настоящее время индустрия производства компьютерного железа и программного обеспечения является одной из наиболее важных сфер экономики развитых и развивающихся стран. Причины стремительного роста индустрии персональных компьютеров: невысокая стоимость; сравнительная выгодность для многих деловых применений; простота использования; возможность индивидуального взаимодействия с компьютеров без посредников и ограничений; высокие возможности по переработке, хранению и выдаче информации; высокая надежность, простота ремонта и эксплуатации; компьютерное железо адаптивно к особенностям применения компьютеров; наличие программного обеспечения, охватывающего практически все сферы человеческой деятельности, а также мощных систем для разработки нового программного обеспечения. Мощность компьютеров постоянно увеличивается, а область их применения постоянно расширяется. Компьютеры могут объединяться в сети, что позволяет миллионам людей легко обмениваться информацией с компьютерами, находящимися в любой точке земного шара. Так что же представляет собой это уникальное человеческое изобретение? Первый признак, по которому разделяют компьютеры, - платформа. Можно выделить две основные платформы ПК: Платформа IBM – совместимых компьютеров включает в себя громадный спектр самых различных компьютеров, от простеньких домашних персоналок до сложных серверов. Именно с этим типом платформ обычно сталкивается пользователь. Кстати, совершенно не обязательно, что лучшие IBM – совместимые компьютеры изготовлены фирмой IBM – породивший этот стандарт "голубой гигант" сегодня лишь один из великого множества производителей ПК. Платформа Apple - представлена довольно популярными на Западе компьютерами Macintosh. Они используют своё, особое программное обеспечение, да и "начинка" их существенно отличается от IBM. Обычно IBM-совместимые ПК состоят из трех частей (блоков): системного блока; монитора (дисплея); клавиатуры (устройства, позволяющего вводить символы в компьютер). Развитие электронной промышленности осуществляется такими быстрыми темпами, что буквально через один год, сегодняшнее "чудо техники" становится морально устаревшим вследствие того, что компьютерное железо постоянно модифицируется, появляется новое программное обеспечение. Однако принципы устройства компьютера остаются неизменными еще с того момента, как знаменитый математик Джон фон Нейман в 1945 году подготовил доклад об устройстве и функционировании универсальных вычислительных устройств.


2. Статическая память

Статическая память, или SRAM (Statistic RAM) является наиболее производительным типом памяти. Микросхемы SRAM применяются для кэширования оперативной памяти, в которой используются микросхемы динамической памяти, а также для кэширования данных в механических устройствах хранения информации, в блоках памяти видеоадаптеров и т. д. Фактически, микросхемы SRAM используются там, где необходимый объем памяти не очень велик, но высоки требования к быстродействию, а раз так, то оправдано использование дорогостоящих микросхем. В персональных компьютерах с процессорами, у которых не было интегрированной на кристалле кэш-памяти второго уровня, всегда использовались микросхемы SRAM внешнего кэша. Для удешевления системных плат и возможности их модернизации производители системных плат с процессорами 486 и первых поколений Pentium устанавливали специальные кроватки (разъемы для микросхем с DIP-корпусом), в которые можно было устанавливать различные микросхемы SRAM, отличающиеся как по быстродействию и объему памяти, так и различной разрядностью. Для конфигурирования памяти на системной плате предусматривался набор джамперов. Для справки прямо на системной плате краской наносилась информация об установке джамперов, например, как показано в табл.(в колонках JS1 и JS2 указаны номера контактов, которые надо замкнуть перемычками).

Пример таблицы конфигурирования кэш-памяти на системной плате

Size SRAM JS1 JS2
256 К 32x8 1-2 1-2
512 К 64x8 2-3 1-2
1 М 128x8 2-3 2-3

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

3. Устройство матрицы статической памяти

Подобно ячейкам динамической, триггеры объединяются в единую матрицу, состоящую из строк (row) и столбцов (column), последние из которых так же называются битами (bit).

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

Рис. 1. Устройство 6-транзистроной одно-портовой ячейки SRAM-памяти


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

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

Наиболее часто встречается двух - портовая память, устройство ячейки которой изображено на рис. 2. (внимание! это совсем не та память которая, в частности, применяется в кэше первого уровня микропроцессоров Intel Pentium). Нетрудно подсчитать, что для создания одной ячейки двух - портовой памяти расходуется аж восемь транзисторов. Пусть емкость кэш-памяти составляет 32 Кб, тогда только на одно ядро уйдет свыше двух миллионов транзисторов!


Рис. 2. Устройство 8-транзистроной двух портовой ячейки SRAM-памяти

Рис. 3. Ячейка динамической памяти воплощенная в кристалле

4. Типы статической памяти

Существует как минимум три типа статической памяти: асинхронная, синхронная и конвейерная. Все они практически ничем не отличаются от соответствующих им типов динамической памяти.

Асинхронная статическая память

Асинхронная статическая память работает независимо от контроллера и потому, контроллер не может быть уверен, что окончание цикла обмена совпадет с началом очередного тактового импульса. В результате, цикл обмена удлиняется по крайней мере на один такт, снижая тем самым эффективную производительность. "Благодаря" последнему обстоятельству, в настоящее время асинхронная память практически нигде не применяется (последними компьютерами, на которых она еще использовались в качестве кэша второго уровня, стали "трешки" - машины, построенные на базе процессора Intel 80386).

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

Синхронная статическая память выполняет все операции одновременно с тактовыми сигналами, в результате чего время доступа к ячейке укладывается в один-единственный такт. Именно на синхронной статической памяти реализуется кэш первого уровня современных процессоров.

Конвейерная статическая память

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

Так же, конвейерная память может обрабатывать несколько смежных ячеек за один рабочий цикл. Достаточно передать лишь адрес первой ячейки пакета, а адреса остальных микросхема вычислит самостоятельно, - только успевай подавать (забирать) записывание (считанные) данные!

Схемы, в которых в качестве запоминающей ячейки используется параллельный регистр называются статическим оперативным запоминающим устройством - статическим ОЗУ (RAM - random access memory - память с произвольным доступом), т.к. информация в нем сохраняется все время, пока к микросхеме ОЗУ подключено питание. В отличие от статической ОЗУ в микросхемах динамического ОЗУ постоянно требуется регенерировать их содержимое, иначе информация будет испорчена.В современной компьютерной системе используется память различного типа: статическая (SRAM), динамическая (DRAM), постоянная память, перепрограммируемая постоянная память и некоторые другие виды памяти.

Но, основной памятью компьютера, определяющей всю его работу, является оперативная память - ОЗУ. Главное требование к памяти:

Первоначально оперативная память была статического типа . Ячейка ОЗУ строилась на базе транзисторного каскада, который мог содержать до 10 транзисторов. Быстродействие у статической памяти было высокое, поскольку время переключения транзисторов из одного состояния в другое очень мало. Однако, такое количество транзисторов в расчете на одну ячейку памяти занимало довольно большой физический объем, т.е., "втиснуть" большой объем памяти в малое физическое пространство оказалось невозможным. Второй неприятной особенностью статического массива памяти стал тот факт, что транзисторы потребляют относительно большой уровень энергии, что также накладывает свои ограничения на максимальный объем памяти. Указанных выше недостатков лишена динамическая память , ячейка которой состоит из конденсатора и управляющего транзистора. Когда конденсатор заряжен - это одно логическое состояние, когда разряжен - другое. Двух состояний вполне достаточно, поскольку компьютерная система работает с двоичным кодом (сигнал либо есть - логическая "1", либо сигнала нет - логический "0"). Конденсатор и транзистор занимают места гораздо меньше, чем несколько транзисторов. Энергопотребление такого тандема тоже гораздо ниже. Но, с быстродействием возникают проблемы. Тут причин несколько:

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

Но, поскольку, основополагающим требованием для оперативной памяти является ее объем (современные модули памяти имеют объем в несколько Гб), то динамическая память оказалась предпочтительней, несмотря на то, что она работает медленнее и имеет сложную схему управляющего контроллера.

Основой ячейки памяти в ЗУ статического типа является триггер. В качестве базовых элементов для реализации триггера могут использоваться как биполярные транзисторы, так и полевые. Однако первые не нашли широкого применения в силу большой потребляемой мощности построенных на их основе микросхем памяти. Поэтому оптимальным является использование полевых транзисторов. На рис.1 представлен триггер на МОП-транзисторах с индуцируемым p-каналом. Для отпирания такого транзистора напряжение на его затворе относительно истока должно быть меньше нуля: U зи <0.

Рис. 1 - Принципиальная схема ячейки ОЗУ статического типа.

В микросхемах ОЗУ присутствуют две операции: операция записи и операция чтения. Для записи и чтения информации можно использовать различные шины данных (как это делается в сигнальных процессорах), но чаще используется одна и та же шина данных. Это позволяет экономить внешние выводы микросхем, подключаемых к этой шине и легко осуществлять коммутацию сигналов между различными устройствами.

Структурная схема статического ОЗУ приведена на рисунке 2. Вход и выход ОЗУ в этой схеме объединены при помощи шинного формирователя . Естественно, что схемы реальных ОЗУ будут отличаться от приведенной на этом рисунке. Тем не менее, приведенная схема позволяет понять как работает реальное ОЗУ. Условно-графическое обозначение ОЗУ на принципиальных схемах приведено на рисунке 3.

Рис. 2 - Структурная схема ОЗУ (RAM)

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

Конкретная ячейка ОЗУ выбирается при помощи двоичного кода - адреса ячейки. Объем памяти ОЗУ (RAM) зависит от количества ячеек, содержащихся в ней или, что то же самое, от количества адресных проводов. Количество ячеек в ОЗУ можно определить по количеству адресных проводов, возводя 2 в степень, равную количеству адресных выводов в микросхеме:

Вывод выбора кристалла CS микросхем ОЗУ позволяет объединять несколько микросхем для увеличения объема памяти ОЗУ. Такая схема приведена на рисунке 3.


Рис. 3 - Схема ОЗУ, построенного на нескольких микросхемах памяти.

Статические ОЗУ требуют для своего построения большой площади кристалла, поэтому их ёмкость относительно невелика. Статические ОЗУ применяются для построения микроконтроллерных схем из-за простоты построения принципиальной схемы и возможности работать на сколь угодно низких частотах, вплоть до постоянного тока. Кроме того статические ОЗУ применяются для построения КЭШ-памяти в универсальных компьютерах из-за высокого быстродействия статического ОЗУ.

Статическая память - SRAM (Static Random Access Memory), как и следует из ее названия, способна хранить информацию в статическом режиме - то есть сколь угодно долго при отсутствии обращений (но при наличии питающего напряжения). Ячейки статической памяти реализуются на триггерах - элементах с двумя устойчивыми состояниями. По сравнению с динамической памятью эти ячейки более сложны и занимают больше места в кристалле, однако они проще в управлении и не требуют регенерации. Быстродействие и энергопотребление статической памяти определяется технологией изготовления и схемотехникой запоминающих ячеек.
Самая экономичная статическая память КМОП (или CMOS Memory) в тоже время и самая медленная память такого типа, имеет время доступа более 100 наносекунд, но зато пригодна для длительного хранения информации при питании от маломощной батареи. Применяется CMOS память в персональных компьютерах для хранения данных о конфигурации и для реализации внутренних часов.
Самая быстродействующая статическая память имеет время доступа в несколько наносекунд, что позволяет ей работать на частоте системной шины процессора, не требуя от него тактов ожидания. Относительно высокая удельная стоимость хранения информации и высокое энергопотребление при низкой плотности упаковки элементов не позволяет использовать SRAM в качестве оперативной памяти компьютеров.
Статические запоминающие устройства (SRAM) имеют перед динамическими то преимущество, что у них время выборки практически равно времени цикла записи или чтения. Выполненная по той же технологии что и процессор, статическая память имеет высокое быстродействие. Главным ограничением в использовании статической памяти является стоимость. При равной емкости с динамической, статическая память примерно в четыре раза дороже. Поэтому данный вид памяти получил распространение в высокопроизводительных системах в качестве внешней (относительно процессора) кэш памяти. Соотношение цена/производительность в этих системах играет не столь существенную роль. Однако, с появлением микросхем статической памяти большой емкости и ее удешевлением произойдет изменение сложившегося стереотипа использования схем памяти и производители компьютеров, возможно, пойдут на замену динамической памяти статической, пока же элементы статической памяти используются в оперативной динамической памяти, как быстрый конвейерный буфер для подготовки данных к выдаче на шину данных каждый такт системной шины.
Структура микросхемы статической памяти
Элементом памяти в статических ОЗУ является триггер, выполненный на транзисторах. Структура микросхемы статической памяти (рис.1.) включает матрицу накопителя содержащую М x N элементов памяти.

Динамическая память (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. Но 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 выполнена в виде 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 - через два дня.