12. Многоуровневая организация памяти. Статическая и динамическая память.
Многоуровневая организация памяти
- Благодаря свойству локальности программе не требуется мгновенный доступ ко всем ее данным и инструкциям.
- Программа будет выполняться практически также хорошо, если для нее будет предусмотрено двухуровневое хранилище, где первый уровень предоставляет мгновенный доступ к подмножеству данных, а второй содержит остальные данные, однако работает медленнее и стоит дешевле, кроме того, присутствует эвристика для управления движением данных между уровнями, гарантирующая, что наиболее используемые данные находятся в хранилище первого уровня.
- Иерархия памяти – несколько уровней хранения, каждый из которых оптимизирован под конкретную задачу.
- Продуманно выбирая уровни, можно получить систему, обладающую производительностью самого быстрого, стоимостью за бит самого дешевого, энергопотреблением самого экономного компонентов.
Компоненты иерархии
- Регистровая память процессора используется для промежуточного хранения данных в процессоре при их обработке. Энергозависима, максимальное быстродействие, высокая цена.
- Кэш предоставляет быстрый доступ к инструкциям и данным и высокую ширину полосы. Регистры также иногда относят к кэшу.
- Оперативная память предоставляет хранилище данных с произвольным доступом, достаточно большое, относительно быстрое и достаточно дешевое. Она большая и дешевая в сравнении с кэшем, а в сравнении с диском – быстрая.
- Диск предоставляет возможность энергонезависимого хранения по ультранизкой цене за бит (порядка нескольких центов за гигабайт). Большинство компьютеров требуют, чтобы некоторые данные были изменяемыми и в то же время долго сохранялись, поэтому система памяти на каком-то из уровней должна иметь долговременное хранилище.
- Лента и оптические носители
DRAM
- Динамическая память – DRAM (Dynamic Random Memory Access).
- Чтение бита разрушает значение, поэтому его необходимо восстанавливать.
- В состав ячейки памяти входит конденсатор, который разряжается с течением времени. Т.е. даже если бит не считывается и не записывается, его заряд всё равно необходимо обновлять.
- Поэтому время от времени часть памяти недоступна.
- Регенерация – процесс периодического считывания данных и их перезаписи.
- Вводятся схемы обновления значений.
- Проектировщики стремятся снизить время обновления.
- Имеет более высокую, чем у SRAM плотность хранения.
- Имеет более низкую цену (т. к. в ячейке меньше элементов).
- Технология изготовления отличается от основной процессорной логики, усложняя интеграцию на кристалл.
SRAM
- Статическая память – SRAM (Static Random Memory Access).
- Энергозависимая память, т.е. для хранения значений требует подачи напряжения.
- Не нуждается в регенерации (refresh) значений.
- Время доступа близко к продолжительности такта процессора.
- Технология изготовления совпадает с технологией основного кристалла, упрощая интеграцию.
- Низкая плотность хранения.