DRAM - это динамическая память. В основе ее лежит ячейка с микро-конденсатором: Запись: Транзистор открывается, сигнал с линии бита зарежает конденсатор. Чтение: На линию бита выставляется сигнал посредине между 1 и 0. Транзистор открывается, чуствительный элемент на линии бита определяет куда изменилось напряжение. После чего происходит запись тех же данных в ту же ячейку Считанные данные выдаются наружу Регенерация: На линию бита выставляется сигнал посредине между 1 и 0. Транзистор открывается, чуствительный элемент на линии бита определяет куда изменилось напряжение. После чего происходит запись тех же данных в ту же ячейку Считанные данные не выдаются никуда.
Общая структура DRAM:
как это выглядет физически:
А это топология:
Регенерация
DRAM Matrix делят на 2 части. В случае чтения или Refreshа READ_REFRESH становится активным. И котнроллер регенерации ведет себя как триггер в неустойчивом состоянии. Открытая ячейка DRAM (конденсатор) на шине A или B выводит триггер в сторону 1 или 0 (на другой шине Tristate - все закрыто). Триггер входит в устойчивое состояние соответствующие данным и с помощью обратной связи выдает значение на шину - заряжая конденсатор которой только что использовался для установки этого триггера.
Контроллер памяти (сейчас уже неактуально т.к. регенерация происходит внутри чипов памяти самостоятельно).
После обращения к DRAM ячейкам нужно время для регенерации. Однако если мы поделим память на банки, то сможем в это время обращаться к другим банкам (Это особенно удобно учитывая что современные процессоры стараются выбирать память в cache строками). Чередование банков памяти