Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемВладислав Шалыганов
1 Разработка устройства предсказания переходов в микропроцессоре МЦСТ-4R Выполнил: Фёдоров В.В. Научный руководитель: Волин В.С.
2 Требования к устройству Предсказание для нескольких команд Тактовая частота 1ГГц Задержка срабатывания не более 2 тактов Площадь устройства ~ 0,1 мм 2 ( техпроцесс 90 нм )
3 Определить организацию подкачки из L1 IC ( 2 или 4 команды за такт) Реализовать в ядре МЦСТ-4R устройство предсказания переходов, которое: соответствовало бы выбранной организации подкачки команд соответствовало бы выбранной организации подкачки команд удовлетворяло бы заданным ограничениям по площади и задержке удовлетворяло бы заданным ограничениям по площади и задержке обеспечивало бы достаточно высокую ( > 85% ) точность предсказания обеспечивало бы достаточно высокую ( > 85% ) точность предсказания Постановка задачи
4 Модель системы подкачки на языке С Выбор варианта кванта подкачкиОценка производительности предсказателей Реализация, тестирование Встраивание в ядро Тестирование в сборе Маршрут проектирования Оценка, выбор схемы предсказания
5 Модель на языке С 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% Объем
6 Определено количество подкачиваемых за такт команд – 4 Принято решение разработать схему с одновременным предсказанием для 4 команд Предсказываются следующие команды передачи управления: CALL CALL Bicc, BPcc, BPr Bicc, BPcc, BPr FBPfcc FBPfcc Предсказание косвенных переходов неэффективно Предсказание косвенных переходов неэффективно Выбрана схема «первого приближения» – BTB Модель на языке С: Результаты
7 Площадь: 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
8 Площадь: ~ 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
9 Площадь: ~ 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
10 Площадь: ~ 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
11 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
12 Проблемы реализации устройства по выбранной схеме Конфликты по доступу в таблицы Спекулятивное обновление Запаздывание регистра истории Нагрузка на кэш команд Байпассирование памяти Байпассирование памяти Подача «правильной» истории Подача «правильной» истории сразу после неудачного предсказания сразу после неудачного предсказания Вычисление ТА во время подкачки кода, Вычисление ТА во время подкачки кода, запись младших разрядов в IC запись младших разрядов в IC APT – таблица предсказанных APT – таблица предсказанных незавершенных переходов незавершенных переходов Резервирование регистра истории Резервирование регистра истории Двойное обновление истории Двойное обновление истории
13 Результаты Путем моделирования определен квант подкачки шириной 4 команды Путем моделирования определен квант подкачки шириной 4 команды Произведено сравнение трех различных схем устройств Произведено сравнение трех различных схем устройств Выбрана схема с хранением TA в кэше команд, обеспечивающая меньшую площадь и меньшую задержку Выбрана схема с хранением TA в кэше команд, обеспечивающая меньшую площадь и меньшую задержку Разработано устройство предсказания переходов: Разработано устройство предсказания переходов: Объем 4096 строк, в 4 столбцах Объем 4096 строк, в 4 столбцах Двухтактный конвейер Двухтактный конвейер Предсказание для 4 команд одновременно Предсказание для 4 команд одновременно Спекулятивное обновление, с восстановлением Спекулятивное обновление, с восстановлением Потери при неудачном предсказании – 4 такта Потери при неудачном предсказании – 4 такта Устройство встроено в ядро и отлажено Устройство встроено в ядро и отлажено Произведено тестирование ( увеличение IPC ) Произведено тестирование ( увеличение IPC ) Проведен синтез ( длительность такта – 1,24 нс ) Проведен синтез ( длительность такта – 1,24 нс )
14 Благодарю за внимание.
16 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 такта Задержка исполнения перехода
17 Однотактный «предсказатель-кэш» Большая площадь Предсказание для двух команд max Малый объем Задержка исполнения перехода > 0,7
18 Выбор схемы предсказателя: Решение без BTB Можно вычислять TA «на лету» или хранить младшие разряды ТА в кэше IC: Экономия площади Экономия площади Упрощается вычисление адреса на фазе С0 Упрощается вычисление адреса на фазе С0 Недостаток: предсказываются не все переходы Недостаток: предсказываются не все переходы predecode CTI msb ТА, lsb CTI disp msb disp lsb PC msb PC lsb Ячейка в кэше Перенос?
19 Модель на языке С Выбор организации подкачки из L1IC Оценка возможных схем предсказания Схема устройства «первого приближения» Определение основных параметров Адаптирование предсказателя к L1IC Реализация, тестирование Встраивание в ядро Тестирование в сборе Критерии: Число запросов в IC Число запросов в IC Выровненность адресов перехода Выровненность адресов перехода Выровненность delay slots Выровненность delay slotsУПП: «Нереализуемость» двухуровневых схем «Нереализуемость» двухуровневых схем Параметры: число ячеек, ассоциативность Параметры: число ячеек, ассоциативность Организация предсказания Организация предсказания
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.