Иерархия памяти компьютера. Иерархическая структура памяти вычислительных машин. I. Регистровая память – местная память процессора

Память ПК - это совокупность отдельных устройств, которые запоминают, хранят и выдают информацию. Отдельные устройства памяти называются запоминающими устройствами (ЗУ). Производительность ПК во многом зависит от состава и характеристик запоминающих устройств, которые в свою очередь различаются принципом действия и назначением. Основными операциями с памятью являются процедуры записи и считывания (выборки). Общее название указанных процедур носит название обращение к памяти. Основные характеристики памяти - это емкость и быстродействие (время обращение к памяти).

Емкость ЗУ измеряется в Байтах (1Байт = 8 Бит), Килобайтах (1 Кбайт= 2 10 Байт), Мегабайтах (1Мбайт= 2 10 Кбайт), Гигабайта (1Гбайт= 2 10 Мбайт), Терабайтах (1Тбайт= 2 10 Гбайт).

Быстродействие измеряется в секундах и в настоящее время находится в пределах от 10 - 2 до 10 - 9 секунд в зависимости от способа доступа к информации.

По способу доступа к хранящейся в них информации ЗУ делятся на: ЗУ с произвольным доступом; ЗУ с прямым доступом; ЗУ с последовательным доступом.

В ЗУ с произвольным доступом время обращения не зависит от места нахождения данных. Такое доступ реализован в регистрах общего назначения, КЭШ-памяти и внутренней памяти ПК.

Носитель информации в ЗУ с прямым доступом непрерывно вращается, в результате данные доступны через некоторый фиксированный промежуток времени. К ЗУ с прямым доступом относятся НЖМД, НМГД, НОД.

ЗУ с последовательным доступом , прежде чем найти необходимые данные, «просматривает» все предыдущие участки памяти. Последовательный доступ реализована в ЗУ, использующих магнитную ленту, например, в стримерах.

Следует отметить, что требования, предъявляемые к емкости и быстродействию ЗУ, являются взаимно противоречивыми с точки зрения технической реализации. Поэтому для эффективного функционирования в ПК память строится по иерархическому принципу, где на разных уровнях иерархии находятся ЗУ, обладающие различными характеристиками. Иерархическая структура памяти ПК представлена на рисунке 1.

При движении от 1-го до 3-го уровня иерархии быстродействие ЗУ уменьшается, а емкость увеличивается.

Иерархическая организация памяти позволяет повысить производительность ПК и предоставить пользователю практически неограниченную емкость памяти.

Назначение и основные характеристики ЗУ 1-го уровня были описаны в лекции 3 Рассмотрим 2-й и 3-й уровень иерархии памяти ПК.

Внешняя память относится к внешним устройствам ПК и используется для долговременного хранения любой информации, которая может когда-либо потребоваться для решения задач. Внешняя память содержит разнообразные виды ЗУ, но наиболее распространенными, имеющимися практически на любом компьютере, являются НЖМД, НГМД и НОД. Указанные накопители предназначены для хранения больших объемов информации, запись и выдача хранимой информации по запросу в оперативное запоминающее устройство.

НЖМД (HDD - hard disk drive) в обиходе называют «винчестером». В отличие от оперативной памяти, НЖМД гарантируют долговременное хранение информации, для чего не требуется постоянное питание компьютера от внешнего источника электроэнергии. Для записи данных в жестких дисках используется магнитный слой. Он покрывает диски, вращающиеся внутри винчестера с огромными скоростями. Вдоль дисков перемещаются головки чтения / записи. Основными характеристика современных НЖГД являются: емкость (до 1 Тбайт); количество пластин (до 5); количество головок (10 головок); среднее время поиска информации (меньше 10 мс); скорость вращения дисков (до 10 тыс. об/мин); вес (меньше 100 г.). Основными производителями НЖМД являются фирмы IBM, Seegate, Toshiba, Fujitsu, Samsung.

НГМД (FDD - floppy disk drive) представляет собой устройство чтения / записи сменных гибких дисков (флоппи-дисков, дискет ). Ранее применялись магнитные диски 2-х размеров: 5,25"" (133 мм) и 3,5» (89 мм). Первые давно исчезли, а 3,5"" используются только для переноса относительно небольших (1,44 Mбайт) объемов информации между компьютерами. Данные на гибких дисках хранятся подобно данным на винчестере за тем лишь исключением, что диск во флоппи-дисководе вращается с много меньшей скоростью и он всего один. Из-за недостаточной герметизации дискеты чаще всего выходят из строя. Таким образом, как носитель информации флоппи-диск крайне ненадежен и в настоящее время применяется все реже.

