Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Анализ алгоритма деления чисел, представленного на рис. 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
Список микроопераций и логических условий,
используемых операционным автоматом
Микрооперация | Действие | Микрооперация | Действие | Логическое условие | Отношение | ||
Полученная таким образом блок-схема и будет являться микропрограммой, которую можно рассматривать в качестве исходного данного при проектировании управляющего автомата. При этом содержимое операторного блока блок-схемы будет соответствовать действиям, выполняемым устройством за один такт дискретного времени.
При проектировании цифровых устройств стремятся достичь максимальной скорости их работы. Одним из способов достижения этой цели является распараллеливание – одновременное выполнение некоторых операций. Поэтому в процессе преобразования блок-схемы алгоритма в блок-схему микропрограммы следует объединять в одном операторном блоке те микрооперации, которые могут быть в данной структуре выполнены одновременно с учетом реализуемого алгоритма. Совокупность микроопераций, выполняемых параллельно за один такт дискретного времени, называется микрокомандой.
Анализируя блок-схему, изображенную на рис. 1.2, можно заметить, что операторы и можно выполнить в операционном автомате, структура которого представлена на рис. 1.3, одновременно. То же самое можно сказать и о паре операторов и , а также о некоторых др. В то же время, операторы и нельзя выполнять одновременно. При желании можно ускорить процесс выполнения этой пары операторов, передав информацию из переменной в переменную со сдвигом влево на один разряд, т. е. выполнив оператор . Однако это будет операционный автомат с уже иной структурой.
Проанализировав с этой точки зрения исходный алгоритм, мы получим микропрограмму, приведенную на рис. 1.4. Микропрограмма определяет, в какой последовательности и в зависимости от каких условий должны выдаваться микрокоманды для реализации операции деления на разработанной структуре операционного автомата.
Следующим этапом является разработка управляющего автомата, который обеспечивал бы выдачу микрокоманд в последовательности, заданной микропрограммой.
Дата публикования: 2014-12-08; Прочитано: 867 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!