'

Использование вращающихся регистров в двоичном оптимизирующем компиляторе.

Понравилась презентация – покажи это...





Слайд 0

Использование вращающихся регистров в двоичном оптимизирующем компиляторе.


Слайд 1

… … B[N-M] … B[1] B[0] B[N] B[N-M+1] Вращающиеся регистры Обращение к регистрам относительно базы База = M 0 1 … M-1 M M+1 … N ABN Накрутка цикла Use B[0] Def B[0] Def B[1] End Branch+ABN


Слайд 2

Представление Использование цикловых виртуальных регистров с поколениями … L1[2] L1[1] L1[0] … … L0[0] L0[1] - Один номер регистра для одной связной сети графа потока данных - Продвижение базы уменьшает поколение на единицу - За корректное и оптимальное отображение цикловых виртуальных регистров на вращающиеся отвечает Распределение. … B[M+4] B[M+3] B[M+2] … … B[M+0] B[M+1] ABN ABN L1[2] L1[1] L1[0]


Слайд 3

Восстановление контекста SRP (R1, L2[1],…) … Def -> R1 … Прерывание … SRP (R5, L6[3],…) Регистры – аргументы контрольной точки не должны изменяться до регистрации следующей SRP При возникновении прерывания откатываемся к последней зарегистрированной SRP и выполняем её компенсирующий код, восстанавливающий контекст Комп. код MOV R1 -> G0(EAX) ADD L2, 4 -> G1(ECX) …


Слайд 4

Время жизни аргументов SRP SRP (R1, L2…) SRP (…) SRP (L1…) SRP (…) SRP (L1…) … Def->R1 ABN ABN Запись в аргумент SRP Непредсказуемое число продвижений базы Пересечение продвижения базы ограниченное число раз


Слайд 5

Принятые решения MOV R1->R2 SRP (R2, L2…) SRP (R2, L1[1]…) SRP (…) Def->R1 ABN MOV R1->R2 L1[0] Дополнит. поколения SRP SRP (R2, L1[1]…) Внешний цикл Коррекция аргумента SRP Самодостижимая SRP


Слайд 6

Обеспечение фронта SRP SRP (L1…) ABN SRP (L2…) ABN SRP SRP в голове цикла обеспечивает фронт SRP (L1…) ABN ABN SRP SRP Если нет других SRP в цикле, защитную SRP можно вынести в предцикл


Слайд 7

Изменение базы на прямом пути Use L1 Def -> L1 … ABN Use L1 Def -> L1 … ABN Обеспечение при переименовании Поддержка далее до распределения


Слайд 8

Эффективное распределение Подграф управления ABN …L1… Mov L1->R2 ABN …L2… Mov R3->L2 Подграф ABN …L1… ABN …L2… Подграф Подграф Def L2 Use L1 Эффективное определение пересечений областей жизни разных регистров


Слайд 9

1 Результаты Целые тесты 6,5 % Плавающие тесты 26 % Мультимедиатесты 32 %


×

HTML:





Ссылка: