В чем достоинства и недостатки памяти fpm
В вопросах производительности памяти наблюдается некоторая путаница, поскольку обычно она измеряется в наносекундах, в то время как быстродействие процессоров — в мегагерцах и гигагерцах. В новых быстродействующих модулях памяти быстродействие измеряется в мегагерцах, что дополнительно усложняет ситуацию. К счастью, перевести одни единицы измерения в другие не составляет труда.
Наносекунда — это одна миллиардная доля секунды, т.е. очень короткий промежуток времени. В частности, скорость света в вакууме равна 299 792 км/с, т.е. за одну миллиардную долю секунды световой луч проходит расстояние, равное всего 29,98 см, т.е. меньше длины обычной линейки.
Быстродействие микросхем памяти и систем в целом выражается в мегагерцах (МГц), т.е. в миллионах тактов в секунду, или же в гигагерцах (ГГц), т.е. в миллиардах тактов в секунду. Современные процессоры имеют тактовую частоту от 2 до 4 ГГц, хотя гораздо большее влияние на их производительность оказывает их внутренняя архитектура (например, многоядерность). Ранее были приведены формулы, позволяющие преобразовывать единицы измерения быстродействия. В табл.
Как можно заметить, при увеличении тактовой частоты продолжительность цикла уменьшается.
В ходе эволюции компьютеров для повышения эффективности обращения к памяти создавались различные уровни кэширования, позволяющие перехватывать обращения процессора к более медленной основной памяти. Только недавно модули памяти DDR, DDR2 и DDR3 SDRAM сравняли свою производительность с шиной процессора. Когда частоты шин процессора и памяти равны, производительность памяти становится оптимальной для конкретной системы. Модули DRAM, использовавшиеся в первых версиях Pentium и Pentium II до 1198 года, работали на частоте всего 16,7 МГц. При этом сами процессоры работали с частотой до 300 МГц при частоте шины 66 МГц. Все это приводило к глобальным диспропорциям в производительности процессора и памяти. Однако начиная с 1998 года промышленность перешла к выпуску более быстродействующих модулей SDRAM, способных работать на частоте шины 66 МГц. С тех пор основное внимание уделялось выравниванию быстродействия памяти и процессора.
К 2000 году скорость шины процессора и памяти увеличилась до 100 и даже 133 МГц (эти модули назывались PC100 и PC133 соответственно). В начале 2001 года быстродействие памяти удвоилось и стало равным 200 и 266 МГц; в 2002 году выпускались модули памяти DDR со скоростью 333 МГц, а в 2003 году — 400 и 533 МГц. В 2005 и 2006 годах рост быстродействия памяти соответствовал росту скорости шины процессора — от 667 до 800 МГц. В 2007 году скорость памяти DDR2 была доведена до 1066 МГц, и одновременно с этим была выпущена память DDR3 с такой же и более высокой частотой. В таблице перечислены основные типы модулей памяти и их быстродействие.
Примечание к таблице!
EDO. Extended Data Out (расширенные возможности вывода данных).
DIMM. Dual Inline Memory Module (модуль памяти с двухрядным расположением выводов).
DDR. Double Data Rate (удвоенная скорость передачи данных).
FPM. Fast Page Mode (быстрый постраничный режим).
SIMM. Single Inline Memory Module (модуль памяти с однорядным расположением выводов).
RIMM. Rambus Inline Memory Module (модуль памяти стандарта Rambus).
Практика применения
Динамическая память с быстрым страничным доступом, активно используется с микропроцессорами 80386 и 80486 [3] .
Содержание
Принцип работы
Особенности работы
Основным отличием от памяти предыдущего поколения стала поддержка сокращенных адресов. Если очередная запрашиваемая ячейка находится в той же самой строке, что и предыдущая, ее адрес однозначно определяется одним лишь номером столбца и передача номера строки уже не требуется. За счет чего это достигается? При работе с обычной DRAM после считывания данных сигнал RAS дезактивируется, подготавливая микросхему к новому циклу обмена, контроллер FPM-DRAM удерживает RAS в низком состоянии, избавляясь от повторной пересылки номера строки.
При последовательном чтении ячеек памяти, (равно как и обработке компактных одно-двух килобайтовых структур данных), время доступа сокращается на 40%, а то и больше, ведь обрабатываемая строка находится во внутреннем буфере микросхемы, и обращаться к матрице памяти нет никакой необходимости [4] !
В настоящее время используются запоминающие устройства трёх типов: ROM (read only memory), DRAM(Dynamic Random Access Memory), S-RAM (Static RAM).
DRAM (Dynamic Random Access Memory Динамическая память с произвольным доступом) — оперативная или энергозависимая память, является рабочей областью процессора. Именно здесь во время работы хранятся активные программы и данные. Оперативная память — это временное хранилище данных и поэтому перед отключением компьютера или нажатием кнопки сброса, внесённые во время работы изменения, должны быть сохранены на устройстве постоянной памяти, как правило, это жёсткий диск. Поскольку обращение к данным, хранящимся в оперативной памяти, не зависят от порядка их расположения, то устройства оперативной памяти иногда ещё называют запоминающим устройством с произвольным доступом.
DRAM-память (мировой рынок)
В настоящее время DRAM используется в большинстве современных компьютеров. Главное преимущество этого типа памяти заключается в чрезвычайно плотной упаковке ячеек, что позволяет создавать память большой ёмкости, при этом само устройство занимает очень мало места. Каждая ячейка это микро конденсатор, который удерживает заряды (наличием или отсутствием зарядов и кодируются биты информации). Главная проблема такой памяти это необходимость постоянно регенерировать заряд иначе конденсатор «стечёт», что приведёт к потере данных. За обновление которых и, следовательно, сохранность отвечает встроенный контролёр с частотой регенерации 15 мкс. В современных компьютерах, работающих на сверхвысоких частотах, процесс регенерации отнимает не более 1 % времени работы процессора. Поэтому нет смысла увеличивать время между циклами — на работу процессора это существенно не повлияет, и к тому же может привести к разрядке конденсатора и, как следствие, к потере данных.
«Многие поставщики включились в гонку за рыночной долей, инвестируя значительные средства в дополнительное производственное оборудование, - комментирует Нэм Хьюнг Ким (Nam Hyung Kim), директор и главный аналитик iSuppli в области систем хранения данных и чипов памяти. – Одни компании надеялись, что другие выйдут из гонки, однако этого не произошло». В результате объемы производства были наращены значительно, а спрос упал. Память DRAM используется в ОЗУ.
Конструктивные исполнения памяти DRAM
Вы здесь: Главная Оперативная память Типы ОЗУ Память FPM
Работа динамической памяти при чтении данных и регенерации
Будем рассматривать принцип чтения данных из динамической памяти на примере считывания данных из ячейки памяти М11:
- Процессор запрашивает порцию данных (размер зависит от разрядности процессора, для 32-разрядного процессора минимальной единицей обмена, обычно, являются 32 бита) и выдает их адрес.
- Контроллер шины памяти преобразует адрес в номер строки и номер столбца и выдает номер строки в дешифратор адреса строки. Дешифратор адреса строки выдает сигнал в соответствующую строку матриц памяти. Мы договорились, что в примере данные будем читать из первой ячейки памяти. Поэтому дешифратор адреса строки подаст напряжение на первую строку (S1).
- Напряжение, поданное на строку S1, откроет транзисторы VT1 и VT3 первой ячейки памяти и соответствующие транзисторы всех остальных ячеек первой строки.
- Дальнейшая работа памяти зависит от наличия или отсутствия заряда на конденсаторе. Рассмотрим отдельно два случая, когда на конденсаторе ячейки М11 есть заряд, и когда нет.
- В начале рассмотрим случай, когда заряд в конденсаторе есть (ячейка памяти содержит бит со значением ноль):
Так как на конденсаторе С ячейки памяти М11 есть заряд, то транзистор VT2 будет открыт, а, соответственно, ток, создаваемый входным напряжением Uп, пойдет по линии AB. В результате, на выходе Q1 первого столбца тока не будет. А это означает, что с ячейки памяти М11 считан ноль. Соответствующая информация о считанном бите с первого столбца будет записана в «Буфер данных».
Для поддержания транзистора VT2 в открытом состоянии и протекания тока по линии AB расходуется заряд конденсатора С. В результате, конденсатор очень быстро разрядится, если не провести его регенерацию.
Так как на выходе Q1 тока нет, то он не будет поступать и в «Блок регенерации 1», а, соответственно, на нижнем входе элемента L3 (логическое «И») будет логический ноль.
Так как мы рассматриваем случай чтения данных, то сигнал записи V1 и данные для записи D1 в «Блок регенерации 1» подаваться не будут. В остальные блоки регенерации соответствующие сигналы D1-Dm и V1-Vm также подаваться не будут.
В результате, на входе элемента L1 (логическое «НЕ») будет логический «0», а на выходе – логическая «1», поэтому на входах элемента L3 (логическое «И») будет логический «0» и логическая «1». Это значит, что на выходе этого элемента будет логический «0».
На выходе логического элемента L2 (логическое «И») будет логический ноль, так как на обоих его входах напряжение отсутствует, так как от контроллера шины памяти отсутствуют команды на запись и данные для записи.
Имея на обоих входах элемента L4 (логическое «ИЛИ-НЕ») логический «0», на его выходе будем иметь логическую «1», то есть с блока регенерации пойдет ток подзарядки конденсатора С. Так как транзистор подзарядки VT1 ячейки памяти М11 открыт, то ток подзарядки беспрепятственно пройдет в конденсатор С. Остальные ячейки памяти первого столбца имеют закрытый конденсатор подзарядки, а, следовательно, подзарядка их конденсаторов происходить не будет. - Теперь рассмотрим случай, когда в конденсаторе нет заряда (ячейка памяти хранит бит со значением «1»):
Ток, создаваемый входным напряжением Uп, пойдет по линии AЕ, так как транзистор VT2 будет закрыт. Следовательно, на входе Q1 «Буфера данных» будет ток, что означает – с ячейки памяти считана единица. Информация о считанном бите с первого столбца будет записана в «Буфер данных».
Так как в конденсаторе заряда не было, то и подзаряжать его надобности нет. Следовательно, с блока регенерации ток пойти не должен.
Так как на выходе Q1 ток есть, то он поступает и в «Блок регенерации». Следовательно, на нижний вход элемента L3 (логическое «И») подается логическая единица.
Так как мы рассматриваем случай чтения данных, то сигнала записи V1 и данных для записи D1 в «Блок регенерации 1» подаваться не будет. Так же в остальные блоки регенерации, соответствующие сигналы D1-Dm и V1-Vm так же подаваться не будут.
Следовательно, на входе элемента L1 (логическое «НЕ») будет логический ноль, а на выходе – логическая «1». Таким образом, на входах элемента L3 (логическое «И») будут две логические единицы. В результате, на выходе получим так же логическую единицу.
На выходе логического элемента L2 (логическое «И») будет логический ноль, так как на обоих его входах напряжение отсутствует, так как от контроллера памяти нет команд на запись и данных для записи.
В результате, на входах элемента L4 (логическое «ИЛИ-НЕ») будет логический ноль и логическая единица, а, соответственно, на его выходе будет логический ноль, то есть напряжение будет отсутствовать. Так как напряжение отсутствует, то ни один из конденсаторов первого столбца матрицы памяти подзаряжаться не будет.
При чтении данных одновременно происходит и их регенерация. Однако не все данные ОЗУ постоянно нужны для работы, поэтому обращение к некоторым ячейкам памяти может быть очень редким. Для того чтобы данные в таких ячейках не были утеряны, их приходится считывать принудительно, не дожидаясь пока они потребуются процессору. Поэтому «Блок управления» с определенной частотой, в моменты простоя памяти или между обращением к памяти процессора (или других устройств), регенерирует данные во всех ячейках памяти.
Структура
Физически DRAM состоит из ячеек, созданных в полупроводниковом материале, в каждой из которых можно хранить определённый объём данных, строку от 1 до 4 бит. Совокупность ячеек такой памяти образуют условный «прямоугольник», состоящий из определённого количества строк и столбцов. Один такой «прямоугольник» называется страницей, а совокупность страниц называется банком. Весь набор ячеек условно делится на несколько областей. Как запоминающее устройство, DRAM представляет собой модуль памяти различных конструктивов, состоящий из электрической платы, на которой расположены микросхемы памяти и разъёма, необходимого для подключения модуля к материнской плате.
Основной особенностью DRAM является динамическое хранение данных. Это даёт возможность многократно записывать информацию в оперативную память, но при этом возникает необходимость постоянно обновлять данные. Фактически перезапись происходит каждые 15 мкс. Существует также статическая оперативная (или кеш) память (S-RAM), не требующая постоянного обновления данных. И один и другой вид функционирует только при включённом компьютере. Оперативная память физически представляет собой набор микросхем, которые подключаются к системной плате. Поскольку характеристики этих микросхем весьма различны, то для нормальной работы они должны быть совместимы с системой.
История
Память FPM появилась в 1990 году. Она использовала шину шириной 64 бита, напряжение 5 вольт и имела пропускную способность до 200 Мбит/с на частоте 25 МГц. На замену FPM RAM в 1995 году пришла память EDO DRAM (Extended Data Out DRAM)(40 МГц), а затем, в 1996 году, SDRAM (до 133 МГц). Существует довольно много различных вариантов динамической памяти, незначительно отличающихся друг от друга принципами доступа к данным. Обычная динамическая память DRAM уже давно не встречается — в середине 90-х ей на смену пришла модификация динамической памяти PM DRAM (Page Mode DRAM) FPM DRAM оперативная память. Основное ее отличие от памяти FP DRAM заключалось в поддержке сохраненных адресов. То есть, если новое считываемое из памяти слово находилось в той же строке, что и предыдущее слово, то обращение к матрице памяти не требовалось, а выборка данных осуществлялась из «Буфера данных» по номерам столбцов. Это позволяло в случае чтения из памяти массивов данных значительно сократить время чтения. Однако запись данных в память осуществлялась точно так же, как и в памяти PM DRAM. Да и далеко не всегда считываемые данные располагались в одной строке. В результате, прирост производительности сильно зависел от типа программ, с которыми работала ЭВМ. Прирост мог быть, как существенный, так и вовсе могло быть замедление работы, из-за дополнительных накладных расходов на анализ номера строки предыдущей операции чтения.
Работа динамической памяти при записи данных
Будем рассматривать принцип записи данных в динамическую память на примере записи данных в ячейку памяти М11:
- Контроллер шины памяти получает команду на запись данных, данные и адрес, куда необходимо записать эти данные.
- Контроллер шины памяти преобразует адрес на две составляющие – номер строки и номера столбцов, и передает полученные составляющие в «Дешифратор адреса строки» и в «Дешифратор адреса столбцов». А данные передает в «Блок работы с данными».
- Дешифратор адреса строки выдает сигнал в соответствующую строку матрицы памяти. Мы договорились, что в примере данные будем записывать в первую ячейку памяти. Поэтому дешифратор адреса строки подаст напряжение на первую строку (S1).
- Одновременно с «Дешифратора адреса столбцов» выдаются сигналы V в столбцы, соответствующие полученному адресу. В эти же столбцы подаются сигналы D с «Блока работы с данными», уровень которых определяется значением битов записываемого слова.
- Напряжение, поданное на строку S1, откроет конденсаторы VT1 и VT3 первой ячейки памяти и соответствующие конденсаторы всех остальных ячеек первой строки.
- Если в ячейке М11 хранится бит со значением «0» (в конденсаторе есть заряд), то ток, создаваемый входным напряжением Uп, пойдет по линии AB, иначе – по линии AE. Но нам это не важно, так как в ячейку М11 производится запись данных, а не их чтение, поэтому буфер данных будет игнорировать считанное с ячейки значение. А с выхода элемента L3 «Блока регенерации 1» будет всегда идти логический ноль, так как с дешифратора столбцов приходит сигнал (V1) на запись данных в первый столбец.
В результате, на входе элемента L1 будет логическая единица, а на выходе – логический ноль. Соответственно, на верхнем входе элемента L3 мы всегда имеем логический ноль, что означает – независимо от значений на нижнем входе, на выходе элемента L3 будет логический ноль.
На нижнем входе элемента L2 будет логическая единица, так как с дешифратора адреса столбцов выдается сигнал V1, а на верхнем входе будет либо ноль, либо единица, в зависимости от того, какое значение имеет бит записываемой информации.
Если бит имеет значение «1», то на верхнем входе элемента L2 будет «1». Имея две единицы на входе, мы получим на выходе так же логическую единицу. Соответственно, на входах элемента L4 будет получена логическая «1» и логический «0». В результате, на выходе будет логический «0», то есть ток будет отсутствовать, а, соответственно, зарядка конденсатора C идти не будет. Если до этого конденсатор С содержал заряд, то через несколько микросекунд он разрядится, пропуская ток по линии АВ. Таким образом в конденсатор С будет записан бит данных «1», соответствующий разряженному состоянию конденсатора.
Если бит имеет значение «0», то на верхнем входе элемента L2 будет «0». Имея на верхнем входе логический ноль, а на нижнем – логическую единицу, на выходе элемента L2 получим логический ноль. В результате, на верхнем и нижнем входах элемента L4 имеем логические нули, что означает – на выходе элемента L4 будет логическая единица, то есть пойдет ток зарядки конденсатора. Таким образом в конденсатор С будет записан бит данных «0», соответствующий заряженному состоянию конденсатора.
Аналогичным образом будут записаны данные в другие столбцы матрицы памяти. В тех столбцах, в которых запись данных не требуется, будет произведено чтение данных из ячейки памяти и ее регенерация. При этом данные в буфер памяти записаны не будут.
Запись данных во все требуемые ячейки строки матрицы памяти и чтение с регенерацией из оставшихся ячеек строки производятся параллельно.
Приведенная на рисунке 1 структурная схема памяти и описанный принцип работы соответствуют одной из самых простых организаций динамической памяти. На практике такую память уже давно не используют. Со временем, она претерпела ряд изменений, позволивших ей работать гораздо быстрее. Давайте рассмотрим эти улучшения.
Память DDR SDRAM
Память DDR (Double Data Rate — двойная скорость передачи данных) — это еще более усовершенствованный стандарт SDRAM, при использовании которого скорость передачи данных удваивается. Это достигается не за счет удвоения тактовой частоты, а за счет передачи данных дважды за один цикл: первый раз — в начале цикла, а второй — в его конце (рисунок ниже), при этом используются те же частоты и синхронизирующие сигналы.
Память DDR поступила на рынок в 2000 году и изначально использовалась в высокопроизводительных графических картах, так как на тот момент еще не существовало поддерживающих ее наборов микросхем системной логики. Свою популярность она завоевала в 2002 году, когда на рынок поступило множество материнских плат, поддерживающих этот стандарт памяти. Память DDR SDRAM выпускается в виде 184-контактных модулей.
Поставляемые модули DIMM памяти DDR SDRAM отличаются быстродействием, пропускной способностью и обычно работают при напряжении 2,5 В. Они представляют собой, в сущности, расширение стандарта SDRAM DIMM, предназначенное для поддержки удвоенной синхронизации, при которой передача данных, в отличие от стандарта SDRAM, происходит при каждом тактовом переходе, т.е. дважды за каждый цикл. Для того чтобы избежать путаницы, обычную память SDRAM часто называют памятью с одинарной скоростью передачи данных (Single Data Rate — SDR). Характеристики модулей памяти стандартов SDRAM и DDR SDRAM приведены в таблице.
Ведущие производители микросхем и модулей памяти, как правило, выпускают продукцию, удовлетворяющую стандартам JEDEC. В то же время для поддержания разгона некоторые производители модулей покупают немаркированные и непроверенные микросхемы памяти, после чего сами проводят тесты на предмет их реального быстродействия, и микросхемы со сходными характеристиками объединяют в модули с нестандартной маркировкой, обычно превосходящей по быстродействию официальные стандарты. В следующей таблице приведены характеристики популярных нестандартных модулей памяти, которые мне встречались на рынке. Однако следует учесть, что хотя быстродействие этих модулей памяти выше стандартного, чтобы получить от них полную отдачу, нужно разогнать всю систему.
Пропускная способность, приведенная в таблицах, указана в расчете на один модуль. Большинство наборов микросхем, поддерживающих DDR, поддерживают и двухканальные операции. Это технология, по которой два идентичных модуля DIMM функционируют, как единый банк, удваивая пропускную способность одного модуля. К примеру, если набор микросхем поддерживает модули PC3200, пропускная способность одного такого модуля составит 3200 Мбайт/с. При этом в двухканальном режиме эта пропускная способность удвоится и составит 6400 Мбайт/с. Двухканальные операции оптимизируют архитектуру ПК, обеспечивая одинаковое быстродействие процессора и памяти (имеется в виду не частота, а пропускная способность). Таким образом, данные перемещаются между шинами без каких-либо задержек.
FPM DRAM (англ. Fast Page Mode Dynamic Random Access Memory ) - Динамическая память с быстрым страничным доступом, которая обеспечивает более высокую производительность, чем обычное динамическое оперативно запоминающееся устройство (ОЗУ) [1] . Основным отличием от памяти предыдущего поколения стала поддержка сокращенных адресов. Если очередная запрашиваемая ячейка находится в той же самой строке, что и предыдущая, ее адрес однозначно определяется одним лишь номером столбца и передача номера строки уже не требуется. За счет чего это достигается? При работе с обычной DRAM после считывания данных сигнал RAS (Remote Access Services) [2] дезактивируется, подготавливая микросхему к новому циклу обмена, контроллер FPM-DRAM удерживает RAS в низком состоянии, избавляясь от повторной пересылки номера строки.
Память SDRAM
Это тип динамической оперативной памяти (DRAM), работа которой синхронизируется с шиной памяти. SDRAM передает информацию в пакетах, использующих высокоскоростной синхронизированный интерфейс. SDRAM позволяет избежать использования большинства циклов ожидания, необходимых при работе асинхронной DRAM, поскольку сигналы, по которым работает память такого типа, синхронизированы с тактовым генератором системной платы.
Как и любой другой тип оперативной памяти, SDRAM нуждается в поддержке набором микросхем системной логики. Начиная с наборов 430VX и 430TX, выпущенных в 1996 году, все наборы микросхем системной логики компании Intel полностью поддерживают SDRAM. С выходом в 1998 году популярного набора микросхем Intel 440BX модули SDRAM полностью вытеснили с рынка память EDO.
Эффективность SDRAM значительно выше по сравнению с эффективностью оперативной памяти FPM или EDO. Поскольку SDRAM — это тип динамической оперативной памяти, ее начальное время ожидания такое же, как у памяти FPM или EDO, но общее время цикла намного короче. Схема синхронизации пакетного доступа SDRAM выглядит так: 5-1-1-1, т.е. четыре операции чтения завершаются всего лишь за восемь циклов системной шины (сравните с 11 циклами для EDO и 14 для FPM). Таким образом, память SDRAM работает на 20% быстрее, чем EDO.
Кроме того, SDRAM может работать на частоте 133 МГц (7,5 нс) и выше, что стало новым стандартом для системного быстродействия начиная с 1998 года. Фактически все новые персональные компьютеры, проданные с 1998 по 2000 год, имеют память типа SDRAM.
Память SDRAM поставляется в виде модулей DIMM и, как правило, ее быстродействие оценивается в мегагерцах, а не в наносекундах. Физические характеристики модулей DIMM описываются далее. На рис. 6.5 будут показаны физические характеристики модулей DIMM.
Для четкой организации временных характеристик компания Intel создала ряд спецификаций, получивших названия PC66, PC100 и PC133. К примеру, можно подумать, что время доступа памяти PC100, работающей на частоте 100 МГц, составляет 10 нс, однако в соответствующей спецификации время доступа ограничено 8 нс, чтобы удовлетворить всем временным параметрам с некоторым запасом.
В мае 1999 года организация JEDEC (Joint Electron Device Engineering Council — Объединенный совет по электронным устройствам) создала спецификацию PC133. Частота 133 МГц была достигнута путем улучшения характеристик синхронизации и емкости памяти стандарта PC100. Модули памяти PC133 быстро приобрели популярность, став идеальным выбором для системных плат с частотой шины процессора 133 МГц. Базовые модули памяти PC133 обладали быстродействием 7,5 нс и тактовой частотой 133 МГц, в то время как более новые отличались быстродействием 7 нс и частотой 143 МГц. Новые микросхемы памяти PC133 также характеризовались уменьшенным временем ожидания при выборке CAS (Column Address Strobe — строб адреса столбца), благодаря чему оптимизировалось время цикла памяти.
Примечание!
Следует отметить, что некоторые производители предлагают модули памяти PC150 и PC166, хотя соответствующих стандартов JEDEC и Intel не существует, а значит, не выпускаются процессоры и наборы микросхем, официально поддерживающие данные стандарты. Как правило, при производстве подобных модулей памяти используются отобранные вручную микросхемы памяти с длительностью цикла 7,5 нс (133 МГц) или 7,0 нс (143 МГц), способные работать на частоте 150 и 166 МГц. Поэтому под модулями PC150 или PC166 на самом деле следует понимать модули памяти PC133, которые способны работать на повышенных частотах. Предназначены подобные модули памяти для энтузиастов, которые хотят разогнать систему, увеличивая частоту системной шины, процессора и памяти.
Внимание!
Особенности работы
Основным отличием от памяти предыдущего поколения стала поддержка сокращенных адресов. Если очередная запрашиваемая ячейка находится в той же самой строке, что и предыдущая, ее адрес однозначно определяется одним лишь номером столбца и передача номера строки уже не требуется. За счет чего это достигается? При работе с обычной DRAM после считывания данных сигнал RAS дезактивируется, подготавливая микросхему к новому циклу обмена, контроллер FPM-DRAM удерживает RAS в низком состоянии, избавляясь от повторной пересылки номера строки.
При последовательном чтении ячеек памяти, (равно как и обработке компактных одно-двух килобайтовых структур данных), время доступа сокращается на 40%, а то и больше, ведь обрабатываемая строка находится во внутреннем буфере микросхемы, и обращаться к матрице памяти нет никакой необходимости [4] !
FPM DRAM (англ. Fast Page Mode Dynamic Random Access Memory ) - Динамическая память с быстрым страничным доступом, которая обеспечивает более высокую производительность, чем обычное динамическое оперативно запоминающееся устройство (ОЗУ) [1] . Основным отличием от памяти предыдущего поколения стала поддержка сокращенных адресов. Если очередная запрашиваемая ячейка находится в той же самой строке, что и предыдущая, ее адрес однозначно определяется одним лишь номером столбца и передача номера строки уже не требуется. За счет чего это достигается? При работе с обычной DRAM после считывания данных сигнал RAS (Remote Access Services) [2] дезактивируется, подготавливая микросхему к новому циклу обмена, контроллер FPM-DRAM удерживает RAS в низком состоянии, избавляясь от повторной пересылки номера строки.
Принцип действия
На практике существуют разные способы реализации динамической памяти. Упрощенная структурная схема одного из способов реализации приведена на рисунке 1.
Как видно из рисунка, основным блоком памяти является матрица памяти, состоящая из множества ячеек, каждая из которых хранит 1 бит информации.
Каждая ячейка состоит из одного конденсатора (С) и трех транзисторов. Транзистор VT1 разрешает или запрещает запись новых данных или регенерацию ячейки. Транзистор VT3 выполняет роль ключа, удерживающего конденсатор от разряда и разрешающего или запрещающего чтение данных из ячейки памяти. Транзистор VT2 используется для считывания данных с конденсатора. Если на конденсаторе есть заряд, то транзистор VT2 открыт, и ток пойдет по линии AB, соответственно, на выходе Q1 тока не будет, что означает – ячейка хранит бит информации с нулевым значением. Если заряда на конденсаторе нет, то конденсатор VT2 закрыт, а ток пойдет по линии AE, соответственно, на выходе Q1 ток будет, что означает – ячейка хранит бит информации со значением “единица”.
Заряд в конденсаторе, используемый для поддержания транзистора VT2 в открытом состоянии, во время прохождения по нему тока, быстро расходуется, поэтому при чтении данных из ячейки необходимо проводить регенерацию заряда конденсатора.
Для работы динамической памяти на матрицу должно всегда поступать напряжение, на схеме оно обозначено, как Uп. С помощью резисторов R напряжение питания Uп равномерно распределяется между всеми столбцами матрицы.
Также в состав памяти входит контроллер шины памяти, который получает команды, адрес и данные от внешних устройств и ретранслирует их во внутренние блоки памяти.
Команды передаются в блок управления, который организует работу остальных блоков и периодическую регенерацию ячеек памяти.
Адрес преобразуется в две составляющие – адрес строки и адрес столбца, и передается в соответствующие дешифраторы.
Дешифратор адреса строки определяет, с какой строки надо провести чтение или запись, и выдает на эту строку напряжение.
Дешифратор адреса столбца при чтении данных определяет, какие из считанных бит данных были запрошены и должны быть выданы в шину памяти. При записи данных дешифратор определяет, в какие столбцы надо подать команды записи.
Блок работы с данными определяет, какие данные, в какую ячейку памяти требуется записать, и выдает соответствующие биты данных для записи в эти ячейки.
Блоки регенерации определяют:
- когда происходит чтение данных и надо провести регенерацию ячейки, из которой данные были считаны;
- когда происходит запись данных, а, следовательно, регенерацию ячейки производить не надо.
Буфер данных сохраняет всю считанную строку матрицы, так как при чтении всегда считывается вся строка целиком, и позволяет потом выбрать из считанной строки требуемые биты данных.
Рассмотрим принцип работы динамической памяти на примере структурной схемы, приведенной на рисунке 1. Рассматривать будем работу с первой ячейкой (M11). Работа остальных ячеек памяти полностью идентична.
Память FPM
Чтобы сократить время ожидания, стандартная память DRAM разбивается на страницы. Обычно для доступа к данным в памяти необходимо выбрать строку и столбец адреса, на что затрачивается некоторое время. Разбиение на страницы обеспечивает более быстрый доступ ко всем данным в пределах некоторой строки памяти, т.е. если изменяется не номер строки, а только номер столбца. Такой режим доступа к данным в памяти называется быстрым постраничным режимом (Fast Page Mode), а сама память — памятью FPM. Другие варианты постраничного режима называются Static Column и Nibble Mode.
Схема повышения эффективности памяти довольно проста: память разбивается на страницы длиной от 512 байт до нескольких килобайтов. Электронная схема пролистывания позволяет при обращении к ячейкам памяти в пределах страницы сократить количество состояний ожидания. Если нужная ячейка памяти находится вне текущей страницы, то добавляется одно или больше состояний ожидания, так как система выбирает новую страницу.
Для повышения скорости доступа к памяти были разработаны и другие схемы. Одним из наиболее существенных изменений было внедрение пакетного режима доступа в процессоре 486 и более поздних. В большинстве случаев доступ к памяти является последовательным. Если же установить строку и столбец адреса в пакетном режиме, можно обращаться к следующим трем смежным адресам без дополнительных состояний ожидания. И в этом несомненное преимущество использования данного режима. Однако доступ в пакетном режиме обычно ограничивается четырьмя операциями. Чтобы объяснить это, обратимся к схеме синхронизации по количеству циклов для каждой операции доступа. Схема синхронизации типичного доступа в пакетном режиме для стандартной динамической оперативной памяти выглядит следующим образом: x-y-y-y, где x — время выполнения первой операции доступа (продолжительность цикла плюс время ожидания), а y — число циклов, необходимых для выполнения каждой последующей операции доступа.
Схема синхронизации в пакетном режиме для стандартной DRAM со временем доступа 60 нс обычно выглядит так: 5-3-3-3. Это означает, что первая операция доступа длится пять циклов на системной шине с частотой 66 МГц, что приблизительно равно 75 нс (5×15 нс; 15 нс — длительность одного цикла), в то время как последующие операции длятся по три цикла (3×15 нс = 45 нс). Без применения пакетной технологии схема синхронизации имела бы вид 5-5-5-5, так как для каждой операции выборки из памяти требовалось бы полное время ожидания. 45-наносекундный цикл при пакетной выборке и 64-разрядной шине данных обеспечивает пропускную способность 177 Мбайт/с (22,2 МГц×8 байт).
Память DRAM, поддерживающая разбиение на страницы и пакетный режим, называется памятью с быстрым постраничным режимом (Fast Page Memory — FPM). Этим подчеркивается, что для доступа к данным в памяти без смены страницы требуется меньше циклов ожидания. В большинстве компьютеров 386, 486 и Pentium, увидевших свет в 1987–1995 годах, используется память FPM, имеющая форму модулей с 30 или 72 контактами.
Другой метод ускорения FPM называется чередованием. Он совместно использует два отдельных банка памяти, распределяя между ними четные и нечетные байты. Когда происходит обращение к одному банку, в другом банке выбираются строка и столбец адреса. К моменту окончания выборки данных в первом банке во втором заканчиваются циклы ожидания, и он готов к выборке данных. Когда данные выбираются из второго банка, в первом идет процесс выборки строки и столбца адреса для следующей операции доступа. Это совмещение (перекрытие по времени) операций доступа в двух банках сокращает время ожидания и обеспечивает более быстрый поиск данных. Единственная проблема состоит в том, что для использования данного метода необходимо устанавливать идентичные пары модулей, а при этом удваивается количество микросхем SIMM или DIMM. Чередование широко использовалось в 32-разрядных запоминающих устройствах для процессора 486, но малоэффективно в случае 64-разрядной памяти в процессоре Pentium. Чтобы использовать чередование памяти в Pentium, необходимо установить 128разрядную память, т.е. четыре модуля SIMM с 72 контактами.
Практика применения
Динамическая память с быстрым страничным доступом, активно используется с микропроцессорами 80386 и 80486 [3] .
Самое читаемое
- Арифметико логическое устройство (АЛУ)
- Страничный механизм в процессорах 386+. Механизм трансляции страниц
- Организация разделов на диске
- Диск Picture CD
- White Book/Super Video CD
- Прямой доступ к памяти, эмуляция ISA DMA (PC/PCI, DDMA)
- Карты PCMCIA: интерфейсы PC Card, CardBus
- Таблица дескрипторов прерываний
- Разъемы процессоров
- Интерфейс Slot A
Работа динамической памяти в состоянии покоя
И так, первое что мы рассмотрим – этот состояние покоя, когда к памяти отсутствуют обращения, и она не в стадии регенерации данных.
DRAM – память энергозависимая, поэтому работа с ней возможна только при подаче питания. На схеме подаваемое на плату питание обозначено, как Uп. Подаваемое питание распределяется между всеми столбцами матрицы памяти с помощью транзисторов R.
Если память бездействует (от контроллера шины памяти не приходит никаких команд), то от дешифратора адреса строки не выдается сигнал ни на одну линию строк (S1-Sn) матрицы памяти. Соответственно, транзисторы VT1 и VT3 ячейки памяти M11 закрыты, также как и аналогичные транзисторы всех остальных ячеек памяти.
Следовательно, ток от подаваемого питания проходит по линии AE для первого столбца и аналогично для всех остальных столбцов матрицы памяти. Далее попадает на выходы Q1-Qm, на которых устанавливается «высокий» уровень напряжения, соответствующий значению логической «1». Но так как никаких команд от блока управления нет, то «Буфер данных» игнорирует получаемые сигналы.
Тут становится понятно, зачем нужен транзистор VT3. Он защищает конденсатор от разряда, когда к данной ячейки памяти нет обращения.
Ток по линии AE также попадает на «Блок регенерации 1», а именно, на нижний вход элемента L3 (логическое «И»), то есть на нижний вход элемента L3 подается логическая единица.
Рассмотрим, как в этом случае будет работать блок регенерации.
Так как от контроллера памяти нет никаких сигналов, то на входе элемента L1 (логическое «НЕ») будет логический ноль, а, соответственно, на выходе – логическая «1». Таким образом, на верхнем входе элемента L3 (логическое «И») будет логическая единица.
Имея на входах элемента L3 (логическое «И») две логические единицы, на выходе получим так же логическую единицу.
На выходе элемента L2 (логическое «И») будет логический ноль, так как на обоих его входах напряжение отсутствует, так как от контроллера памяти нет никаких команд и данных.
В результате, на входах элемента L4 (логическое «ИЛИ-НЕ») будет логический ноль и логическая единица, а, соответственно, на его выходе будет логический ноль, то есть напряжение будет отсутствовать. Так как напряжение отсутствует, то ни один конденсатор первого столбца матрицы памяти подзаряжен не будет. Хотя, даже если бы напряжение и присутствовало, все равно подзарядка была бы невозможна, так как транзисторы подзарядки (доля ячейки М11 – это VT1) были бы закрыты, ведь ни на одну строку матрицы памяти (S1-Sn) напряжение не подается.
Точно такая же ситуация будет со всеми столбцами матрицы памяти.
Таким образом, при бездействии памяти конденсаторы не подзаряжаются и хранят тот заряд (а, соответственно, и тот бит данных), который у них был с момента последней подзарядки. Однако долго это продолжаться не может, так как из-за саморазрядки конденсатор, через несколько десятков миллисекунд, разрядится, и данные будут утеряны. Поэтому необходимо постоянно проводить регенерацию памяти.
Компоненты ПК
Мини блог
История
Память FPM появилась в 1990 году. Она использовала шину шириной 64 бита, напряжение 5 вольт и имела пропускную способность до 200 Мбит/с на частоте 25 МГц. На замену FPM RAM в 1995 году пришла память EDO DRAM (Extended Data Out DRAM)(40 МГц), а затем, в 1996 году, SDRAM (до 133 МГц). Существует довольно много различных вариантов динамической памяти, незначительно отличающихся друг от друга принципами доступа к данным. Обычная динамическая память DRAM уже давно не встречается — в середине 90-х ей на смену пришла модификация динамической памяти PM DRAM (Page Mode DRAM) FPM DRAM оперативная память. Основное ее отличие от памяти FP DRAM заключалось в поддержке сохраненных адресов. То есть, если новое считываемое из памяти слово находилось в той же строке, что и предыдущее слово, то обращение к матрице памяти не требовалось, а выборка данных осуществлялась из «Буфера данных» по номерам столбцов. Это позволяло в случае чтения из памяти массивов данных значительно сократить время чтения. Однако запись данных в память осуществлялась точно так же, как и в памяти PM DRAM. Да и далеко не всегда считываемые данные располагались в одной строке. В результате, прирост производительности сильно зависел от типа программ, с которыми работала ЭВМ. Прирост мог быть, как существенный, так и вовсе могло быть замедление работы, из-за дополнительных накладных расходов на анализ номера строки предыдущей операции чтения.
Содержание
Архитектура ЭВМ
Память EDO
Начиная с 1995 года в компьютерах на основе Pentium используется новый тип оперативной памяти — EDO (Extended Data Out — память с расширенным выводом). Это усовершенствованный тип памяти FPM; его иногда называют Hyper Page Mode. Память типа EDO была разработана и запатентована компанией Micron Technology (позже лицензии приобрели многие другие изготовители).
Память EDO собирается из специально изготовленных микросхем, которые учитывают перекрытие синхронизации между очередными операциями доступа. Как следует из названия, драйверы вывода данных на микросхеме, в отличие от FPM, не выключаются, когда контроллер памяти удаляет столбец адреса в начале следующего цикла. Это позволяет совместить (по времени) следующий цикл с предыдущим, экономя приблизительно 10 нс в каждом цикле.
Таким образом, контроллер памяти EDO может начать выполнение новой команды выборки столбца адреса, пока данные считываются по текущему адресу. Это почти идентично использованию различных банков для чередования памяти, но в отличие от чередования не нужно одновременно устанавливать два идентичных модуля памяти в системе.
Для оперативной памяти EDO схема синхронизации в пакетном режиме имеет вид 5-2-2-2, а не 5-3-3-3, как для стандартной памяти FPM. Это означает, что четыре передачи данных из памяти EDO занимают 11 полных системных циклов (сравните с 14-ю полными циклами для FPM). Благодаря этому при проведении специальных тестов быстродействие увеличилось на 22%. При этом время выборки снижается с 45 нс (FPM) до 30 нс (EDO). В системах с 64-разрядной шиной данных (8 байт) пропускная способность увеличивается до 266 Мбайт/с (33,3 МГц×8 байт). Благодаря наличию кэш-памяти общая производительность системы повышается только на 5%. Хотя увеличение может показаться совсем небольшим, главное преимущество EDO состоит в том, что в запоминающих устройствах подобного типа используются те же микросхемы динамической оперативной памяти, что и в FPM. При этом стоимость таких запоминающих устройств равна стоимости FPM, но EDO обладает более высокой эффективностью, чем FPM.
Память EDO обычно выпускается в виде 72-контактных модулей SIMM.
Для того чтобы использовать память EDO, набор микросхем системной логики на системной плате должен поддерживать ее. Большинство наборов микросхем системной логики, выпущенных с 1995 года (Intel 430FX) по 1997 год (Intel 430TX), поддерживают этот тип памяти. Память EDO доминировала на рынке с 1995 по 1998 год. Поскольку микросхемы памяти EDO стоили столько же, сколько и стандартные микросхемы, Intel, а вслед за ней и остальные производители стали поддерживать EDO во всех наборах микросхем системной логики.
Оперативная память EDO идеальна для систем с быстродействием шины до 66 МГц. Такие шины использовались до 1997 года включительно; однако в течение 1998 года память EDO была заменена более новой и быстрой памятью SDRAM (Synchronous DRAM — синхронное динамическое ОЗУ). Эта новая архитектура стала новым стандартом оперативной памяти ПК.
Один из вариантов памяти EDO была так называемая пакетная память EDO (burst EDO или BEDO). Для ускорения передачи данных в ней была задействована пакетная обработка операций. К сожалению, эта технология была запатентована компанией Micron и так и не стала распространенным стандартом. Для поддержки был выпущен всего один набор микросхем системной логики — Intel 440FX Natoma. Стандарт BEDO был быстро вытеснен с рынка новым стандартом SDRAM, который больше пришелся по душе производителям наборов микросхем системной логики. Как таковой стандарт BEDO так и не нашел своего места в компьютерном мире; лично я никогда не слышал, чтобы он использовался в какой-либо системе.
Память FPM
Чтобы сократить время ожидания, стандартная память DRAM разбивается на страницы. Обычно для доступа к данным в памяти необходимо выбрать строку и столбец адреса, на что затрачивается некоторое время. Разбиение на страницы обеспечивает более быстрый доступ ко всем данным в пределах некоторой строки памяти, т.е. если изменяется не номер строки, а только номер столбца. Такой режим доступа к данным в памяти называется быстрым постраничным режимом (Fast Page Mode), а сама память — памятью FPM. Другие варианты постраничного режима называются Static Column и Nibble Mode.
Схема повышения эффективности памяти довольно проста: память разбивается на страницы длиной от 512 байт до нескольких килобайтов. Электронная схема пролистывания позволяет при обращении к ячейкам памяти в пределах страницы сократить количество состояний ожидания. Если нужная ячейка памяти находится вне текущей страницы, то добавляется одно или больше состояний ожидания, так как система выбирает новую страницу.
Для повышения скорости доступа к памяти были разработаны и другие схемы. Одним из наиболее существенных изменений было внедрение пакетного режима доступа в процессоре 486 и более поздних. В большинстве случаев доступ к памяти является последовательным. Если же установить строку и столбец адреса в пакетном режиме, можно обращаться к следующим трем смежным адресам без дополнительных состояний ожидания. И в этом несомненное преимущество использования данного режима. Однако доступ в пакетном режиме обычно ограничивается четырьмя операциями. Чтобы объяснить это, обратимся к схеме синхронизации по количеству циклов для каждой операции доступа. Схема синхронизации типичного доступа в пакетном режиме для стандартной динамической оперативной памяти выглядит следующим образом: x-y-y-y, где x — время выполнения первой операции доступа (продолжительность цикла плюс время ожидания), а y — число циклов, необходимых для выполнения каждой последующей операции доступа.
Схема синхронизации в пакетном режиме для стандартной DRAM со временем доступа 60 нс обычно выглядит так: 5-3-3-3. Это означает, что первая операция доступа длится пять циклов на системной шине с частотой 66 МГц, что приблизительно равно 75 нс (5×15 нс; 15 нс — длительность одного цикла), в то время как последующие операции длятся по три цикла (3×15 нс = 45 нс). Без применения пакетной технологии схема синхронизации имела бы вид 5-5-5-5, так как для каждой операции выборки из памяти требовалось бы полное время ожидания. 45-наносекундный цикл при пакетной выборке и 64-разрядной шине данных обеспечивает пропускную способность 177 Мбайт/с (22,2 МГц×8 байт).
Память DRAM, поддерживающая разбиение на страницы и пакетный режим, называется памятью с быстрым постраничным режимом (Fast Page Memory — FPM). Этим подчеркивается, что для доступа к данным в памяти без смены страницы требуется меньше циклов ожидания. В большинстве компьютеров 386, 486 и Pentium, увидевших свет в 1987–1995 годах, используется память FPM, имеющая форму модулей с 30 или 72 контактами.
Другой метод ускорения FPM называется чередованием. Он совместно использует два отдельных банка памяти, распределяя между ними четные и нечетные байты. Когда происходит обращение к одному банку, в другом банке выбираются строка и столбец адреса. К моменту окончания выборки данных в первом банке во втором заканчиваются циклы ожидания, и он готов к выборке данных. Когда данные выбираются из второго банка, в первом идет процесс выборки строки и столбца адреса для следующей операции доступа. Это совмещение (перекрытие по времени) операций доступа в двух банках сокращает время ожидания и обеспечивает более быстрый поиск данных. Единственная проблема состоит в том, что для использования данного метода необходимо устанавливать идентичные пары модулей, а при этом удваивается количество микросхем SIMM или DIMM. Чередование широко использовалось в 32-разрядных запоминающих устройствах для процессора 486, но малоэффективно в случае 64-разрядной памяти в процессоре Pentium. Чтобы использовать чередование памяти в Pentium, необходимо установить 128разрядную память, т.е. четыре модуля SIMM с 72 контактами.
Интерфейсы
Принцип работы
Содержание
Читайте также:
- В начале рассмотрим случай, когда заряд в конденсаторе есть (ячейка памяти содержит бит со значением ноль):