Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Методическое пособие 665

.pdf
Скачиваний:
17
Добавлен:
30.04.2022
Размер:
3.51 Mб
Скачать

промаха в 20 тактовых циклов, коэффициентов промахов 5 % на команду и временем доступа к кэш – 1 такт.

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

Среднее время доступа к данным (Тэфф) рассчитывает-

ся [8]:

Tэфф=Tтек+h× Tтек,

где Tтек, Тслед. – время доступа к текущему и следующему уровню системы памяти;

1 такт соответствует 1/1ГГц=1нс, т.е. среднее время доступа к данным:

Тэфф =1+0,05×20=2 нс.

3.2. Задания и указания по их выполнению Задание 1. Опишите структуру кэш-памяти текущего

процессора по данным программы CPU-Z или SiSoftware Sandra Lite, заполнив табл. 6.

Указания к выполнению

Кэш процессора имеет многоуровневую структуру. На первом уровне (L1) разделение на кэш для команд (i-кэш) и кэш для данных (d-кэш) необходимо для устранения структурных конфликтов при конвейерной обработке.

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

Оцените размер слова (длина целого для IAx86 и команды для RISC-процессоров) и рассчитайте количество слов в строке.

30

 

Структура кэш-памяти процессора

Таблица 6

 

 

 

Кэш

 

Ассоциа-

Размер

Кол-во

 

Объем

 

 

тивность*

строки

строк**

 

 

Внутренний

i-кэш

 

 

 

 

 

L1

 

 

 

 

 

 

Внутренний

d-кэш

 

 

 

 

 

L1

 

 

 

 

 

 

Внутренний

уни-

 

 

 

 

 

фицированный L2

 

 

 

 

 

L3

 

 

 

 

 

 

*) укажите кол-во множеств (каналов)

**) для множественно-ассоциативного отображения укажите кол-во строк в одном множестве.

Задание 2. Определите размер тега для кэш-памяти L2 процессора по данным табл. 6.

Примите размер слова равным ширине выборки из ОЗУ

– 64 бита и решайте задачу аналогично примеру 2.

Задание 3. Измерьте задержки двухуровневой кэшпамяти по тесту латентности программы CacheBurst32 или утилиты latency.exe, поставляемой с программой CPU-Z.

Указания к выполнению

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

Тесты латентности позволяют определить задержку доступа к данным подсистемы памяти — L1, L2, L3 кэша данных и RAM. Алгоритм работы теста состоит в создании связанного списка блоков в выделенной области памяти (рис. 11). При этом соблюдается условие, что на каждой полной итерации

31

чтения к каждому элементу цепочки будет осуществлено строго одно обращение.

Рис. 11. Цепочка последовательного доступа

Количество элементов цепочки (step) берется равное размеру блока (Block size), деленному на величину шага по цепочке (Stride Size). В тесте latency задается величина шага Stride Size и их количество, а в CacheBurst32 – размер блока

(start/end block size) и количество разбиений (step). В случае если размер шага соответствует длине строки кэша, то размер «запрашиваемого» из ОЗУ блока совпадает со строкой кэша. Таким образом, использование размеров блока, меньших или равных размеру L1 кэша, позволяет измерить время доступа к нему, соответственно размер блока равный (L1+L2) – к L2 и

т.д. [2].

Программа CacheBurst32 предназначена для определения пропускной способности и латентности кэш и основной памяти в различных режимах. Рабочее окно программы CacheBurst32 представлено на рис. 12.

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

32

Рис. 12. Результаты измерения латентности кэша и ОЗУ в режиме последовательного чтения 8 блоками размером от 4 Кбайт до 512 Кбайт

Случайный доступ (Random Read/Memory Walk) реали-

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

Программа может быть настроена на различные режимы выполнения теста. Наибольший интерес представляет управление параметром Block Size, которое обеспечивает построение зависимости латентности кэша данных/памяти от размера блока.

В программе задержка (Latency) доступа к памяти определяется числом циклов процессора (Cycles). Поэтому необ-

33

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

В CacheBurst32 задается размер начального блока и конечного (Start/End Block Size) для проведения теста, что соответствует минимальной и максимальной точке результирующего графика. Определение латентности осуществляется усреднением числа циклов, затрачиваемых на считывание заданной порции данных по заданному количеству операций

(Read Latency Step).

Утилита latency.exe предоставляет аналогичные результаты только в текстовой форме и имеет предустановленные – объем пересылаемых данных (size) и размер передаваемой за

одно обращение порции данных (stride) в байтах.

Результаты оценивания занесите в таблицу:

 

Время доступа, нс

 

Последовательное чтение

Случайное чтение

L1

 

 

L2

 

 

L3

 

 

RAM

 

 

Задание 4. Оцените эффективность кэш-памяти процессора, построив «гору памяти» [9].