НОД являются в настоящее время самыми надежными и широко распространенными ЗУ внешней памяти. Считывание информации с оптического диска происходит за счёт регистрации изменений интенсивности отраженного от алюминиевого слоя излучения маломощного лазера.

НОД подразделяются на: CD-ROM (Compact Disc Read Only Memory) - компакт - диск только для чтения; CD-R (Compact Disc Recordable) - однократно записываемый компакт - диск; CD-RW (Compact Disc Rewritable) - перезаписываемый компакт-диск; DVD (Digital Versatile Disk) - универсальный цифровой диск.

Стандартный оптический диск имеет емкость порядка 650-800 Мбайт, емкость DVD диск достигает 17 Гбайт.

DVD диск имея те же габариты, что и обычный оптический компакт-диск, вмещает чрезвычайно много информации - от 4,7 до 17 Гбайт. В настоящее время DVD-диск применяется лишь в двух областях: для хранения видеофильмов (DVD-Video или просто DVD) и сверхбольших баз данных (DVD-ROM, DVD-R). В отличие от CD-ROM, диски DVD записываются с обеих сторон. Более того, с каждой стороны могут быть нанесены один или два слоя информации. Таким образом, односторонние однослойные диски имеют объем 4,7 Гбайт (их часто называют DVD-5, т.е. диски емкостью около 5 Гбайт), двусторонние однослойные - 9,4 Гбайт (DVD-10), односторонние двухслойные - 8,5 Гбайт (DVD-9), а двусторонние двухслойные - 17 Гбайт (DVD-18). В зависимости от объема требующих хранения данных и выбирается тип DVD-диска. Если речь идет о фильмах, то на двусторонних дисках часто хранят две версии одного и того же фильма - одна широкоэкранная, вторая в классическом телевизионном формате.

Архивная память ПК предназначена для длительного и надежного хранения программ и данных. Как видно из рисунка 2.3 хранить информацию можно на дискетах, оптических дисках, съемных НЖМД, магнитной ленте и флэш-памяти. Поскольку трое первых носителей информации описаны выше, а съемный НЖМД принципиально не отличается от обычного НЖМД, отметим основные свойства флэш-памяти.

Флэш-память представляет собой особый вид энергонезависимой перезаписываемой полупроводниковой памяти. Это означает, что она не требует дополнительной энергии для хранения данных (энергия требуется только для записи), допускает изменение (перезапись) хранимых в ней данных и не содержит механически движущихся частей (как обычные НЖМД или НОД) и построена на основе интегральных микросхем.

Информация, записанная на флэш-память, может храниться очень длительное время (несколько лет), и способна выдерживать значительные механические нагрузки (в 5-10 раз превышающие предельно допустимые для обычных НЖМД).

Основное преимущество флэш-памяти перед обычными накопителями состоит в том, что флэш-память потребляет значительно (примерно в 10-20 и более раз) меньше энергии во время работы. В НЖМД, НГМД, НОД, кассетах и других механических носителях информации, бо льшая часть энергии тратится на приведение в движение механики этих устройств. Кроме того, флэш-память компактнее большинства других механических носителей.

Размер носителя флэш-памяти составляет от 20 до 40 мм в длину, в ширину и толщина до 3 мм, емкость достигает 1Гбайт, в зависимости от типа флэш-памяти возможна перезапись информации от 10 тысяч до 1 млн раз.

Благодаря низкому энергопотреблению, компактности, долговечности и относительно высокому быстродействию, флэш-память идеально подходит для использования в качестве накопителя не только в ПК, но и в таких портативных устройствах, как цифровые фото- и видео-камеры, мобильные телефоны, портативные компьютеры, MP3-плейеры, цифровые диктофоны, и т.п. В ближайшие годы флэш-память будет самым применяемым компактным накопителем информации, постепенно вытесняя привычные дискеты.

Компромиссом между производительностью и объемами памяти является решение использовать иерархию запоминающих устройств, т. е. применять иерархическую модель памяти.

