Опубликован: 24.04.2008 | Уровень: специалист | Доступ: свободно | ВУЗ: Вятский государственный университет
Лекция 3:

Способы описания работы дискретных устройств

< Лекция 2 || Лекция 3: 123 || Лекция 4 >

3.2 Граф-схемы алгоритмов

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

Основными символами, используемыми при записи граф-схем алгоритмов (ГСА), будем считать:

  • операторы,
  • логические условия,
  • стрелки (рис.3.6).

Рис. 3.6.

Из всего множества операторов выделяются:

  • начальный оператор А_0,
  • конечный оператор А_к,
  • произвольный оператор А_i (i=1,2,\dots,n).

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

Особенность записи оператора А_0 в ГСА состоит в том, что в этот оператор не входит ни одной стрелки.

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

Особенность записи оператора и А_к в ГСА состоит в том, что из этого оператора не выходит ни одной стрелки.

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

Особенность записи операторов А_i состоит в том, что в эти операторы могут входить несколько стрелок, но выходит всегда только одна стрелка.

Под логическим условием будем понимать логическую функцию вида \alpha_i(р_1,р_2,\dots р_к), где р_1,р_2,\dots р_к элементарные логические условия. Особенность записи логических условий состоит в том, что они могут иметь несколько входящих стрелок и только две выходящие, помеченные символами "О" и "I" в со-ответствии со значением логического условия. В дальнейшем будем допускать также ГСА замену левой части выражения вида \alpha_i= \alpha_i(р_1,\dots р_к) его правой частью.

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

Выполнение алгоритма всегда начинается с оператора А_0 и заканчивается оператором А_к.

3.3Формулы переходов

В общем виде для каждой операторной вершины формула перехода записывается так:

Y_t \to \alpha_{ i1} Y_1 \vee \alpha_{ i2} Y_2 \vee \dots \vee \alpha_{ it} Y_t,

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

Для МП, представленной на рис.3.7, формулы перехода будут записаны так:

A_0 \to A_1 ;

A_1 \to p_1A_3 \vee p_1A_2 ;

A_2 \to A_k ;

A_3 \to p_2A_1 \vee p_2A_k ;


Рис. 3.7.

3.4. Матричные схемы алгоритмов

Говорят, что задана матричная схема алгоритма (МСА), если задана матрица вида

\begin{array}{cccccc}
& A_1 & A_2\ldots & A_j\ldots & A_n & A_k\\
A_0 & \alpha_{01} & \alpha_{02}  \ldots & \alpha_{0j} \ldots & \alpha_{0n} & \alpha_{0k}\\
A_1 & \alpha_{11} & \alpha_{12} \ldots & \alpha_{1j} \ldots & \alpha_{1n} & \alpha_{1k}\\
\vdots; \\
A_i & \alpha_(i1} & \alpha_{i2} \ldots&  \alpha_{ij} \ldots & \alpha_in & \alpha_{ik}\\
\vdots; \\
A_n & \alpha_{n1} & \alpha_{n2}  \ldots & \alpha_{nj} \ldots & \alpha_{nn} & \alpha_{nk} \end{array}

где А_i (i=1,n)\end{array} -операторы,

A_0,A_k - начальный и конечный операторы,

\alpha_ij - логические условия, имеющие тот же смысл, что и в ГСА.

Таблица 3.1.
А1 А2 А3 Аk
A0 1
A1 p1 p1
A2 1
A3 p2 p2

В MCA \alpha_{ij} принято рассматривать как такую логическую функцию, что если выполнялся оператор A_i и на образовавшемся наборе \Delta значений элементарных логических условий функция ?_ij получила значение, равное единице, то непосредственно после оператора A_i должен выполняться оператор A_j.

В рис.3.1,а приводится МСА МП, показанной на рис.3.7.

< Лекция 2 || Лекция 3: 123 || Лекция 4 >
Сергей Прохоренков
Сергей Прохоренков
Владислав Нагорный
Владислав Нагорный

Подскажите, пожалуйста, планируете ли вы возобновление программ высшего образования? Если да, есть ли какие-то примерные сроки?

Спасибо!