Реферат: Подсистема памяти современных компьютеров

Ростовский Государственный Университет

Кафедра радиофизики

Реферат на тему:

«Подсистемапамяти современных компьютеров»

Студент: Илинич К.А.

Ростов-на-дону

2001 год

<span Times New Roman",«serif»;mso-fareast-font-family: «Times New Roman»;mso-ansi-language:RU;mso-fareast-language:RU;mso-bidi-language: AR-SA">

Содержание:

1.<span Times New Roman"">     

Иерархическая организация памяти… 3

a.<span Times New Roman"">      

… 3

b.<span Times New Roman"">     

… 3

c.<span Times New Roman"">      

… 3

d.<span Times New Roman"">     

… 3

e.<span Times New Roman"">      

… 4

<span Times New Roman"">                                                                  I.<span Times New Roman"">     

… 4

<span Times New Roman"">                                                               II.<span Times New Roman"">     

… 5

<span Times New Roman"">                                                            III.<span Times New Roman"">     

… 5

<span Times New Roman"">                                                            IV.<span Times New Roman"">     

… 6

2.<span Times New Roman"">     

Динамическая память… 7

3.<span Times New Roman"">     

Общий принцип доступа к данным… 8

4.<span Times New Roman"">     

Традиционная память с асинхронным интерфейсом… 9

a.<span Times New Roman"">      

… 9

b.<span Times New Roman"">     

FPMс быстрым страничным доступом … 9

c.<span Times New Roman"">      

EDO,расширенный вывод данных… 9

d.<span Times New Roman"">     

BEDO,пакетная передача данных… 9

5.<span Times New Roman"">     

Память с синхронным интерфейсом… 10

a.<span Times New Roman"">      

SDRAM… 10

b.<span Times New Roman"">     

DDRSDRAM,удвоенная скорость данных… 12

6.<span Times New Roman"">     

Организация оперативной памяти… 12

a.<span Times New Roman"">      

… 12

b.<span Times New Roman"">     

… 13

c.<span Times New Roman"">      

… 13

7.<span Times New Roman"">     

ПамятьRambus DRAM… 14

8.<span Times New Roman"">     

Модули памяти… 18

9.<span Times New Roman"">     

Виртуальная память и организация защиты памяти… 19

a.<span Times New Roman"">      

… 19

b.<span Times New Roman"">     

… 20

c.<span Times New Roman"">      

… 21

10.<span Times New Roman""> 

Терминология… 22

11.<span Times New Roman""> 

Литература… 26<span Times New Roman",«serif»;mso-fareast-font-family: «Times New Roman»;mso-ansi-language:RU;mso-fareast-language:RU;mso-bidi-language: AR-SA">

Иерархическая организацияпамяти

Память компьютера имеет иерархическуюструктуру, центральным слоем которой является оперативная память — ОЗУили RAM (Random Access Memory — память с произвольным доступом). Оперативнаяпамять непосредственно доступна процессору: в ней хранится исполняемая в данныймомент часть программного кода и данные, к которым процессор может обращаться спомощью одной из многих команд. Произвольность доступа подразумевает, чтопроцессор в любой момент может считать или записать любой байт (слово, двойноеслово...) из этой памяти. 32-разрядные процессоры x86 способны адресовать до 4Гбайт физической памяти (кроме 386SX, урезанных до 16 Мбайт), а процессоры P6(Pentium Pro, Pentium II и старше) в режиме расширения адреса — до 64 Гбайт. Изэтого потенциально доступного пространства именно для оперативной памятииспользуется только часть: большинство системных плат пока ограничивают объемустанавливаемого ОЗУ на уровне 256 Мбайт–1 Гбайт. В этом же пространстверасполагается и постоянная память — ПЗУ, или ROM (Read Only Memory), которая вобычной работе только читается. В ПЗУ располагается BIOS (базовая системаввода-вывода) компьютера и некоторые другие элементы.

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

Последняя ступень иерархии — память навнешних носителях, или просто внешняя память. Она, так же, как и дисковая,является хранилищем файлов, и доступ к ней осуществляется поблочно.

