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

Презентация:



Advertisements
Похожие презентации
Программный разрыв зависимостей между операциями обращения в память в двоичном оптимизирующем компиляторе Магистерская диссертация студента 212 группы.
Advertisements

Программный разрыв зависимостей между операциями обращения в память в двоичном оптимизирующем компиляторе Магистерская диссертация студента 212 группы.
Распределение регистров при планировании инструкций для архитектуры Эльбрус Дипломная работа Иванова Д. С. Научный руководитель Шлыков С. Л. Москва 2008.
Анализ Потока Данных Итеративные алгоритмы и SSA.
Тема 2. Способы адресации и система команд МП. Непосредственная адресация Суть способа. Требуемые данные (#data ̶ непосредственный операнд, константа)
Внутренняя память ПК условно делится на ячейки, каждая из которых имеет свой номер. Нумерация начинается с нуля
Кодирование числовой информации Для представления чисел в памяти ПК используются два формата: формат с фиксированной точкой, формат с плавающей точкой.
Пересечение прямой с окружностью.
Архитектуры с параллелизмом на уровне команд. Два класса Суперскалярные процессоры Процессоры с длинным командным словом.
Встроенные Системы Часть 3. Прерывания Кафедра Информатики, мат-мех СПбГУ Copyright © 2004 Victor Vengerov
Учебный курс Принципы построения и функционирования ЭВМ Лекция 8 Организация памяти в ЭВМ профессор ГУ-ВШЭ, доктор технических наук Геннадий Михайлович.
Представление чисел в компьютере 1. Представление чисел в формате с фиксированной запятой 2. Представление чисел в формате с плавающей запятой.
1. Функция обратимая – каждое своё значение принимает в единственной точке области определения. 2. Обратная функция – её значения равны значению аргумента.
Тема урока: Движение Симметрия относительно точки О А А'А'
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ МОСКОВСКИЙ ФИЗИКО - ТЕХНИЧЕСКИЙ ИНСТИТУТ (государственный университет) Решение задачи восстановления профильной.
Горохова Светлана Николаевна МАОУ СОШ 19 п. Пироговский.
ВЫПОЛНИЛ СТУДЕНГ ГРУППЫ ММС-902 САМСОНЕНКО М.В. ПРЕДСТАВЛЕНИЕ ИНФОРМАЦИИ В КОМПЬЮТЕРЕ.
Новиков Сергей Анализ потока управления и потока данных в программе.
10 «1» – включено «0» - выключено битом Каждая «клетка» памяти компьютера называется битом. двоичнымцифровым кодированием С помощью последовательности.
Тема: Форматы представления чисел в компьютере. Для хранения чисел в памяти компьютера используются два формата: целый и с плавающей точкой Форматы представления.
Транксрипт:

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

… … 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] EndBranch+ABN

Представление Использование цикловых виртуальных регистров с поколениями … 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] ABNABN L1[2]L1[1]L1[0]

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

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

Принятые решения 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

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

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

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

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