В качестве показателя эффективности используйте пропускную способность считывания, которая определяется количеством N байт, которые программа (тестовая утилита) считывает за s секунд. Этот показатель, выражаемый в МБайт/с, зависит от временной локальности (size – объем передаваемых данных) и пространственной (stride – число обращений или порция данных, получаемая/передаваемая за одно обращение). Двухмерная функция пропускной способности памяти от пространственной и временной локализации данных называется «гора памяти», пример на рис. 13. Ее срезы отражают оптимальные порции данных и объемы пересылок из основной памяти в процессор.

34

Пропускная способность, МБайт/с

Рис. 13. График эффективности кэш-памяти

По результатам теста латентности или измерений, проведенных с помощью CacheBurst32, постройте «гору памяти». Выберите срез с низкой пропускной способностью и срез с высокой, отобразите их вместе на одном двухмерном графике.

3.3. Виды и материалы контроля выполнения работы

По результатам выполнения работы должен быть подготовлен отчет, содержащий:

– схему, отражающую структуру кэш-памяти процессо-

ра;

35

значения латентности кэш 1, 2, и 3-го уровня, а также вычисленные значения длины тега;

трехмерный график зависимости пропускной способности от объема передаваемых данных и числа обращений к основной памяти;

двухмерный график, отражающий срезы «горы памяти» с высокой и низкой пропускной способностью.

Контрольно-тестовые задания

1.Собственная сверхбыстродействующая память процессора – это … а) кэш; б) АЛУ;

в) набор регистров;

г) SDRAM.

2.Единицей пересылки между кэш-памятью и основной является … а) строка; б) слово; в) байт; г) бит.

3.Укажите метод доступа к кэш-памяти:

а) произвольный; б) последовательный; в) ассоциативный; г) адресный.

4.Быстродействие иерархии памяти достигается за счет использования … а) конвейера; б) кэш-памяти;

в) механизма обработки прерывания; г) специального набора команд.

5.Соответствие между блоками в основной памяти и строками кэш определяется … а) функцией отображения; б) длиной строки;

36

в) алгоритмом замены; г) политикой поддержания информационной целостности.

6.Поиск в кэш-памяти осуществляется по … а) адресу; б) тегу;

в) уникальному имени; г) номеру строки.

7.Расположите алгоритмы замещения в порядке уменьшения их относительной эффективности:

FIFO, LFU, LRU, random.

8.Если обновление данных в основной памяти происходит одновременно с изменением в кэше, то это называется … а) промах; б) сквозная запись;

в) обратная запись; г) прямое отображение.

9.Для 64-разрядного процессора с 4 Кбайтным кэшем, имеющим размер строки 4 слова, определите количество строк и вычислите размер тега, если отображение:

а) одноканальное; б) четырехканальное; в) 1024-х канальное.

10.Что понимают под эксклюзивным кэшем? В чем заключается оригинальность организации кэш-памяти процессоров AMD?

37

4. ОЦЕНКА БЫСТРОДЕЙСТВИЯ ОПЕРАТИВНОЙ ПАМЯТИ

Цель работы: получение основных характеристик и оценка быстродействия модулей динамической памяти ПК

Программные средства: пакет программ анализа и диагностики компьютера AIDA64

4.1. Параметры быстродействия модулей динамической памяти

Быстродействие основной памяти оценивается тремя параметрами:

время доступа (задержка, латентность) – это время от момента, как выставлен адрес до момента, когда данные станут доступны процессору;

скорость передачи данных – это максимальное количество единиц данных, которое можно считать из памяти или записать в память в единицу времени;

длительность цикла обращения.

Время доступа показывает, сколько времени требуется самому запоминающему устройству для приема и выдачи данных, и зависит от типа памяти. Оперативная память представлена различными модификациями динамических запоминающих устройств (ЗУ) с произвольным доступом (DRAM), среди которых сейчас наиболее распространены синхронные динамические ЗУ с произвольным доступом, формирующие три порции данных на шину за один такт – DDR3 SDRAM – Synchronous Dynamic Random Access Memory.

Структура SDRAM может быть отображена двумерным массивом запоминающих ячеек (рис. 14), разделенных на строки (Row) и столбцы (Column).

Ячейка хранит один бит информации и представляет собой конденсатор. Наличие заряда соответствует «1», а его отсутствие — «0». В паре с конденсатором применяется транзистор, выполняющий функцию электронного ключа (рис. 15).

38

Рис. 14. Структура матрицы памяти

Рис. 15. Структура ячейки динамической памяти

Считывание содержимого ячейки памяти происходит при подаче напряжения на линию строк (адресные линии), что эквивалентно открытию транзистора. Так как память организована в виде двумерного массива элементов, то подача напряжения на линию строк (открытие строки) приводит к тому, что открывается не один, а все транзисторы, соединенные с этой линией строк, и данные окажутся на выходе усилителей

39