Мы перечислили программно-видимую часть“айсберга” памяти — доступную произвольно или поблочно, прямо илипоследовательно. Есть еще и “подводная” часть — кэш-память. Оперативнаяпамять по меркам современных процессоров обладает слишком низкимбыстродействием, и, обратившись за данными, процессор вынужден простаиватьнесколько тактов до готовности данных. Начиная с процессоров 80386, оперативнуюпамять стали кэшировать (эта идея использовалась и в “древних” больших машинах,где было СОЗУ — сверхоперативное ЗУ). Идея кэширования ОЗУ заключается вприменении небольшого (по сравнению с ОЗУ) запоминающего устройства —кэш-памяти с более высоким быстродействием. Небольшого — потому, что потехнико-экономическим причинам большой объем очень быстрой памяти обходитсяслишком дорого. В этой памяти хранится копия содержимого части ОЗУ, к которой вданный момент процессор наиболее интенсивно обращается. Определять, какую частьсодержимого ОЗУ копировать в данный момент времени, должен контроллер кэша. Онэто может делать, исходя из предположения о локальности обращений к данным ипоследовательности выборок команд. Кэш-память не дает дополнительногоадресуемого пространства, ее присутствие для программы незаметно.

<span Times New Roman",«serif»;mso-fareast-font-family: «Times New Roman»;mso-ansi-language:RU;mso-fareast-language:RU;mso-bidi-language: AR-SA">

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

Концепция кэш-памяти возникла достаточно ранои сегодня кэш-память имеется практически в любом классе компьютеров, а внекоторых компьютерах — во множественном числе.

Типовые значения ключевых параметров для кэш-памятирабочих станций и серверов — типичный набор параметров, который используетсядля описания кэш-памяти:

Размер блока (строки) 

4-128 байт 

Время попадания (hit time)

1-4 такта синхронизации (обычно 1 такт)

Потери при промахе (miss penalty)

(Времядоступа — access time)

(Времяпересылки — transfer time)

8-32 такта синхронизации

(6-10 тактов синхронизации)

(2-22 такта синхронизации) 

Доля промахов (miss rate)

1%-20% 

Размер кэш-памяти

4 Кбайт — 16 Мбайт

Рассмотрим организацию кэш-памяти болеедетально, отвечая на четыре вопроса об иерархии памяти.

Размещение блока в кэш-памяти

Принципы размещения блоков в кэш-памятиопределяют три основных типа их организации:

Если каждый блок основной памяти имеет толькоодно фиксированное место, на котором он может появиться в кэш-памяти, то такаякэш-память называется кэшем с прямым отображением (direct mapped). Этонаиболее простая организация кэш-памяти, при которой для отображение адресовблоков основной памяти на адреса кэш-памяти просто используются младшие разрядыадреса блока. Таким образом, все блоки основной памяти, имеющие одинаковыемладшие разряды в своем адресе, попадают в один блок кэш-памяти, т.е.

(адрес блока кэш-памяти) =

(адрес блока основной памяти) mod (число блоков в кэше)

Если некоторый блок основной памяти можетрасполагаться на любом месте кэш-памяти, то кэш называется полностьюассоциативным (fully associative).

Если некоторый блок основной памяти можетрасполагаться на ограниченном множестве мест в кэш-памяти, то кэш называетсямножественно-ассоциативным (set associative). Обычно множество представляетсобой группу из двух или большего числа блоков в кэше. Если множество состоитиз n блоков, то такое размещение называется множественно-ассоциативным с nканалами (n-way set associative). Для размещения блока прежде всего необходимоопределить множество. Множество определяется младшими разрядами адреса блокапамяти (индексом):

(адрес множества кэш-памяти) =

(адрес блока основной памяти) mod (числомножеств в кэш-памяти)

Далее, блок может размещаться на любом месте данногомножества.

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

Поискблока находящегося в кэш-памяти

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

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

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

Замещение блока кэш-памяти припромахе

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

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

Во втором случае, чтобы уменьшить вероятностьвыбрасывания информации, которая скоро может потребоваться, все обращения кблокам фиксируются. Заменяется тот блок, который не использовался дольше всех(LRU — Least-Recently Used).

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

Различия в долях промахов при использованииалгоритма замещения LRU
и случайного алгоритма (при нескольких размерах кэша и разных ассоциативностяхпри размере блока 16 байт):

