PPt4Web Хостинг презентаций

Главная / Информатика / Кэш-память
X Код для использования на сайте:

Скопируйте этот код и вставьте его на свой сайт

X

Чтобы скачать данную презентацию, порекомендуйте, пожалуйста, её своим друзьям в любой соц. сети.

После чего скачивание начнётся автоматически!

Кнопки:

Презентация на тему: Кэш-память


Скачать эту презентацию

Презентация на тему: Кэш-память


Скачать эту презентацию

№ слайда 1 Организация памяти
Описание слайда:

Организация памяти

№ слайда 2 Иерархии памяти Идея иерархической (многоуровневой) организации памяти заключает
Описание слайда:

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

№ слайда 3 Схема иерархического построения памяти
Описание слайда:

Схема иерархического построения памяти

№ слайда 4 Интерливинг
Описание слайда:

Интерливинг

№ слайда 5 Организация кэш-памяти Кэш-память это высокоскоростная память небольшeго размера
Описание слайда:

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

№ слайда 6 Структура кэш-памяти
Описание слайда:

Структура кэш-памяти

№ слайда 7 Схема иерархического построения памяти Оперативная память (RAM) Кэш 3-го уровня
Описание слайда:

Схема иерархического построения памяти Оперативная память (RAM) Кэш 3-го уровня (L3) Кэш 2-го уровня (L2) Кэш инструкций 1-го уровня (L1I) Кэш данных 1-го уровня (L1D) Регистры

№ слайда 8 Организация кэш-памяти Когда контроллер помещает данные в кэш- память? Загрузка
Описание слайда:

Организация кэш-памяти Когда контроллер помещает данные в кэш- память? Загрузка по требованию (on demand). Спекулятивная загрузка (speculative load). Алгоритм предполагает помещать данные в кэш-память задолго до того, как к ним произойдет реальное обращение. У кэш-контроллера есть несколько алгоритмов, которые указывают, какие ячейки памяти потребуются процессору в ближайшее время.

№ слайда 9 Организация кэш-памяти Когда контроллер выполняет поиск данных в памяти? после ф
Описание слайда:

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

№ слайда 10 Основные вопросы организации кэш-памяти Алгоритм отображения адресов основной па
Описание слайда:

Основные вопросы организации кэш-памяти Алгоритм отображения адресов основной памяти в кэш-память. Алгоритм записи данных и команд из кэш-памяти в основную память. Алгоритм замещения строки в кэш-памяти. Размер кэш-памяти. Длина строки в кэш-памяти.

