Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






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






 

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

  • два шестнадцатиразрядных регистра Рг А и Рг В для хранения входных операндов и промежуточных результатов, причем регистр Рг А должен обеспечить возможность сдвига своего содержимого влево;
  • шестнадцатиразрядный регистр Рг С для размещения результата арифме­тической операции сложения или вычитания (в нашем случае в этом реги­стре формируется остаток): в конце операции в нем будет размещен ре­зультат — частное;
  • шестнадцатиразрядный регистр Рг D с возможностью левого сдвига кода для размещения частного в процессе его формирования;
  • шестнадцатиразрядный двоичный параллельный сумматор/вычитатель Сум/Выч;
  • четырехразрядный вычитающий счетчик Сч n по модулю 16 для подсчета цифр частного;
  • триггер переполнения Тг OV для хранения признака переполнения разряд­ной сетки;
  • триггер знака Тг s для временного хранения знака частного;
  • схема сравнения на " равно" знаковых разрядов исходных операндов;
  • дешифратор DC " О" нулевой комбинации в разрядах С[1: 15], формирую­щий признак нулевого результата Z.

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

 

Внимательно посмотрим на рис. 4.4. Очевидно, любые действия, обозначен­ные в операторных вершинах алгоритма, приведенного на рис. 4.3, могут быть реализованы на разработанной нами структуре (см. рис. 4.4).

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



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

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

Например, анализируя ГСА рис. 4.3, можно отметить, что операторы а0: = 0; b0: = 0 можно выполнить в структуре, изображенной на рис. 4.4, одновре­менно. То же можно сказать о паре операторов D: = L1(D); n: =n-1 и неко­торых других. В то же время, операторы А: = С, А: = L1(А) нельзя выполнять

одновременно. (Для ускорения этой процедуры можно передавать информа­цию из С в А со сдвигом: C: =L1(A), но это уже будет другая структу­ра ОА.)

Проанализировав с этой точки зрения исходный алгоритм, получим микро­программу, приведенную на рис. 4.5. Микропрограмма определяет, в какой последовательности и в зависимости от каких условий должны выдаваться микрокоманды, чтобы реализовалась операция деления на разработанной структуре (см. рис. 4.4) операционного автомата.

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

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.