Применение иерархических систем памяти оправдывает себя вследствие двух важных факторов - принципа локальности обращений и низкого (экономически выгодного) соотношения стоимость/производительность. Принцип локальности обращений состоит в том, что большинство программ обычно не выполняет обращений ко всем своим командам и данным равновероятно, а в каждый момент времени оказывает предпочтение некоторой части своего адресного пространства.

Иерархия памяти обычно состоит из многих уровней, но в каждый момент времени взаимодействуют только два близлежащих уровня. Минимальная единица информации, которая может присутствовать либо отсутствовать в двухуровневой иерархии, называется блоком или строкой. Размер блока обычно фиксирован, а объем памяти кратен размеру блока.

Успешное или неуспешное обращение к более высокому уровню называют соответственно попаданием (hit) или промахом (miss). Попадание - есть обращение к объекту в памяти, который найден на более высоком уровне, в то время как промах означает, что он не найден на этом уровне.

Доля попаданий (hit ratе) - доля обращений к данным, найденным на более высоком уровне. Доля промахов (miss rate) - это доля обращений к данным, которые не найдены на более высоком уровне.

Время обращения при попадании (hit time) есть время обращения к более высокому уровню иерархии, которое включает в себя, в частности, и время, необходимое для определения того, является ли обращение попаданием или промахом. Потери на промах (miss penalty) есть время для замещения блока в более высоком уровне на блок из более низкого уровня плюс время для пересылки этого блока в требуемое устройство (обычно в процессор).

  • время доступа (access time) - время обращения к первому слову блока при промахе;
  • время пересылки (transfer time) - дополнительное время для пересылки оставшихся слов блока. Время доступа связано с задержкой памяти более низкого уровня, а время пересылки - с полосой пропускания канала между устройствами памяти двух смежных уровней.

Кэш-память или cache memory - компонента иерархической памяти - представляет собой буферное ЗУ, работающее со скоростью, обеспечивающей функционирование ЦП без режимов ожидания (рис. 3.38).

Необходимость создания кэш-памяти возникла потому, что появились процессоры с высоким быстродействием. Между тем для выполнения сложных прикладных процессов нужна большая память. Использование же большой сверхскоростной памяти экономически невыгодно. Поэтому между ОЗУ и процессором стали устанавливать меньшую по размерам высокоскоростную буфер-

Обратная связь

Рис. 3.38. Иерархия оперативной памяти

ную память, или кэш-память. В дальнейшем она была разделена на два уровня - встроенная в процессор (on-die) и внешняя (on-motherboard).

Кэш 1-го уровня (Level 1 cache, или L 1). Кэш 1-го уровня, или первичный кэш, находится на плате центрального процессора и используется для временного хранения команд и данных, организованных в блоки по 32 байта. Первичный кэш - самая быстрая форма памяти. Будучи встроенным в чип, он обеспечивает минимальную задержку интерфейса с АЛУ, однако ограничен в размере. Ll-кэш реализуется, используя принцип статической оперативной памяти (SRAM) и длительное время, в среднем имел размер 16 Кбайт.

Процессор Р55 Pentium MMX, выпущенный в начале 1997 г., содержал кэш 1-го уровня размером до 32 Кбайт. Процессоры AMD Кб и Cyrix М2, вышедшие в том же году, уже обеспечивали 64 Кбайт объема кэша 1-го уровня.

Кэш 2-го уровня (Level 2 cache, или L2). Кэш 2-го уровня (вторичный кэш) использует ту же самую логику управления, что и кэш 1-го уровня, и также относится к типу SRAM.

Кэш 2-го уровня обычно имеет два размера - 256 или 512 Кбайт, и помещается на системной плате в гнезде типа Card Edge Low Profile (CELP) или в модуле «кэш-на-плате» («cache on а stick» - COAST). Последний напоминает SIMM, но немного короче и включает гнездо COAST, которое обычно расположено близко к процессору и напоминает слот PCI. В процессоре Pentium, однако, кэш 2-го уровня помещался на чипе процессора непосредственно.

