рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Кэш-память

Кэш-память - раздел Компьютеры, Принципы функционирования ЭВМ. Учебное пособие по курсам «Технология программирования» и «Операционные системы» Как Уже Говорилось Выше, Назначение Кэш-Памяти – Временное Хранение Данных И ...

Как уже говорилось выше, назначение кэш-памяти – временное хранение данных и команд, часто используемых процессором. Основной структурной единицей кэш-памяти является так называемая строка кэша (cache line). Длина строки кэша составляет обычно 32, 64, 128 или 256 байт.

Рассмотрим способы организации кэш-памяти, принятые в современных ЭВМ. Опишем возможные способы отображения адресов данных в оперативной памяти на адреса данных в кэш-памяти и, соответсвенно, способы поиска требуемых данных в кэш-памяти. Пусть, в качестве упрощенного примера, существует ЭВМ с десятибитным адресом. Следовательно, объем непосредственно адресуемой оперативной памяти составляет 210 байт. Пусть имеется кэш-память из восьми строк, каждая строка из восьми байт. Организация кэш-памяти показана на рис 18. С каждой строкой кэша связано поле тэга. Тэг (tag – пометка, отметка) – признак, используемый при поиске требуемых данных.

Существуют три основных способа организации кэш-памяти: 1) кэш с прямым отображением; 2) полностью ассоциативный кэш; 3) наборно ассоциативный кэш.

В случае кэша с прямым отображением адрес, формируемый процессором, имеет вид, показаный на рис 18 а). Адрес состоит из трех частей. Младшие биты адреса определяют конкретный байт в строке кэша. Их количество k определяется длиной строки кэша L

k = log2L.

Средние биты адреса определяют одну из строк кэша. Количество n средних битов определяется количеством M строк кэша

n = log2M.

 

      тэг
                     
                   
                     
                   
                     
                 
                     
                 

 

 

тэг строка байт

а)

      тэг
                     
                   
                     
                   
                     
                   
                     
                 

 

Тэг байт

б)


 

      тэг
                   
                   
                   
                 
                   
                   
                   
                 

 

тэг набор байт

в)

Рис 18. Кэш-память. а) с прямым отображением; б) полностью ассоциативная; в) наборно-ассоциативная.

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

Достоинство кэша с прямым отображением – очевидная простота реализации. Недостаток состоит в том, что несколько адресов с одинаковыми младшими k + n битами могут претендовать на одну и ту же ячейку кэша.

Этот недостаток полностью устранен в ассоциативной кэш-памяти (см. рис 18 б)). Адрес, формируемый процессором состоит из двух частей. Младшие биты так же как и раньше определяют адрес конкретного байта в строке. Старшие биты адреса одновременно сравниваются с тэгами для всех строк кэша. Если в результате сравнения для одной из строк обнаруживается совпадение, эта строка считается искомой. Байт может быть отображен на любую строку кэша. Ассоциативная кэш-память обладает всего одним, но весьма существенным недостатком – устройство ассоциативного сравнения является весьма сложным узлом, причем стоимость и сложность этого узла растут экспоненциально в зависимости от количества строк кэша. Как следствие, ассоциативная кэш память не может иметь большого количества строк.

Третий вид кэш-памяти – наборно-ассоциативная (см. рис 18 в)) – это смешанная конструкция, сочетающая в себе простоту памяти с прямым отображением и эффективность ассоциативного кэша. Строки кэша объединяются в наборы по 2, 4, 8 и т.д. штук. Средние биты определяют не строку, а набор. Конкретная строка в наборе выбирается с помощью ассоциативного сравнения для всех строк, входящих в набор.

Пусть контроллер кэш-памяти обнаружил, что данные, требуе­мые в настоящий момент для процессора, в кэш-памяти отсутст­вуют. Нужно прочитать строку, содержащую необходимые данные из оперативной памяти, и разместить ее в кэш-памяти. Для этого не­обходимо решить, какую из строк кэша сле­дует удалить для разме­щения вновь поступивших данных. Для выбора строки, подлежащей замещению, чаще всего используется так называемый алгоритм LRU (от Least Recently Used – дольше всего неиспользуемый). Суть алгоритма в том, что совместно с каждым элементом хранится исто­рия его использования за последнее время. Из всех существующих элементов выбирается тот, к которому дольше всего не было обра­щений. Недостатком алгоритма можно считать необ­ходимость хра­нения и обработки большого количества информации об истории использования элемента данных, что становится особенно важным при исполь­зовании кэша большого объема. Поэтому в системах с кэш памятью большого объема часто применяется более простой алгоритм, по которому вытесняемая строка выбирается случайным образом. Как показывает практический опыт, при большом объеме кэш-памяти алгоритм случайного замещения незначительно проиг­рывает алгоритму LRU по эффективности, но значительно выигры­вает по простоте реализации.

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

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

Существенно уменьшить потери производительности позволяет другой способ записи, который называется буферизированной сквозной записью (buffered write through). Процессор передает запи­сываемые данные контроллеру кэша и на этом операция записи для процессора считается законченной. Записываемые данные сохра­нятся в буфере контроллера кэша и переписываются из буфера в оперативную память в те моменты времени, когда процессор не производит обращений к памяти и системная шина свободна.

