Распродажа

Электронные компоненты со склада по низким ценам, подробнее >>>

Содержание ChipNews

2003: 
1, 2, 3, 4, 5, 6, 7, 8, 9, 10
2002: 
1, 5, 6, 7, 8, 9
2001: 
1, 2, 3, 4, 5, 6, 7, 8, 9, 10
2000: 
1, 2, 3, 4, 5, 6, 7, 8, 9, 10
1999: 
1, 2, 3, 4, 5, 6, 7, 8, 9, 10

Новости электроники

Мне нравится

Комментарии

дима пишет в теме Параметры биполярных транзисторов серии КТ827:

люди куплю транзистар кт 827А 0688759652

тамара плохова пишет в теме Журнал Радио 9 номер 1971 год. :

как молоды мы были и как быстро пробежали годы кулотино самое счастливое мое время

Ивашка пишет в теме Параметры отечественных излучающих диодов ИК диапазона:

Светодиод - это диод который излучает свет. А если диод имеет ИК излучение, то это ИК диод, а не "ИК светодиод" и "Светодиод инфракрасный", как указано на сайте.

Владимир пишет в теме 2Т963А-2 (RUS) со склада в Москве. Транзистор биполярный отечественный:

Подскажите 2т963а-2 гарантийный срок

Владимир II пишет... пишет в теме Параметры биполярных транзисторов серии КТ372:

Спасибо!

Н. Семенов, И. Каршенбoйм

Микропроцессорные автоматы на базе специализированных ИС

    При разработке и создании все более сложных и объемных цифровых схем появляется проблема повышения эффективности труда разработчиков и гибкости проекта, а основным требуемым критерием эффективности разработки является время, затраченное на разработку, или, иначе говоря, "time to market" - время от начала реализации проекта до выхода готового продукта на рынок.

    Другая (и не менее важная) проблема разработчиков - это выбор наиболее подходящей архитектуры проекта, которая обеспечивала бы наивысшую надежность работы микросхемы, приемлемую стоимость и легкость модификации проекта в будущем.

    Мы рассмотрим возможность построения электронных цифровых схем в виде микропрограммных автоматов (МА), оптимизацию их структуры и адаптацию системы команд для заданных условий. Использование МА позволяет решить большинство вышеописанных проблем, создавая высокопроизводительные процессоры с ограниченной функциональностью внутри микросхемы.

    Так как МА имеют стандартную архитектуру, применяя которую с небольшими изменениями для различных проектов, можно существенно облегчить проектирование специализированных ИС и в несколько раз уменьшить время от начала разработки до выхода конечного продукта. Весь процесс разработки в таком случае включает в себя следующие этапы:

    Объединение в одном устройстве сразу нескольких МА позволяет реализовать конвейерную обработку большого объема данных, распределенные вычисления, нейронную сеть и, что самое важное, поместить все это внутри одной микросхемы, создавая так называемые однокристальные (system-on-chi p) устройства.

Современные средства автоматизации проектирования цифровых схем и проблемы их использования

    Стремясь к достижению высоких технических характеристик и потребительских качеств своей продукции, разработчики электронных устройств используют специализированные ИС (СПИС). Их применение дает следующие преимущества:

Построение блок-схемы микропрограммного автомата

    Для построения устройств ввода и обработки данных обычно используется архитектура, показанная на рис. 1.

Типовая архитектура МА

Рис. 1. Типовая архитектура МА

    Центральный процессор через общую шину оперирует устройством ввода/вывода, обрабатывает полученные данные и отправляет их дальше. Для управления реальными устройствами ввода/вывода необходимо производить большое число операций, не требующих сложных вычислений, но жестко ограниченных по времени. Таким образом, центральный процессор вместо того, чтобы заниматься реальной обработкой полученных данных, должен обеспечивать своевременное обслуживание устройства ввода/вывода. Нагрузка на общую шину тоже оказывается значительной из-за большого количества мелких операций между центральным процессором и устройством ввода/вывода. Упростить эту структуру можно, разбив процесс обработки на несколько частей, как это показано на рис. 2.

Архитектура МА с распределенной обработкой

Рис. 2. Архитектура МА с распределенной обработкой

    В этом случае "Контроллер УВВ" обеспечивает нормальное функционирование устройства ввода/вывода, обрабатывая критичные ко времени обработки запросы, "контроллер связи" готовит данные к передаче и проверяет их целостность на приеме, "контроллер обработки" занимается предварительной обработкой данных, чтобы разгрузить центральный процессор и общую шину от потока ненужной информации.

    Реализовать такую структуру можно разными способами: добавить в устройство один или несколько микропроцессоров, но это может быть неудобно по конструктивным, ценовым параметрам или из соображений быстродействия; или создать все эти контроллеры в виде нескольких МА внутри специализированной ИС. Последний вариант является предпочтительным, так как в центре большинства современных устройств лежит большая специализированная ИС, в функции которой входит коммутация сигналов на плате и распределение управляющих сигналов. Внутри этой ИС обычно можно расположить все необходимые МА.

    Но это не единственный пример использования МА. Их можно объединять последовательно, параллельно, организовывать из них целые сети, как это показано на рис. 3, все зависит только от требований проекта.

Организация сети МА

Рис. 3. Организация сети МА

Описание этапов построения МА

Выбор системы команд

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

    Его можно дополнять и расширять. Арифметические операции сознательно убраны из списка, так как в большинстве МА они не нужны.

Построение ядра МА

    Хотя для каждой конкретной реализации МА конструкция будет отличаться, структура останется неизменной, такой, как показано на рис. 4.

Структура ядра МА

Рис. 4. Структура ядра МА

    Блоки "Host" и "Status" обеспечивают интерфейс с верхним уровнем обработки. Блок "IRQ[xx]" предоставляет возможность организации работы по прерываниям, что совершенно необходимо для работы в реальном времени.

    Блок "RAM+ROM" служит идеализированной моделью памяти. При практической реализации память команд, память данных и стек удобно разнести. Это оказывается возможно при небольшом размере памяти программ и стека, так как память программ хранится в виде констант, а размер стека определяется алгоритмом работы, и он может быть распо- ложен в блоке регистров.

    "Addr_cnt" - это указатель на следующую команду, которую нужно исполнить, или адрес данных, которые нужно считать или записать.

    "Stack_cnt" - механизм работы со стеком.

    "ALU" - ключевой механизм МА, состоящий из дешифратора команд, набора регистров и производящий определенные операции над этими регистрами. В простейшем случае ALU не требует контроллера прерываний и умеет только пересылать данные с места на место и сравнивать их с заданным условием. Но можно построить и такой ALU, который умеет производить сложные операции, такие как сложение, вычитание, умножение, деление, нахождение синуса и так далее, причем в качестве математического сопроцессора может выступать другой МА. Поэтому для каждой конкретной задачи надо определить, какие функции ALU являются необходимыми, и подключить к проекту только содержащие их библиотеки.

Написание микропрограммы

    Для удобства написания программ для МА можно создать собственный ассемблер, ставящий в соответствие удобную для восприятия мнемонику с реальными командами МА. Сейчас каждый программист при обучении в институте проходит курс создания компиляторов, и написание ассемблера для любого процессора не является трудной задачей.

    Так как МА выполняет ограниченный набор функций, размер микропрограмм обычно не превышает нескольких десятков-сотен команд. Пример части такой программы описан в таблице.

Таблица

Адрес Код Мнемоника Комментарий
0000 000000 MOV [0], X2 В X2 записали адрес из ячейки памяти
0001 110240 MOV 240, X1 В X1 записали 240 - длину пакета
0002 220003 MOV [X2], X3 Считали ячейку памяти
0003 430327 MOV X3, DMA Записали в регистр DMA
0004 090002 INC X2 Увеличили адрес читаемой памяти
0005 080001 DEC X1 Уменьшили счетчик циклов
0006 710002 IF [X1] JMP 0002 Проверка условия выхода из цикла
0007 050000 RET Возврат из прерывания

