Введение
История
Современная оперативная память
DRAM
.1 Ядро DRAM
.2 Интерфейс DRAM
SRAM
.1 Ядро SRAM
.2 Интерфейс SRAM
Память с изменением фазового состояния (PRAM)
Магниторезистивная память
T-RAM
Заключение
Библиографический список
Введение
Одним из важнейших устройств компьютера является память, или запоминающее устройство (ОЗУ). По определению, данном в книге "Информатика в понятиях и терминах", ОЗУ - "функциональная часть цифровой вычислительной машины, предназначенной для записи, хранения и выдачи информации, представленных в цифровом виде." Однако под это определение попадает как собственно память, так и внешние запоминающие устройства (типа накопителей на жестких и гибких дисках, магнитной ленты, CD-ROM), которые лучше отнести к устройствам ввода/вывода информации. Таким образом под компьютерной памятью в дальнейшем будет пониматься только "внутренняя память компьютера: ОЗУ, ПЗУ, кэш память и флэш-память". Итак, рассмотрим классификацию внутренней памяти компьютера.
Операти́вная па́мять (англ. Random Access Memory, RAM, память с произвольным доступом, ОЗУ) - это энергозависимая часть системы компьютерной памяти, в которой во время работы компьютера хранится выполняемый машинный код (программы), а также входные, выходные и промежуточные данные, обрабатываемые процессором.
Оперативное запоминающее устройство является, пожалуй, одним из самых первых устройств вычислительной машины. Она присутствовала уже в первом поколении ЭВМ по архитектуре (“Информатика в понятиях и терминах”), созданных в сороковых - в начале пятидесятых годов двадцатого века. За эти пятьдесят лет сменилось не одно поколение элементной базы, на которых была построена память. Поэтому автор приводит некоторую классификацию ОЗУ по элементной базе и конструктивным особенностям.
Обмен данными между процессором и оперативной памятью производится:
- непосредственно;
- через сверхбыструю память 0-го уровня - регистры в АЛУ, либо при наличии аппаратного кэша процессора - через кэш.
Содержащиеся в современной полупроводниковой оперативной памяти данные доступны и сохраняются только тогда, когда на модули памяти подаётся напряжение. Выключение питания оперативной памяти, даже кратковременное, приводит к искажению либо полному разрушению хранимой информации.
Энергосберегающие режимы работы материнской платы компьютера позволяют переводить его в режим сна, что значительно сокращает уровень потребления компьютером электроэнергии. В режиме гибернации питание ОЗУ отключается. В этом случае для сохранения содержимого ОЗУ операционная система (ОС) перед отключением питания записывают содержимого ОЗУ на устройство постоянного хранения данных (как правило, жёсткий диск). Например, в ОС Windows XP содержимое памяти сохраняется в файл hiberfil.sys, в ОС семейства Unix - на специальный swap-раздел жёсткого диска.
В общем случае, ОЗУ содержит программы и данные ОС и запущенные прикладные программы пользователя и данные этих программ, поэтому от объёма оперативной памяти зависит количество задач, которые одновременно может выполнять компьютер под управлением ОС.
Оперативное запоминающее устройство, ОЗУ - техническое устройство, реализующее функции оперативной памяти.
ОЗУ может изготавливаться как отдельный внешний модуль или располагаться на одном кристалле с процессором, например, в однокристальных ЭВМ или однокристальных микроконтроллерах.
В 1834 году Чарльз Бэббидж начал разработку Аналитической машины. Одну из важных частей этой машины он называл «Склад» (store), эта часть предназначалась для хранения промежуточных результатов вычислений. Информация в «складе» запоминалась в чисто механическом устройстве в виде поворотов валов и шестерней.
ЭВМ первого поколения можно считать ещё полуэкспериментальными, поэтому в них использовалось множество разновидностей и конструкций запоминающих устройств, основанных на различных физических принципах: на электромагнитных реле, на акустических линиях задержки, электронно-лучевых и электростатических трубках. В качестве ОЗУ использовались также магнитные барабаны обеспечивавшие достаточно малое для ранних компьютеров время доступа и использовался в качестве основной памяти для хранения программ и данных.
Второе поколение требовало более технологичных, дешёвых и быстродействующих ОЗУ. Наиболее распространённым видом ОЗУ в то время стала память на магнитных сердечниках.
Начиная с третьего поколения большинство электронных узлов компьютеров стали выполнять на микросхемах, в том числе и ОЗУ. Наибольшее распространение получили два вида ОЗУ: на основе электрических конденсаторов (динамическая память) в которой информация хранится в виде электрического заряда конденсатора и статическая память, в которой информация хранится в виде состояний бистабильных устройств - триггеров. Оба этих вида памяти не сохраняют информацию при отключении питания. Для этого используется Энергонезависимая память.
Сейчас в большинстве случаев применяются и развиваются следующие виды ОЗУ:
- статическое (SRAM) память в виде массивов триггеров;
- динамическое (DRAM) память в виде массивов конденсаторов;
- основанном на изменении фазы (PRAM);
- магниторезистивная (MRAM)
- тиристорная (T-RAM).
В основном на данный момент используются SRAM и DRAM.
(Dynamic random access memory, Динамическая память с произвольным доступом) - тип энергозависимой полупроводниковой памяти с произвольным доступом; DRAM широко используемая в качестве оперативной памяти современных компьютеров, а также в качестве постоянного хранилища информации в системах, требовательных к задержкам.
Физически DRAM состоит из ячеек, созданных в полупроводниковом материале, в каждой из которых можно хранить определённый объём данных, строку от 1 до 4 бит. Совокупность ячеек такой памяти образуют условный «прямоугольник», состоящий из определённого количества строк и столбцов. Один такой «прямоугольник» называется страницей, а совокупность страниц называется банком. Весь набор ячеек условно делится на несколько областей.
Как запоминающее устройство, DRAM представляет собой модуль памяти различных конструктивов, состоящий из электрической платы, на которой расположены микросхемы памяти и разъёма, необходимого для подключения модуля к материнской плате.
Ядро микросхемы динамической памяти состоит из множества ячеек, каждая из которых хранит всего один бит информации. На физическом уровне ячейки объединяются в прямоугольную матрицу, горизонтальные линейки которой называются строками (ROW), а вертикальные - столбцами (Column) или страницами (Page).
Линейки представляют собой обыкновенные проводники, на пересечении которых находится "сердце" ячейки - несложное устройство, состоящее из одного транзистора и одного конденсатора.
Конденсатору отводится роль непосредственного хранителя информации. Правда, хранит он очень немного - всего один бит. Отсутствие заряда на обкладках соответствует логическому нулю, а его наличие - логической единице. Транзистор же играет роль "ключа", удерживающего конденсатор от разряда. В спокойном состоянии транзистор закрыт, но, стоит подать на соответствующую строку матрицы электрический сигнал, как спустя мгновение-другое (конкретное время зависит от конструктивных особенностей и качества изготовления микросхемы) он откроется, соединяя обкладку конденсатора с соответствующим ей столбцом.
Чувствительный усилитель, подключенный к каждому из столбцов матрицы, реагируя на слабый поток электронов, устремившихся через открытые транзисторы с обкладок конденсаторов, считывает всю страницу целиком. Поэтому именно страница является минимальной порцией обмена с ядром динамической памяти. Чтение/запись отдельно взятой ячейки невозможно! Действительно, открытие одной строки приводит к открытию всех, подключенных к ней транзисторов, а, следовательно, - разряду закрепленных за этими транзисторами конденсаторов.
Чтение ячейки деструктивно по своей природе, поскольку чувствительный усилитель разряжает конденсатор в процессе считывания его заряда. "Благодаря" этому динамическая память представляет собой память разового действия. Разумеется, такое положение дел никого устроить не может, и потому во избежание потери информации считанную строку приходится тут же перезаписывать вновь. В зависимости от конструктивных особенностей эту миссию выполняет либо контроллер памяти, либо сама микросхема памяти. Практически все современные микросхемы принадлежат к последней категории.
Ввиду микроскопических размеров, а, следовательно, емкости конденсатора
записанная на нем информация хранится крайне недолго, - буквально сотые, а то
тысячные доли секунды. Причина тому - саморазряд конденсатора. Несмотря на
использование высококачественных диэлектриков с огромным удельным
сопротивлением, заряд стекает очень быстро, ведь количество электронов,
накопленных конденсатором на обкладках, относительно невелико. Для борьбы с
"забывчивостью" памяти прибегают к ее регенерации - периодическому
считыванию ячеек с последующей перезаписью. В зависимости от конструктивных
особенностей "регенератор" может находиться как в контроллере, так и
в самой микросхеме памяти. Сегодня же регенератор чаще всего встраивается
внутрь самой микросхемы, причем перед регенерацией содержимое обновляемой
строки копируется в специальный буфер, что предотвращает блокировку доступа к
информации.
Физически микросхема памяти (не путать с модулями памяти) представляет собой прямоугольный кусок керамики (или пластика) с множеством ножек. Что это за ножки?
В первую очередь выделим среди них линии адреса и линии данных. Линии адреса, как и следует из их названия, служат для выбора адреса ячейки памяти, а линии данных - для чтения и для записи ее содержимого. Необходимый режим работы определяется состоянием специального вывода Write Enable (Разрешение Записи).
Низкий уровень сигнала WE готовит микросхему к считыванию состояния линий данных и записи полученной информации в соответствующую ячейку, а высокий, наоборот, заставляет считать содержимое ячейки и "выплюнуть" его значения в линии данных.
Совмещение выводов микросхемы увеличивает скорость обмена с памятью, но не позволяет осуществлять чтение и запись одновременно (однако размещенные внутри кристалла процессора микросхемы кэш-памяти, благодаря своим микроскопическим размерам на количество ножек не скупятся и беспрепятственно считывают ячейку во время записи другой).
Столбцы и строки матрицы памяти тем же самым способом совмещаются в единых адресных линиях. В случае квадратной матрицы количество адресных линий сокращается вдвое, но и выбор конкретной ячейки памяти отнимает вдвое больше тактов, ведь номера столбца и строки приходится передавать последовательно. Причем, возникает неоднозначность, что именно в данный момент находится на адресной линии: номер строки или номер столбца? А, быть может, и вовсе не находится ничего? Решение этой проблемы потребовало двух дополнительных выводов, сигнализирующих о наличии столбца или строки на адресных линиях и окрещенных RAS (от row address strobe - строб адреса строки) и CAS (от column address strobe - строб адреса столбца) соответственно. В спокойном состоянии на обоих выводах поддерживается высокий уровень сигнала, что говорит микросхеме: никакой информации на адресных линиях нет и никаких действий предпринимать не требуется.
Когда возникает необходимость прочесть содержимое некоторой ячейки памяти, контроллер преобразует физический адрес в пару чисел - номер строки и номер столбца, а затем посылает первый из них на адресные линии. Дождавшись, когда сигнал стабилизируется, контроллер сбрасывает сигнал RAS в низкий уровень, сообщая микросхеме памяти о наличии информации на линии. Микросхема считывает этот адрес и подает на соответствующую строку матрицы электрический сигнал. Все транзисторы, подключенные к этой строке, открываются и бурный поток электронов, срываясь с насиженных обкладок конденсатора, устремляется на входы чувствительного усилителя. Чувствительный усилитель декодирует всю строку, преобразуя ее в последовательность нулей и единиц, и сохраняет полученную информацию в специальном буфере. Все это (в зависимости от конструктивных особенностей и качества изготовления микросхемы) занимает от двадцати до сотни наносекунд, в течение которых контроллер памяти выдерживает терпеливую паузу. Наконец, когда микросхема завершает чтение строки и вновь готова к приему информации, контроллер подает на адресные линии номер колонки и, дав сигналу стабилизироваться, сбрасывает CAS в низкое состояние. Затем микросхема и преобразует номер колонки в смещение ячейки внутри буфера. Остается всего лишь прочесть ее содержимое и выдать его на линии данных. Это занимает еще какое-то время, в течение которого контроллер ждет запрошенную информацию. На финальной стадии цикла обмена контроллер считывает состояние линий данных, дезактивирует сигналы RAS и CAS, устанавливая их в высокое состояние, а микросхема берет определенный тайм-аут на перезарядку внутренних цепей и восстановительную перезапись строки.
Задержка между подачей номера строки и номера столбца на техническом
жаргоне называется "RAS to CAS delay" (на сухом официальном языке -
tRCD). Задержка между подачей номера столбца и получением содержимого ячейки на
выходе - "CAS delay" (или tCAC), а задержка между чтением последней
ячейки и подачей номера новой строки - "RAS precharge" (tRP).
Рисунок 1 - DRAM DDR3
Статическая оперативная память с произвольным доступом (SRAM, static random access memory) - полупроводниковая оперативная память, в которой
каждый двоичный или троичный разряд хранится в схеме с положительной обратной
связью, позволяющей поддерживать состояние без регенерации, необходимой в
динамической памяти (DRAM).
Тем не менее, сохранять данные без перезаписи SRAM может только пока есть питание, то есть SRAM остается энергозависимым типом
памяти. Произвольный доступ (RAM - random access memory) - возможность выбирать для записи/чтения любой из
битов (тритов) (чаще байтов (трайтов), зависит от особенностей конструкции), в
отличие от памяти с последовательным доступом (SAM - sequential access memory).
Ядро микросхемы статической оперативной памяти (SRAM - Static Random Access Memory) представляет собой совокупность триггеров - логических устройств, имеющих два устойчивых состояния, одно из которых условно соответствует логическому нулю, а другое - логической единице. Другими словами, каждый триггер хранит один бит информации, - ровно столько же, сколько и ячейка динамической памяти.
Между тем, триггер как минимум по двум позициям обыгрывает конденсатор:
- состояния триггера устойчивы и при наличии питания могут сохраняться бесконечно долго, в то время как конденсатор требует периодической регенерации;
- триггер, обладая мизерной инертностью, без проблем работает на частотах вплоть до нескольких ГГц, тогда как конденсаторы "сваливаются" уже на 75-100 МГц.
К недостаткам триггеров следует отнести их высокую стоимость и низкую плотность хранения информации. Если для создания ячейки динамической памяти достаточного всего одного транзистора и одного конденсатора, то ячейка статической памяти состоит как минимум из четырех, а в среднем шести - восьми транзисторов, поэтому мегабайт статической памяти оказывается по меньшей мере в несколько раз дороже.
По своему устройству, интерфейсная обвязка матрицы статической памяти, практически ничем не отличается от аналогичной ей обвязки матрицы динамической памяти. Поэтому, не будем подробно останавливаться на этом вопросе и рассмотрим его лишь в общих чертах.
Пожалуй, единственное различие в интерфейсах статической и динамической памяти заключается в том, что микросхемы статической памяти имея значительно меньшую емкость (а, следовательно - и меньшее количество адресных линий) и геометрически располагаясь гораздо ближе к процессору, могут позволить себе роскошь не прибегать к мультиплексированию. И потому, для достижения наивысшей производительности, номера строк и столбцов чаще всего передаются одновременно.