Иерархия памяти в компьютере
Реализовать подсистему оперативной памяти в универсальных компьютерах при использовании одной технологии невозможно. Каждая из рассмотренных технологий не обеспечивает выполнение всех требований, которые предъявляются к подсистеме оперативной памяти. В частности, использование полупроводниковой технологии, не может обеспечить энергонезависимость и требуемые объемы оперативной памяти при достаточной стоимости.
Разрешить эту дилемму можно, использовав в подсистеме памяти разные технология хранения информации, реализовав некую иерархию подсистемы памяти. Типичная иерархия подсистемы памяти схематически представлена на рис. 5.1.
Рис. 5.1. Иерархия подсистемы памяти компьютера
Принцип иерархии подразумевает выполнение следующих условий:
количество уровней иерархии может быть произвольным;
каждый уровень иерархии выполняет строго определенный набор функций;
обращение извне всегда происходит к верхнему уровню иерархии;
если i-й уровень иерархии может выполнить полученный запрос, то он его выполняет и передает результат источнику запроса – (i-1)-му уровню иерархии;
если i-й уровень иерархии не может выполнить полученный запрос, то он формирует запрос к (i+1)-му уровню иерархии;
по мере перехода от верхних уровней иерархии подсистемы памяти к нижним уровням:
снижается относительная стоимость хранения информации;
повышается емкость;
увеличиваетсявремя доступа;
снижается частота обращений с предыдущего уровня иерархии;
на некотором уровне иерархии обеспечивается энергонезависимость.
Таким образом, менее емкие, но более быстродействующие технологии памяти дополняются менее быстродействующими технологиями, но зато обладающими большей емкостью.
Ключевыми вопросами, решение которых обеспечивает успех иерархического проекта подсистемы памяти, являются:
организация потоков информации в компьютере, обеспечивающая по мере переходе от устройств памяти верхних уровней иерархии к устройствам памяти нижних уровней снижение интенсивности обращений;
вложенность информации, содержащейся в памяти более высоких уровней, в память более низких уровней (т.е., информация в памяти более высокого уровня иерархии является подмножеством памяти более низкого уровня).
Предположим, что процессор в системе может обращаться к памяти двух уровней. Память 1-го уровня содержит N слов и имеет время доступа 1 нс, а память 2-го уровня — 1000 N слов и время доступа 10 нс. Предположим, что если нужное слово находится в памяти 1-го уровня, то процессор извлекает его непосредственно, а если в памяти 2-го уровня, то затребованное слово сначала записывается в память 1-го уровня, а уже оттуда его извлекает процессор. Для простоты анализа не будем учитывать время, необходимое процессору для того, чтобы выяснить, где именно находится искомое слово, — в памяти 1-го или 2-го уровня.
Пусть параметр Н характеризует долю запросов к памяти первого уровня во всем потоке запросов, параметр Т1 — время доступа к памяти первого уровня, а Т2— время доступа к памяти второго уровня. Нет ничего неожиданного в том, что чем выше значение Н, т.е. чем большая часть всех обращений процессора за данными приходится в самый быстрый уровень, тем меньше среднее время обращения к иерархической подсистеме памяти, и тем ближе оно к значению Т1.
Среднее время обращения к такой подсистеме памяти может быть выражено формулой:
Предположим, что 95% всех обращений приходится в память первого уровня (т.е., H=0.95). Тогда среднее время извлечения одного слова из иерархической подсистемы памяти будет равно:
Итак, из всего сказанного следует, что концепция иерархической организации подсистемы памяти в принципе является довольно здравой, но принесет практический успех лишь в том случае, если при конструировании системы будут реализованы все упомянутые ранее принципы.
Среди существующих на сегодняшний день технологий памяти, не так уж сложно подобрать ряд, обладающий следующими свойствами:
необходимое быстродействие памяти верхнего уровня;
снижение относительной стоимости хранения информации;
повышение емкости;
увеличениевремени доступа;
на некотором уровне иерархии обеспечивается энергонезависимость;
реализация требования о вложенности.
Однако обеспечение свойства снижения частоты обращений по мере продвижения по уровням иерархии подсистемы памяти зависит в значительной степени не от конструктора компьютера, а от свойств выполняемых программ.
Выводы
1. Если быстродействие процессора и быстродействие энергонезависимой полупроводниковой памяти близки, то подсистема оперативной памяти может быть реализована с одним уровнем иерархии.
2. Если быстродействие процессора и быстродействие энергонезависимой полупроводниковой памяти существенно отличаются, то подсистема оперативной памяти должна быть иерархической с несколькими уровнями иерархии.
3. Количество и параметры памятей уровней иерархии зависят от области применения компьютера.
4. В высокопроизводительных современных компьютерах существует до 6 уровней иерархии подсистемы памяти.
5. Количество уровней иерархии может быть произвольным.
6. Каждый уровень иерархии выполняет строго определенный набор функций.
7. Обращение к иерархической подсистеме памяти извне всегда происходит к верхнему уровню иерархии.
8. Если i-й уровень иерархии может выполнить полученный запрос, то он его выполняет и передает результат источнику запроса – (i-1)-му уровню иерархии.
9. Если i-й уровень иерархии не может выполнить полученный запрос, то он формирует запрос к (i+1)-му уровню иерархии.
10. По мере перехода от верхних уровней иерархии подсистемы памяти к нижним уровням:
снижается относительная стоимость хранения информации;
повышается емкость;
увеличиваетсявремя доступа;
снижается частота обращений с предыдущего уровня иерархии;
обеспечивается вложенность информации, содержащейся в памяти более высоких уровней, в память более низких уровней (т.е., информация в памяти более высокого уровня иерархии является подмножеством памяти более низкого уровня);
на некотором уровне иерархии обеспечивается энергонезависимость.
Дата добавления: 2015-09-29; просмотров: 1981;