Ремонт принтеров, сканнеров, факсов и остальной офисной техники


назад Оглавление вперед




[28]

размещения в одной ячейке нескольких (в данном случае восьми) входных переменных.

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

Метод адресных переходов. В соответствии с этим методом осуществляется предварительное вычисление значений реализуемой функции на каждом из возможных входных наборов. Затем полученные значения заносятся в таблицу значений искомой функции, которая хранится в памяти микропроцессора [21]. Размещение таблицы значений в памяти осуществляется таким образом, что с каждым входным набором однозначно сопоставляется одна ячейка памяти, в которой хранится соответствующее значение функции. Так, если реализуется функция, зависящая от восьми переменных, то для хранения всех возможных значений функции потребуется 256 одноразрядных ячеек памяти или 32 восьмиразрядных слова. При этом адресация может быть организована таким образом, что первые пять разрядов входного набора будут определять адрес ячейки памяти, а оставшиеся три разряда - местоположение необходимого блока в выбранном слове значений функции.

В табл. 7.2 иллюстрируется возможный подход к вычислению функции (7.2) ло методу адресных переходов. Здесь с каждым входным набором сопоставляется адресное слово. Поскольку

Таблица 7.2

Адресное слово Выходное слово Адресное слово Выходное слово

00000000000000000000100000000000

00000001000000010000100100000001

00000010000000000000101000000000

00000011000000010000101100000001

00000100000000010000110000000000

00000101000000010000110100000001

00000110000000000000111000000000

00000111000000010000111100000001

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

На рис. 7.4 приведена блок-схема универсальной программы вычисления произвольной булевой функции от восьми входных переменных по методу адресных переходов. Таблица значений функции состоит из 32 восьмиразрядных слов; пять младших раз

Занести 5 младших разрядоб входного слада S соответствующие разряды адресного регистра

Считать выходное слоВо из таблицы значении функции 5 регистр А

у-•-

Занести J старших разряда Входного слоВа В соответствующие разряды регистра С

Сдвинуть содержимое регистра С вправо м 5 разрядов

- „ Продерка содержимого регистров jia равенство,

i Нет

Вычесть 1 из содержимого регистра С

Сдвинуть содержимое регистра Л вправо на 1 разряд

Да

Считать значение Функции из младшего разряда регистра А

Рис. 7.

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

Важным преимуществом метода адресных переходов является его быстродействие, особенно при


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

Сравнительные характеристики рассмотренных выше подходов к программной реализации булевых функций при использовании МПК К-580 приведены в табл. 7.3. Каждый из методов сравни-

Т а б л и ц а 7.3

Пример № 1 Приме р № 2 Приме р ,\» з

Метод

вычисленийОбъем Т, мкс Объем Т, мкс Объем Т, мкс

Кайтбайтбайт

Непосредственное

вычисление2040

Отображение вход- 207040320 190 2600

нзгонабора 60906090260 10

вался по двум параметрам-объему необходимой памяти и времени вычислений. Анализ производился для трех примеров. Первый пример относится к реализации функции (7.2). Второй пример соответствует реализации произвольной булевой функции от восьми входных переменных, ДНФ которой состоит из десяти конъюнкций. Третий пример относится к реализации произвольной системы из восьми булевых функций. Каждая из этих функций зависит от восьми входных переменных, а ее ДНФ содержит по десять конъюнкций.

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

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

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

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

В общем случае бинарная программа представляет собой последовательность команд вида

i: ЕСЛИ А ТО / ИНАЧЕ к,

где i-порядковый номер команды; А-булева переменная, значение которой проверяется данной командой. При А = 1 осуществляется переход к выполнению команды с порядковым номером/, при Л=0-переход к выполнению команды с порядковым номером к.

Рассмотрим для примера реализацию булевой функции (7.1) с использованием бинарной программы:

1ЕСЛИ х ТО 4 ИНАЧЕ 2

2ЕСЛИ у ТО 3 ИНАЧЕ 6

3ЕСЛИ z TO 7 ИНАЧЕ 6

4ЕСЛИ у ТО 5 ИНАЧЕ 3

5ЕСЛИ z ТО 6 ИНАЧЕ 7

6/=0

7f=\

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


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

7.3. Построение многомикропропессорных управляющих систем

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

Одним из наиболее ответственных этапов построения многомикропроцессорной управляющей системы (ММУС) является вы бор ее структуры. Структура определяет производительность системы и пропускную способность каналов связи между отдельными ее блоками, а также между системой и блоками объекта управления (БОУ).

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

Четкого определения распределенной ММУС в данное время нет. Однако во всех работах, где пытаются выявить отличия распределенной ММУС от сосредоточенной, основными параметрами, различающими эти системы, являются расстояния между МПМ и требуемый между ними обмен информацией. Например, считается, что ММУС относится к сосредоточенной, если расстояние между МПМ не превышает 0,1 км, а потребная скорость обмена данными должна быть более 106 бит/с. (В этих случаях говорят, что существуют сильные связи между МПМ.) Если же расстояние между МПМ превышает 0,1 км, а потребная скорость обмена между МПМ может быть менее 106 бит/с, то такие ММУС относят к распределенным. (Товорят, что существуют слабые связи между МПМ.) Указанное разделение, конечно, очень условно, но тем не менее оно позволяет как-то качественно оценить принадлежность ММУС к одному из двух типов и соответственно выбирать тип структуры системы.

Среди структур распределенных ММУС наибольший интерес представляют сети МП, в которых (рис. 7.5) в явном виде выделены функциональные микропроцессорные модули (ФМПМ), выполняющие частные алгоритмы функционирования системы по управлению процессами в объекте управления, и сеть связи ФМПМ, включающая каналы связи и коммутационные МПМ микропроцессорные модули (КМПМ). Сеть связи ФМПМ обеспечивает взаимосвязь ФМПМ в процессе выполнения ММУС своего алгоритма функционирования.

Структура сосредоточенных ММУС может быть централизованного и децентрализованного типов, построенных на основе ЦУУ.

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

Как отмечалось в гл. 2, алгоритм функционирования управляющего устройства УУ удобно представить в виде композиции частных алгоритмов функционирования отдельных этапов или фаз процесса управления (см., например, для узла коммутации [2]).



[стр.Начало] [стр.1] [стр.2] [стр.3] [стр.4] [стр.5] [стр.6] [стр.7] [стр.8] [стр.9] [стр.10] [стр.11] [стр.12] [стр.13] [стр.14] [стр.15] [стр.16] [стр.17] [стр.18] [стр.19] [стр.20] [стр.21] [стр.22] [стр.23] [стр.24] [стр.25] [стр.26] [стр.27] [стр.28] [стр.29] [стр.30] [стр.31] [стр.32] [стр.33] [стр.34] [стр.35] [стр.36]