Разработка устройства предсказания переходов в микропроцессоре МЦСТ-4R Выполнил: Фёдоров В.В. Научный руководитель: Волин В.С.

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



Advertisements
Похожие презентации
Разработка интерфейса между системным коммутатором и контроллером памяти с использованием протокола AXI Выпускная квалификационная работа на соискание.
Advertisements

1 Знаток математики Тренажер Таблица умножения 2 класс Школа 21 века ®м®м.
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ МОСКОВСКИЙ ФИЗИКО - ТЕХНИЧЕСКИЙ ИНСТИТУТ (государственный университет) Устройство управления вещественного.
КТО ПЕРВЫЙ? 12 * 3 = * 2 = * 3 = * 13 = * 4 = ПОБЕДА!!! 15 * 3 = * 2 =
Выпускная квалификационная работа Исследование аппаратной предвыборки данных в кэш второго уровня микропроцессора Студент: Гребенкин А.П., 816 гр. Научный.
Разработка 4-х канального контроллера оперативной памяти DDR3 SDRAM с интерфейсом AXI Студент: Кожин А.С., ФРТК, 515 гр. Научный руководитель: д.т.н.,
Московский физико-технический институт (государственный университет) Факультет радиотехники и кибернетики Кафедра информатики и вычислительной техники.

