Научная статья на тему 'Алгоритмические языки для моделирования цифровых устройств'

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

CC BY
207
28
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Алгоритмические языки для моделирования цифровых устройств»

ИЗВЕСТИЯ

ТОМСКОГО ОРДЕНА ОКТЯБРЬСКОЙ РЕВОЛЮЦИИ И ОРДЕНА ТРУДОВОГО КРАСНОГО ЗНАМЕНИ ПОЛИТЕХНИЧЕСКОГО ИНСТИТУТА им. С. М. КИРОВА

Том 266 1976

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

А. Д. ЧЕРЕДОВ, В. М. РАЗИН, Н. П. БАЙДА

В настоящее время общепризнано [1—4], что наиболее эффективные методы моделирования должны быть основаны на использовании формальных язьгков, ориентированных на определенные классы аппаратуры и на различные уровни детализации ее описания, а не на составление моделирующих программ для каждого случая с помощью обычных методов программирования. Эти языки должны удовлетворять следующим требованиям:

1. Обеспечению формальной записи работы моделируемых структур.

2. Простоте семантики.

3. Естественности описания систем.

4. Гибкости набора средств языка.

5. Наглядности записи моделей.

6. Автоматизму составления программы.

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

— расширяют возможности уже известных языков;

— синтезируют несколько языков;

— создают совершенно новые языки.

Большинство авторов [ 1, 9] считают, что наиболее распространенными и удобными для практического использования являются языки, заимствующие (в той степени, насколько это принципиально возможно) основные понятия и терминологию из международного алгоритмического языка АЛГОЛ-бО. Удобства использования таких языков связаны, во-первых, с применением уже имеющихся для языка типа АЛГОЛ-бО технических средств для вывода и ввода информации в ЭВМ и, во-вторых, с распространением ряда уже установившихся понятий на новые виды языков.

Рассмотрим некоторые языки, основанные на языке АЛГОЛ-бО. Алгоритмический язык ПРОЕКТ [1, 5] построен на базе языка АЛГОЛ-бО и языка Н. Вирта и С. А. Хоара [6]. Характерные особенности языка ПРОЕКТ — наличие двух типов переменных — двоичной и строчной, возможность операций над ними и сравнительно простая реализация этого языка на ЭВМ. Переменные, типа двоичной, позволяют естественным образом оперировать с логическими векторами, что необходимо при решении задач синтеза и моделирования цифровых автоматов.

Алгоритмический язык МОДИС [1], предназначенный для моделирования дискретных систем, является языком условных предложений, родствен языку АЛГОЛ-бО и использует его символику. Язык МОДИС отличается от АЛГОЛ-бО сокращенным набором операций и расширением возможностей языка в части выполнения операций над векторами (многоразрядными переменными).

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

Язык ЛОТИС [7, 8] предназначен для описания логической структуры и последовательности работы цифровых машин. Характерной чертой является приближенность языка ЛОТИС к аппаратурному языку, когда каждая лингвистическая переменная, используемая в описании, соответствует машинному элементу.

Язык ДИС [9] специализирован на описание и временное моделирование систем обработки дискретной информации и является блочным, общеалгоритмическим языком, позволяющим наглядно описывать иерархию блочного состава и постоянные информационные связи в системах.

Сравнительный анализ существующих языков моделирования показывает, что наиболее гибким набором средств обладают языки СИМСКРИПТ, СИМУЛА, СЛЭНГ [9]. Однако модели некоторых цифровых устройств описываются этими языками весьма сложно.

Следует отметить, что большинство систем моделирования ЦВМ являются узкоспециализированными. Например, языки СИМСКРИПТ, СОЛ и другие .пригодны в основном только для моделирования ЦВМ на уровне системы и непригодны для моделирования на других уровнях. Узкоспециализированы системы функционально-структурного моделирования ЦВМ на уровне устройств (ЛОТИС; ЛОКС). Определенный интерес представляет путь создания универсального языка моделирования ЦВМ и системы автоматизации программ, пригодных для реализации основных типов моделей ЦВМ.

Системы Автокод М и ЛЯПАС являются первыми попытками создания универсальной системы моделирования ЦВМ, построенной по схеме: единый язык — единая система автоматизации программирования.

Язык Автокод М [9] базируется на сокращенном варианте языка АЛГОЛ-бО. Описание функциональных моделей ЦВМ па уровнях систем, устройств и узлов упрощается за счет введения в Автокод М:

а) переменных, типа двоичный;

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

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

Язык ЛЯПАС [10, 11] (логический язык представления алгоритмов синтеза) ориентирован в первую очередь на круг логических задач, решаемых при синтезе дискретных автоматов. Система автоматического программирования ЛЯПАС ,не базируется на какой-либо из существующих систем и состоит из языка ЛЯПАС и программ трансляции выражений с этого языка на языки конкретных вычислительных машин. В основу языка был положен многоуровневый принцип, использование которого позволяет отвлечься от особенностей конкретных вычислительных машин, но в то же время достаточно хорошо учитывать возможности современных ЭВМ. Языку ЛЯПАС

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

Исходя из вышеизложенного, можно сделать вывод, что для моделирования цифровых устройств с аппаратурным контролем целесообразно применять системы автоматического программирования типа Автокод M и ЛЯПАС. Если учитывать вопросы автоматизации процесса проектирования цифровых устройств с аппаратурным контролем, то система ЛЯПАС, ввиду ее большей универсальности, является предпочтительной.

ЛИТЕРАТУРА

1. Применение вычислительных машин для проектирования цифровых устройств. Сб. статей под ред. Н. Я. -Maтюхина. «Советское радио», М., 1968.

2. Sleeper Paul Е., Schnei war Alan. I «Timesharing Languages for enginuring Problem Soloing», WESCON, Techn Papers, 1969, № 4. (Русский перевод). «Экспресс информация», ВТ. 1970, № 12,

3. Pike Herbert Е. Jr. Process control Software «Proc IEEE» 1969, № 1. (Русский перевод). «Экспресс информация», ВТ, 1970, № 29.

4. Goedecke Claus. Programmierung mit Hilfe von Programmiersprachen. Ein Vberblick. «Rechentechn/Datenverab», 1969, № 9 (нем.).

5. В. M. Г л у ш к о в , И. М. Г р и щ е н к о и др. Автоматизация программирования в системе ПРОЕКТ. «Кибернетика», № 4, 1970.

6. W i г t h N i k 1 a ,u s, H о a г e С A. A, Contiribution to the Development of ALCOL. Communications of the A.C.M., 1966, v. 9, № 6.

7. С. А. Майоров, Г. И. Новиков. Малогабаритные вычислительные машины. Л., «Машиностроение». 1967.

8. С. А. Майоров. Алгоритмические 'методы проектирования цифровых систем. Известия вузов, «Приборостроение». 1970, № 3.

9. Доклады пятой межвузовской конференции по физическому и математическому моделированию. Секция методов программного моделирования при проектировании сложных систем .и ЦВМ. Изд-во МЭИ, М., 196в.

10. А. Д. Закревский. Алгоритмический язык ЛЯПАС и автоматизация синтеза дискретных автоматов. Томск, изд. ТГУ, -1966.

11. Логический язык для представления алгоритмов синтеза релейных устройств. Сб. статей. «Наука», 1966.

i Надоели баннеры? Вы всегда можете отключить рекламу.