Разработка структуры операционного автомата

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

■ два 16-разрядных регистра Рг A и Рг B для хранения исходных операндов и , а также промежуточных результатов, причем регистр Рг A должен обеспечивать возможность сдвига своего содержимого влево;

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

■ 16-разрядный регистр Рг D с возможность сдвига своего содержимого влево для хранения частного в процессе его формирования;

■ 16-разрядный параллельный двоичный сумматор Сум/Выч для выполнения операций сложения и вычитания двоичных чисел;

■ 4-разрядный счетчик Сч n по модулю 16 для выполнения обратного счета цифр частного ;

■ триггер переполнения Тг O для хранения признака переполнения разрядной сетки;

■ триггер знака Тг s для временного хранения знака частного;

■ схема сравнения на предмет равенства знаковых битов операндов и ;

■ дешифратор DC "0" нулевой комбинации в битах C[1] – C[15], формирующий признак нулевого результата.

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

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

Таблица 1.1