Разработка кэша справочника для вычислительного комплекса на базе микропроцессора Эльбрус – 2S Студент : Петров Игорь, ФРТК, 613 группа Научный руководитель:
Школьная форма Презентация для родительского собрания.
Маршрутный лист «Числа до 100» ? ? ?
Вычисления вида 60 – 34 Из опыта работы учителя начальных классов МОУ гимназия 8 им. академика Н.Н. Боголюбова г. Дубны Московской области Попружной Галины.
Научный руководитель: Кожин А.С. Студент: Лавров А.В, ФРТК 816 гр.
Разработка контроллера обрабатываемых запросов кэш памяти третьего уровня микропроцессора "Эльбрус-4С+" Студент: Кожин Евгений, группа 713 Научный руководитель:
Применение генетических алгоритмов для генерации числовых последовательностей, описывающих движение, на примере шага вперед человекоподобного робота Ю.К.
Учитель начальных классов Акиншина Н.Н.. 1 УРОВЕНЬ БРОНЗОВЫЙ УРОВЕНЬ СЕРЕБРЯНЫЙ УРОВЕНЬ ЗОЛОТОЙ УРОВЕНЬ.
20 Всего заданий Введите фамилию и имя Внетабличное умножение и деление умножение и деление Начать тестирование Мартиросова С.Н МОУ средняя общеобразовательная.
(урок математики). Назовите числа, которые делятся на 3: (3, 6, 9, 12, 15, 18, 21, 24, 27, 30) Назовите числа, которые делятся на 4: (4, 8,12, 16, 20,
Ф. Т. Алескеров, Л. Г. Егорова НИУ ВШЭ VI Московская международная конференция по исследованию операций (ORM2010) Москва, октября 2010 Так ли уж.
Разработка модулей коммутации данных в микропроцессоре « Эльбрус -4 С +» Выпускная квалификационная работа на соискание степени бакалавра студента 816.
Транксрипт:

Разработка устройства предсказания переходов в микропроцессоре МЦСТ-4R Выполнил: Фёдоров В.В. Научный руководитель: Волин В.С.

Требования к устройству Предсказание для нескольких команд Тактовая частота 1ГГц Задержка срабатывания не более 2 тактов Площадь устройства ~ 0,1 мм 2 ( техпроцесс 90 нм )

Определить организацию подкачки из L1 IC ( 2 или 4 команды за такт) Реализовать в ядре МЦСТ-4R устройство предсказания переходов, которое: соответствовало бы выбранной организации подкачки команд соответствовало бы выбранной организации подкачки команд удовлетворяло бы заданным ограничениям по площади и задержке удовлетворяло бы заданным ограничениям по площади и задержке обеспечивало бы достаточно высокую ( > 85% ) точность предсказания обеспечивало бы достаточно высокую ( > 85% ) точность предсказания Постановка задачи

Модель системы подкачки на языке С Выбор варианта кванта подкачкиОценка производительности предсказателей Реализация, тестирование Встраивание в ядро Тестирование в сборе Маршрут проектирования Оценка, выбор схемы предсказания

Модель на языке С 40% 45% 50% 55% 60% 35% Compress При кванте подкачки 4 команды по сравнению с квантом 2 команды: В 1,6 раза меньше запросов IC В 1,6 раза меньше запросов IC В 2 раза меньше невыровненных адресов В 2 раза меньше невыровненных адресов Возможное увеличение задержек Возможное увеличение задержек GOLIPerlm88GCCVortexIjpeg Квант 4 команды Квант 2 команды Кол-во обращений в кэш IC 0% 5% 10% 15% 20% 25% 30% 35% k2k4k4k Кол-во неудачных предсказаний Все переходы Без косвенных переходов 30%30% Объем

Определено количество подкачиваемых за такт команд – 4 Принято решение разработать схему с одновременным предсказанием для 4 команд Предсказываются следующие команды передачи управления: CALL CALL Bicc, BPcc, BPr Bicc, BPcc, BPr FBPfcc FBPfcc Предсказание косвенных переходов неэффективно Предсказание косвенных переходов неэффективно Выбрана схема «первого приближения» – BTB Модель на языке С: Результаты

Площадь: 0,75 мм 2 Площадь: 0,75 мм 2 Задержка: 2 такта x 1,29 нс Задержка: 2 такта x 1,29 нс Объем: 64х4, ассоциативность 2 Объем: 64х4, ассоциативность 2 Оценка точности на модели: ~ 85% Оценка точности на модели: ~ 85% MCST - 4R core B P U Выбор схемы предсказателя: Решение с BTB TA 2TAG 2TA 3TAG 3 mx PC 2PC 3 TA 0 bnk0 bnk1 TAG 0 bnk0 bnk1 TA 1TAG 1 mx PC 0PC 1 mx TA to F0 bnk0bnk1bnk2bnk3 G H R XOR Выбор предсказания to I-queue, etc. PC F1 F0

Площадь: ~ 0,16 мм 2 Площадь: ~ 0,16 мм 2 Задержка: 2 такта x 1,36 нс Задержка: 2 такта x 1,36 нс Объем: 1024х4 Объем: 1024х4 Оценка точности на модели: % Оценка точности на модели: % MCST - 4R core bnk0bnk1bnk2bnk3 G H R XOR & && & Схема выбора предсказания L1 IC ( CTI disp ) mx BPU Выбор схемы предсказателя: Решение без BTB (вычисление ТА «на лету») && CALL predec. TA to F0 br predec. to I-queue, etc. PC F1 F0 ( F0 ) PC_1 PC_0 PC_2 PC_3 64

Площадь: ~ 0,11 мм 2 Площадь: ~ 0,11 мм 2 Задержка: 2 такта x 1,26 нс Задержка: 2 такта x 1,26 нс Объем: 1024х4 Объем: 1024х4 Оценка точности на модели: % Оценка точности на модели: % MCST - 4R core bnk0bnk1bnk2bnk3 G H R XOR & && & Схема выбора предсказания L1 IC ( CTI disp lsb ) mx BPU Выбор схемы предсказателя: Решение без BTB (вычисление ТА lsb «на лету») && CALL predec. TA to F0 br predec. to I-queue, etc. PC F1 F0 ( F0 ) PC_1 PC_0 PC_2 PC_3 PC msb 13

Площадь: ~ 0,12 мм 2 Площадь: ~ 0,12 мм 2 Задержка: 2 такта x 1,24 нс Задержка: 2 такта x 1,24 нс Объем: 1024х4 Объем: 1024х4 Оценка точности на модели: % Оценка точности на модели: % MCST - 4R core bnk0bnk1bnk2bnk3 G H R XOR & && & Схема выбора предсказания L1 IC ( TA lsb ) mx BPU Выбор схемы предсказателя: Решение без BTB (хранение ТА lsb в кэше IC) && CALL predec. br predec. to I-queue, etc. mx instr PC msb PC lsb PC F1 F0 ( F0 ) branch? TA to F0

0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 70% 75% 80% 85% 90% 95% Площадь, мм 2 Точность предсказания Выбор схемы предсказателя: Сравнение вариантов 1,20 1,22 1,24 1,26 1,28 1,30 1,32 1,34 1,36 BTBOn-the-flyTA lsb in L1IC Задержка, x 2 нс TA lsb sum BTBOn-the-flyTA lsb in L1ICTA lsb sum BTBOn-the-flyTA lsb in L1ICTA lsb sum

Проблемы реализации устройства по выбранной схеме Конфликты по доступу в таблицы Спекулятивное обновление Запаздывание регистра истории Нагрузка на кэш команд Байпассирование памяти Байпассирование памяти Подача «правильной» истории Подача «правильной» истории сразу после неудачного предсказания сразу после неудачного предсказания Вычисление ТА во время подкачки кода, Вычисление ТА во время подкачки кода, запись младших разрядов в IC запись младших разрядов в IC APT – таблица предсказанных APT – таблица предсказанных незавершенных переходов незавершенных переходов Резервирование регистра истории Резервирование регистра истории Двойное обновление истории Двойное обновление истории

Результаты Путем моделирования определен квант подкачки шириной 4 команды Путем моделирования определен квант подкачки шириной 4 команды Произведено сравнение трех различных схем устройств Произведено сравнение трех различных схем устройств Выбрана схема с хранением TA в кэше команд, обеспечивающая меньшую площадь и меньшую задержку Выбрана схема с хранением TA в кэше команд, обеспечивающая меньшую площадь и меньшую задержку Разработано устройство предсказания переходов: Разработано устройство предсказания переходов: Объем 4096 строк, в 4 столбцах Объем 4096 строк, в 4 столбцах Двухтактный конвейер Двухтактный конвейер Предсказание для 4 команд одновременно Предсказание для 4 команд одновременно Спекулятивное обновление, с восстановлением Спекулятивное обновление, с восстановлением Потери при неудачном предсказании – 4 такта Потери при неудачном предсказании – 4 такта Устройство встроено в ядро и отлажено Устройство встроено в ядро и отлажено Произведено тестирование ( увеличение IPC ) Произведено тестирование ( увеличение IPC ) Проведен синтез ( длительность такта – 1,24 нс ) Проведен синтез ( длительность такта – 1,24 нс )

Благодарю за внимание.

P * d + MP * c Prediction rate, Prediction rate, delay for prediction delay for prediction MisPrediction rate, MisPrediction rate, cancellation delay cancellation delay 0,9 * 1 + 0,1 * 4 = 1,3 такта 0,9 * 1 + 0,1 * 4 = 1,3 такта Задержка исполнения перехода

Однотактный «предсказатель-кэш» Большая площадь Предсказание для двух команд max Малый объем Задержка исполнения перехода > 0,7

Выбор схемы предсказателя: Решение без BTB Можно вычислять TA «на лету» или хранить младшие разряды ТА в кэше IC: Экономия площади Экономия площади Упрощается вычисление адреса на фазе С0 Упрощается вычисление адреса на фазе С0 Недостаток: предсказываются не все переходы Недостаток: предсказываются не все переходы predecode CTI msb ТА, lsb CTI disp msb disp lsb PC msb PC lsb Ячейка в кэше Перенос?

Модель на языке С Выбор организации подкачки из L1IC Оценка возможных схем предсказания Схема устройства «первого приближения» Определение основных параметров Адаптирование предсказателя к L1IC Реализация, тестирование Встраивание в ядро Тестирование в сборе Критерии: Число запросов в IC Число запросов в IC Выровненность адресов перехода Выровненность адресов перехода Выровненность delay slots Выровненность delay slotsУПП: «Нереализуемость» двухуровневых схем «Нереализуемость» двухуровневых схем Параметры: число ячеек, ассоциативность Параметры: число ячеек, ассоциативность Организация предсказания Организация предсказания