Jaki był interwał odświeżania pamięci DRAM we wczesnych mikrokomputerach?

Jan 18 2021

Dynamiczna pamięć RAM jest gęstsza niż statyczna pamięć RAM, ale należy ją odświeżać co kilka milisekund, aby uniknąć utraty danych. Ile dokładnie milisekund? Jeśli odpowiedź z czasem się zmieniła, to interesuje mnie, co było w układach pamięci RAM używanych w latach siedemdziesiątych i osiemdziesiątych.

Pytanie, które nasunęło, to to, że miałem wrażenie, że niektóre komputery używają obwodów wideo do odświeżania, co sugerowałoby, że wystarczy zrobić to raz na klatkę 60 Hz, co będzie około 16 ms, ale zgodnie z http://www.jagregory.com/abrash-black-book/

Każdy układ DRAM w komputerze musi być całkowicie odświeżany mniej więcej raz na cztery milisekundy, aby zapewnić integralność przechowywanych danych.

Czy 4 ms to typowa wartość dla standardowych układów DRAM?

Odpowiedzi

5 StephenKitt Jan 18 2021 at 16:13

Czy 4 ms to typowa wartość dla standardowych układów DRAM?

Zaczynając od chipów 128kbit i 256kbit. Wiele wcześniejszych układów (16kbit, 32kbit, 64kbit) i niektóre układy 128kbit zostały udokumentowane jako wymagające 2 ms cyklu odświeżania; zobaczyć te tabele do szczegółów: 4116 , 4132 , 4164 , 41128 , 41256 .

Fakt, że wiele komputerów używało obwodów wideo do obsługi odświeżania DRAM, nie oznacza, że ​​odświeżanie to odbywało się z taką samą częstotliwością jak odświeżanie wideo. Zobacz Co to jest odświeżanie DRAM i dlaczego ma to wpływ na dziwny układ pamięci wideo Apple II? aby zapoznać się z opisem implementacji Apple II. W 8-bitowym Atarisie odświeżanie DRAM było obsługiwane przez ANTIC, z dedykowanym do tego licznikiem; szczegółowe informacje można znaleźć w często zadawanych pytaniach dotyczących 8-bitowego Atari . Reenigne napisał post na blogu wyjaśniający odświeżanie DRAM na IBM 5150 (bez użycia obwodów wideo).

3 MartinMaly Jan 18 2021 at 17:29

A propos wideo: wczesne układy mają odświeżanie 7-bitowe, więc musisz uzyskać dostęp do wszystkich wierszy w ramce 2 ms. Możesz zamienić niektóre linie adresu, aby uzyskać więcej (fizycznych) dostępu do wierszy na cykl.

W skrajnym przypadku można całkowicie zamienić A0-A6 i A7-A13, aby w przypadku dostępu liniowego każdy bajt był przechowywany w zupełnie innym fizycznym rzędzie. Et voila, masz "bezpłatne odświeżanie" zgodnie z projektem (i wiele bólów głowy, ponieważ jest bardzo powolne). Więc jest to możliwe, ale wymaga to jakiegoś kompromisu.

Zobacz także: Dlaczego wczesne pamięci DRAM (np. 4116) mają ujemny czas konfiguracji adresu kolumny?