Microsoft Word впвс book 2011 sev pa doc
Проектирование микроархитектуры ВсС
Download 2.21 Mb. Pdf ko'rish
|
2.2.4 Проектирование микроархитектуры ВсС
2.2.4.1 Микроархитектура компонентов встраиваемых систем. 89 Восприятие виртуальной машины как реализации модели определенного вычислителя позволяет использовать в проектировании такие общеизвестные понятия как ISA (Instruction Set Architecture) и микроархитектура. ISA определяет инструкции, регистры, режимы адресации, типы данных и другое, которые поддерживает определенный вычислитель. Микроархитектура в свою очередь определяет принципы внутренней организации вычислителя, позволяющие реализовать заданную ISA. Одна и та же ISA может быть реализована с помощью различных микроархитектур. Одним из важных свойств ISA, накладывающих определенные ограничения на микроархитектуру, является аспект времени (конвейеры, параллелизм на уровне инструкций и т.д.). При построении компонентов ВсС можно оперировать следующими понятиями: • Базовая вычислительная платформа, в свою очередь является виртуальной машиной; • Виртуализация; • ISA; • Микроархитектура. Виртуальной машиной можно считать конкретную реализацию заданной ISA в рамках выбранной микроархитектуры. В таком случае основной задачей высокоуровневого проектирования становится выбор ISA с последующим выбором микроархитектуры реализации. При всем этом не следует понимать реализацию как чисто программную или аппаратную, возможны смешанные варианты, приводящие к многоуровнемым реализациям микроархитектуры для определенного типа базовой вычислительной платформы. Для зафиксированной ISA эффективная микроархитектура жестко привязана к особенностям базовой вычислительной платформы (нижележащей виртуальной машины), которые сложно зафиксировать в случае встраиваемых систем, ввиду частой смены элементной базы. 2.2.4.2 Проектирование микроархитектуры ВсС на основе композиции «шаблон – конфигурация» Инструкции (функциональные примитивы, методы) можно рассматривать как управляющие воздействия, призванные изменить или получить состояние отдельных компонентов системы. Каждая ISA описывает типы данных, логику вычислительного процесса и отдельные инструкции. При этом действия, выполняемые вычислителем, также описываются в терминах поведения некоторого абстрактного нижележащего вычислителя (стек, адресные пространства, передача пакетов и т.д.). 90 Данная технология проектирования микроархитектуры включает следующие основные шаги: 1. Анализ нижележащей ISA и выделение в явном виде набора примитивных инструкций. 2. Создание множества кортежей примитивных инструкций, реализующих инструкции вышележащей ISA. В общем случае кортеж - это не просто шаблонная подстановка множества инструкций. Кортеж предполагает определенный алгоритм исполнения, можно сказать микрокод, конкретизация исполнения которого возможна только в режиме run-time, так как определенные действия будут зависеть от входных данных инструкции и состояния нижележащей виртуальной машины. 3. Минимизация количества уникальных кортежей за счет создания шаблонов с помощью обобщения кортежей и введения определенных конфигураций. При этом каждый изначальный кортеж может быть получен путем конфигурирования одного из шаблонов, при этом допускается, что не все конфигурации имеют смысл. Основная задача: рациональная минимизация количества шаблонов за счет усложнения конфигурации. Ограничениями в процессе минимизации могут стать отношение временных масштабов, ресурсоемкость реализаций, “регулярность” вычислительных структур и алгоритмов. При рассмотрении шаблонов можно искусственно выделить: структурный шаблон, функциональный шаблон и смешанный шаблон. Шаблон можно рассматривать как определенный вид метаинструкции в рамках ISA. Инструкцией вышележащей ISA является конкретный кортеж, задаваемый парой шаблон и конфигурация. При этом в процессе реализации есть возможность предоставить два типа вызовов инструкций вышележащей виртуальной машины: • высокоуровневый вызов – активация заранее заданной пары по индексу из таблицы; пользователю недоступны шаблоны и конфигурации; • низкоуровневый вызов – активизация конкретного кортежа с заданной конфигурацией; при это кодирование допускает существование инструкций, отсутствующих в исходной ISA или вовсе не имеющих смысла. Основной областью применения описанной технологии является разработка драйверов ввода/вывода и реализация протоколов обмена. При зафиксированной вышележащей ISA имеется великое множество вариантов базовых вычислительных платформ (различная архитектура аппаратных контроллеров ввода/вывода, система прерываний и т.д.), что создает проблемы портирования программного кода и повторного использования каких бы то ни было артефактов проектирования. Введение уровня абстракции аппаратуры не всегда возможно, ввиду крайне неэффективных алгоритмов такого рода виртуализации и недостаточного запаса в соотношении временных масштабов. 91 Кроме того остро может стоять проблема эффективности реализации (виртуализации базовой вычислительной платформы). В рамках такого подхода к проектированию микроархитектур были, например, реализованы драйверы ввода-вывода для платформы аналитических приборов «МиниЛаб» [9]: • Подсистема ввода/вывода keX; • Драйвер I2C: шаблон i2cExchange(); • Драйвер DataFlash: 3 структурных шаблона реализуют 28 инструкций; • Драйвер 1-Wire; • Драйвер IEEE 802.15.4 (в процессе разработки). Download 2.21 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling