Составители:
90
Данная технология проектирования микроархитектуры включает
следующие основные шаги:
1. Анализ нижележащей ISA и выделение в явном виде набора примитивных
инструкций.
2. Создание множества кортежей примитивных инструкций, реализующих
инструкции вышележащей ISA. В общем случае кортеж - это не просто
шаблонная подстановка множества инструкций. Кортеж предполагает
определенный алгоритм исполнения, можно сказать микрокод,
конкретизация исполнения которого
возможна только в режиме run-time, так
как определенные действия будут зависеть от входных данных инструкции и
состояния нижележащей виртуальной машины.
3. Минимизация количества уникальных кортежей за счет создания шаблонов с
помощью обобщения кортежей и введения определенных конфигураций. При
этом каждый изначальный кортеж может быть получен путем
конфигурирования одного из шаблонов, при
этом допускается, что не все
конфигурации имеют смысл.
Основная задача: рациональная минимизация количества шаблонов за счет
усложнения конфигурации. Ограничениями в процессе минимизации могут
стать отношение временных масштабов, ресурсоемкость реализаций,
“регулярность” вычислительных структур и алгоритмов. При рассмотрении
шаблонов можно искусственно выделить: структурный шаблон,
функциональный шаблон и смешанный шаблон. Шаблон можно рассматривать
как определенный вид метаинструкции в рамках ISA.
Инструкцией вышележащей ISA является конкретный кортеж, задаваемый
парой шаблон и конфигурация. При этом в процессе реализации есть
возможность предоставить два типа вызовов инструкций вышележащей
виртуальной машины:
• высокоуровневый вызов – активация заранее заданной пары по индексу из
таблицы; пользователю недоступны шаблоны и конфигурации;
• низкоуровневый вызов – активизация
конкретного кортежа с заданной
конфигурацией; при это кодирование допускает существование инструкций,
отсутствующих в исходной ISA или вовсе не имеющих смысла.
Основной областью применения описанной технологии является
разработка драйверов ввода/вывода и реализация протоколов обмена. При
зафиксированной вышележащей ISA имеется великое множество вариантов
базовых вычислительных платформ (различная архитектура аппаратных
контроллеров ввода/вывода, система
прерываний и т.д.), что создает проблемы
портирования программного кода и повторного использования каких бы то ни
было артефактов проектирования. Введение уровня абстракции аппаратуры не
всегда возможно, ввиду крайне неэффективных алгоритмов такого рода
виртуализации и недостаточного запаса в соотношении временных масштабов.
Страницы
- « первая
- ‹ предыдущая
- …
- 89
- 90
- 91
- 92
- 93
- …
- следующая ›
- последняя »