Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ntv_6.pdf
Скачиваний:
34
Добавлен:
11.04.2015
Размер:
8.49 Mб
Скачать

буферами и буферами АИ. Кроме этого, получая сигналы о приостановке работы АИ, он возобновляет его работу, добавляя данные из своих входных буферов или читая данные в свой выходной буфер. Разумеется, все это происходит в случае наличия данных во входных буферах и свободного места в выходных буферах. Буферы микропроцессора организованы по принципу FIFO, но программным образом.

Последние буферы расположены в памяти компьютера и содержат непосредственные данные пользователя.

Среди всех описанных буферов самые маленькими являются буферы ACEX (512 байт на каждый буфер), а самыми большими – буферы, содержащие данные пользователя (размер почти неограничен). В то же время размер буферов в микропроцессоре и компьютере можно менять, а в ACEX он фиксированный. В оптимальном варианте нужно, с одной стороны, чтобы буферы не были слишком большими, а с другой стороны – чтобы АИ работал непрерывно, т.е. в буферах постоянно был необходимый объем данных (свободного места).

Врамках проекта был разработан набор инструментальных средств, включающий:

компилятор языка высокого уровня (типа C). Он создает бинарные образы для их исполнения АИ, оптимизирует их по скорости исполнения, по объему кода и данных;

компилятор языка Ассемблер. Он позволяет воспользоваться всеми возможностями, предоставляемыми АИ. С помощью него можно создавать файлы для симуляции выполнения микропрограммы в среде MAX+PLUS II;

система удаленных вызовов функций, выполняющихся микроконтроллером. На их основе построен API обмена данными между ним и компьютером;

начальный загрузчик, позволяющий программировать ПЛИС и настраивать контроллер.

Заключение

Разработка полнофункционального варианта системы велась с использованием языка Verilog HDL и средств автоматического синтеза/размещения от фирмы Altera. Ресурсы периферийного расширителя занимают 80% кристалла ПЛИС. Применение АИ не было первой реализацией поставленной задачи. Сначала был предложен и реализован программный интерпретатор. По возможностям он был функциональнее АИ: он содержал 17 инструкций (АИ поддерживает 7 инструкций). Он поддерживал операции умножения, деления, которые были исключены из языка для АИ. Недостатками программного интерпретатора были объем кода и скорость его работы. Исполнение одной инструкции составлялонесколькомиллисекунд, втовремякакуАИ– 100 нс.

Литература

1.S. Prakash and A. Parker. SOS: synthesis of application-specific heterogeneous multiprocessor systems // Journal of Parallel and Distributed Computing. 1992.V..16. PP.338 – 351.

2.Hardware-Software Codesign // IEEE Design & Test of Computers, January – March 2000. PP. 92 – 99.

3.W. H. Wolf. Hardware-Software Co-Design of Embedded Systems // Proceedings of the IEEE. V. 82. № 7. РР. 967 – 989. July 1992.

4.D. Wingard and A. Kurosawa. Integration Architecture for System-on-a-Chip Design // Proc. of the 1998 Custom Integrated Circuit Conference. РР. 85 – 88. May 1998.

5.R. Gonzalez and Xtensa, A Configurable and Extensible Processor // IEEE Micro. 20(2).

March/April 2000.

6. J. A. Fisher..Customized instruction-sets for embedded processors // 36th DAC. РР. 253 – 257. June 1999.

75

АРХИТЕКТУРНЫЕ АБСТРАКЦИИ В ТЕХНОЛОГИИ СКВОЗНОГО ПРОЕКТИРОВАНИЯ ВСТРОЕННЫХ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ

А.Е. Платунов

В работе рассматриваются вопросы высокоуровневого проектирования встроенных вычислительных систем (embedded systems). В рамках создания архитектурных моделей таких систем анализируются перспективные абстракции, как известные, так и предлагаемые автором. Формулируется задача создания "действующей" модели встроенной вычислительной системы, инвариантной к способу аппаратнопрограммной реализации.

Введение

Проектирование встроенных вычислительных систем (ВсС) [1] представляет собой сложную техническую задачу. Процесс проектирования направлен на выбор приемлемого (в смысле целевого критерия) решения при существовании потенциально огромного числа вариантов и ограниченном количестве пробных реализаций. На практике число анализируемых разработчиком вариантов, включая прототипы, ограничивается единицами. Это определяется сжатыми сроками и бюджетами разработок на фоне высокой сложности проектируемой системы, отсутствием эффективных технологий и инструментальных средств [2].

Общая задача в области проектирования ВсС состоит в создании сквозной технологии проектирования ВсС, основанной на формальном представлении системы от этапа исходных спецификаций до реализации.

Задача носит комплексный характер. Ее решение в значительной мере "буксует" из-за отсутствия эффективных моделей архитектурного уровня, которые адекватно отображали бы особенности ВсС [3]. Существующие модели носят последовательный характер и слабо учитывают фактор времени. Они применимы для вычислительных систем (ВС) общего назначения. Использование таких моделей при создании ВсС порождает проблемы в части реактивных свойств системы, ее функциональной надежности, возможности дальнейшей модификации.

В работе анализируются подходы к проектированию ВсС, вводится и обсуждается понятийная база технологии сквозного проектирования ВсС.

Технологии проектирования ВсС

Традиционные подходы к проектированию ВсС. Ключевыми чертами традиционного процесса проектирования микропроцессорных вычислительных систем следует считать:

ручное разбиение системы на аппаратную и программную части (на основе опыта разработчика) на начальном шаге проектирования;

раздельное моделирование и последовательное проектирование аппаратуры и программы;

ручную интеграцию аппаратной и программной частей проекта;

исправление (компенсацию) выявившихся в процессе отладки ошибок за счет изменения программы (с ухудшением характеристик системы);

повторное выполнение цикла проектирования при невозможности компенсировать ошибки за счет программной части.

Особенность данного процесса состоит в раннем делении системы на аппаратную

и программную составляющие с последующим изолированным их проектированием. Такой подход приводит к высокой избыточности реализации, выявлению ошибок

только в конце – на этапе объединения аппаратуры и программы, устранению ошибок путем практически полного повторного проектирования.

76

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]