Ассоциативность:

2-канальная

4-канальная

8-канальная 

Размер кэш-памяти

LRU, Random

LRU, Random

LRU, Random

16 KB

5.18%, 5.69%

4.67%, 5.29%

4.39%, 4.96% 

64 KB

1.88%, 2.01%

1.54%, 1.66%

1.39%, 1.53% 

256 KB

1.15%, 1.17%

1.13%, 1.13%

1.12%, 1.12% 

Что происходит во время записи

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

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

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

Очень часто организация кэш-памяти в разныхмашинах отличается именно стратегией выполнения записи. Когда выполняетсязапись в кэш-память имеются две базовые возможности:

сквозная запись (write through, storethrough) — информациязаписывается в два места: в блок кэш-памяти и в блок более низкого уровняпамяти.

запись с обратным копированием (write back,copy back, store in) — информация записывается только в блок кэш-памяти. Модифицированный блоккэш-памяти записывается в основную память только когда он замещается. Длясокращения частоты копирования блоков при замещении обычно с каждым блокомкэш-памяти связывается так называемый бит модификации (dirty bit). Этот битсостояния показывает был ли модифицирован блок, находящийся в кэш-памяти. Еслион не модифицировался, то обратное копирование отменяется, поскольку болеенизкий уровень содержит ту же самую информацию, что и кэш-память.

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

Когда процессор ожидает завершения записи привыполнении сквозной записи, то говорят, что он приостанавливается для записи(write stall). Общий прием минимизации остановов по записи связан с использованиембуфера записи (write buffer), который позволяет процессору продолжитьвыполнение команд во время обновления содержимого памяти. Следует отметить, чтоостановы по записи могут возникать и при наличии буфера записи.

При промахе во время записи имеются дведополнительные возможности:

разместить запись в кэш-памяти (writeallocate)(называется такжевыборкой при записи (fetch on write)). Блок загружается в кэш-память, вслед зачем выполняются действия аналогичные выполняющимся при выполнении записи спопаданием. Это похоже на промах при чтении.

не размещать запись в кэш-памяти(называется также записью в окружение (writearound)). Блок модифицируется на более низком уровне и не загружается вкэш-память.

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

Вполне понятно, что производительностькомпьютера непосредственно зависит от производительности процессора ипроизводительности оперативной памяти. Теоретическая производительность (пропускнаяспособность) памяти пропорциональна разрядности и тактовой частоте шины иобратно пропорциональна суммарной длительности пакетного цикла. Для повышенияэтой производительности увеличивают разрядность шины (так, начиная с P532-разрядные процессоры имеют 64-разрядную системную шину), тактовую частоту (с66 МГц наконец-то поднялись до 100 с прицелом на 133 МГц). При этом, естественно,стремятся и к уменьшению числа тактов в пакетном цикле. Кроме того, шина P6позволяет процессору выставить до 16 запросов конкурирующих транзакций, так чтоу подсистемы памяти есть теоретическая возможность “многостаночной” работы.

Динамическая память

Теперь посмотрим на оперативную память изнутри.На протяжении уже трех десятилетий в качестве основной памяти используютмассивы ячеек динамической памяти. Каждая ячейка содержит всего лишь одинКМОП-транзистор (комплементарные полевые траезисторы), благодаря чемудостигается высокая плотность упаковки ячеек при низкой цене. Запоминающимэлементом у них является конденсатор (емкость затвора), и ячейка может помнитьсвое состояние недолго — всего десятки миллисекунд. Для длительного хранениятребуется регенерация — регулярное “освежение” (refresh) памяти, за что этапамять и получила название “динамическая” — DRAM (Dynamic RAM). Ячейки организуютсяв двумерные матрицы, и для обращения к ячейке требуется последовательно податьдва выбирающих сигнала — RAS# (Row Access Strobe, строб строки) и CAS# (ColumnAccess Strobe, строб столбца). Временная диаграмма циклов чтения традиционнойдинамической памяти приведена на рисунке (циклы записи для простоты здесь рассматриватьне будем). Микросхемы динамической памяти традиционно имеют мультиплексированнуюшину адреса (MA). Во время действия RAS# на ней должен быть адрес строки, вовремя действия CAS# — адрес столбца. Информация на выходе шины данныхотносительно начала цикла (сигнала RAS#) появится не раньше, чем через интервалTRAC, который называется временем доступа.Есть также минимальная задержка данных относительно импульса CAS# (TCAC), и минимально необходимые интервалы пассивности сигналов RAS# и CAS#(времена предзаряда). Все эти параметры и определяют предел производительностипамяти. Ключевой параметр микросхем — время доступа — за всю историю удалосьулучшить всего на порядок — с сотен до нескольких десятков наносекунд. Заменьший исторический период только тактовая частота процессоров x86 выросла на2 порядка, так что разрыв между потребностями процессоров и возможностями ячеекпамяти увеличивается. Для преодоления этого разрыва, во-первых, увеличиваютразрядность данных памяти, а во-вторых, строят вокруг массивов ячеек памятиразные хитрые оболочки, ускоряющие процесс доступа к данным. Все, даже “самыемодные”, типы памяти — SDRAM, DDR SDRAM и Rambus DRAM имеют запоминающее ядро,которое обслуживается описанным выше способом.

<img src="/cache/referats/8698/image002.jpg" v:shapes="_x0000_i1025">PRIVATEPRIVATE «TYPE=PICT;ALT=»

Временная диаграмма чтения динамической памяти

Общий принцип доступа к данным

Массив данныхпредставляет собой некое подобие координатной сетки, где есть положения по горизонтали(адрес строки) и по вертикали (адрес столбца). На пересечении каждогоконкретного адреса строки и столбца находится единичный «строительный элемент»памяти – ячейка, которая представляет собой ключ (транзистор) и запоминающийэлемент (конденсатор). Например, для чтения или записи одной ячейки памятинеобходимо пять тактов. Сначала на шину выставляется адрес строки. Затемподается сигнал RAS#, который является своего рода контрольным сигналом,передающим полученный адрес для записи в специально отведенное место – регистрмикросхемы памяти. После этого передается сигнал столбца, следующим тактом закоторым идет сигнал подтверждения принимаемого адреса, но уже для столбца –CAS#. И, наконец следует операция чтения-записи в/из ячейки, контролируемаясигналом разрешения – WE#. Однако, если считываются соседние ячейки, то тогданет необходимости передавать каждый раз адрес строки или столбца – процессор«надеется», что считываемые данные расположены по соседству. Поэтому, на считываниекаждой последующей ячейки понадобится уже 3 такта системной шины. Отсюда иберут свое начало существование определенных схем функционирования (тайминги)отдельно взятой разновидности памяти: x-yyy-yyyy-..., где «x» –количество тактов шины, необходимое для чтение первого бита, а у – для всех последующих.Так, цикл доступа процессора к памяти состоит из двух фаз: запроса (Request) иответа (Response). Фаза запроса состоит из трех действий: подача адреса, подачазапроса (чтения-записи) и подтверждение (необязательно). В фазу ответа входитвыдача запрашиваемых данных и подтверждение приема. Довольно часто происходитчтение четырех смежных ячеек, поэтому многие типы памяти специальнооптимизированы для данного режима работы, и в сравнительных характеристикахбыстродействия обычно приводится только количество циклов, необходимое длячтения первых четырех ячеек. Здесь речь идет о пакетной передаче, котораяподразумевает подачу одного начального адреса и дальнейшую выборку по ячейкам вустановленном порядке. Такого рода передача улучшает скорость доступа к участкампамяти с заранее определенными последовательными адресами. Обычно процессорвырабатывает адресные пакеты на четыре передачи данных по шине, посколькупредполагается, что система автоматически возвратит данные из указанной ячейкии трех следующих за ней. Преимущество такой схемы очевидно – на передачу четырехпорций данных требуется всего одна фаза запроса. Например, для памяти типа FPMDRAM применяется самая простая схема 5-333-3333-… Для памяти типа EDO DRAMпосле первого считывания блока данных, увеличивается время доступности данныхтого ряда, к которому происходит доступ в настоящий момент, при этом уменьшаявремя получения пакета данных, и память уже может работать по схеме5-222-2222-… Синхронная память типа SDRAM, в отличие от асинхронной (FPM иEDO), «свободна» от передачи в процессор сигнала подтверждения, и выдает ипринимает данные в строго определенные моменты времени (только совместно ссигналом синхронизации системной шины), что исключает несогласованность междуотдельными компонентами, упрощает систему управления и дает возможность перейтина более «короткую» схему работы: 5-111-1111-… Поэтому в рассматриваемомпункте меню настройки можно встретить варианты допустимых значений для цикловобращения к памяти: x333 или x444 – оптимально подходит для FPM DRAM, x222 илиx333 – для EDO DRAM, и x111 или x222 – для SDRAM.