Цель кэша 2-го уровня состоит в том, чтобы поставлять сохраненную информацию на процессор без какой-либо задержки (состояния ожидания). Для этой цели интерфейс шины процессора имеет специальный протокол передачи, названный групповым (или пакетным) режимом (burst mode). При этом обычно используется синхронный тип памяти, управляемой тактовым генератором ЦП. Цикл пакета состоит из четырех передач данных, где на адресную шину выводится адрес только первых 64 бит. Обычно кэш 2-го уровня - это синхронная пакетно-конвейерная память (Pipelined Burst Static RAM PB, SRAM) .

). Означает, что различные виды памяти образуют иерархию, на различных уровнях которой расположены памяти с отличающимися временем доступа, сложностью, стоимостью и объемом. Возможность построения иерархии памяти вызвана тем, что большинство алгоритмов обращаются в каждый промежуток времени к небольшому набору данных, который может быть помещен в более быструю, но дорогую и поэтому небольшую, память (см. en:locality of reference). Использование более быстрой памяти увеличивает производительность вычислительного комплекса. Под памятью в данном случае подразумевается устройство хранения данных (запоминающее устройство) в Вычислительной технике или компьютерная память .

При проектировании высокопроизводительных компьютеров и систем необходимо решить множество компромиссов, например, размеры и технологии для каждого уровня иерархии. Можно рассматривать набор различных памятей (m 1 ,m 2 ,…,m n), находящихся в иерархии, то есть каждый m i уровень является как бы подчиненным для m i-1 уровня иерархии. Для уменьшения времени ожидания на более высоких уровнях, низшие уровни могут подготавливать данные укрупненными частями с буферизацией и, по наполнению буфера, сигнализировать верхнему уровню о возможности получения данных.

Часто выделяют 4 основных (укрупненных) уровня иерархии:

  1. Внутренняя память процессора (регистры, организованные в регистровый файл и кэш процессора).
  2. ОЗУ системы (RAM) и вспомогательных карт памяти.
  3. Накопители с «горячим» доступом (On-line mass storage) - или вторичная компьютерная память. Жесткие диски и твердотельные накопители, не требующие длительных (секунды и больше) действий для начала получения данных
  4. Накопители, требующие переключения носителей (Off-line bulk storage) - или третичная память. Сюда относятся магнитные ленты , ленточные и дисковые библиотеки, требующие длительной перемотки либо механического (или ручного) переключения носителей информации.

Иерархия памяти в современных ПК

В большинстве современных ПК рассматривается следующая иерархия памяти:

  1. Регистры процессора , организованные в регистровый файл - наиболее быстрый доступ (порядка 1 такта), но размером лишь в несколько сотен или, редко, тысяч байт.
  2. Кэш процессора 1го уровня (L1) - время доступа порядка нескольких тактов, размером в десятки килобайт
  3. Кэш процессора 2го уровня (L2) - большее время доступа (от 2 до 10 раз медленнее L1), около полумегабайта или более
  4. Кэш процессора 3го уровня (L3) - время доступа около сотни тактов, размером в несколько мегабайт (в массовых процессорах используется с недавнего времени)
  5. ОЗУ системы - время доступа от сотен до, возможно, тысячи тактов, но огромные размеры в несколько гигабайт, вплоть до десятков. Время доступа к ОЗУ может варьироваться для разных его частей в случае комплексов класса NUMA (с неоднородным доступом в память)
  6. Дисковое хранилище - многие миллионы тактов, если данные не были закэшированны или забуферизованны заранее, размеры до нескольких терабайт
  7. Третичная память - задержки до нескольких секунд или минут, но практически неограниченные объемы (ленточные библиотеки).

Большинство программистов обычно предполагает, что память делится на два уровня, оперативную память и дисковые накопители, хотя в ассемблерных языках и ассемблерно-совместимых (типа ) существует возможность непосредственной работы с регистрами. Получение преимуществ от иерархии памяти требует совместных действий от программиста, аппаратуры и компиляторов (а также базовая поддержка в операционной системе):

  • Программисты отвечают за организацию передачи данных между дисками и памятью (ОЗУ), используя для этого файловый ввод-вывод ; Современные ОС также реализуют это как подкачку страниц .
  • Аппаратное обеспечение отвечает за организацию передачи данных между памятью и кэшами.
  • Оптимизирующие компиляторы отвечают за генерацию кода, при исполнении которого аппаратура эффективно использует регистры и кэш процессора.

