автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.13, диссертация на тему:Исследование и проектирование моделей и программных средств эмуляции вычислительных систем

кандидата технических наук
Ицыксон, Владимир Михайлович
город
СПб
год
1999
специальность ВАК РФ
05.13.13
цена
450 рублей
Диссертация по информатике, вычислительной технике и управлению на тему «Исследование и проектирование моделей и программных средств эмуляции вычислительных систем»

Автореферат диссертации по теме "Исследование и проектирование моделей и программных средств эмуляции вычислительных систем"

На правах рукописи

Ицыксон Владимир Михайлович Р Г Б ОД

1 4 ф-в 2000

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

Специальность05.13.13 -Вычислительные машины, комплексы, системы и сети

АВТОРЕФЕРАТ

диссертации на соискание ученой степени кандидата технических наук

Санкт-Петербург 2000

Работа выполнена в Санкт-Петербургском государственном техническо университете.

Научный руководитель кандидат технических наук, доцент Цыган В.Н.

Официальные оппоненты: доктор технических наук, профессор Ивановский Р.И.

кандидат технических наук, старший научный сотрудник Третьяков В.А.

Ведущая организация: ЦНИИ «МорФизПрибор», г. Санкт-Петербург

Защита состоится " " 2000 г. в /Г часов на заседали

диссертационного совета Д 063.38.04 Санкт-Петербургского государственног техническою университета по адресу: 195251 г. Санкт-Петербург, Политехническая ул. 2! 9-ый учебный корпус, аудитория 325.

С диссертацией можно ознакомиться в библиотеке Санкт-Петербургског государственного технического университета по адресу: 195251 г. Санкт-Петербур] Политехническая ул. 29.

Автореферат разослан 2000 г.

Учёный секретарь

диссертационного совета ( - / ¿ _ Дурандин К.П.

ОБЩАЯ ХАРАКТЕРИСТКА РАБОТЫ

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

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

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

Тематика диссертационной работы согласуется с приоритетными направлениями развития науки и техники, утвержденными Правительственной комиссией РФ по научно-технической политике постановлением № 2727п-П8 от 21.07.1996 направление «Фундаментальные исследования», раздел «Информационная, вычислительная техника, автоматизация»; Федеральной научно-технической программой «Конверсия и высокие технологии 1997-2000 гг.», раздел «Информационные технологии, электроника и связь» (приказ Министерства образования России № 689 от 11.04.1997 г.); с планами работ по гранту №154-3.11 правительства Санкт-Петербурга раздела «Технические науки», направление «Автоматика, телемеханика. Вычислительная техника» 1997 г.

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

Для достижения поставленной цели решаются следующие задачи:

1. Разработка концепций построения структурно-поведенческих моделей ВС.

2. Разработка языка моделирования ВС.

3. Разработка методов автоматической генерации структур имитационных программ.

4. Построение методов определения эффективности систем эмуляции, реализуемых на различных архитектурах.

5. Анализ и выбор эффективных способов реализации систем эмуляции.

6. Построение на основе разработанных теоретических положений программного комплекса эмуляции ВС.

Основные методы исследования. Для решения поставленных задач использованы методы теории графов, теории автоматов, теории формальных языков, теории синтаксического анализа и компиляции.

Научная новизна работы. Научную новизну составляют следующие положения, предложенные в работе:

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

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

3. Предложен новый метод синхронизации взаимодействия компонентов модели ВС, предусматривающий структурирование поведенческих программ устройств на основе явной простановки меток тактирования в теле программы.

4. Разработана методика оценки коэффициента моделирования путем формального преобразовании графа вычислительного процесса эмуляции с учетом специфики архитектуры инструментальной системы. По результатам анализа коэффициента моделирования показана эффективность способа организации вычислительного процесса на однопроцессорной ЭВМ, основанного на использовании сопрограмм.

5. Предложена архитектура универсального программно-аппаратного эмулятора ВС, позволяющая сократить временные затраты на моделирование независимо от количества устройств целевой ВС за счет организации массового распараллеливания процесса эмуляции.

Практическая значимость. Практическая значимость полученных результатов состоит в следующем:

1. Совокупность моделей ВС и языковых описаний обеспечивает высокую эффективность моделирования, выражающуюся в сокращении объема описаний исследуемой ВС и времени моделирования.

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

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

4. Открытая архитектура программного комплекса и доказательство возможности автоматической трансляции моделей языка DSDL в описания на языке VHDL позволяют использовать программный комплекс как в составе мощных САПР, основанных на языке VHDL, так и в совокупности ■ с существующими кросс-средствами разработки программного обеспечения.

5. Разработанные модели ВС, язык моделирования и программный комплекс эмуляции могут использоваться для решения широкого спектра учебных задач: от изучения систем команд микропроцессоров и микроконтроллеров до изучения архитектур ВС.

Реализация результатов. Разработанные методы моделирования ВС и программный комплекс эмуляции используются в процессе проектирования аппаратных и программных средств ЦНИИ «МорФизПрибор».

Материалы диссертационной работы используются в учебном процессе кафедры автоматики и вычислительной техники СПбГТУ.

Апробация работы. Основные положения диссертационной работы докладывались и обсуждались на следующих конференциях и семинарах:

• на всероссийском молодежном научном форуме «Интеллектуальный потенциал России - в XXI век», 1995 г.;

• на III Санкт-Петербургской ассамблее молодых ученых и специалистов, 1998 г.;

• на I, II и III Всероссийской научно-технической конференциях «Фундаментальные исследования в технических университетах» 1997-1999 гг.

Публикации. По теме диссертации опубликовано 10 печатных работ.

Структура и объем работы. Диссертационная работа состоит из введения, семи глав, заключения, списка литературы и приложений. Материал работы изложен на 248 страницах машинописного текста, основное содержание - на 204 страницах. Работа содержит 8 таблиц и 33 рисунка.

СОДЕРЖАНИЕ РАБОТЫ

Во введении обосновывается актуальность темы, формулируется цель исследования, приводятся наиболее существенные результаты исследования.

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

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

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

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

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

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

Все известные системы эмуляции имеют недостатки, существенно ограничивающие их массовое применение:

1) Для каждого эмулятора жестко определен объект эмуляции - конкретный ' микропроцессор или микроконтроллер. Использовать эмуляторы для моделирования

других типов устройств невозможно.

2) Каждый эмулятор позволяет моделировать только целевую систему конкретной архитектуры. Эмулировать функционирование системы с новой архитектурой не представляется возможным, и, следовательно, комплексная разработка и отладка ПО для сложных многопроцессорных систем также невозможна.

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

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

Структура модели строится в соответствии со структурой и составом вычислительной системы и использует архитектурный уровень детализации представления. Модель состоит из двух классов примитивов: активных компонентов и коммуникаций (см. рис. 1). Активные компоненты соответствуют реальным устройствам ВС, таким как микропроцессоры, модули памяти и делятся, в свою очередь, на

«устройства» и «коммутаторы». Коммуникации изображают средства передачи информации в ВС и делятся на «шины» и «сигналы». Таким образом предложенная модель отличается от известных оригинальным набором примитивов.

Рис. 1. Структура модели ВС