Отладка микропрограммы

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

    Во-первых, используемые для отладки ПЛИС (FPGA) обычно репрограммируемы, то есть в случае обнаружения ошибки всегда есть возможность исправить ее без переделки всего устройства.

    Во-вторых, отладка микропрограммы происходит по частям, что позволяет легко локализовать ошибку и исправить ее.

    В третьих, использование САПР, такого как Max+Plus, позволяет создавать тестовые входы и выходы МА, имитировать реальную работу всего устройства в симуляторе.

    В процессе отладки можно использовать FPGA с большим количеством ячеек, чем нужно для функционирования проекта. Это позволит выделять отладочные ресурсы. К таким ресурсам можно отнести дополнительные счетчики, тестовые сообщения и эмуляторы. Эти ресурсы можно перераспределять для отладки отдельных частей микропрограммы.

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

    Как результат, отладка микропрограмм в МА оказывается значительно проще переписывания всего конечного автомата в случае обнаружения в нем ошибки или смены алгоритма работы.

Сравнительная характеристика

    Чтобы оценить преимущества использования МА перед другими способами, рассмотрим конкретный пример. В проекте создания шлюза IP-телефонии было необходимо c помощью центрального процессора i80486DX4-100 обрабатывать поток данных с сетевого интерфейса 10 Мбит/с. Оказалось, что даже после оптимизации алгоритма процессор не справляется с обработкой 10-Мбит потока данных. Пришлось использовать другой процессор - Intel Pentium-233. Это резко увеличило стоимость конечного продукта. Использование же конвейерной обработки позволяет настолько разгрузить центральный процессор, что даже у I486DX остаются ресурсы для работы операционной системы, обработки информации и так далее.

    Для сравнения МА с конечным автоматом, который является его альтернативой, можно отметить следующее:

    Процесс создания и эксплуатации микропрограммных автоматов на FPGA идет в мире уже более 5 лет. Обычно это коммерческие проекты, судить о которых можно только по рекламе.

    Например, фирма HAMMER CORES выпустила мегафункцию для FPGA фирмы ALTERA, которая включает CISC-процессор, работающий на 20 МГц, имеющий до 26 регистров с разрядностью 8, 16 и 24 бит и занимающий 367 ячеек при 7 регистрах, 3 прерываниях и разрядности 8 бит.

    Более сложный процессор на FPGA фирмы ALTERA представила фирма CAST - это полный аналог 8-бит микроконтроллера C8051, работающего на 8 МГц и занимающего 2398 ячеек.

    На FPGA фирмы XILINX тоже ведутся работы по созданию МА, направленные в основном на построение универсального инструмента для аэрокосмических нужд и объединенные в глобальный проект "Adaptive Instrument Module".

    Есть и другие фирмы-производители функций микропрограммных автоматов, максимальная частота работы некоторых из них достигает 48 МГц. Это и копии популярных микроконтроллеров и микропроцессоров, главное удобство которых - в доступности средств разработки программного обеспечения, и совершенно новые МА, позволяющие в виде параметров для компиляции менять свою структуру под требования заказчика. Фирмы-производители снабжают своих клиентов большим набором отладочных средств и средств разработки ПО, поэтому проблем с использованием таких МА обычно не бывает.

Литература

  1. 1. Баранов В.П. Синтез микропрограммных автоматов. - М.: Нолидж. - 1997. - 376 с.
  2. Долинский М.С., Харрасов А.А. Средства разработки цифровых устройств методом синтеза микропрограммных автоматов // Электроника. - 1998. - ╧ 11-12. - С. 19-23.
  3. Гультяев А.К. Имитационное моделирование в среде Windows. - СПб.: КОРОНА принт. - 1999. - 288 с.
  4. Баранов С.И. Синтез микропрограммных автоматов. - Л.: Энергия. - 1979. - 239 с.
  5. Altera, Processor & Peri pheral Megafunction, AMPP, http://www.altera.com/.
  6. Xilinx, AIM, http://www.xilinx.com/.

E-mail: nick@rts.loniis.ru







Ваш комментарий к статье
Микропроцессорные автоматы на базе специализированных ИС :
Ваше имя:
Отзыв: Разрешено использование тэгов:
<b>жирный текст</b>
<i>курсив</i>
<a href="http://site.ru"> ссылка</a>