Рассматриваются решения, реализованные в процессорном ядре системы на кристалле «МЦСТ-R1000», для эффективной подкачки кода. Описаны организация кэша команд, устройства предсказания переходов, очереди команд и их взаимодействие. Предложены дальнейшие направления повышения эффективности подкачки.
Процессорное ядро четырехъядерной системы на кристалле (СнК) «МЦСТ-R1000» имеет суперскалярную организацию, обеспечивающую возможность дешифрации, исполнения и завершения до двух команд за такт. Оно включает кэш-памяти команд и данных первого уровня, устройство управления, регистровые файлы целочисленных и вещественных значений, парк исполнительных устройств. Процессорное ядро реализует девятую версию системы команд SPARC и работает с 32-х и 64-разрядными адресами и данными. Его основной конвейер включает семь фаз (стадий конвейера):
- F0, F1 – фазы подкачки кода;
- D – дешифрация команд и чтение операндов из регистровых файлов;
- Е – исполнение для целочисленных операндов, вычисление адреса для команд обращения к памяти;
- C0, C1 – обращения в кэш данных первого уровня; в фазе C0 выдается адрес перехода для большинства команд передачи управления;
- W – записи результата в регистровый файл.
Операции над вещественными числами выполняются в фазах X0 – X; фаза X0 соответствует E, операции могут завершаться после фазы W целочисленного конвейера.
Эта статья посвящена организации потока инструкций на фазу дешифрации. Наполненность этого потока – одна из важнейших составляющих, обеспечивающих производительность системы. Проблемы с подкачкой кода можно разделить на две группы:
- отсутствие кода в кэш-памяти команд и ожидание его поступления из памяти следующих уровней иерархии;
- потери на подкачку кода при передачах управления.
В статье рассматриваются, в основном, решения, связанные со второй группой проблем. Наполненность потока инструкций в процессорном ядре СнК «МЦСТ-R1000» обеспечивают кэш команд (собственно организация подкачки кода), устройство предсказания переходов (сокращение потерь на передачу управления при ветвлении) и очередь команд (организация запаса команд перед уровнем дешифрации – между фазами F1 и D).
Подробнее... Загрузить файл ![]()
Содержание:
- Команды передачи управления в системе команд SPARC
- Реализация подкачки кода в предыдущих микропроцессорах ряда МЦСТ-R
- Общие принципы обработки запросов в кэш-памяти команд
- Источники запросов в кэш команд
- Общая организация кэш-памяти команд
- Устройство предсказания направления перехода
- Очередь команд и организация фазы D