Иерархическая структура памяти вычислительных машин
Требования увеличения информационной емкости и быстродействия памяти и уменьшение ее стоимости являются противоречивыми. Действительно, устройства памяти большой емкости являются сравнительно медленными, а быстродействующая память большой емкости является очень дорогой. Поэтому память МС организуется в виде иерархической структуры запоминающих устройств (см. рис.6.2.), обладающих различным быстродействием, емкостью и стоимостью. Порядок расположения устройств памяти по уровням иерархии от верхнего (процессор) до нижнего (дисковые и ленточные ВЗУ) соответствует убыванию быстродействия памяти и возрастанию ее емкости. Каждый уровень иерархии может содержать несколько модулей (экземпляров) соответствующих устройств памяти для получения нужной емкости данного уровня памяти.
Между устройствами памяти соседних уровней иерархии с помощью операционной организован обмен информацией, называемый свопингом (swapping).
Иерархическая структура памяти основана на ее страничной организации, при которой все пространство памяти разбито на страницы фиксированного размера. Например, в процессорах Intel допустимы страницы размером от 4 Кбайт до 2 Мбайт. В кэш-памяти и ОЗУ из-за их сравнительно небольшой емкости в каждый момент времени хранится только малая часть страниц. Остальные страницы хранятся в дисковой памяти, откуда операционная система может «подкачать»
их в ОЗУ и далее в кэш, предварительно выгрузив на диск часть неиспользуемых в данный момент модифицированных страниц. Процесс свопинга происходит в случае, когда требуемая процессору страница отсутствует в кэш или оперативной памяти. Если бы свопинг производился часто, эффективность применения иерархической структуры памяти была бы низкой. Но благодаря свойству пространственной и временной локальности программ и данных свопинг происходит сравнительно редко.
Действительно, как правило, адрес следующей исполняемой команды либо следует за адресом текущей исполняемой команды, либо расположен вблизи него. Такое свойство расположения адресов называется пространственной локальностью программ. Обрабатываемые данные, как правило, организованы в виде массивов, поэтому обращение к операндам также выполняется последовательно в соседние ячейки памяти. Это свойство называется пространственной локальностью данных. Кроме того, из-за наличия в программах циклов и обращений к подпрограммам выборка команды по одному и тому же адресу, а также доступ к данным по некоторому адресу могут повторяться в течение определенного интервала времени. Это свойство называется временной локальностью.
Благодаря рассмотренным свойствам процессор при обращении к памяти значительно чаще обнаруживает в кэш требуемую информацию, чем определяет ее отсутствие и необходимость свопинга нужной страницы.
Важно отметить, что свопинг производится страницами (блоками), при котором устройства памяти используют особый режим передачи – пакетный цикл обмена (Burst Cycle). В пакетном режиме на передачу страницы затрачивается гораздо меньше времени, чем суммарное время передачи отдельных байт (слов) страницы.
Иерархическая структура памяти является основой реализации в компьютере виртуальной памяти, в которой предоставляемое программисту виртуальное пространство оперативной памяти по емкости существенно превышает емкость физически установленной в компьютере оперативной памяти.
Таким образом, иерархическая структура памяти позволяет экономически эффективно сочетать хранение больших объемов информации с быстрым доступом к информации в процессе обработки.
Дата добавления: 2016-06-13; просмотров: 1073;