Высокоуровневое проектирование встраиваемых систем. Часть 1. Платунов А.Е - 90 стр.

UptoLike

89
Восприятие виртуальной машины как реализации модели определенного
вычислителя позволяет использовать в проектировании такие общеизвестные
понятия как ISA (Instruction Set Architecture) и микроархитектура. ISA
определяет инструкции, регистры, режимы адресации, типы данных и другое,
которые поддерживает определенный вычислитель. Микроархитектура в свою
очередь определяет принципы внутренней организации вычислителя,
позволяющие реализовать заданную ISA. Одна и та же ISA может быть
реализована
с помощью различных микроархитектур.
Одним из важных свойств ISA, накладывающих определенные
ограничения на микроархитектуру, является аспект времени (конвейеры,
параллелизм на уровне инструкций и т.д.).
При построении компонентов ВсС можно оперировать следующими
понятиями:
Базовая вычислительная платформа, в свою очередь является виртуальной
машиной;
Виртуализация;
ISA;
Микроархитектура.
Виртуальной машиной можно
считать конкретную реализацию заданной
ISA в рамках выбранной микроархитектуры. В таком случае основной задачей
высокоуровневого проектирования становится выбор ISA с последующим
выбором микроархитектуры реализации. При всем этом не следует понимать
реализацию как чисто программную или аппаратную, возможны смешанные
варианты, приводящие к многоуровнемым реализациям микроархитектуры для
определенного типа базовой вычислительной платформы.
Для зафиксированной
ISA эффективная микроархитектура жестко
привязана к особенностям базовой вычислительной платформы (нижележащей
виртуальной машины), которые сложно зафиксировать в случае встраиваемых
систем, ввиду частой смены элементной базы.
2.2.4.2 Проектирование микроархитектуры ВсС на основе композиции «шаблон
конфигурация»
Инструкции (функциональные примитивы, методы) можно рассматривать
как управляющие воздействия, призванные изменить или получить состояние
отдельных компонентов системы.
Каждая ISA описывает типы данных, логику вычислительного процесса и
отдельные инструкции. При этом действия, выполняемые вычислителем, также
описываются в терминах поведения некоторого абстрактного нижележащего
вычислителя (стек, адресные пространства, передача пакетов и т.д.).