Microsoft Word впвс book 2011 sev pa doc


Проектирование микроархитектуры ВсС


Download 2.21 Mb.
Pdf ko'rish
bet41/53
Sana08.11.2023
Hajmi2.21 Mb.
#1758453
TuriПрограмма
1   ...   37   38   39   40   41   42   43   44   ...   53
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:
1   ...   37   38   39   40   41   42   43   44   ...   53




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling