Динамическое ОЗУ с пакетной передачей данных

Чтобы пояснить методы повышения быстродействия ОЗУ, вернемся немного назад и поговорим о том, как же, собственно, работает ОЗУ.
Одно из основных препятствий на пути ускорения работы ОЗУ (RAM) описано в названии памяти. Когда мы говорим, что к памяти предоставлен "произвольный" доступ, это означает одинаковую легкость доступа ко всей памяти.
Однако, хотя доступ можно получить одинаково легко, это еще не означает одинаково быстро. Если процессор может попросить компоненты сделать что-нибудь за единственный цикл, значит вы используете компьютер в режиме работы без периодов ожидания (zero wait state machine). Если операция не может быть выполнена за нужное время, в работе компьютера появляются периоды ожидания (wait states). По существу, период ожидания по длительности равен длительности периода колебаний тактового генератора (clock tick), в течение которого процессор простаивает. А раз так, этого следует избегать.

Примечание:
Период колебаний тактового генератора представляет собой величину, обратную тактовой частоте процессора. Генератор процессора с тактовой частотой 300 МГц в одну секунду "выдает" 300000000 периодов колебаний. Чем выше тактовая частота процессора, тем короче период колебаний.

Контроллер памяти (memory controller) для доступа к DRAM разбивает ячейки памяти на четырехбитовые пакеты (four-bit bursts). При этом дольше всего обрабатывается первый бит адреса. Это связано с тем, что данный бит описывает адрес нужной страницы памяти. Итак, когда контроллер памяти считывает данные из FPM DRAM, он затрачивает первые пять тактов, для нахождения страницы, на которой находится первый бит запрошенных данных, а затем еще три такта, чтобы считать каждый дополнительный бит с этой страницы памяти. (Поскольку при каждом обращении считывается только один бит, для считывания одного байта данных требуется параллельная работа восьми микросхем памяти. — Прим. ред.) Дело несколько ускоряется, если используется EDO-память, поскольку, хотя при работе с ней тоже требуется пять тактов, чтобы найти первую страницу, считывание последующих битов требует только двух тактов на каждый бит. Разумеется, если следующий бит данных находится на другой странице, все оказывается напрасным и для считывания следующего бита снова понадобится пять тактов. Решение этой проблемы облегчают кэши L1 и L2 (входящие в систему памяти процессора), поскольку в них сохраняются последние использовавшиеся данные, с тем, чтобы контроллеру памяти не требовалось постоянно извлекать их из ОЗУ. Однако емкость кэш-памяти невелика.
Чтобы обойти эту проблему применяется технология пакетной передачи (bursting technology), предусматривающая считывание не только текущих четырех битов, а сразу всей страницы (в системах, построенных на основе процессоров семейства х86, она имеет размер 4 Кбайт). По этой технологии после считывания из памяти всей страницы, для считывания остальных данных, адреса которых описываются тремя оставшимися битами в каждом четырехбитовом наборе, дополнительные периоды ожидания уже не требуются. Поскольку биты обнаружены, на их поиск, не затрачивается дополнительное время. Как и прежде, чтобы найти новую страницу, вам опять придется подождать пять тактов, но когда эта страница будет обнаружена, для считывания каждого бита достаточно единственного такта, а периода ожидания не требуется. Память сама "подскажет" контроллеру, как найти остальные биты.
Возможно, вы запутались, тогда попытайтесь вообразить все это примерно так.
Представьте себе DRAM-память как ряды темных комнат, причем каждая из них представляет собой одну страницу памяти. Данные хранятся в ящиках (представляющих собой адреса), расставленных в комнатах и расположенных в логическом порядке, т.е. за ящиком 6 стоит ящик 7 и т.д. Единственная тонкость заключается в том, что ящики не соприкасаются, хотя расположены последовательно.
Когда контроллеру памяти необходимо получить данные с определенной страницы DRAM-памяти, он должен сначала найти страницу, на которой хранятся данные, а затем идти получать нужные данные. Итак, когда контроллер памяти приступает к работе, он идет по коридору, в который выходят двери всех комнат.
Если используют обычную DRAM-память, то контроллер памяти должен сначала найти нужную комнату, затем открыть дверь в Нее и, все еще находясь в темноте, на ощупь найти данные. Чтобы найти первый ящик потребуется некоторое время, однако если контроллер памяти его найдет, он сможет нащупать и найти следующий, затем еще один. С этого момента контроллер памяти может отправлять данные в процессор.
Насколько же упростится этот процесс, если осветить комнаты! Именно это и достигается применением технологии пакетной передачи данных. Когда контроллер памяти входит в освещенную "комнату", он все еще должен осмотреться, чтобы найти первый адрес, из которого необходимо извлечь данные. Однако после этого он может увидеть следующий ящик, затем еще один, а не нащупывать их по одному в потемках.
Таким образом "произвольная" часть доступа к RAM уже не выглядит столь произвольной — предполагается, что все биты находятся на одной странице. В противном случае производительность процесса поиска упадет.
Теперь, уяснив эти вопросы, рассмотрим современные технологии пакетной передачи данных: пакетную EDO-память и синхронную динамическую RAM-память.

Пакетная EDO-память

EDO-память (BEDO — Burst EDO) является дальнейшим улучшением технологии EDO за счет использования ускоренного упреждающего считывания. Он может работать синхронно с процессором вплоть до частоты 66 МГц.

Результат аппаратного ускорения – SDRAM

Перспективное решение, реализованное в современных микросхемах SDRAMпамяти, которые могут работать синхронно с процессором вплоть до частоты 100 МГц, что соответствует времени доступа 10 нс. 

Смотрите также

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

Что такое локальная сеть?
Локальной сетью (LAN - local area network) называют группу связанных друг с другом компьютеров, расположенную в некоторой ограниченной области, например, здании. Размеры LAN могут значительно различ ...

Утилиты для Unix
Некоторые инструменты конфигурирования Linux и программы отображения состояния, описанные в предыдущей главе, применимы к одной или более версиям Unix. В данном же случае что-либо, н ...