Иерархия типов памяти. Принцип иерархичности построения структуры

). Означает, что различные виды памяти образуют иерархию, на различных уровнях которой расположены памяти с отличающимися временем доступа, сложностью, стоимостью и объемом. Возможность построения иерархии памяти вызвана тем, что большинство алгоритмов обращаются в каждый промежуток времени к небольшому набору данных, который может быть помещен в более быструю, но дорогую и поэтому небольшую, память (см. 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)-выдающийся православный церковный историк, человек энциклопедических знаний, отлично владевший древними классическими и рядом европейских языков; изучил…
  • Информатика Введение в компьютерные науки , Королев Л., Миков А.. В учебнике подробно рассмотрены математическое понятие алгоритма, рекурсивные алгоритмы и рекурсивные структуры данных, алгоритмы сортировки и поиска. Изложены основы теории сложности…

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

Адресация данных

Команды, исполняемые ЭВМ при выполнении программы, равно как и числовые и символьные операнды, хранятся в памяти компьютера. Память состоит из миллионов ячеек, в каждой из которых содержится один бит информации (значения 0 или 1). Биты редко обрабатываются поодиночке, а, как правило, группами фиксированного размера. Для этого память организуется таким образом, что группы по n бит могут записываться и считывается за одну операцию. Группа n бит называется словом, а значение n - длиной слова. Схематически память компьютера можно представить в виде массива слов.

Обычно длина машинного слова компьютеров составляет от 16 до 64 бит. Если длина слова равна 32 битам, в одном слове может храниться 32-разрядное число в дополнительном коде или четыре символа ASCII, занимающих 8 бит каждый. Восемь идущих подряд битов являются байтом. Для представления машинной команды требуется одно или несколько слов.

Байтовая адресация

Отдельные биты, как правило, не адресуются и чаще всего адреса назначаются байтам памяти. Память, в которой каждый байт имеет отдельный адрес, называется памятью с байтовой адресацией. Последовательные байты имеют адреса 0.1, 2 и так далее Таким образом, при использовании слов длиной 32 бита последовательные слова имеют адреса 1.4, 8, …, и каждое слово состоит из 4 байт.

Прямой и обратный порядок байтов

Существует два способа адресации байтов в словах:

  • в прямом порядке. Прямым порядком байтов (little-endian) называется система адресации, при которой байты адресуются справа налево, так что наименьший адрес имеет самый младший байт слова (расположенный с правого края);
  • в обратном порядке. Обратным порядком байтов (big-endian) называется система адресации, при которой байты адресуются слева направо, так что самый старший байт слова (расположенный с левого края) имеет наименьший адрес.

В ПЭВМ на основе 80 x 86 используется прямой порядок, а в ПЭВМ на основе Motorola 68000 - обратный. В обеих этих системах адреса байтов 0.4, 8 и так далее, применяются в качестве адресов последовательных слов памяти в операциях чтения и записи слов.

Расположение слов в памяти

В случае 32-разрядных слов их естественные границы располагаются по адресам 0.4, 8 и так далее При этом считается, что слова выровнены по адресам в памяти. Если говорить в общем, слова считаются выровненными в памяти в том случае, если адрес начала каждого слова кратен количеству байтов в нем. По практическим причинам, связанным с манипулированием Двоично-кодированными адресами, количество байтов в слове обычно является степенью двойки. Поэтому, если длина слова равна 16 бит (2 байтам), выровненные слова начинаются по байтовым адресам 0.2, 4, …, а если она равна 64 бит (23, то есть 8 байтам), то выровненные слова начинаются по байтовым адресам 0.8, 16, …

Не существует причины, по которой слова не могли бы начинаться с произвольных адресов. Такие слова называются не выровненными. Как правило, слова выравниваются по адресам памяти, но иногда этот принцип нарушается.

Обычно число занимает целое слово, поэтому для того чтобы обратиться к нему, нужно указать адрес слова, по которому оно хранится. Точно так же доступ к отдельно хранящемуся в памяти символу осуществляется по адресу содержащего его байта.

Адресное пространство

Для доступа к памяти необходимы имена или адреса, определяющие расположение данных в памяти. В качестве адресов традиционно используются числа из диапазона от 0 до 2 k - 1 со значением к, достаточным для адресации всей памяти компьютера. Все 2 k адресов составляют адресное пространство компьютера. Следовательно, память состоит из 2 k адресуемых элементов. Например, использование 24-разрядных (как в процессоре 80286) адресов позволяет адресовать 2 24 (16 777 216) элементов памяти. Обычно это количество адресуемых элементов обозначается как 16 Мбайт (1 Мбайт=2 20 =1 048 576 байт, адресное пространство 8086 и 80186). Поскольку у процессоров 80386.80486 Pentium и их аналогов 32-разрядные адреса, им соответствует адресное пространство в 2 32 байт, или 4 Гбайт.

