Исследование эффективности работы устройства предварительной подкачки данных

advertisement
Исследование
эффективности работы
устройства предварительной
подкачки данных
микропроцессора “Эльбрус”
Магистерская диссертация студента 213 группы ФРТК
Шугаев Андрея Александровича
Москва 2008
Цели работы





Исследование характеристик и
параметров устройства
Оценка эффективности реализации
устройства
Выявление возможных недостатков
Выявление возможной избыточности
Выработка рекомендаций по
модернизации
Этапы работы
•Выбор тестовых программ
•Выбор характеристик для исследования
•Выбор метода исследования
•Сбор статистики использования
аппаратуры устройства
•Анализ полученных данных
•Выработка рекомендаций
Схема исследования
Пакет программ
Spec95
Вычислительный
комплекс
Эльбрус3М
Статистические
данные
Специальные
скрипты
Статистика
исполнения
циклов
Частота исполнения циклов
Поток команд
Поток команд
50 Гц
Принцип предварительной подкачки
данных
Запрос за данными в
память
A
B
C
D
Ответ из памяти
Запрос за данными
B
A
C
D
•Буфер начальных
индексов
•Буфер команд подкачки
•Буфер инкрементов
•Команда подкачки
•Буфер подкаченных
данных
A
B
C
D
•Регистровый файл
Схема устройства aau
Команды
подкачки
Начальные
данные
Буфер хранения
команд подкачки
Блок
формирования
запросов в
память
Буфер
хранения
адресной
информации
AAU
APB
move
команды
RF
AAU (array access unit) - устройство подкачки данных
APB (array prefetch buffer) – буфер хранения подкаченных данных
MU (memory unit) – подсистема памяти
RF (register file) – регистровый файл
MU
Исследуемые компоненты

Буфер команд подкачки



Буфер начальных индексов




Размер 8 слов по 32 бита
6 портов (4 чтение, 2 запись)
Буфер подкаченных данных



Размер 16 слов по 32 бита
6 портов (4 чтение, 2 запись)
Буфер инкрементов


Размер 32 слова по 128 бит
2 порта (1 чтение, 1 запись)
Объем 4 Кбайта
3 порта (2 чтение, 1 запись)
Кодировка команды предварительной подкачки
Исследование количества
подкачиваемых массивов
относительная частота использования
0.3
0.25
0.2
0.15
0.1
0.05
0
1
3
5
7
9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63
кол-во массивов
Выводы:
•Целесообразно сократить количество массивов на
подкачку которых рассчитано устройство до 16
Исследование использования
регистров начальных индексов
относительная частота использования
0.35
0.3
0.25
0.2
0.15
0.1
0.05
0
1
2
3
4
5
6
7
8
9
10
11
кол-во используемых регистров
Выводы:
•Аппаратура достаточна и не избыточна
12
13
14
15
16
Исследование использования
регистров инкремента
относительная частота использования
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
1
2
3
4
5
6
7
кол-во используемых регистров
Выводы:
•Целесообразно сократить количество используемых значений
инкремента до 4
8
Буфер хранения подкаченных
данных
Логическая реализация
запись
чтение
Физическая реализация
запись
чтение
Использование портов в двух
портовой памяти
относительная частота
0.7
0.6
0.5
0.4
1 порт
0.3
2 порта
0.2
0.1
задачи
Выводы:
•Аппаратура достаточна и не избыточна
сумма
vortex
wave5
fpppp
apsi
perl
ijpeg
li
compress
gcc
turb3d
m88ksim
applu
mgrid
hydro2d
su2cor
swim
tomcatv
go
0
Исследование кодировки команды
(литеральное смещение)
1
относительная частота
0.9
0.8
0.7
0.6
не используется
0.5
используется
0.4
0.3
0.2
0.1
pp
p
w
av
e5
vo
rte
x
су
м
ма
si
fp
ap
rl
pe
g
li
ijp
e
ss
c
pr
e
gc
m
co
to
go
m
ca
tv
sw
im
su
2c
hy or
dr
o2
d
m
gr
id
ap
m pl u
88
ks
im
tu
rb
3d
0
задачи
Вывод:
•Мало используется. Удаление этого поля позволит сократить размер
команды с 64 до 32 разрядов
Исследование кодировки команды
(литеральное смещение)
1
относительная частота
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
1
2
3
4
5
четверки битов
Вывод:
Есть возможность сократить 8 старших бит
6
7
8
Исследование кодировки команды
(размер читаемых записей)
относительная частота использования
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
1
3
5
7
9
11
13
15
17
19
21
23
25
27
29
значение читаемых записей
Вывод:
•Есть возможность использовать меньшее число разрядов
31
Сокращение длины команды по
результатам сбора статистики



Литеральное смещение 32 разряда
Размер читаемых записей 2 разряда
Поле инкремента 1 разряд
В итоге длина команды уменьшится на 35
разрядов из 64
Возможные оптимизации в
аппаратуре

Сокращение числа подкачиваемых массивов с 64 до
16






Сокращение количества регистров инкремента с 8 до
4


Размер буфера команд уменьшится с 512 байт до 128 байт
2 счетчика разрядностью 32 до разрядности 8 из управления
2 буфера размером 32х35 до размера 8х35 из блока
обработки move команд
2 буфера размером 32х32 до размера 8х32 (буфер текущих
индексов)
2 буфера размером 32х22 до размера 8х32 из блока
формирования запросов в память
Размер буфера уменьшится с 32 байт до 16 байт
Сокращение поля литеральное смещение из команды

2 32 разрядных сумматора
Результаты работы
•Оценена эффективность
реализации устройства
предварительной подкачки данных
•Выявлена избыточность
•Выработаны рекомендации по
модернизации
Download