Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Кэш-память. Сверхоперативная память

Сверхоперативная память

Наборы регистров, образующих такую память, бывают двух назначений:

- программируемые в командах “прямоадресуемые” регистры (регистры “общего назначения”), предназначенные для размещения в них данных, часто используемых процессором;

- группы регистров, в которых автоматически (аппаратно) сохраняются часто используемые данные (“кэш (cache) - памяти”).

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

 

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

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

- способ доступа к кэш-памяти при обращении к находящимся в ней данным из процессора и при перемещении данных в кэш-память из оперативной памяти;

- способ выполнения записи данных в кэш-память из процессора.

По способу доступа к кэш-памяти различаются следующие организации кэш-памяти:

- полностью ассоциативная кэш-память;

- кэш-память с “прямой” адресацией;

- частично ассоциативная кэш-память.

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

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

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

0000 – 0077, 0400 – 0477, 1000 – 1077, 1400 – 1477 и т.д.

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

0100 – 0177, 0500 – 0577 и т.д.

Для приведенного примера данные с адресом 0432 могут быть найдены лишь в нулевом блоке кэш-памяти при нахождении в указанном специальном регистре при этом блоке адреса 0400, а данные с адресом 0543 могут быть найдены лишь в первом блоке кэш-памяти при нахождении в его специальном регистре адреса 0500.

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

Организация частично-ассоциативной памяти обеспечивает разделение блоков кэш-памяти на группы по одинаковому числу блоков по принципу организации кэш-памяти «с прямой адресацией», а поиск данных в выбранной группе блоков кэш-памяти осуществляется по принципу организации полностью ассоциативной памяти. Так для указанного выше примера четырех блоков кэш-памяти возможна организация частично-ассоциативной памяти из двух групп блоков по два блока в каждой. В “нулевую” группу попадают нулевой и первый блоки, а в первую – второй и третий блоки. Данные с адресами 0000 – 0177, 0400 – 0577, 1000 – 1177, 1400-1577 могут находиться лишь в блоках нулевой группы. Данные с указанными выше адресами 0432 и 0543 могут находиться или отсутствовать либо в нулевом, либо в первом блоке кэш-памяти.

Замена информации в частично-ассоциативной кэш-памяти при “промахе” обращения в нее происходит аналогично замене информации в других организациях кэш-памяти.

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

Память с прямой адресацией отличается наибольшей простотой нахождения места расположения данных в ней.

 

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

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

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

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

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

 

<== предыдущая лекция | следующая лекция ==>
Иерархия памяти | Виртуальная память. В первых ЭВМ программирование велось с использованием физических адресов оперативной памяти
Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 465; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.