Адресное пространство ЭВМ графически может быть изображено прямоугольником, одна из сторон которого представляет разрядность адресуемой ячейки (слова) процессора, а другая сторона - весь диапазон доступных адресов для этого же процессора. Диапазон доступных адресов процессора определяется разрядностью шины адреса системной шины. При этом минимальный номер ячейки памяти (адрес) будет равен 0, а максимальный определяется из формулы M=2 n - 1.

Для шестнадцатиразрядной шины это будет 65 535 (64 К).

Иерархическая организация памяти

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

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

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

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

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

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

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

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

Кэш-память

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

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

Стратегии управления иерархической памятью

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

Отображение памяти на кэш

Существует три основных способа размещения блоков (строк) основной памяти в кэше:

  • кэш память с прямым отображением (direct-mapped cache);
  • полностью ассоциативная кэш память (fully associative cache).
  • частично ассоциативная (или множественно ассоциативная, partial associative, set-associative cache) кэш память;

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

(Адрес блока кэш памяти )=(Адрес блока основной памяти ) mod (Число блоков в кэш памяти ).

Этот тип памяти наиболее прост, но и наименее эффективен, так как данные из разных областей памяти могут конфликтовать из-за единственной строки кэша, где они только и могут быть размещены.

Полностью ассоциативная память

Может отображать содержимое любой области памяти в любую область кэша, но при этом крайне сложна в схемотехнике.

Частично-ассоциативный кэш

Является наиболее распространенным в данный момент среди процессорных архитектур. Характеризуется тем или иным количеством n «каналов» (степенью ассоциативности, «п-way») и может отображать содержимое данной строки памяти на каждую из n своих строк. Этот вариант является разумным компромиссом между полностью ассоциативным и кэшем «прямого отображения».

В современных процессорах, как правило, используется либо кэш память с прямым отображением, либо двух- (четырех-) канальная множественно ассоциативная кэш память. Например, в архитектурах К7 и К8 применяется 16-канальный частично-ассоциативный кэш L2.

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

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

  • случайная (Random) - блоки-кандидаты выбираются случайно (равномерное распределение). В некоторых системах используют псевдослучайный алгоритм замещения;
  • замещается тот блок, который не использовался дольше всех (LRU - Least-Recently Used) . В этом случае чтобы уменьшить вероятность удаления информации, которая скоро может потребоваться, все обращения к блокам фиксируются.

Достоинство случайного способа заключается в том, что его проще реализовать в аппаратуре. Когда количество блоков увеличивается, алгоритм LRU становится все более дорогим и часто только приближенным.

Алгоритмы обмена с кэш памятью (свопинга)

включают следующие разновидности:

  • алгоритм сквозной записи (Write Through) или сквозного накопления (Store Through);
  • алгоритм простого свопинга (Simple Swapping) или обратной записи (Write Back);
  • алгоритм свопинга с флагами (Flag Swapping) или обратной записи в конфликтных ситуациях с флагами (CUX);
  • алгоритм регистрового свопинга с флагами (FRS).

Алгоритм сквозной записи

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

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

Алгоритм простого свопинга

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

Алгоритм свопинга с флагами

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

Алгоритм регистрового свопинга с флагами

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

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

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

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

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

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

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

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

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

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

Основными характеристиками отдельных ЗУ являются емкость памяти, быстродействие и стоимость хранения единицы информации (бита).

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

Требования к увеличению емкости и быстродействия памяти, а также к снижению ее стоимости являются противоречивыми.Чем больше быстродействие, тем технически труднее достигается и дороже обходится увеличение емкости памяти.

Как и большинство устройств ЭВМ, память имеет иерархическую структуру. Обобщённая модель такой структуры, отражающая многообразие ЗУ и их взаимодействие, представлена на рис. 36. Все запоминающие устройства обладают различным быстродействием и емкостью. Чем выше уровень иерархии, тем выше быстродействие соответствующей памяти, но меньше её емкость.

К самому высокому уровню - сверхоперативному - относятся регистры управляющих и операционных блоков процессора, сверхоперативная память, управляющая память, буферная память (кэш-память).

На втором оперативном уровне находится оперативная память (ОП), служащая для хранения активных программ и данных, то есть тех программ и данных, с которыми работает ЭВМ.

На следующем более низком внешнем уровне размещается внешняя память.

Рис. 36. Иерархическая структура памяти

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

Иногда в архитектуре ЭВМ регистровая память организуется в виде сверхоперативного ЗУ с прямой адресацией. Такая память служит для хранения операндов, данных и служебной информации, необходимой процессору.

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

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

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

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

Сравнительно небольшая емкость оперативной памяти (8 - 64 Мбайта) компенсируется практически неограниченной емкостью внешних запоминающих устройств. Однако эти устройства сравнительно медленные - время обращения за данными для магнитных дисков составляет десятки микросекунд. Для сравнения: цикл обращения к оперативной памяти (ОП) составляет 50 нс. Исходя из этого, вычислительный процесс должен протекать с возможно меньшим числом обращений к внешней памяти.

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

Емкость ЗУ измеряется в Байтах (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-плейеры, цифровые диктофоны, и т.п. В ближайшие годы флэш-память будет самым применяемым компактным накопителем информации, постепенно вытесняя привычные дискеты.