Основным активным компонентом модели является «устройство». Его функционирование имеет протяженность во времени. Вся временная ось работы «устройства» разбивается на неделимые промежутки - такты устройства. Такты всех устройств модели ВС кратны системному такту - минимальному промежутку модельного времени системы. Исходя из структуры элементов вычислительной техники целесообразно описывать «устройства» с помощью интерфейса, списка внутренних ресурсов и поведения. Интерфейс определяет множество разъемов к которым можно подключать внешние коммуникации. Внутренние ресурсы определяют внутреннюю память «устройства». Поведение «устройства» задается программой.

Формально «устройства» представляются конечными автоматами в виде семерки 5, Ь, э, Ь, ц, Ф, , где э и Ь - множества состояний входных «сигналов» и «шин», 8 и Ь-множества состояний выходных «сигналов» и «шин», ц - множество состояний «устройства»; Ф - функция выхода: (я, Ь) = Ь, я), Ч' - функция следующего состояния:

Ч'^ЧЧЗ'.Ь'.Ч').

В работе показана необходимость наличия еще одного активного компонента модели - «коммутатора». Этот компонент предназначен для моделирования безынерционных элементов ВС, таких как комбинационные схемы, коммутационные матрицы и т.п. «Коммутаторы» не вносят задержек во временную диаграмму системы и время их функционирования считается равным нулю. Описание «коммутаторов» осуществляется теми же средствами, что описание «устройств». Поведенческие программы «коммутаторов» выполняются между очередными системными тактами модели.

Формально «коммутаторы» представляются комбинационными функциями в виде пятерки б,Ь,в, Б, Б-, где б и Ь - множества состояний входных «сигналов» и «шин», ей Ь- множества состояний выходных «сигналов» и «шин», И - функция выхода: (э, Ь) = Р(з, Ь).

Второй класс примитивов предназначен для представления коммуникаций. На основании типа передаваемой информации все коммуникации разделены на два класса -управляющие и информационные.

' «Сигналы» - компоненты модели ВС, представляющие' управляющие коммуникации, такие как сигналы готовности, сигналы разрешения прерывания й т.п. «Сигналы» используются для переноса уведомляющих сообщений, не имеющих количественных атрибутов. Приход «сигнала» в «устройство» может вызвать активацию последнего, если соответствующий разъем «устройства» входит в множество разъемов возбуждения.

«Шины» - компоненты модели ВС, представляющие информационные коммуникации, такие как шины данных, шины адреса и т.п. «Шины» используются для переноса информационных сообщений. «Шины» характеризуются количественным атрибутом - значением.

Модель всей ВС представляется в виде направленного двудольного графа С(У, V') в котором множество V соответствует активным компонентам («устройствам» и «коммутаторам»), а множество V' - коммуникациям («шинам» и «сигналам»). Множество дуг графа соответствует соединениям активных компонентов с коммуникациями.

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

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

Для построения итоговой модели введем дополнительные обозначения. Пусть М„ -число'«устройств»; Цо,; - начальное состояние ¡-го «устройства»; к| - коэффициент масштабирования ¡-го «устройства»; - состояние 1-го «устройства» в момент времени I; б) и Ъ' — состояния входных «сигналов» и «шин» в момент времени I; в' и Ь'- состояния выходных «сигналов» и «шин» в момент времени I; Ф; - функция перехода ¡-го «устройства»; Ч^ - функция выхода ¡-го «устройства»; г - максимальный ранг «коммутатора»; 1 е [1..г] - число «коммутаторов» ранга ¡; я и Ь — состояния выходных «сигналов» и «шин» «устройств»; б, и Ь, - состояния выходных «сигналов» и «шин»

«коммутаторов» ¡-го ранга; - функция ¡-го «коммутатора» р-го ранга.

Рис. 2. Параллельное функционирование разномасштабных «устройств»

Тогда итоговая модель ВС изображается системой алгебраических и темпоральных уравнений (1). Она описывает ВС в виде сети «устройств» и «коммутаторов», представляемыми конечными автоматами и комбинационными функциями, и задает структуру исследуемой ВС и динамику ее функционирования.

чГ4 = ф2(ч;.®;,Ь;О (згчьго^^хь;)

V4' =фыи(Яыи.<,.'Ь'ни)

(5„Ь|) = Р,(,)(8, Ь), 1 е[1..Ь,] (52,Ь2) = Р:2,(5,Ь,з],Ь|), 1е[1..Ц]

(8,, Ь,) = ^"(в, Ь, б,, Ь,,...,, V,, ЬгЧ), 1 е[1.1г]

(1)

В третьей главе предлагается язык моделирования ВС DSDL (Digital System Description Language), предназначенный для описания структуры ВС и поведения устройств, входящих в ее состав.

Основная цель создания языка - реализация концепций разработанной модели ВС. Язык в результате является единственным средством описания ВС. Основными исходными требованиями к построению языка являются три положения:

1) обеспечение реализации средствами языка всех концепций разработанной модели;

2) обеспечение эффективного и компактного представления элементов и свойств вычислительных устройств;

3) построение языка на базе современного языка программирования общего назначения.