Третий способ организации называется обратной записью (write back). При этом способе нагрузка на тракты обмена данными между процессором и памятью максимально снижается. Процессор произ­водит запись только в кэш-память. В каждый момент времени суще­ствует только одна «истинная» копия данных, находящаяся в кэш-памяти. Перезапись данных из кэш-памяти в основную память про­изводится только тогда, когда одна строка кэша заменяется другой, причем перезаписывается только строка целиком. Для этого каждая строка кэша снабжается дополнительным признаком «грязных» данных, который устанавливается, если в данную строку произво­дилась запись. При установленном признаке строка, вытесняемая из кэша, переписывается в оперативную память, иначе она не перепи­сывается. Подобный способ записи, в сочетании с алгоритмом вы­теснения данных LRU описанным выше, позволяет избавиться от «лишних» обращений к памяти для часто используемых данных, на­пример счетчиков циклов, временных рабочих переменных и т.д.

– Конец работы –

Эта тема принадлежит разделу:

Принципы функционирования ЭВМ. Учебное пособие по курсам «Технология программирования» и «Операционные системы»

В пособии излагаются базовые принципы организации и функционирования ЭВМ Рассмотрен состав минимальной ЭВМ с шинной организацией назначение и... Илл библиограф наим...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Кэш-память

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

ПРИНЦИПЫ ФОН НЕЙМАНА
Большинство современных ЭВМ строятся на базе принципов, сформулированных американским ученым, одним из “отцов” кибернетики Дж. фон Нейманом. Впервые эти принципы были опубликованы фон Нейманом в 19

СОСТАВ И ФУНКЦИОНИРОВАНИЕ МИНИМАЛЬНОЙ ЭВМ С ШИННОЙ ОРГАНИЗАЦИЕЙ
Шинная организация является простейшей формой организации ЭВМ. Подобная ЭВМ имеет в своем составе следующие функциональные блоки (см. рис. 1). Устройство управления (УУ) -

КОМАНДЫ ЭВМ
В данном разделе пособия кратко рассмотрим набор команд, используемых в типичных ЭВМ и действия, реализуемые этими командами.

ПЕРЕЙТИ ЕСЛИ БОЛЬШЕ К АДРЕСУ L .
Первая из команд (сравнение) производит, как отмечалось выше, вычитание значения операнда B из операнда A. Если A>B, то результат будет положителен и, соответственно, флаг знака во флаговом реги

СИСТЕМНЫЕ ИНТЕРФЕЙСЫ С ИЗОЛИРОВАННОЙ И ОБЩЕЙ СИСТЕМОЙ ШИН
В предыдущих разделах при описании обобщенного алгоритма работы центрального процессора мы намеренно опустили из рассмотрения вопрос о том, как процессор “отличает” порты внешних устройств от ячеек

СПОСОБЫ ОБМЕНА ДАННЫМИ В МАШИНАХ С ШИННОЙ ОРГАНИЗАЦИЕЙ. МЕХАНИЗМ ПРЕРЫВАНИЙ
Рассмотрев алгоритм функционирования процессора и способы организации системы шин в ЭВМ, попытаемся выяснить, какие особенности в работу и организацию ЭВМ вносит необходимость обеспечения взаимодей

Программно - управляемый обмен данными
Так как скорость работы периферийного оборудования обычно ниже скорости работы процессора, чтобы осуществить операцию обмена процессор должен убедиться, что устройство готово к выполнению операции

Обмен по прерываниям
Чтобы понять, что такое прерывание, обратимся к следующему примеру. Некоторый человек сидит в кресле и читает книгу. В это время на кухонной плите что-то готовится, и, кроме того, его прия

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

И ЕЩЕ О ПРЕРЫВАНИЯХ
Описанный выше механизм прерываний, или аппаратные прерывания, является эффективным способом организации взаимодействия процессора с медленными внешними устройствами и начал

РЕЖИМЫ АДРЕСАЦИИ
При выполнении программы многим командам требуется доступ к памяти для выборки данных, записи промежуточных и окончательных результатов вычислений. Для любого такого обращения, что уже отмечалось в

ИЕРАРХИЧЕСКАЯ ОРГАНИЗАЦИЯ ПАМЯТИ
Память в современных компьютерах строится по иерархическому принципу. Одним из явлений, характерных для фоннеймановских ЭВМ является принцип локальности. Это означает, что за ограниченный промежуто

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

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

Процесс переадресации виртуальной памяти
Процесс переадресацииопишем на примере микропроцессора 80386 фирмы Intel. Процесс переадресации показан на рис. 19 и 20.Перед исполнением загрузочные модели помещаются в оперативну

ФОРМАТЫ ДАННЫХ
Основными типами данных, которые встречаются при обработке информации в ЭВМ, являются числа, представленные в двоичной системе счисления, а также алфавитно-цифровые символы. Некоторые ЭВМ также осу

ИНФОРМАЦИОННАЯ МОДЕЛЬ ЭВМ
Обработка чисел, символьной информации, логическая обработка, обработка сигналов - это все частные случаи общего понятия над названием «обработка информации». Для ЭВМ характерен признак: информация

Простейший конвейер, производительность конвейера
Существует достаточно простое общеизвестное правило – чтобы выполнить некоторую работу быстрее, необходимо разделить ее между несколькими исполнителями и заставить их действовать од­новременно. Раз

Структурные конфликты
Структурные конфликты возникают, если на различных участках конвейера производится обращение к одному, недублированому ре­сурсу. Подобная ситуация возникает, например, если процессор имеет единую к

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

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

ЭВМ С КАНАЛЬНОЙ ОРГАНИЗАЦИЕЙ
В основе этого типа организации ЭВМ лежит множественность каналов связи между устройствами и функциональная специализация узлов. Упрощенная схема организации ЭВМ с каналами приведена на ри

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги