Основные функциональные характеристики блоков КЭШ-памяти.
1) Емкость КЭШ.
2) Метод отображения. Так как количество строк Кэш памяти гораздо меньше, чем количество блоков памяти, необходимо установить соответствие между строкой КЭШ и строкой в оперативной памяти (ОП). Установление соответствие и называется функцией отображения.
Прямая функция. За каждым блоком ОП закрепляется определенная строка КЭШ.Достоинства: простота реализации. Недостаток: обновление одних строк КЭШ будет происходить часто, другие могут быть вообще не задействованы.
Ассоциативная. В этом случае Тетл являются все старшие разряды кода памяти, разрывается жесткая связь между блоком ОП и строкой КЭШ. Достоинства:обеспечение гибкости. Недостаток:усложнение логики поиска, усложнение алгоритмов управления Кэш памяти
Секционированное – ассоциативная. В этом случае весь массив Кэш памяти делится на секции с фиксированным количеством строк.
3) Алгоритм замены строк в КЭШ
LRU – least recently used – заменяется строка, к которой дольше всего не обращался процессор.
LFU - least freguently used – заменяется, прежде всего, используемая строка
FIFO – first in, first out – заменяется строка, записанная в КЭШ раньше остальных
Случайный – выбирается случайным образом строка КЭШ.
4) Обеспечивание целостности информации.
Сквозная запись – все операции записи дублируются в ОП
Обратная запись – процессор вносит изменения только в свой КЭШ и информация записывается в ОП только по окончания процесса. Минимизирует количество обращений к ОП.
5) Размер блока. (2-8 слов)
6) Структурная и архитектурная организация блока.
Количество уровней в иерархии
Емкость КЭША растет по мере перехода от более верхнего уровня к более низкому
КЭШ команд
КЭШ данных
Если организуется единый массив КЭШ памяти, то упрощаются схемы контроллеров КЭШ, а при организации сегментированной организации массива, возможно параллельно обрабатывать команды и данные
Понятие многопроцессорных систем. Классификация параллельных вычислительных систем.
Имеется много различных классификаций вычислительных систем. Рассмотрим наиболее часто используемые классификации.
Классификация Флина.
Рис. 1. К классификации Флина. Классификация по типу потока команд.
В одиночном потоке команд в один момент времени может выполняться только одна команда. В этом случае эта единственная команда определяет в данный момент времени работу всех или, по крайней мере, многих устройств вычислительной системы.
Во множественном потоке команд в один момент времени может выполняться много команд. В этом случае каждая из таких команд определяет в данный момент времени работу только одного или лишь нескольких (но не всех) устройств вычислительной системы.
В одиночном потоке последовательно выполняются отдельные команды, во множественном потоке – группы команд.
Рис. 2. К классификации Флина. Классификация по типу потока данных.
Одиночный поток данных обязательно предполагает наличие в вычислительной системе только одного устройства оперативной памяти и одного процессора. Однако при этом процессор может быть как угодно сложным, так что процесс обработки каждой единицы информации в потоке может требовать выполнения многих команд.
Множественный поток данных состоит из многих зависимых или независимых одиночных потоков данных.
В соответствии со сказанным, все вычислительные системы делятся на четыре типа:
· SISD (ОКОД);
· MISD (МКОД);
· SIMD (ОКМД);
· MIMD (МКМД).
Вычислительная система SISD представляет собой классическую однопроцессорную ЭВМ фон-неймановской архитектуры.
На вычислительную системы MISD существуют различные точки зрения. По одно них – за всю историю развития вычислительной техники системы MISD не были созданы. По другой точке зрения (менее распространенной, чем первая) к MISD-системам относятся векторно-конвейерные вычислительные системы. Мы будем придерживаться первой точки зрения.
Вычислительная система SIMD содержит много процессоров, которые синхронно (как правило) выполняют одну и ту же команду над разными данными. Системы SIMD делятся на два больших класса:
· векторно-конвейерные вычислительные системы;
· векторно-параллельные вычислительные системы или матричные вычислительные системы.