Национальный исследовательский ядерный университет «МИФИ»
Опубликован: 16.10.2006 | Доступ: свободный | Студентов: 10327 / 3681 | Оценка: 4.50 / 4.16 | Длительность: 23:53:00
ISBN: 978-5-9556-0054-3
Специальности: Разработчик аппаратуры
Лекция 12:

Оперативная память

ОЗУ как информационный буфер

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

Включение буферной памяти

Рис. 12.10. Включение буферной памяти

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

Пусть, например, в качестве первого устройства выступает компьютер, а в качестве второго - кабель локальной сети. Компьютеру значительно удобнее выдавать данные со скоростью, определяемой его собственным быстродействием, но в локальную сеть надо передавать данные со строго определенной скоростью, задаваемой стандартом на сеть (например, 100 Мбит/с). Кроме того, компьютер, по возможности, не должен отвлекаться на контроль за текущим состоянием сети, за ее занятостью и освобождением. Поэтому буферная память в данном случае необходима. И точно так же она нужна при приеме данных из локальной сети в компьютер.

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

Двунаправленный информационный буфер

Рис. 12.11. Двунаправленный информационный буфер

Информационные буферы бывают однонаправленными (входными или выходными) и двунаправленными (то есть входными и выходными одновременно - рис. 12.11). Например, буферная память сетевого адаптера двунаправленная, так как она буферирует и информацию, передаваемую в сеть из компьютера, и информацию, принимаемую из сети в компьютер. Двунаправленные буферы всегда сложнее проектировать из-за большего количества потоков данных.

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

Информационные буферы с периодическим режимом обмена могут быть организованы по типу FIFO или по типу LIFO.

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

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

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

Первая схема - это простейший однонаправленный буфер с периодическим режимом обмена по принципу FIFO (рис. 12.12). Одно устройство записывает информацию в буфер, на другое устройство выдается информация из буфера. Память всегда записывается полностью, по всем адресам, и читается также полностью. Строб записи "–Зап." поступает в режиме записи с частотой, необходимой для записи, строб чтения "–Чт." поступает при чтении с частотой, необходимой для чтения. Шины данных для записи и чтения в память в случае, показанном на рисунке, отдельные.

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

Однонаправленный буфер типа FIFO

Рис. 12.12. Однонаправленный буфер типа FIFO

Перед началом работы устройство, производящее запись в память, сбрасывает счетчик в нуль сигналом "–Сброс" и устанавливает режим записи в память, перебрасывая в нуль управляющий триггер (единица на инверсном выходе). Затем начинается процесс записи: записываемые данные поступают с однонаправленного входного буфера (АП5) и записываются в память сигналом "–Зап.", который своим задним фронтом переключает адреса памяти. Полная процедура записи включает в себя столько циклов записи, сколько имеется ячеек у используемой памяти.

После окончания процедуры записи устройство, производившее запись, разрешает чтение из памяти, устанавливая в единицу триггер положительным фронтом сигнала "Пуск" (нуль на инверсном выходе). При этом разрешается прохождение сигнала "–Чт.". Адреса памяти переключаются по заднему фронту сигнала "–Чт.", и по этому же фронту данные, читаемые из памяти, фиксируются в выходном регистре, срабатывающем по фронту (например, ИР27). Выходной регистр выполняет две функции: он не пропускает на выход данные, записываемые в память (по сигналу -WE запрещается запись в триггер), а также обеспечивает одновременность изменения всех разрядов читаемых данных. Выходная информация из-за этого регистра задерживается на один период сигнала "–Чт.", что необходимо учитывать. Если взять регистр со входом сброса в нуль, то можно сделать, чтобы при процедуре записи в память на выходе схемы был нулевой код.

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

Али Анарбек
Али Анарбек
Илья Леонтьев
Илья Леонтьев

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