В рамках первого положения язык должен позволять описывать элементы системы уравнений (1). Программы описаний активных компонентов должны реализовать функции C>i и «устройств» и функции F,'11' «коммутаторов» р-го ранга. Описание архитектуры должно изображать структуру ВС, используемые «устройства» и коммуникации, представленные в системе уравнений (1) состояниями выходных разъемов «устройств» s и Ь, состояниями выходных разъемов «коммутаторов» s( и b и конкретными используемыми аргументами функций Ф,. 'F, и F,(w.

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

В рамках третьего положения обосновано решение использовать в качестве базового синтаксис общеалгоритмических конструкций языка МОДУЛА-2.

На основании перечисленных положений разработаны структура и синтаксис языка DSDL. Структура языка представлена на рис. 3.

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

Описание «устройств» состоит из секций описаний и тела программы. Секция описания интерфейса специфицирует разъемы внешних «шин» и «сигналов», их тип и разрядность. Секция описания ресурсов содержит перечень элементов внутренней памяти устройства, таких как регистры, флаги, массивы слов и их атрибуты. Тело программы содержит поведенческое описание функционирования устройства. Это описание реализуется с помощью конструкций, изображенных на рис. 4.

Рис. 3. Структура языка описания ВС БЗБЬ

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

Синхронизация взаимодействия компонентов модели осуществляется с помощью структурирования программы описания «устройств» на основе разделения программы на неделимые промежутки путем явной простановки меток тактирования в теле программы.

Описания «коммутаторов» отличаются от описания «устройств» отсутствием в теле программы операторов управления тактированием, ввиду того, что «коммутаторы» -компоненты мгновенного действия. Этим же вызвана и отличающаяся семантика операторов работы с коммуникациями. В программах «коммутаторов» указанные действия выполняются немедленно, не привязываясь к тактам.

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

Рис. 4. Описание поведения в языке 13801.

Представленное ранее определение языка моделирования требует доказательства полноты, то есть того факта, что с средствами языка ЭЯОЬ можно адекватно описать любое вычислительное устройство. В работе приводится процедура, которая для любого устройства позволит сконструировать соответствующую поведенческую программу.

Процедура основана на формальном преобразовании графа переходов конечного автомата в ОБПС-программу. Для этого каждому состоянию автомата ставится в соответствие фрагмент программы, вычисляющий вектор входа - конкатенацию состояний входных «шин» и «сигналов», анализирующий полученный вектор, генерирующий новое значение выходных «шин» и «сигналов» и осуществляющий переход к фрагменту программы, реализующему очередное состояние автомата. Возможность построения такой процедуры для любого вычислительного устройства свидетельствует о функциональной полноте разработанного языка.

Для оценки языка 0801. проводится сравнение его со стандартным языком описания аппаратуры УНОЬ. Критерием качества является объем получаемых языковых моделей ВС. Выделяется несколько классов свойств, за счет которых применение языка ОБОЬ в задачах эмуляции более предпочтительно: уровень представления ВС, система синхронизации, представление характерных компонентов вычислительных устройств, способы интерпретации данных, открытость языка, синтаксис. Для каждого класса свойств

выявлены несколько характеристик, позволяющих сократить объем поведенческих про1раммы, а следовательно и модели в целом.

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

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

Предлагается универсальный способ описании ВС с меняющейся архитектурой, основанный на представлении реконфигурируемой коммуникационной среды с помощью компонента модели «коммутатор». В этом случае такой компонент играет роль универсшгыгой коммутационной матрицы. Поведенческое описание «коммутатора» заключается в выборе конкретной текущей конфигурации и коммутации необходимых «шин» и «сигналов». Коммутация «шин» и «сигналов» осуществляется программным путем с помощью операторов транспортировки. Для реализации этих реконфигурируемых ВС определен шаблон поведенческой программы «коммутатора».

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

Для эффективного использования языка ОБОЬ необходим механизм его включения в технологический процесс нисходящего проектирования ВС. То есть необходимы средства сопряжения с моделями смежных уровней, главным образом с уровнем интегральных схем. Стандартным языком описания аппаратуры на этом уровне является язык У1ГО1.. В работе проводится сравнение конструкций языков У[ШЬ и ВББЬ и показывается возможность автоматической трансляции В80Ь-описаний в эквивалентные УНОЬ-программы. Показываются способы трансляции различных конструкций в языка ЕКЧОГ в код программы на языке У1ШЬ.

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

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

одного такта инструментальной ЭВМ, 1,„>л - среднее время выполнения одного такта исследуемой системы в модели, функционирующей на инструментальной ЭВМ. Тогда

показывающая реальное замедление функционирования модели по сравнению с оригиналом.

Разработанная методика оценки эффективности эмуляции основывается на применении обобщенных графовых моделей статистического оценивания времени выполнения программ Б. Байцера. Под обобщением понимается объединение в одной модели как последовательных, так и параллельных ветвей программ. Графовые модели формируются с учетом специфики архитектуры ИВС и организации вычислительного процесса эмуляции. Особенностью применения методики является приложение ее к процессу выполнения одного такта функционирования модели ВС. Для получения коэффициента моделирования производится свертка графа вычислительного процесса в соответствии с набором формальных правил преобразования. Результатом таких формальных преобразований является оценка времени выполнения одного такта исследуемой системы на заданной архитектуре инструментальной ЭВМ - то есть оценка коэффициента моделирования.

Разработанная методика применяется для оценки эффективности различных вариантов использования однопроцессорных эмуляторов. Рассматриваются способы, основанные на использовании параллельных процессов, многопоточности и применении сопрограмм.

Коэффициент моделирования во всех случаях вычисляется по формуле:

где Т„ — число машинных тактов, необходимое для эмуляции одного системного такта работы моделируемого устройства; Тет — число машинных тактов работы процедур эмулятора, Т8Л — число машинных тактов, необходимое инструментальной ЭВМ для переключения с программы одного «устройства» на другое и зависящее от способа реализации параллелизма.

В работе показано, что вычислительный процесс эмуляции обладает свойством частого переключения, то есть относительный размер неделимых участков процесса очень мал. При моделировании таких процессов неприменимы средства ОС инструментальных ЭВМ по организации параллельных процессов или многопоточности, так как накладные расходы на переключение контекста на 2 порядка превысят затраты на работу имитационных программ.

Для вычислительных процессов с частым переключением обосновывается целесообразность использования сопрограмм, как самого эффективного программного способа организации вычислительного процесса эмуляции на однопроцессорной ЭВМ. Такой способ позволяет достигать коэффициента моделирования от 9 до 50 в расчете на одно эмулируемое устройство, что согласуется с лучшими фирменными программными эмуляторами, имеющими этот показатель на уровне 100-200.

Введенная ранее модель ВС обеспечивает автоматическое отображение функционирования системы в многопотоковый слабосвязанный вычислительный процесс

чмул 1инстр V

=1,

■к,

к

- коэффициент замедления - характеристика,

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

Проецирование структуры моделируемой ВС на архитектуру программно-аппаратного эмулятора осуществляется с помощью преобразования двудольного графа модели ВС и распределения имитационных программ «устройств» и «коммутаторов» между процессорами или группами процессоров (исполнительными модулями). Коэффициент моделирования вычисляется по формуле:

К;:=(г + 1)(тахТ„,,+Ы-Т10Ие+Тс„т),

где Тсотт - время, необходимое для распространения информации в модели системы посредством коммуникаций; г - максимальный ранг «коммутаторов»; Т„^ - среднее время эмуляции одного такта ¡-го «устройства»; N - максимальный внутренний уровень иерархии в исполнительном модуле; Тгои(е - время передачи информации между уровнями исполнительного модуля.

В этом случае значение коэффициента моделирования составляет К™' от 14 до 66 независимо от количества устройств в моделируемой системе. Такой высокий результат связан с автоматическим распараллеливанием имитационных программ и минимизацией транспортных задержек, основанной на использовании быстродействующих программируемых коммутационных матриц.

Вторым способом применения свойства автоматического распараллеливания вычислительного процесса является использование в качестве ИВС компьютерной сети. При такой организации поведенческие программы «устройств» располагаются на различных узлах сети и очередные такты выполняются параллельно, а взаимодействие между «устройствами» обеспечивается сетевыми обменами. Путем несложных математических расчетов показано, что временные затраты на передачу информации с помощью современных сетевых технологий между «устройствами» и «коммутаторами» после окончания тактов превышают собственно время выполнения имитационных программ на 3-4 порядка. То есть, эффект, получаемый от распараллеливания процесса эмуляции, полностью теряется из-за накладных расходов на передачу информации, и, следовательно, применение компьютерных сетей для эмуляции ВС нецелесообразно.

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

Программный комплекс представляет собой интегрированную среду эмуляции для отладки, анализа и тестирования ВС. В состав комплекса входят: графический редактор архитектур, компилятор языка моделирования ОвОЬ, подсистема имитации, подсистема визуализации, библиотека компонентов, метаассемблер и интегрированная среда-оболочка. С помощью графического редактора задается структура и состав компонентов исследуемой системы. Компилятор языка 1)5ПЬ производит синтаксический и семантический анализ

программ описания архитектур, «устройств» и «коммутаторов» и транслирует их во внутреннее представление системы моделирования. Подсистема имитации получает на вход описание структуры и объектные программы реализации компонентов и осуществляет процесс имитационного моделирования, заключающийся в последовательном выполнении тактов работы «устройств». Разработанные программные модели различных цифровых устройств могут объединяться в библиотеку комцонентов для дальнейшего их использования. Весь процесс имитационного моделирования происходит под управлением интегрированной среды эмуляции.

В процессе эмуляции пользователь имеет возможность просмотра значений внутренних ресурсов «устройств» и «коммутаторов», изменения значений ресурсов, просмотра состояний «сигналов» и «шин», загрузки новых значений «шин» и «сигналов» и получения временных диаграмм состояний устройств, «шин» и «сигналов». Допускается как пошаговая, так и пакетная отладка моделей.

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

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

Программный комплекс реализован на платформе Intel Pentium и функционирует под управлением операционных систем Windows NT 4.0 и Windows 95/98. Общий объем программного комплекса составляет около 20 тысяч строк исходного текста.

Седьмая глава посвящена апробации разработанных подходов на примерах эмуляции различных ВС. Для иллюстрации прозрачности и компактности DSDL-описаний в этой главе рассматриваются устройства и ВС имеющие эквивалентные описания на других языках.моделирования.

. Первая рассматриваемая ВС построена на основе описанного в литературе гипотетического микропроцессора DP32. Микропроцессор является 32-х разрядным устройством с длинным регистровым файлом и системой команд, состоящей из 20 инструкций. Моделируемая система представляет собой микропроцессор и два модуля памяти: ОЗУ и ПЗУ. Приведенные в работе языковые описания позволяют проводить эмуляцию работы этой ВС и получать по ходу моделирования необходимые промежуточные результаты. Объем программы описания микропроцессора составляет 112 строк кода, что в 4 раза меньше, чем в аналогичной программе на языке VHDL.

Вторая рассматриваемая в работе система базируется на реальном микроконтроллере серии МК51. Этот микроконтроллер выбран как один из наиболее часто используемых при проектировании различных управляющих ЭВМ и плат расширения.

Микропроцессорная система состоит из микроконтроллера МК51, оперативного запоминающего устройства данных, формирователя управляющих сигналов и регистра-

защелки адреса. Микроконтроллер и модуль памяти изображаются в модели «устройствами», а регистр-защелка и формирователь сигналов - «коммутаторами». Представленные в работе программы, описывающие архитектуру системы и ее компоненты, позволяют промоделировать функционирование микропроцессорной системы с внутренней памятью программ в различных режимах и производить разработку и отладку программного обеспечения. Объем программы, описывающей микроконтроллер МК51, составляет 400 строк, что, по крайней мере, в 4 меньше, чем в известных реализациях на языке VIIDL.

Рассмотренные модели позволяют сделать вывод о высокой компактности DSDL-программ. Общее сокращение объемов программ вызвано упрощением механизмов синхронизации и наличием в составе языка DSDL специализированных средств, реализующих часто используемые функции микропроцессорных устройств.

ЗАКЛЮЧЕНИЕ

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

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

1. Разработана новая структура модели ВС, ориентированная на применение специального способа тактирования модулей, обеспечивающего автоматическое отображение параллельного функционирования системы в тактируемый детерминированный слабосвязанный многопотоковый вычислительный процесс.

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

3. Определена методика оценки коэффициента моделирования, основанная на построении графовых моделей вычислительного процесса эмуляции, с учетом специфики архитектуры инструментальной ЭВМ. На основе разработанной методики проведена оценка различных способов организации процесса эмуляции на однопроцессорной инструментальной ЭВМ. Показана высокая эффективность использования сопрограмм, по сравнению с другими способами.

4. Предложена архитектура универсального программно-аппаратного эмулятора ВС, реализующего распараллеливающие свойства модели ВС и осуществляющего распределенную параллельную эмуляцию функционирования целевой ВС. Проведена оценка эффективности моделирования систем с помощью универсального программно-аппаратного эмулятора. Показано, что коэффициент моделирования при использовании такого эмулятора не зависит от количества устройств целевой ВС.

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

6. Разработан программный комплекс эмуляции ВС, реализующий концепции разработанной модели и поддерживающий язык DSDL. Входящие в состав комплекса

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

ПУБЛИКАЦИИ ПО ТЕМЕ ДИССЕРТАЦИИ

1. Ицыксон В.М. Язык моделирования вычислительных систем // Всероссийский молодежный научный форум ''Интеллектуальный потенциал России — в XXI век". Тезисы докладов. СПб, 1995, сс. 66-67

2. Ицыксон В.М. Программный комплекс моделирования вычислительных систем. Язык описания поведения модулей в составе моделируемой системы // Научно-техническая конференция студентов. Тезисы докладов /СПбГТУ; СПб, 1995г с. 180.

3. Ицыксон В.М. Программный комплекс эмуляции работы вычислительных систем // Материалы научно-технической конференции "Фундаментальные исследования в технических университетах" / СПбГТУ; СПб, 1997, сс. 214-215

4. Ицыксон В.М. Программный комплекс эмуляции работы вычислительных систем // Научно-техническая конференция студентов. Тезисы докладов / СПбГТУ; СПб, 1997.

5. Ицыксон В.М. Эмуляция работы вычислительных систем с помощью специализированного языка описания устройств // Труды СПбГТУ № 469, СПб, 1997. с. 139-142.

6. Ицыксон В.М. Эмуляция работы вычислительных систем // Материалы научно-технической конференции "Фундаментальные исследования в технических университетах" /СПбГТУ; СПб, 1998, сс. 111-112

:7. Системное программное обеспечение. Технологии, инструментальные средства и среды глобальных сетей: Учеб. пособие / Л.К. Пгицына, Н.В. Соколова, М.В. Хлудова, В.М. Ицыксон. СПбГТУ, СПб, 1998. 110 с.

8. Ицыксон В.М. Применение эмулятора вычислительных систем для моделирования микропроцессорных систем и микроконтроллеров // Третья Санкт-Петербургская Ассамблея молодых ученых и специалистов. Тезисы докладов. СПб., 1998 -с. 152. ■

9. Ицыксон В.М., Цыган В.Н. Использование внешних исполняемых модулей для расширения функциональных возможностей систем эмуляции вычислительных систем. // Материалы межвузовской научной конференции. Издательство СПбГТУ, 1999, сс. 18-20

10. Ицыксон В.М., Цыган В.Н. Программные метасредства эмуляции микропроцессорных систем // Материалы III Всероссийской научно-технической конференции "Фундаментальные исследования в технических университетах" / СПбГТУ; СПб., 1999,сс. 37-38.

ИЦЫКСОН Владимир Михайлович

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

Автореферат диссертации на соискание учёной степени кандидата технических наук

Формат 60x84 /16

Усл. печ. л. 1 Тираж 100

Санкт-Петербургский государственный технический университет

Множительное бюро Центра наукоёмкого инжиниринга Санкт-Петербургского государственног о технического университета

Адрес университета и множительного бюро: 195251, Санкт-Петербург, Политехническая ул., 29.

Оглавление автор диссертации — кандидата технических наук Ицыксон, Владимир Михайлович

ВВЕДЕНИЕ

ГЛАВА 1. МОДЕЛИРОВАНИЕ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ И КРОСС-РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

1.1. Иерархия уровней моделирования

1.1.1. Кремниевый уровень

1.1.2. Схемный уровень

1.1.3. Уровень логических элементов

1.1.4. Регистровый уровень

1.1.5. Уровень интегральных схем

1Л .6. Архитектурный уровень

1.1.7. Системный уровень

1.2. Обзор языков моделирования и описания аппаратуры

1.2.1. Система JIM

1.2.2. Язык AHDL

1.2.3. Язык ABEL

1.2.4. Система Triad

1.2.5. Язык DDL

1.2.6. Система МОДИС

1.2.7. Язык VerilogHDL

1.2.8. Системы, основанные на языке VHDL

1.3. Классификация систем эмуляции

1.3.1. Эмуляторы микропроцессоров

1.3.2. Эмуляторы микропроцессорных комплектов

1.3.3. Эмуляторы вычислительных систем

1.4. Обзор систем эмуляции

1.4.1. Кросс-система разработки и отладки ПО КСИ

1.4.2. Комплексы кросс-средств для однокристальной микро-ЭВМ К1816ВЕ48 и для микропроцессоров серии К1810ВМ

1.4.3. Отладчики-эмуляторы PDS-51, PDS-196 и PDS-PIC

1.4.4. Внутрисхемный эмулятор АСЕ-52С

1.4.5. Имитационная среда моделирования ЕХАМ-РС

1.4.6. Средства разработки и отладки ПО промышленных контроллеров HI-WAVE

1.4.7. Набор инструментальных средств SingleStep Solution

1.4.8. Система VMWare

1.4. Выводы и постановка задач исследования

ГЛАВА 2. МОДЕЛЬ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ

2.1. Компоненты модели вычислительных систем

2.2. Устройства

2.2.1. Интерфейс устройства

2.2.2. Ресурсы устройства

2.2.3. Поведение устройства

2.3. Коммуникации

2.3.1. Шины

2.3.2. Сигналы

2.4. Динамика функционирования модели

2.5. Коммутаторы

2.6. Итоговая модель вычислительных систем

2.7. Выводы

ГЛАВА 3. ЯЗЫК МОДЕЛИРОВАНИЯ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ DSDL

3.1. Организация системы моделирования

3.2. Определение требований, предъявляемых к языку моделирования

3.2. Основные концепции построения языка моделирования

3.2.1. Структура и синтаксис языка

3.2.2. Объекты, используемые в языке

3.2.3. Представление данных

3.3. Спецификация языка

3.3.1. Алфавит и словарь языка

3.3.2. Описание устройств

3.3.3 Структурирование программ устройств

3.3.4. Описание коммутаторов

3.3.5. Описание архитектуры

3.4. Использование внешних встраиваемых модулей для моделирования работы периферийных устройств

3.5. Доказательство полноты средств языка

3.6. Полнота модели для описания вычислительных систем

3.7. Сравнение разработанного языка с другими языками моделирования

3.8. Выводы

ГЛАВА 4. ПРИМЕНЕНИЕ РАЗРАБОТАННЫХ МОДЕЛЕЙ ПРИ МОДЕЛИРОВАНИИ

И ПРОЕКТИРОВАНИИ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ

4.1. Моделирование реконфигурируемых вычислительных систем

4.2. Моделирование вычислительных систем со сбоями и отказами

4.3. Переход от моделей архитектурного уровня к моделям нижних уровней

4.4. Выводы

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

5.1. Оценивание эффективности эмуляции

5.2. Реализация эмулятора на однопроцессорной ЭВМ;

5.2.1. Организация системы эмуляции на основе интерпретатора

5.2.2. Организация системы эмуляции на основе компилятора

5.2.3. Организация вычислительного процесса для реализации параллельного взаимодействия компонентов;

5.2.4. Организация функционирования программ устройств с помощью параллельных процессов

5.2.5. Организация функционирования программ устройств с помощью многопоточности

5.2.6. Организация функционирования программ устройств с помощью сопрограмм

5.3. Реализация эмулятора на многопроцессорной ЭВМ

5.4. Универсальный программно-аппаратный эмулятор

5.4.1. Архитектура универсального программно-аппаратного эмулятора

5.4.2. Проецирование архитектуры моделируемой ВС

5.4.3. Оценка временных характеристик универсального эмулятора

5.5. Реализация эмулятора с помощью компьютерной сети

5.6. Выводы

ГЛАВА 6. ПРОГРАММНЫЙ КОМПЛЕКС ЭМУЛЯЦИИ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ

6.1. Структура программного комплекса

6.1.1. Графический редактор архитектур

6.1.2. Компилятор языка моделирования

6.1.3. Подсистема моделирования

6.1.4. Метаассемблер

6.1.5. Система визуализации

6.1.6. Интегрированная среда эмуляции

6.2. Процесс эмуляции ВС

6.3. Алгоритм эмуляции ВС

6.4. Автоматическая генерация структуры программы устройств

6.5. Реализация программного комплекса

6.6. Выводы

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

7.1. Эмуляция систем на основе микропроцессора DP

7.2. Эмуляция однокристальной ЭВМ серии МК

7.3. Выводы

Введение 1999 год, диссертация по информатике, вычислительной технике и управлению, Ицыксон, Владимир Михайлович

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

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

Основным способом разработки программного обеспечения в условиях отсутствия функционирующей аппаратуры является использование отладочных программных моделей. С помощью специальных программных средств -эмуляторов, кросс-трансляторов и кросс-отладчиков [6-12, 24, 26, 27, 29, 31, 35,36, 65, 69, 74, 75] - осуществляется имитация выполнения программ целевой вычислительной системы. Такие кросс-средства выпускаются всеми фирмами, производящими микропроцессоры, микроконтроллеры, сигнальные процессоры и транспьютеры. Особенностью этих штатных средств разработки является их жесткая ориентация на конкретный микропроцессор или класс микропроцессоров.

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

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

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

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

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

Цель диссертационной работы состоит в исследовании и построении моделей, языковых описаний и эффективных методов эмуляции вычислительных систем, предназначенных для разработки универсальных программных и программно-аппаратных эмуляторов вычислительных систем, а также в практической реализации разработанных концепций, г

Задачи диссертационной работы. Для достижения поставленной цели решаются следующие основные задачи:

1. Разработка концепций построения структурно-поведенческих моделей ВС.

2. Разработка языка моделирования ВС.

3. Разработка методов автоматической генерации структур имитационных программ.

4. Построение методов определения эффективности систем эмуляции, реализуемых на различных архитектурах.

5. Анализ и выбор эффективных способов реализации систем эмуляции.

6. Построение на основе разработанных теоретических положений программного комплекса эмуляции ВС.

Научные результаты их новизна. В ходе работы над диссертацией сформулированы и обоснованы следующие результаты:

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

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

3. Предложен новый метод синхронизации взаимодействия компонентов модели ВС, предусматривающий структурирование поведенческих программ устройств на основе явной простановки меток тактирования в теле программы.

4. Разработана методика оценки коэффициента моделирования, путем формального преобразования графа вычислительного процесса эмуляции с учетом специфики архитектуры инструментальной системы. По результатам анализа коэффициента моделирования показана эффективность способа организации вычислительного процесса на однопроцессорной ЭВМ, основанного на использовании сопрограмм.

5. Предложена архитектура универсального программно-аппаратного эмулятора ВС, позволяющая сократить временные затраты на моделирование независимо от количества устройств целевой ВС за счет организации массового распараллеливания процесса эмуляции.

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

1. Совокупность моделей ВС и языковых описаний обеспечивает высокую эффективность моделирования, выражающуюся в сокращении объема описаний исследуемой ВС и времени моделирования.

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

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

4. Открытая архитектура программного комплекса и доказательство возможности автоматической трансляции моделей языка DSDL в описания на языке VHDL предоставляют возможность использования программного комплекса как в составе мощных САПР, основанных на языке VHDL, так и в < совокупности с существующими кросс-средствами разработки программного обеспечения.

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

Реализация результатов. Разработанные методы моделирования ВС и программный комплекс эмуляции используются в процессе проектирования аппаратных и программных средств ЦНИИ «МорФизПрибор».

Материалы диссертационной работы используются в учебном процессе кафедры автоматики и вычислительной техники СПбГТУ.

Основные положения, выносимые на защиту.

1. Модель вычислительных систем, обеспечивающая компактное и эффективное представление вычислительных устройств и систем.

2. Язык моделирования вычислительных систем, позволяющий компактно описывать как архитектуру ВС, так и структуру, и поведение ее компонентов.

3. Метод синхронизации взаимодействия компонентов модели, основанный на структурировании поведенческих описаний компонентов.

4. Методика оценки эффективности организации вычислительного процесса эмуляции и архитектуры инструментальной системы, основанная на анализе графа вычислительного процесса.

5. Архитектура универсального программно-аппаратного эмулятора, обеспечивающая массовое распараллеливание вычислительного процесса эмуляции.

Публикации. По теме диссертации опубликовано 10 печатных работ.

Структура диссертационной работы.

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

Заключение диссертация на тему "Исследование и проектирование моделей и программных средств эмуляции вычислительных систем"

7.3. Выводы

В седьмой главе приведены языковые описания двух микропроцессорных систем. Из приведенных примеров представлений микропроцессоров и микропроцессорных систем можно видеть, что программы моделирования компактны и адекватно описывают исходные устройства. Общее сокращение объемов программ более чем в 4 раза по сравнению с VHDL-программами вызвано абстрагированием при моделировании на архитектурном уровне от некоторых деталей реализации вычислительных устройств,упрощением механизмов синхронизации и^наличием в составе языка DSDL специализированных средств, реализующих часто используемые функции микропроцессорных устройств.

ЗАКЛЮЧЕНИЕ

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

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

1. Разработана новая структура модели ВС, ориентированная на применение специального способа тактирования модулей, обеспечивающего автоматическое отображение параллельного функционирования системы в тактируемый детерминированный слабосвязанный многопотоковый вычислительный процесс.

2. Разработан язык моделирования вычислительных систем DSDL, включающий в свой состав средства описания архитектур ВС и отдельных устройств. Доказана полнота средств языка для описания дискретных вычислительных устройств.

3. Предложен новый метод синхронизации взаимодействия компонентов модели ВС, предусматривающий структурирование поведенческих программ устройств на основе явной простановки меток тактирования в теле программы

4. Определена методика оценки коэффициента моделирования, основанная на построении графовых моделей вычислительного процесса эмуляции, с учетом специфики архитектуры инструментальной ЭВМ. На основе разработанной методики проведена оценка различных способов организации процесса эмуляции на однопроцессорной инструментальной ЭВМ. Показана высокая эффективность использования сопрограмм, по сравнению с другими способами.

5. Предложена архитектура универсального программно-аппаратного эмулятора ВС, реализующего распараллеливающие свойства модели ВС и осуществляющего распределенную параллельную эмуляцию функционирования целевой ВС. Проведена оценка эффективности моделирования систем с помощью универсального программно-аппаратного эмулятора. Показано, что коэффициент моделирования при использовании такого эмулятора не зависит от количества устройств целевой ВС.

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

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

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

ПУБЛИКАЦИИ ПО ТЕМЕ ДИССЕРТАЦИИ

1. Ицыксон В.М. Язык моделирования вычислительных систем. Всероссийский молодежный научный форум "Интеллектуальный потенциал России — в XXI век". Тезисы докладов. Санкт-Петербург, 1995г.

2. Ицыксон В.М. Программный комплекс моделирования вычислительных систем. Язык описания поведения модулей в составе моделируемой системы. Научно-техническая конференция студентов. Тезисы докладов / СПбГТУ ; Санкт-Петербург, 1995г.

3. Ицыксон В.М. Программный комплекс эмуляции работы вычислительных систем. Материалы научно-технической конференции "Фундаментальные исследования в технических университетах" / СПбГТУ; Санкт-Петербург, 1997г.;

4. Ицыксон В.М. Программный комплекс эмуляции работы вычислительных систем. Научно-техническая конференция студентов. Тезисы докладов / СПбГТУ; Санкт-Петербург, 1997г.

5. Ицыксон В.М. Эмуляция работы вычислительных систем с помощью специализированного языка описания устройств.//Труды СПбГТУ № 469, Санкт-Петербург, 1997г. с. 139-142.

6. Ицыксон В.М. Эмуляции работы вычислительных систем. Материалы научно-технической конференции "Фундаментальные исследования в технических университетах" / СПбГТУ; Санкт-Петербург, 1998г.

7. Системное программное обеспечение. Технологии, инструментальные средства и среды глобальных сетей: Учеб. пособие / JI.K. Птицына, Н.В. Соколова, М.В. Хлудова, В.М. Ицыксон. СПбГТУ, СПб, 1998. 110 с.

8. Ицыксон В.М. Применение эмулятора вычислительных систем для моделирования микропроцессорных систем и микроконтроллеров. Третья Санкт-Петербургская Ассамблея молодых ученых и специалистов. Тезисы докладов. СПб., 1998-с. 152.

9. Ицыксон В.М., Цыган В.Н. Использование внешних исполняемых модулей для расширения функциональных возможностей систем эмуляции вычислительных систем. Материалы межвузовской научной конференции. Издательство СПбГТУ, 1999.

10. Ицыксон В.М., Цыган В.Н. Программные метасредства эмуляции микропроцессорных систем. Материалы III Всероссийской научно-технической конференции "Фундаментальные исследования в технических университетах" / СПбГТУ; Санкт-Петербург, 1999г.

Библиография Ицыксон, Владимир Михайлович, диссертация по теме Телекоммуникационные системы и компьютерные сети

1. Автоматизация проектирования вычислительных систем. Языки, моделирование и базы данных. / Под ред. М. Брейера. - М.: Мир, 1979, - 464 е.: ил.

2. Алексеенко А.Г., Галицын А.А., Иванников А.Д. Проектирование радиоэлектронной аппаратуры на микропроцессорах: Программирование, типовые решения, методы отладки. М.: Радио и связь, 1984. - 272 е., ил.

3. Альянах И.Н. Моделирование вычислительных систем JL: Машиностроение, 1988.-223 с.

4. Армстронг Дж. Р. Моделирование цифровых систем на языке VHDL: Пер. с англ. -М.: Мир, 1992. 175 е.: ил.

5. Байцер Б. Микроанализ производительности вычислительных систем: Пер. с англ. / Под. ред. В.В. Мартынюка. М.: Радио и связь, 1983. - 360 е., ил.

6. Бродин В., Калинин А., Хохлов JL. Внутрисхемный симулятор для микроконтроллеров PIC16/17. // Chip News № 3, 1999. с. 18-22.

7. Бродин В., Калинин А., Мальцев В. Комплекс средств программирования и отладки для микроконтроллеров AVR. // Chip News № 5, 1999. с. 18-19.

8. Бродин В., Калинин А. Схемные эмуляторы на универсальной платформе. // Chip News№ 5, 1998.-с. 24-31

9. Бродин В., Калинин А. Эмуляторы 8-разрядных ОЭВМ к IBM PC. Библиотека информационных технологий: Сб. статей. Вып. 3. - М.: ИнфоАрт, 1991.-е. 222-229.

10. Буданов А.Н. Можно ли создавать программное обеспечение микропроцессоров раньше их появления? // Мир компьютерной автоматизации № 4, 1998. с. 46-48.

11. Буданов В. Средства разработки и отладки программного обеспечения промышленных контроллеров на базе 8/16- разрядных микропроцессоров фирмы Motorola // Chip News № 5, 1999. с. 32-35.

12. Вархол П. Современный подход к разработке ПО встраиваемых систем // Мир компьютерной автоматизации № 4, 1998. с. 41-45.

13. Василеску Ю. Прикладное программирование на языке Ада.: Пер. с англ. -М: Мир, 1990.-348 е., ил.

14. Вирт Н. Аппаратная компиляция // Открытые системы № 4-5 1998г., сс. 7-12

15. Власов JI.B., Колесников Д.Н., Сорокин И.А. Имитационное моделирование систем массового обслуживания с использованием GPSS. JL: ЛПИ, 1989. - 88 с.

16. Высокопроизводительные сети. Энциклопедия пользователя. М.А. Спортак и др. Пер. с англ. Киев: ДиаСофт, 1998.

17. Высокоуровневый синтез цифровых систем / М.С. Макфарланд, А.С.Паркер, Р. Кампасано. ТИИЕР: Пер. с англ., 1990 г., т. 78, № 2, сс. 84-103.

18. Глушков В.М., Капитонова Ю.В., Летичевский А.А. Автоматизация проектирования вычислительных машин. К.: Наукова думка, 1975. 232 с.

19. Глушков В.М., Капитонова Ю.В., Мищенко А.Т. Логическое проектирование дискретных устройств. Киев: Наукова думка, 1987.-264 с.

20. ГОСТ Р 50754-95 от 13.03.1995

21. Грис Д. Конструирование компиляторов для цифровых вычислительных машин. -М.: МИР, 1979.-544 с.

22. Гурвич Е.И., Енгалычев A.M., Татарников Ю.А. Язык и программное обеспечение временного моделирования дискретных систем/Труды семинара ВНИИ системных исследований: Теория сложных систем и методы их моделирования. -М.: Высшая школа, 1980—с.92-108.

23. Дао Л. Программирование микропроцессора 8088: Пер. с англ. М.: Мир, 1998.- 357 е.: ил.

24. Домнин С.Б., Е.А. Иванов, Муренко Л.Л. Средства комплексной отладки микропроцессорных устройств. -М.: Энергоатомиздат, 1988, 144 е.: ил.

25. Джехани Н. Язык Ада: Пер. с англ. /Под ред. А.А. Красилова и О.Н. Перминова.- м.: Мир, 1988.-549 с.

26. Долинский Н. Инструментальный комплекс для разработки встроенных систем // Инженерная микроэлектроника. №1, 1998 г. сс 53-57

27. Дробинцев Д.Ф., Котляров В .П., Самочадин А.В. Программное обеспечение систем на микропроцессорах и микро-ЭВМ. Учебное пособие / Под. ред. Н.Д. Бутомо. Л.: Изд. ЛПИ, 1983.™ 72 с.

28. Жданов А.А. Современный взгляд на ОС реального времени. // Мир компьютерной автоматизации № 1, 1999. с. 54-60.

29. Иванников А.Д. Моделирование микропроцессорных систем. М.: Энергоатомиздат, 1990. - 144 е.: ил.

30. Иванов С. Операционная система реального времени LynxOS // Мир компьютерной автоматизации № 4, 1998. с. 57-63.

31. Имитационная среда моделирования персональной вычислительной техники ЕХАМ-РС / Петрухин Б.С., Седунов В.М., Степченков В.М., Шашков Л.Е. // Автоматика и вычислительная техника. №4, 1994 г. сс 65-73

32. Ицыксон В.М. Эмуляция работы вычислительных систем с помощью специализированного языка описания устройств//Труды СПбГТУ № 469, Санкт-Петербург, 1997г. с. 139-142.

33. Как ПАСКАЛЬ и ОБЕРОН попадают на "САМСОН", или искусство создания трансляторов./С.К. Кожокарь, М.В. Евстюхин, А.Н. Терехов и др.; Под ред. А.Ф. Данильченко. Кишинев: Штиинца, 1992. - 304 с.

34. Киндлер Е. Языки моделирования: Пер. с чеш. М.: Энегроатомиздат, 1985. с. 288.

35. Кобахидзе М. Нужны ли профессионалу инструментальные средства? // Инженерная микроэлектроника. №1, 1998 г. сс 2-10

36. Краснов В. Символьная отладка программ для микроконтроллеров // Инженерная микроэлектроника. №1, 1998 г. сс 28-33

37. Кристиан К. Руководство по программированию на языке Модула-2: Пер. с англ. М.: Мир, 1989. - 463с., ил.

38. Кэпс Ч., Стаффорд P. VAX: Программирование на языке ассемблера и архитектура: Пер. с англ. М.: Радио и связь, 1991. - 416 е.: ил.

39. Лебедев В.Н. Введение в системы программирования. М.: Статистика, 1975. -312 с.:ил.

40. Лекарев М.Ф., Мелехин В.Ф. Автоматизированное проектирование структур цифровых устройств. Учебное пособие, JL: ЛПИ, 1984. 76 с.

41. Лин В. PDP-11 Ъ VAX-11. Архитектура ЭВМ и программирование на языке ассемблера. Пер. с англ. М.: Радио и связь, 1989. 316 е.: ил.

42. Малые ЭВМ высокой производительности. Архитектура и программирование./Г.П. Васильев, Г.А. Егоров, B.C. Зонис и др.; Под ред. Н.Л. Прохорова. М.: Радио и связь, 1990. - 256 е.: ил.

43. Марков С. Цифровые сигнальные процессоры. Книга 1. М.: фирма МИКРОАРТ, 1996.- 144 с. Ил.

44. Методология проектирования на системном уровне. Ф. Дж. Реммиг // VHDL для моделирования, синтеза и формальной верификации аппаратуры. Пер. с англ. М.: Радио и связь, 1995. сс. 281-303

45. Миков А.И. Автоматизация синтеза микропроцессорных управляющих систем-Иркутск: Изд-во Иркут. ун-та, 1987 288 е.: ил.

46. Миков А.И. Моделирование вычислительных систем. Учебное пособие по спецкурсу. Пермь: Изд-во Перм. ун-та, 1982. - 96 с.

47. Микропроцессоры и микроЭВМ в системах автоматического управления: Справочник/С.Т. Хвощ, Н.Н. Варлинский, Е.А. Попов; Под общ. ред. С.Т. Хвоща, Л.: Машиностроение, 1987, - 640 е.: ил.

48. Микропроцессор и микропроцессорные комплекты интегральных микросхем: Справочник. В 2 т./В.Б. Абрайтис, Н.Н. Аверьянов, А.И. Белоус и др.; Под ред. В.А. Шахнова, М.: Радио и связь, 1988, Т.1. 368 е.: ил.

49. Микропроцессоры и микропроцессорные комплекты интегральных микросхем: Справочник. В 2 т./В.Б. Абрайтис, Н.Н. Аверьянов, А.И. Белоус и др.; Пор ред. В.А. Шахнова, М.: Радио и связь, 1988, Т.2. 368 е.: ил.

50. Микропроцессоры: Учебное пособие / К.П. Дурандин, В.А Жвариков, О.И. Иванов и др.; Под. ред. В.Д. Ефремова. Л.: ЛПИ, 1989. -160 с.

51. Мячев А.А., Степанов В.Н. Персональные ЭВМ и микроЭВМ. Основы организации: Справочник/Под. ред. А.А. Мячева. М.: Радио и связь, 1991. -320 е.: ил.

52. Новиков Ю.В., Карпенко Д.Г. Аппаратура локальных сетей: функции, выбор, разработка. М.: Издательство ЭКОМ, 1998. - 288 е.: ил.

53. Однокристальные микроЭВМ. / А.В. Боборыкин, Г.П. Липовецкий, Г.В. Литвинский и др. М. МИКАП, 1994, 400 е.: ил.

54. Олифер В.Г. Олифер Н.А. Компьютерные сети. Принципы, технологии, протоколы. СПб.: Издательство «Питер», 1999. - 672 е.: ил.

55. Оре. О. Теория графов. М.: Наука, 1968. 352 с.

56. Орловский Г.В. Введение в архитектуру микропроцессора 80386. СПб.: Сеанс-Пресс LTD, 1992.-240 с.

57. Паппас К., Марри У. Микропроцессор 80386: Пер. с англ.- М.: Радио и связью 1993.-320 е.: ил.

58. Перминов О.Н. Введение в язык программирования Ада. М.: Радио и связь, 1991.-288 е., ил.

59. Программные средства моделирования непрерывно-дискретных систем./В.М. Глушков, В.В. Гусев, Т.П. Марьянович, М.А. Сахнюк; Под. ред. В.М. Глушкова, -Киев: Наукова думка, 1975 152 с.

60. Системное программное обеспечение. Технологии, инструментальные средства и среды глобальных сетей: Учеб. пособие / Л.К. Птицына, Н.В. Соколова, М.В. Хлудова, В.М. Ицыксон. СПб.: Изд-во СПбГТУ, 1998. 110 с.

61. Птицына Л.К., Цыган В.Н. Программное обеспечение ЭВМ: Учеб. пособие. Л.: ЛГТУ, 1991.92 с.

62. Рихтер Дж. Windows для профессионалов / Пер. с англ. М.: Microsoft Press, 1995.-720 с.

63. СингерМ. Мини-ЭВМ PDP-11: Программирование на языке ассемблера и организация машины: Пер. с англ. М.: Мир, 1984. — 272 е., ил.

64. Средства автоматизации программирования микропроцессорных устройств / A.M. Белов, Е.А. Иванов, JI.JL Муренко; Под. ред. В.Г. Домарачева. М.: Энергоатомиздат, 1988. - 120с.: ил.

65. Темпоральная логика действий / JI. Лампорт // Системная информатика. Вып. 3. Программные и вычислительные системы: методы и языки анализа. -Новосибирск: ВО «Наука». Сибирская издательская фирма. 1993.

66. Теория и методы автоматизации проектирования вычислительных систем./Под ред. М. Брейера. М.: Мир, 1977. - 284 е.: ил.

67. Технология системного моделирования / Е.Ф. Аврамчук, А.А. Вавилов, С.В. Емельянов, и др. ; под общей редакцией С.В. Емельянова и др. М.: Машиностроение; Берлин: Техник, 1998 - 520 е.: ил.

68. Тиммерман М., Бенеден Б.В., Урс JI. Расширение реального времени для Windows NT: оценка. // Мир компьютерной автоматизации № 1, 1999. с. 51-68

69. Транспьютеры. Архитектура и программное обеспечение: Пер. с англ./Под. ред. Г. Харпа. М:. Радио и связь, 1993 г. - 304 с.

70. Угрюмов Е.П., Грушвицкий Р.И., Альшевский А.Н. БИС / СБИС с репрограммируемой структурой: Учеб. пособие / ТЭТУ. СПб., 1996. 96с.

71. Хантер Р. Проектирование и конструирование компиляторов. М.: Мир, 1984. -212 с.

72. Холленд Р. Микропроцессоры и операционные системы: Краткое справочное пособие: Пер. с англ. М.: Энергоатомиздат, 1991. - 192 е.: ил.

73. Шагурин И.И. Архитектура и функционирование микроконтроллеров семейства 68НС705 // Chip News № 3, 1999. с. 2-9

74. Шагурин И.И. Микропроцессоры и микроконтроллеры фирмы Motorola М.: Радио и связь, 1998, - 560 с.

75. Шадский А. Архитектура Alpha АХР // Открытые системы №2, 1993, с. 44^8

76. Шило B.JI. Популярные цифровые микросхемы: Справочник. М.: Радио и связь, 1987.- 352 е.: ил.

77. Шрайбер Т. Дж. Моделирование на GPSS. М.: Машиностроение. 1980 - 591 с.

78. Яковлев Е.И. Машинная имитация. М.: Наука, 1975. 158 е., ил.

79. P. Ashenden. The VHDL Cookbook. 1990

80. S. Casselman, M. Thornburg, J. Schewel. Hardware Object programming on EVC1: Reconfigurable Computer. 1996

81. Developments in concurrency and communication / Ed. by C.A.R. Hoare. Adisson-Wesley, 1990.-335 p.

82. Fast Ethernet. JL Куинн, P. Рассел. BHV - Киев, 1998.

83. FPGA Express. Verilog HDL Reference Manual. Synopsys Inc. 1997.- 157 p.

84. FPGA Express. VHDL Reference Manual. Synopsys Inc. 1997.- 249 p.

85. IEEE: IEEE Standard VHDL language Reference Manual, IEEE, Inc., NY, 198887. IEEE Std 1076-198788. IEEE Std 1076-1993

86. MAX+PLUS-II. Programmable Logic Development System. AHDL. 1995

87. MCS 51 microcontroller family user's manual. Intel Corporation. 1994

88. Navabi Z. Beginning VHDL: An Introduction to Language Concepts Boston, Massachusetts, 1994

89. RASSP VHDL Performance Modeling Interoperability Guideline, 1996

90. Siewiorek D., Bell C., Newell A., Computer Structures: Principles and Examples, McGraw-Hill, 1971.

91. VHDL'92. Новые свойства языка описания аппаратуры VHDL: Пер. с англ. / Ж.-М. Берже, А. Фокнуа, С. Мажино, Ж. Руайаг, М.: Радио и связь, 1995. - 256 е.: ил.

92. Wirth N. «Digital Circuit Design», Springer-Verlag, New-York, 1995

93. Xilinx-ABEL Design Software Reference Manual, Data I/O Corp., 199397. http://www.ee.umr.edu/-mrmayer/8051/. VHDL Model of the 8051 Microcontroller98. http://www.cs.ucr.edu/~dalton/i8051/. Synthesizeable VHDL Model of 8051