
- •1.Основные термины и понятия.
- •Системы обработки данных
- •2.Основные факторы,
- •3.Определяющие принципы организации эвм
- •2 Фактор
- •3 Фактор
- •Типы компьютеров
- •Одноразовые компьютеры
- •Микроконтроллеры
- •Игровые компьютеры
- •Персональные компьютеры
- •Серверы
- •Комплексы рабочих станций
- •Мэйнфреймы
- •Структурная организация компьютера.
- •Система команд
- •2 Организация системных шин в компьютере
- •2.1 Передача данных в компьютере
- •Шины бывают следующих типов:
- •Параллельные шины
- •Последовательные шины
- •2.2 Общая шина
- •2.3 Системные шины fsb, qpi и HyperTransport
- •2.4 Шина pci
- •2.5 Шина pci Express
- •2.6 Последовательные шины Serial ata и usb
- •3 Организации памяти в эвм
- •3.1 Иерархическая организация памяти и принцип локальности ссылок
- •3.2 Взаимодействие процессора и различных уровней памяти
- •3.3 Адресная память
- •Латентность памяти и тайминги [20]
- •3.4 Ассоциативная память
- •3.5 Организация кэш-памяти
- •3.5.2 Типы кэш-памяти
- •Кэш с прямым отображением
- •Полностью ассоциативный кэш
- •Множественно-ассоциативный кэш
- •3.5.4 Дисковая кэш-память
- •3.7 Целостность данных
- •Методы обеспечения целостности данных:
- •3.8. Когерентность данных в мультипроцессорных системах
- •3.9. Эксклюзивная и инклюзивная организация кэш-памяти
- •3.4 Ассоциативная память
- •Р и с. 3.4. Ассоциативная память
- •3.5 Организация кэш-памяти
- •3.5.2 Типы кэш-памяти
- •К эш с прямым отображением
- •3.5.3 Множественно-ассоциативная четырехканальная кэш-память процессора i486
- •3.5.4 Дисковая кэш-память
- •Магнитные диски
- •Дискеты
- •Паралельные вычислительные сиситемы
- •Матричная система
- •Векторно - конвейерный принцип обработки данных
- •Прогнозирование ветвлений
- •Многопроцессорные архитектуры
- •Многомашинные вс
- •Системы с массовым параллелизмом
- •Кластерные системы
- •Многоядерная архитектура (Multicore)
- •Проблемы Multicore
3.5 Организация кэш-памяти
3.5.1 Кэш-память в структуре компьютера
Основная задача кэш-памяти - согласование работы быстрого процессора и медленной.
К эш-память исполняет роль буфера между основной памятью и процессором (рис. 3.5) i. Р и с.
Системная шина
3.5. Кэш-память в компьютере
Использование кэш-памяти базируется на «принципе локальности ссылок», который был рассмотрен ранее.
Это означает, что следующее обращение к памяти в программе с большой вероятностью произойдет к тому же блоку данных, который находится в данный момент в кэш-памяти.
Кэш разбивается на строки по 16 или 32 байта, соответствующие одному стандартному пакетному циклу обращения к динамической памяти.
Обмен информацией между ОП и кэш-памятью осуществляется строками, даже если необходимо передать только один байт.
Процессор, выполняя команду, запрашивает операнд по некоторому адресу в адресном пространстве. Кэш-контроллер проверяет, есть ли в кэше строка данных, соответствующая запрашиваемому адресу.
На такие же строки условно разделяются и страницы основной памяти.
В случае наличия искомой строки ситуация называется кэш-попадание.
Если нужной строки в кэш-памяти нет, то происходит кэш-промах, и кэш-контроллер инициирует обращение к основной памяти ОП для переписи из нее нужной строки в кэш-память.
В связи с этим возникает проблема замены какой-либо строки в кэше на новую строку из ОП. Для этого используют специальные дисциплины замещения строк.
Таким образом, функциями кэш-контроллера являются:
хранение информации об адресах строк данных, находящихся в кэш-памяти;
хранение предыстории обращений к строкам в кэш-памяти;
замещение строк в кэш-памяти в случаях кэш-промахов;
контроль системной шины для выявления обращений к ОП со стороны других устройств.
3.5.2 Типы кэш-памяти
Предположим, что основная память ОП имеет емкость M = 2N строк,
где N - число двоичных разрядов адреса.
Емкость кэш-памяти равна т, при этом n = log2m - число разрядов, необходимых для адресации m строк кэш-памяти. Проблема в том, что M >> т и N > n.
Физический адрес, выработанный процессором и имеющий длину N, делится на три поля:
а) индекс S - адресует подмножество строк в кэш-памяти;
б) адрес b байта в строке;
в) тег T - остальная часть физического адреса, T =N- S- b, служащая ассоциативным признаком при поиске в кэш-памяти.
Пусть кэш-память разбита на 2S непересекающихся подмножеств строк.
Тогда число строк в одном подмножестве равно 2n - S.
Это число определяет количество входов или каналов кэш-памяти.
В современных вычислительных системах используются три типа организации кэш-памяти.
Полностью ассоциативная кэш-память.
В этом случае S =0 - имеем одно подмножество, совпадающее со всей кэш-памятью и 2n- S = 2n - число строк в подмножестве равно емкости кэша.
Кэш с прямым отображением.
Имеем S = n, то есть 2n подмножеств и число строк в одном подмножестве равно 2n- S = 20 = 1.
Множественно-ассоциативная кэш-память.
В этом случае 1 < S < n -1.
При S = 1 имеем два подмножества в кэше по 2n-1 строк в каждом. При S = n -1 имеем 2n-1 подмножеств по две строки в каждом (двухвходовая кэш-память). Аналогично при S = n- 2 имеем 2n-2 подмножеств по 4 строки в каждом (четырехвходовая кэш-память).
Рассмотрим организацию каждого типа кэш-памяти.