Традиционная память сасинхронным интерфейсом

В традиционнойпамяти сигналы RAS# и CAS#, обслуживающие запоминающие ячейки, вводятсянепосредственно по соответствующим линиям интерфейса. Вся последовательностьпроцессов в памяти привязывается именно к этим внешним сигналам. Данных причтении будут готовы через время TCAC после сигнала RAS#, но нераньше, чем через TRAC после сигнала RAS#.

На основестандартных ячеек строится память с быстрым страничным доступом — FPM(Fast Page Mode) DRAM. Здесь для доступа к ячейкам, расположенным в разныхколонках одной строки, используется всего один импульс RAS#, во время котороговыполняется серия обращений с помощью только импульсов CAS#. Нетрудно догадаться,что в пакетных циклах доступа получается выигрыш во времени (пакеты укладываютсяв страницы “естественным” образом). Так, память FPM со временем доступа 60–70нс при частоте шины 66 МГц может обеспечить цикл чтения 5-3-3-3.

Следующимшагом стала память EDO (Extended Data Out, расширенный вывод данных)DRAM. Здесь в микросхемы памяти ввели регистры-защелки, и считываемые данные присутствуютна выходе даже после подъема CAS#. Благодаря этому можно сократить времядействия CAS# и не дожидаясь, пока внешняя схема примет данные, приступить кпредзаряду линии CAS#. Таким образом можно ускорить передачу данных внутрипакета и на тех же ячейках памяти получить цикл 5-2-2-2 (60 нс, 66 МГц). Эффектполученного ускорения компьютера, полученного довольно простым способом, былэквивалентен введению вторичного кэша, что и послужило поводом для мифа о том,что “в EDO встроен кэш”. Страничный цикл для памяти EDO называют и“гиперстраничным”, так что второе название у этой памяти — HPM (Hyper PageMode) DRAM. Регистр-защелка ввел в микросхему памяти элемент конвейера —импульс CAS# передает данные на эту ступень, а пока внешняя схема считывает их,линия CAS# готовится к следующему импульсу.