Многие программисты не учитывают многоуровневость памяти при программировании. Этот подход работает пока приложение не столкнется с падением производительности из-за нехватки производительности подсистемы памяти (memory wall). При исправлении кода (Рефакторинг) необходимо учесть наличие и особенность работы верхних уровней иерархии памяти для достижения наивысшей производительности.

Литература

  • Михаил Гук «Аппаратные средства IBM PC» Санкт-Петербург 1998

Примечания


Wikimedia Foundation . 2010 .

Смотреть что такое "Иерархия памяти" в других словарях:

    иерархия памяти - — Тематики электросвязь, основные понятия EN memory hierarchy …

    Концепция построения взаимосвязи классов разных уровней компьютерной памяти на основании иерархической структуры. Иерархия оперативной памяти реализуемая в вычислительной системе на базе процессора … Википедия

    - (запоминающиеустройства) в вычислит. технике (см. Электронная вычислительная машина)устройства для записи, хранения и воспроизведения информации. В качественосителя информации может выступать физ. сигнал, распространяющийся в среде … Физическая энциклопедия

    У этого термина существуют и другие значения, см. Gerarchia. Иерархия (от др. греч. ἱεραρχία, из ἱερός «священный» и ἀρχή «правление») порядок подчинённости низших звеньев высшим, организация их в структуру типа дерево; принцип управления в … Википедия

    Менеджер памяти часть компьютерной программы (как прикладной, так и операционной системы), обрабатывающая запросы на выделение и освобождение оперативной памяти или (для некоторых архитектур ЭВМ) запросы на включение заданной области памяти … Википедия

    Схема, иллюстрирующая место микроархитектурного уровня в многоуровневой структуре компьютера. В компьютерной инженерии … Википедия

    архитектура контроллера Справочник технического переводчика

    архитектура контроллера - Архитектурой контроллера называют набор его основных компонентов и связей между ними. Типовой состав ПЛК включает центральный процессор, память, сетевые интерфейсы и устройства ввода вывода. Типовая… … Справочник технического переводчика

    - << Intel 80486 >> Центральный процессор … Википедия

    Эта статья предлагается к удалению. Пояснение причин и соответствующее обсуждение вы можете найти на странице Википедия:К удалению/24 декабря 2012. Пока процесс обсужден … Википедия

Книги

  • Лекции по истории Древней Церкви. В 4-х томах (количество томов: 4) , Болотов Василий В.В.. Профессор В. В. Болотов (1854-1900)-выдающийся православный церковный историк, человек энциклопедических знаний, отлично владевший древними классическими и рядом европейских языков; изучил…
  • Информатика Введение в компьютерные науки , Королев Л., Миков А.. В учебнике подробно рассмотрены математическое понятие алгоритма, рекурсивные алгоритмы и рекурсивные структуры данных, алгоритмы сортировки и поиска. Изложены основы теории сложности…

Иерархия памяти (быстродействие и объём)

Построение дискового массива

При проектировании высокопроизводительных компьютеров и систем необходимо решить множество компромиссов, например, размеры и технологии для каждого уровня иерархии. Можно рассматривать набор различных памятей (m 1 ,m 2 ,…,m n), находящихся в иерархии, то есть каждый m i уровень является как бы подчиненным для m i-1 уровня иерархии. Для уменьшения времени ожидания на более высоких уровнях, низшие уровни могут подготавливать данные укрупненными частями с буферизацией и, по наполнению буфера, сигнализировать верхнему уровню о возможности получения данных.

Часто выделяют 4 основных (укрупнённых) уровня иерархии:

  1. Внутренняя память процессора (регистры , организованные в регистровый файл и кэш процессора).
  2. ОЗУ системы (RAM) и вспомогательных карт памяти.
  3. Накопители с «горячим» доступом (On-line mass storage) - или вторичная компьютерная память. Жесткие диски и твердотельные накопители , не требующие длительных (секунды и больше) действий для начала получения данных.
  4. Накопители, требующие переключения носителей (Off-line bulk storage) - или третичная память. Сюда относятся магнитные ленты , ленточные и дисковые библиотеки , требующие длительной перемотки либо механического (или ручного) переключения носителей информации.

