Регенерация памяти
Динамическая память, применяемая в компьютере в качестве системного ОЗУ, а также, возможно, находящаяся на картах расширения, требует регенерации — периодического обновления (refresh) всех строк матрицы. На системной плате всегда имеется контроллер регенерации памяти, в задачу которого входит регуляр-
160_____________________________________ Глава 6. Шины и карты расширения
ный перебор строк памяти с формированием специального цикла регенерации. Каждые 15 мкс контроллер регенерации формирует цикл регенерации (сигнал REFRESH*), диаграмма которого аналогична циклу DMA, но вместо чтения данных выполняется регенерация. В этом цикле считывания данных из микросхем памяти не производится, но стробы строк формируются (подробнее о методах регенерации см. в книге «Аппаратные средств IBM PC. Энциклопедия»). На шине ISA контроллер регенерации работает как нулевой канал DMA (в старых машинах он непосредственно и использовался). Каждые 15 мкс контроллер регенерации формирует сигнал REFRESH*, во время действия которого устанавливается AEN=H и BALE=H, формируется сигнал MEMR#, а на линиях SA[7:0] устанавливается адрес текущей регенерируемой строки. Диаграмма цикла регенерации аналогична циклу DMA, но сигнал REFRESH* указывает на то, что вместо чтения данных выполняется регенерация.
Если какое-либо устройство захватывает управление шиной более чем на 15 мкс, оно должно позаботиться о регенерации памяти. Для этого раз в 15 мкс оно должно вырабатывать сигнал REFRESH*, «отпуская» все адресные и управляющие сигналы. При этом контроллер шины, расположенный на системной плате и отвечающий за регенерацию памяти, сформирует очередной адрес на линиях SA[7:0] и сигнал MEMR*, а также установит AEN=0 и BALE=1 на все время цикла регенерации. Если устройство, надолго захватившее шину, сигнал регенерации не формирует, то запросы регенерации накапливаются в контроллере регенерации, и, как только управление будет возвращено, эти запросы будут немедленно удовлетворены. Однако число безнаказанно пропущенных запросов ограничено свойствами динамической памяти, и очередь запросов в контроллере регенерации может ограничиваться, например, четырьмя.