Память BEDO(Burst EDO, пакетная EDO) DRAM ориентирована на пакетную передачу. Здесьполный адрес (со стробами RAS# и CAS#) подается только в начале пакетногоцикла; последующие импульсы CAS# адрес не стробируют, а только выводят данные —память уже “знает”, какие следующие адреса потребуются в пакете. Результат —при тех же условиях цикл 5-1-1-1.

Память EDOпоявилась во времена Pentium и стала применяться также в системах на 486. Онавытеснила память FPM и даже стала ее дешевле. Память BEDO широкого распространенияне получила, поскольку ей уже “наступала на пятки” синхронная динамическаяпамять.

Вышеперечисленныетипы памяти являются асинхронными по отношению к тактированию системной шиныкомпьютера. Это означает, что все процессы инициируются только импульсами RAS#и CAS#, а завершаются через какой-то определенный (для данных микросхем)интервал. На время этих процессоров шина памяти оказывается занятой, причем, восновном, ожиданием данных.

<span Times New Roman",«serif»; mso-fareast-font-family:«Times New Roman»;mso-ansi-language:RU;mso-fareast-language: RU;mso-bidi-language:AR-SA">
Память с синхронным интерфейсом — SDRAM и DDR SDRAM

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

Микросхемы синхроннойдинамической памяти SDRAM (Synchronous DRAM) представляет собойконвейеризированные устройства, которые на основе вполне обычных ячеек (времядоступа — 50–70 нс) обеспечивают цикл 5-1-1-1, но уже при частоте шины 100 МГци выше. По составу сигналов интерфейс SDRAM близок к обычной динамическойпамяти: кроме входов синхронизации, здесь есть мультиплексированная шина адреса,линии RAS#, CAS#, WE (разрешение записи) и CS (выбор микросхемы) и, конечно же,линии данных. Все сигналы стробируются по положительному перепаду синхроимпульсов,комбинация управляющих сигналов в каждом такте кодирует определенную команду. Спомощью этих команд организуется та же последовательность внутренних сигналовRAS# и CAS#, которая рассматривалась и для памяти FPM.

Каждаямикросхема внутренне может быть организована как набор из 4 банков ссобственными независимыми линиями RAS#. Для начала любого цикла обращения к памятитребуется подать команду ACT, которая запускает внутренний формирователь RAS#для требуемой строки выбранного банка. Спустя некоторое количество тактов можновводить команду чтения RD или записи WR, в которой передается номер столбцапервого цикла пакета. По этой команде запускается внутренний формировательCAS#. Передача данных для циклов записи и чтения различается. Данные для первойпередачи пакета записи устанавливаются вместе с командой WR. В следующих тактахподаются данные для остальных передач пакета. Первые данные пакета чтенияпоявляются на шине через определенное количество тактов после команды. Это число,называемое CAS# Latency (CL), определяется временем доступа TCAC итактовой частотой. В последующих тактах будут выданы остальные данные пакета.После обращения необходимо деактивировать банк — перевести внутренний сигналRAS# в пассивное состояние, то есть произвести предзаряд (precharge). Это можетбыть сделано либо явно командой PRE, либо автоматически (как модифицированныйвариант команд RD или WR. Внутренние сигналы CAS# формируются автоматически покомандам обращения и дополнительных забот не требуют.

Регенерациявыполняется по команде REF, за заданный период регенерации (стандартный 64 мс)должно быть выполнено 4096 или 8192 (в зависимости от объема микросхемы) командREF.

На первыйвзгляд из этого описания не видно никаких особых преимуществ SDRAM по сравнениюс BEDO. Однако синхронный интерфейс в сочетании с внутренней мультибанковойорганизацией обеспечивает возможность повышения производительности памяти примножественных обращениях. Здесь имеется в виду способность современных процессоровформировать следующие запросы к памяти, не дожидаясь результатов выполненияпредыдущих. В SDRAM после выбора строки (активации банка) ее можно закрывать несразу, а после выполнения серии обращений к ее элементам, причем как по записи,так и по чтению. Эти обращения будут выполняться быстрее, поскольку для них нетребуется подачи команды активации и выжидания TRCD. Максимальноевремя удержания строки открытой ограничивается периодом регенерации.Возможность работы с открытой строкой была использована уже в FPM DRAM. Однаков SDRAM можно активировать строки в нескольких банках — каждую своей командойACT, эта особенность и стоит за словами “Single-pulsed RAS# interface” вперечислении ключевых особенностей SDRAM. Активировать строку можно во времявыполнения любой операции с другим банком. Обращение к открытой строкетребуемого банка выполняется по командам RD и WR, у которых в качествепараметров кроме адреса столбца фигурирует и номер банка. Таким образом можнотак спланировать транзакции, что шина данных в каждом такте будет нестиочередную порцию данных, и такой поток будет продолжаться не только в пределаходного пакета, но и для серии обращений к разным областям памяти. Кстати, держатьоткрытыми можно и строки в банках разных микросхем, объединенных общей шинойпамяти.

<img src="/cache/referats/8698/image003.jpg" v:shapes="_x0000_i1026">

Временная диаграмма чтения SDRAM

МикросхемыSDRAM оптимизированы для пакетной передачи. У них при инициализации программируетсядлина пакета и операционный режим. Пакетный режим может включаться как для всехопераций (normal), так и только для чтения (Multiple Burst with Single Write).Этот выбор позволяет оптимизировать память для работы либо с WB, либо сWT-кэшем. Обратим внимание, что внутренний счетчик адреса работает по модулю,равному запрограммированной длине пакетного цикла (например, при длине пакета 4он не позволяет перейти границу обычного четырехэлементного пакетного цикла).

Пакетные цикл

еще рефераты
Еще работы по компьютерам и переферийным устройствам