В большинстве современных ПК используется следующая иерархия памяти:

  1. Регистры процессора , организованные в регистровый файл - наиболее быстрый доступ (порядка 1 такта), но размером лишь в несколько сотен или, редко, тысяч байт.
  2. Кэш процессора 1го уровня (L1) - время доступа порядка нескольких тактов, размером в десятки килобайт
  3. Кэш процессора 2го уровня (L2) - большее время доступа (от 2 до 10 раз медленнее L1), около полумегабайта или более
  4. Кэш процессора 3го уровня (L3) - время доступа около сотни тактов, размером в несколько мегабайт (в массовых процессорах используется недавно)
  5. ОЗУ системы - время доступа от сотен до, возможно, тысячи тактов, но огромные размеры в несколько гигабайт, вплоть до сотен. Время доступа к ОЗУ может варьироваться для разных его частей в случае комплексов класса NUMA (с неоднородным доступом в память)
  6. Дисковое хранилище - многие миллионы тактов, если данные не были закэшированны или забуферизованны заранее, размеры до нескольких терабайт
  7. Третичная память - задержки до нескольких секунд или минут, но практически неограниченные объёмы (

Децентрализация управления предполагает иерархическую орга низацию структуры ЭВМ . Устройство управления главного, или центрального, процессора определяет лишь последовательность работ подчиненных модулей и их инициализацию, после чего они продолжают работу по собственным программам управления. Результаты выполнения требуемых операций представляются ими «вверх по иерархии» для правильной координации всех работ.

Подчиненные модули (контроллеры, адаптеры, КВВ) могут в свою очередь использовать специальные шины или магистрали для обмена информацией. Стандартизация и унификация привели к появлению иерархии шин и к их специализации. Из-за различий в скоростях работы отдельных устройств и структурах ПК появились:

    системная шина - для взаимодействия основных устройств;

    локальная шина - для ускорения обмена видеоданными;

    периферийная шина - для подключения «медленных» периферий­ных устройств.

Иерархический принцип построения и управления характерен не только для структуры ЭВМ в целом, но и для отдельных ее подсистем. Например, по этому же принципу строится система памяти ЭВМ.

Принцип иерархичности памяти

Пользователю, желательно иметь в ЭВМ оперативную память большой информационной емкости и высокого быстродействия. Однако одноуровневое построение памяти не позволяет одновременно удовлетворять этим двум противоречивым требованиям. Поэтому память современных ЭВМ строится по многоуровневому, пирамидальному принципу.

В составе процессоров может иметься сверхоперативное запоминающее устройство небольшой емкости, образованное несколькими десятками или несколькими сотнями регистров с быстрым временем доступа, составляющим один такт процессора (наносекунды, нс). Здесь обычно хранятся данные, непосредственно используемые в обработке.

Следующий уровень образует кэш-память , или память блокнотного типа , представляющая собой буферное запоминающее устройство для хранения активных страниц объемом десятки и сотни Кбайтов. В современных ПК она в свою очередь делится: на кэш L1 (Е п = =16-32 Кбайта с временем доступа 1-2 такта процессора); на кэш L2 (Е п =128-512 Кбайт с временем доступа 3-5 тактов) и даже на кэш L3 (Е п =2-4 Мбайта с временем доступа 8-10 тактов). Кэш-память, как более быстродействующая, предназначается для ускорения выборки команд программы и обрабатываемых данных. Здесь возможна ассоциативная выборка данных. Основной объем программ пользователей и данных к ним размещается в оперативном запоминающем устройстве (емкость - миллионы машинных слов, время выборки - 10-20 тактов процессора).

Часть данных-констант, необходимых операционной системе для управления вычислениями и используемых наиболее часто, может размещаться в постоянном запоминающем устройстве (ПЗУ). На более низких уровнях иерархии находятся внешние запоминающие устройства на магнитных носителях. Они могут быть реализованы на жестких и гибких магнитных дисках, магнитных лентах, магнитооптических дисках и др. Их отличает низкое быстродействие и очень большая емкость.

Организация заблаговременного обмена информационными потоками между ЗУ различных уровней при децентрализованном управлении ими позволяет рассматривать иерархию памяти как абстрактную единую кажущуюся (виртуальную) память. Согласованная работа всех уровней обеспечивается под управлением программ операционной системы. Объём используемой памяти благодаря этому значительно превосходит ОЗУ.