Каков был интервал обновления DRAM на ранних микрокомпьютерах?

Jan 18 2021

Динамическая ОЗУ плотнее статической, но ее необходимо обновлять каждые несколько миллисекунд, чтобы избежать потери данных. Сколько именно миллисекунд? Если ответ со временем изменился, то меня интересует, что было на чипах RAM, используемых в семидесятых и восьмидесятых годах.

Вопрос вызвал то, что у меня сложилось впечатление, что некоторые компьютеры используют видеосхемы для обновления, что предполагает, что достаточно делать это один раз на кадр 60 Гц, что составляет около 16 мс, но согласно http://www.jagregory.com/abrash-black-book/

Каждую микросхему DRAM в ПК необходимо полностью обновлять примерно раз в четыре миллисекунды, чтобы обеспечить целостность хранимых данных.

Было ли 4 мс типичным значением для стандартных чипов DRAM?

Ответы

5 StephenKitt Jan 18 2021 at 16:13

Было ли 4 мс типичным значением для стандартных чипов DRAM?

Только начиная с чипов 128 Кбит и 256 Кбит. Многие более ранние чипы (16 Кбит, 32 Кбит, 64 Кбит) и некоторые 128 Кбит чипы были задокументированы как требующие цикла обновления 2 мс; увидеть эти таблицы для деталей: 4116 , 4132 , 4164 , 41128 , 41256 .

Тот факт, что многие компьютеры использовали видеосхемы для обработки обновления DRAM, не означает, что это обновление происходило с той же скоростью, что и обновление видео. Посмотрите, что такое обновление DRAM и почему это влияет на странную структуру видеопамяти Apple II? для описания реализации Apple II. В 8-битном Ataris обновление DRAM обрабатывалось ANTIC со специальным счетчиком для этой цели; см. подробности в 8-битном FAQ по Atari . Reenigne написал сообщение в блоге, объясняющее обновление DRAM на IBM 5150 (без использования видеосхемы).

3 MartinMaly Jan 18 2021 at 17:29

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

В крайнем случае вы можете полностью поменять местами A0-A6 и A7-A13, так что для линейного доступа каждый байт будет храниться в совершенно другой физической строке. Et voila, у вас есть "бесплатное обновление" по умолчанию (и много головной боли, потому что это очень медленно). Так что это возможно, но здесь нужен какой-то компромисс.

См. Также: Почему ранние DRAM (например, 4116) имеют отрицательное время установки адреса столбца?