№ слайда 11 Алгоритмы отображения Прямой (direct mapping). Ассоциативный (full associative m
Описание слайда:

Алгоритмы отображения Прямой (direct mapping). Ассоциативный (full associative mapping). Множественно-ассоциативный (set-associative mapping).

№ слайда 12
Описание слайда:

№ слайда 13 Пример «буксования» кэш-памяти (32 K) (cache trashing) real*8 a(4096),b(4096),c(
Описание слайда:

Пример «буксования» кэш-памяти (32 K) (cache trashing) real*8 a(4096),b(4096),c(4096) common a,b,c do i=1,4096 c(i)=a(i)+b(i) enddo

№ слайда 14
Описание слайда:

№ слайда 15 Зависимость количества промахов в кэш-память в зависимости от объема кэш-памяти
Описание слайда:

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

№ слайда 16
Описание слайда:

№ слайда 17 Сравнение алгоритмов отображения адресов Прямой 1 блок – 1 строка Плюс: быстрый
Описание слайда:

Сравнение алгоритмов отображения адресов Прямой 1 блок – 1 строка Плюс: быстрый поиск, маленькие теги, простая реализация Минус: пробуксовка кэша (Полностью) ассоциативный 1 блок – любая строка Плюс: нет пробуксовки кэша Минус: медленный поиск, большие теги, сложная реализация Множественно-ассоциативный 1 блок – несколько строк Компромиссный вариант

№ слайда 18 Алгоритмы записи Сквозная запись (Write Through (WT)). Сквозная запись с буфери-
Описание слайда:

Алгоритмы записи Сквозная запись (Write Through (WT)). Сквозная запись с буфери-зацией (Write Combining). Обратная запись (Write Back (WB)).

№ слайда 19 Алгоритмы замещения кэш-строк Least Recently Used (LRU) Most Recently Used (MRU)
Описание слайда:

Алгоритмы замещения кэш-строк Least Recently Used (LRU) Most Recently Used (MRU) Pseudo-Least Recently Used (PLRU)

№ слайда 20 Алгоритм замещения (алгоритм псевдо-LRU)
Описание слайда:

Алгоритм замещения (алгоритм псевдо-LRU)

№ слайда 21 Каким должен быть размер линии кэш-памяти? Размер линии должен быть как минимум
Описание слайда:

Каким должен быть размер линии кэш-памяти? Размер линии должен быть как минимум в ширину канала памяти Большой размер -- Более эффективное использование канала памяти при последовательном доступе -- Позволяет уменьшать «ассоциативность» кэша и количество линий Маленький размер -- Более эффективное использование канала памяти при произвольном доступе -- Заполнение можно делать за одну транзакцию к памяти

№ слайда 22 Какими должны быть основные параметры кэша? Размер кэша Большой, чтобы вместить
Описание слайда:

Какими должны быть основные параметры кэша? Размер кэша Большой, чтобы вместить рабочие данные Маленький, для быстрого доступа Степень ассоциативности кэша Большая, чтобы избегать пробуксовки Маленькая, для быстрого доступа Размер строки кэша Большой, чтобы использовать локальность Большой, чтобы уменьшить теги Маленький (доля полезных данных в кэше больше, если данные в памяти распределены произвольным образом)

№ слайда 23 Процессор Pentium 4, Xeon (Northwood) Itanium2 Opteron Alpha 21264 PowerPC 970FX
Описание слайда:

Процессор Pentium 4, Xeon (Northwood) Itanium2 Opteron Alpha 21264 PowerPC 970FX Программные регистры 8 целочисл. (32 бит), 8 веществ. (80 бит), 16 векторных (128 бит) 128 целочисл. (64 бит), 128 веществ. (82 бит), 64 предикатных (1 бит), 8 регистров ветвлений (64 бит), 128 прикладных регистра 16 целочисл. (64 бит), 8 веществ. (80-бит), 16 векторных (128-бит) 32 целочисл. (64 бит), 32 веществ. (64 бит) 32 целочисл (64 бит), 32 веществ. (64 бит), 16 векторных (128-бит) Аппаратные регистры целочисл. 128 (32 бит), веществ. 128 (128 бит) соответствуют программным 40 целочисл., 120 веществ. 80 целочисл., 72 веществ. 32 + 48 целочисл., 32 + 48 веществ., 16 + 16 векторных Кэш данных L1 8 KB, 4-way, строка 64 B, 16 KB, 4-way, строка 64 B, 64 KB, 2-way, строка 64 B, 64 KB, 2-way, строка 64 B, 32 KB, 2-way, строка 128 B, Кэш команд L1 кэш трасс, 12 K микроопераций, 8-way 16 KB, 4-way, строка 64 B, 64 KB, 2-way, строка 64 B 64 KB, 2-way, строка 64 B, 64 KB, прямого отображения, Кэш L2 512 KB, 8-way, строка 64B, 256 KB, 8-way, строка 128B, 1 MB, 16-way, строка 64 B, 1 – 4 MB, внешний, 512 KB, 8-way, строка 128B, Кэш L3 1.5 – 9 MB, 12-way, строка 128B,

№ слайда 24 Эффективное использование иерархии памяти Объем обрабатываемых данных Обход данн
Описание слайда:

Эффективное использование иерархии памяти Объем обрабатываемых данных Обход данных

№ слайда 25 Схема иерархической памяти int prog() { ... ... ... ... for (i…) for (j…) {a[i][
Описание слайда:

Схема иерархической памяти int prog() { ... ... ... ... for (i…) for (j…) {a[i][j]… b[j]… } ... ... } Программа: Оперативная память (медленная) Кэш-память (быстрая) Регистры (сверхбыстрая память) 2 Гб L1: 64Кб L2: 2Мб 32 целочисл. 32 веществ.

№ слайда 26 Последовательный обход данных (Си) 2D массив: Размещение массива в памяти: float
Описание слайда:

Последовательный обход данных (Си) 2D массив: Размещение массива в памяти: float X[N][M]; for (i=0;i

№ слайда 27 Последовательный обход данных (Фортран) 2D массив: Размещение массива в памяти:
Описание слайда:

Последовательный обход данных (Фортран) 2D массив: Размещение массива в памяти: real X(N,M) do 10 j=1,M цикл по столбцам do 10 i=1,N цикл по строкам 10 X(i,j)=expr(i,j)

№ слайда 28 Пример обхода данных Перемножение матриц: C[Nx][Nz]=A[Nx][Ny]*B[Ny][Nz] for(i=0;
Описание слайда:

Пример обхода данных Перемножение матриц: C[Nx][Nz]=A[Nx][Ny]*B[Ny][Nz] for(i=0;i

№ слайда 29 Результаты теста: перемножение матриц Размеры матриц 800*800 Схема программы: fo
Описание слайда:

Результаты теста: перемножение матриц Размеры матриц 800*800 Схема программы: for (…) for (…) for (…) C[i][k]+=A[i][j]*B[j][k];

№ слайда 30 Эффект «буксования» кэша Кэш данных 1 уровня процессора Alpha 21264 32 Кб = 8192
Описание слайда:

Эффект «буксования» кэша Кэш данных 1 уровня процессора Alpha 21264 32 Кб = 8192 float (real*4) = 4096 double (real*8) Параметры: Объем: 64 Кб 2-канальный множественно- ассоциативный Оперативная память 64 байта 0 32Кб 511 32Кб 32Кб

№ слайда 31 Пример «буксования» кэша: 2D массив X[Ny][Nx]; Выполняем обход по столбцам в про
Описание слайда:

Пример «буксования» кэша: 2D массив X[Ny][Nx]; Выполняем обход по столбцам в программе на языке Си d ≥ размер строки кэш-памяти (для Alpha 21264 – 64 байта)

№ слайда 32 Пример «буксования» кэша: 3D массив X[Nz][Ny][Nx]; Семиточечная схема:
Описание слайда:

Пример «буксования» кэша: 3D массив X[Nz][Ny][Nx]; Семиточечная схема:

№ слайда 33 Результаты теста: решение уравнения Пуассона в трехмерной области методом Якоби
Описание слайда:

Результаты теста: решение уравнения Пуассона в трехмерной области методом Якоби Размер 2D слоя для N=128: 128*128 = 16384 элементов = 64 Кб Размер массива: N × N × N

№ слайда 34 Рекомендации Объем активно используемых данных не должен превосходить размер кэш
Описание слайда:

Рекомендации Объем активно используемых данных не должен превосходить размер кэша По возможности используйте последовательный обход данных Избегайте одновременного использования данных, расположенных в памяти на расстоянии 32Кб (и кратном 32Кб)

№ слайда 35 Компиляторы языка Си на МВС-1000 Compaq C Compiler v6.4.9 команда: ccc оптимизир
Описание слайда:

Компиляторы языка Си на МВС-1000 Compaq C Compiler v6.4.9 команда: ccc оптимизирован для процессоров Alpha GNU C Compiler v2.91 команда: gcc или cc формирует код для любого процессора старая версия компилятора, формирует очень медленный код Замечание: Команда mpicc использует Compaq C Compiler Для компиляции Ваших программ используйте Compaq C Compiler (команда: ссс)

№ слайда 36 Ключи оптимизации компилятора ccc –O0 Отключает оптимизацию. –O1 Локальная оптим
Описание слайда:

Ключи оптимизации компилятора ccc –O0 Отключает оптимизацию. –O1 Локальная оптимизация и распознавание общих подвыражений. Начальная глобальная оптимизация. Используется по умолчанию. –O –O2 Встраивание небольших статических подпрограмм. Глобальная оптимизация, приводящая к увеличению размера кода: раскрытие умножения и деления (используя сдвиги), раскрутка циклов, дублирование кода для избежания ветвлений. –O3 Встраивание небольших глобальных подпрограмм. –O4 Программная конвейеризация. –fast -O3 плюс дополнительная оптимизация, включая оптимизацию вещественных вычислений, приводящую к некоторой потере точности.

№ слайда 37 Примеры использования различных ключей оптимизации
Описание слайда:

Примеры использования различных ключей оптимизации

№ слайда 38 Помощь компилятору Используйте средства языка для более точного описания природы
Описание слайда:

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

№ слайда 39 Точность вычислений Определяется: типом данных (float/real*4, double/real*8, rea
Описание слайда:

Точность вычислений Определяется: типом данных (float/real*4, double/real*8, real*16) размеров вещественных регистров процессора (64 бита для процессоров Alpha) Не зависит от компилятора (ccc, forte) Может меняться в результате преобразования программы: изменение порядка данных изменение порядка операций эквивалентные преобразования выражений оптимизация с помощью компилятора

Скачать эту презентацию

Презентации по предмету
Презентации из категории
Лучшее на fresher.ru