Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Построение блока управления


Граф-схема алгоритма выполнения операции

 

Рассмотрим пример графсхемы алгоритма (ГСА) для случая выполнения операции деления.

Исходные данные:

- делимое и делитель представлены в виде правильной дроби в двоичном коде в форме с фиксированнойточкой;

- метод деления - без восстановления остатка;

- используется дополнительный код

- делимое помещается в регистре R1, делитель в R2, результат формируется в регистре R3; формируемый в начале операции знак частного хранится в регистре R4;

- делимое располагается в ЗУ по адресу «а1», делитель - «а2», результат помещается по адресу «а1».

Граф-схема алгоритма приведена на рис. 3.4‑2.

 
 

 


 

 

 

Рис. 3.4‑2

Вершины приведенной ГСА пронумерованы. Вершина «1» обеспечивает приведение узлов операционной части АЛУ в исходное состояние, например, установка используемых регистров в нулевое состояние. Вершины 2-7 обеспечивают

чтение из запоминающего устройства по адресам, устанавливаемым в регистре RA (регистре адреса ЗУ), делимого и делителя и размещение их в соответствующих регистрах операционной части АЛУ. RD представляет собой регистр данных ЗУ, обеспечивающий кратковременное хранение информации после её чтения или перед ей записью в ЗУ. Вершина «8» предназначена для записи в счетчик количества тактов выполнения операции деления. Здесь «n» - разрядность поля модуля представления чисел.

Вершины 9- 14 осуществляют определение знака частного, запись его в знаковый разряд R4 и обнуления знаков делимого и делителя для поиска абсолютного значения частного.

Вершины «16 - 24» представляют действия, выполняемые на одном такте:

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

- в зависимости от знака остатка (на первом такте это знака делимого) осуществляется прибавление к остатку или вычитание из остатка абсолютного значения делителя;



- если знак результата положительный, то в младший разряд R3 устанавливается единица;

- выполняется арифметический сдвиговлево полученного результата в R1 (вершина 22, где сокращение LA означает сдвиг влево арифметический);

- выполняется сдвиг влево формируемого частного в R3;

- уменьшается на единицу значение в счетчике.

При завершении операции деления, которое осуществляется при обнаружении нулевого значения в счетчике при реализации вершины «16», выполняются следующие действия:

- если в знаковом разряде R3{зн} находится «1», то это означает , что найденное частное имеет ненулевую целую часть и в регистре флагов RF в разряд «пер», отведенного для фиксации факта переполнения, устанавливается «1» (дальнейшие действия при обнаружении переполнения результата зависят от того, являются ли делимое и делитель собственно операндами, представленными с фиксированной точкой, или они являются мантиссами операндов, представленных с плавающей точкой эти действия на ГСА не отражены);

- при отсутствии переполнения знаковому разряду R3 приписывается значение, соответствующее значению в знаковом разряде R4;

- частное из регистра записывается в память по адресу «а1».

Приведенная ГСА выполнения деления не предусматривает округление результата.

На рассматриваемой ГСА проверяемые условия и выполняемые микрооперации представлены в виде их сокращенного описания. Такая форма ГСА называется содержательной. Эта форма удобна для понимании сущности выполняемых действий в алгоритме, представленного и виде ГСА. Помимо содержательной используется также кодированная форма представления ГСА, в которой микрооперация и проверяемое условие представлены в виде условных обозначений, соответственно, уi и хj. Кодированная форма удобна при синтезе устройства управления, реализующая рассматриваемый алгоритм.

На рис. 3.4‑3. приведена кодированная ГСА выполнения операции умножения дробных чисел в форме с фиксированной точкой.

       
 
   
 

 


Рис. 3.4‑3

 

На схеме принята следующая кодировка условий xi и микроопераций yj:

- y0 - обнуление используемых регистров R1, R2, R3, R4, и счетчика;

- y1 - прием кода адреса в RA ( регистр адреса ЗУ);

- y2 - чтение в ЗУ;

- y3- прием кода из RD в R2;

- y2 - чтение в ЗУ;

- y4 - прием кода из RD в R3;

- x1- признак знака R2; x2- признак знака R3;

- x2- признак знака R3; y5 и y6 - соответственно, установка нуля и единицы в знаковом разряде регистра R4{зн};

- y7 - установка кода «n» (количество разрядов модуля множителя) в счетчике; x3 - признак нуля счетчика;

- y12 и y1 -соответственно, запись в R2{зн} значения из R4{зн} и прием кода адреса в RA

- x4 - признак единичного значения младшего разряда регистра R3;

- .y8 - суммирование содержимого R1 и R2 и запись полученной суммы в R1;

- у9 - сдвиг в право содержимого регистров R3, R1;

- у11- уменьшение содержимого счетчика на «1»;

- у13- запись в ЗУ содержимого R1;

- ук - микрооперация завершения операции умножения.

ГСА построена для случая использования умножения, начиная с младших разрядов множителя со сдвигом промежуточного результата, причем множимое размещается в R2, множитель размещается в регистре R3, в регистре R1 размешается промежуточный результат, в знаковом разряде регистра R4 размещается знак формируемого произведения. Для подсчета тактов используется счетчик. Перед выполнением операции операнды размещаются в памяти. После выполнения операции результат записывается в память. Микрооперации, выполняемые в различных узлах и не зависящие друг от друга, могут выполняться одновременно и объединяться в одной операционной вершине. На приведенной кодированной граф-схеме алгоритма таким операциям являются y0, y1; y3, y1; y5 , y6, y7; y12 , y1; у9, у11.

 

 

Устройство управления вообще и блок управления АЛУ в частности могут строиться или на принципе микропрограммирования (программируемая логика), или на принципе с жесткой логикой (аппаратный принцип). В любом случае удобной формой задания поведения управляемого объекта является кодированная ГСА.



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

3.4.3.1. Аппаратный принцип построения блока управления.

Блок управления аппаратного принципа может строиться или на базе цифрового автомата Мили или Мура. Наличие большого количества входных сигналов и состояний цифрового автомата, а также значительного числа пар «входной сигнал - состояние» делает затруднительным использования классического подхода синтеза цифрового автомата, рассмотренного в разделе «Элементы теории цифровых автоматов». Поэтому в данном случае синтез цифрового автомата, реализующего блок управления, осуществляется по несколько отличному принципу и включает следующие этапы:

- построение графа выбранного типа цифрового автомата на основе ГСА функционирования имеющегося объекта;

- составление объединенной кодированной таблицы переходов и выходов цифрового автомата;

- составления логических выражений для сигналов управления памятью и выходных сигналов цифрового автомата;

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

 

Построение управления на базе автомата Мура

Рассмотрим построение управления на базе автомата Мура для объекта, работа которого задается ГСА, приведенной на Рис. 3.4‑4.

Формирование графа автомата Мура, соответствующего ГСА выполнения операции в управляемом объекте, выполняется следующим образом:

- объединяются операционные вершины ГСА, для которых имеет место однозначная связь по входу и выходу, при условии, что результат выполнения микрооперации в предыдущей вершине не используется при выполнении микрооперации в последующей вершине;

- устраняются замкнутые пути из одной логической вершины ГСА в другую логическую вершину, минуя операторные вершины, посредством введения в этот путь пустой операторной вершины;

- каждой операторной вершине ГСА ставится в соответствие вершина графа автомата Мура.

Используя указанные правила, ГСА на рис. 3.4‑4 преобразуется в граф автомата

Мура, приведенный на рис. 3.4‑5. Вершинами графа Аi являются операционные вершины исходной ГСА. Данный граф формируется из исходной при условии, что микрооперации У4 и У11 допускают одновременное выполнение; через Уп обозначена фиктивная (пустая, т.е. «ничего не делать») микрооперация. Микрооперация У0 выполняется при инициализации цифрового автомата.

Вершинами графа Аi являются операционные вершины исходной ГСА. Данный граф формируется из исходной при условии, что микрооперации У4 и У11 допускают одновременное выполнение; через Уп обозначена фиктивная (пустая, т.е. «ничего не делать») микрооперация. Микрооперация У0 выполняется при инициализации цифрового автомата.

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

 

Аi{xsss, xp sp ... xf sf, уn J),... уm J)} А J,

где:

- Аi, АJ - соответственно, начальная и конечная вершина пути;

- xsss, xp sp ... xf sf - условия, через которые проходит рассматриваемый путь из Аi в АJ;

- уn J),... уm J) - выходные сигналы автомата, однозначно зависящие от конечного состояния АJ.

 

 
 


 

 

 

 

 

.

 

Рис. 3.4‑4

 

Объединенной кодированной таблицы переходов и выходов цифрового автомата составляется на основе всех возможных путей из всех вершин графа автомата. В таблице 3.4‑1 приведена объединенная кодированная таблицы переходов и выходов для графа автомата Мура.

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

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

 

 
 

 

 


 

 

 

 

.

 

 

Рис. 3.4‑5

.

 

Таблица 3.4‑1

N Начало пути Конец пути логическое выход. Управление памятью
  п.п Ан код Ан Q1 Q2 Q3Q4 Ак код Ак Q1 Q2 Q3Q4   условие сигнал qD1 qD2 qD3 qD4
  A0     A8   _ _ _ _ х1 х3 х5 х7   У15        
      A9   _ _ _ х1 х3 х5 х7   У31        
      A6   _ _ х1 х5 х7   У15. У16        
      A3   _ х1 х5   У15.        
    A1 х5 У19.
  A1     A5   _ х6   У40        
    A2 х6 -
  A2     A5   _ х6   У40        
    A2 х6 -
A3 A4 У11.
A4 A7 У19
A5 A7 У19
  A6     A10   _ х 15   Ук        
        A8   _ _ _ _ х1х3х5х7х15   У15        
      A9   _ _ _ х1х3х5 х7х15   У31        
      A6   _ _ х1 х5 х7х 15   У15. У16.        
      A3   _ х1 х5 х 15   У15.        
      A1     х5 х 15   У19.        
  A7     A10   _ х 15   Ук        
        A8   _ _ _ _ х1х3х5х7х15   У15        
      A9   _ _ _ х1х3х5х7х15   У31        
      A6   _ _ х1 х5 х7 х 15   У15. У16        
      A3   _ х1 х5 х 15   У15.        
      A1     х5 х 15   У19.        
  A8     A10   _ х 15   Ук        
        A8   _ _ _ _ х1х3х5х7х15   У15        
      A9   _ _ _ х1х3х5х7х15   У31        
      A6   _ _ х1 х5 х7 х 15 . У15. У16        
      A3   _ х1 х5 х 15   У15.        
      A1     х5 х 15   У19.        
A9 A10 Ук.

 

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

  У11= _ _ _ Q1Q2Q3Q4;            
  У15= . _ _ _ Q1Q2Q3Q4, + _ _ Q1Q2Q3Q4, + _ _ Q1Q2Q3Q4,        
  У16= _ _ Q1Q2Q3Q4,            
  У19.= _ Q1Q2Q3Q4,+ _ _ _ Q1Q2Q3Q4,          
  У31= . _ _ Q1Q2Q3Q4,            
  У40.= _ _ Q1Q2Q3Q4,                      
  Ук=   Q1Q2Q3Q4,                      
  qD1= _ _ _ _ _ _ _ _ Q1Q2Q3Q4х1х3х5х7 + _ _ _ _ _ _ _ Q1Q2Q3Q4х1х3х5 х7+ _ _ _ Q1Q2Q3Q4 х15 + _ _ _ _ _ _ Q1Q2Q3Q4 х1 х3 х5 х7х15+  
  + _ _ _ _ _ Q1Q2Q3Q4 х1 х3 x5 х7х15+ . _ _ _ _ Q1Q2Q3Q4 х15 + . _ _ _ _ _ _ _ Q1Q2Q3Q4х1х3х5х7 х 15+ . _ _ _ _ _ _ Q1Q2Q3Q4 х1х3х5х7х 15 +
. + _ _ Q1Q2Q3Q4 х15 + _ _ _ _ _ Q1Q2Q3Q4 х1 х3x5 х7х15 + _ _ _ _ Q1Q2Q3Q4х1 х3x5x7х15+ _ _ Q1Q2Q3Q4
  (1,2,13,14,15,19,20,21,25,26,27,31)    
         
  qD2= _ _ _ _ _ _ Q1Q2Q3Q4х1х5 х7 + _ _ _ ­ _ Q1Q2Q3Q4х6 + _ _ _ _ Q1Q2Q3Q4х6 + _ _ _ _ _ Q1Q2Q3Q4+Q1Q2Q3Q4 +
  + _ _ Q1Q2Q3Q4 + _ _ _ _ Q1Q2Q3Q4х1х5 х7 х 15 + _ _ _ Q1Q2Q3Q4х1х5 х7 х 15 + _ _ _ _ _ Q1Q2Q3Q4х1 х5 х7 х 15;
  (3,6,8,10,11,12,16, 22, 28)    
  qD3= _ _ _ _ _ _ Q1Q2Q3Q4х1 х5 х7 + _ _ _ _ _ Q1Q2Q3Q4 х1 х5 + _ _ _ _ Q1Q2Q3Q4 х6 + _ _ _ Q1Q2Q3Q4 х6 +
  + _ _ _ _ _ Q1Q2Q3Q4+Q1Q2Q3Q4 + _ _ _ Q1Q2Q3Q4 х15 + _ _ _ _ Q1Q2Q3Q4х1 х5 х7 х15 + _ _ _ Q1Q2Q3Q4 х1 х5 х15 +
. + _ _ Q1Q2Q3Q4х15 + _ _ _ Q1Q2Q3Q4х1 х5 х7 х15 + _ _ Q1Q2Q3Q4х1 х5 х15 + _ _ _ _ Q1Q2Q3Q4 х15 +
  + . _ _ _ _ _ Q1Q2Q3Q4х1 х5 х7 х15+ _ _ _ _ Q1Q2Q3Q4х1х5 х15 + _ _ Q1Q2Q3Q4 + . _ _ Q1Q2Q3Q4;
  (3,4,7,9,11,12, 16,17,19,22,23,25,28,29,13,,31    
  qD4= _ _ _ _ _ _ _ Q1Q2Q3Q4х1х3 х5 х7 + _ _ _ _ _ Q1Q2Q3Q4х1х5 + _ _ _ _ Q1Q2Q3Q4 х5 + _ _ _ _ Q1Q2Q3Q4 х6 +
  + _ _ _ _ Q1Q2Q3Q4х6 + _ _ _ _ _ Q1Q2Q3Q4 + Q1Q2Q3Q4+ _ _ _ _ _ Q1Q2Q3Q4х1х3х5 х7 х15+ _ _ _ Q1Q2Q3Q4х1 х5 х15 +
+ _ _ Q1Q2Q3Q4 х5 х15 + _ _ _ _ Q1Q2Q3Q4х1 х3х5 х7 х 15 + _ _ Q1Q2Q3Q4х1 х5 х 15 + _ Q1Q2Q3Q4 х5 х 15 +
  + _ _ _ _ _ _ Q1Q2Q3Q4х1х3х5х7 х 15+ _ _ _ _ Q1Q2Q3Q4х1х5 х 15 + _ _ _ Q1Q2Q3Q4 х5 х 15 .  
  (2,4,5,6,8,11,12,15,17,18,21,23,24,27,29,30).    
                                                                 

 

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

Построение логической схемы цифрового автомата на базе ПЛМ будет рассмотрено на примере построения автомата Мили.

Построение управления на базе автомата Мили

 

Рассмотрим построение управления на базе автомата Мили для объекта, работа которого задается ГСА, приведенной на рис. 3.4‑4.

Формирование графа автомата Мили, соответствующего ГСА выполнения операции в управляемом объекте, осуществляется следующим образом:

- объединяются операционные вершины ГСА, для которых имеет место однозначная связь по входу и выходу, при условии, что результат выполнения микрооперации в предыдущей вершине не используется при выполнении микрооперации в последующей вершине;

- устраняются замкнутые пути из одной логической вершины ГСА в другую логическую вершину, минуя операторные вершины, посредством введения в этот путь пустой операторной вершины;

- во множество вершин графа автомата Мили включают начальную и конечную вершины ГСА;

- кроме того, в качестве вершин графа автомата рассматриваются выходы операционных вершин ГСА (если выходы операционных вершин сходятся, то они рассматриваются как одна вершина графа цифрового автомата).

Используя указанные правила, ГСА на рис. 3.4‑4, преобразуется в граф автомата Мили, приведенный на рис. 3.4‑6. Данный граф формируется из исходной ГСА при условии, что микрооперации У4 и У11 допускают одновременное выполнение, а через Уп обозначена фиктивная вершина, содержащая пустую микрооперацию.

Микрооперация У0 выполняется при инициализации цифрового автомата.

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

- Аi{xsss, xp sp ...xf sf, уn ,.. уn J, где

- Аi, АJ - соответственно, начальная и конечная вершина пути;

- xsss, xp sp ...xf sf - условия, через которые проходит рассматриваемый путь из одной вершины графа автомата Мура в другую;

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

 

 

.

 

 

 

 

 

Рис. 3.4‑6

 

На пример, для вершины В2 имеют место два путя:

. _

В26, У404;

В26, Уп2.

 

Объединенной кодированной таблицы переходов и выходов цифрового автомата составляется на основе всех существующих путей из вершин графа автомата. В таблице 3.4‑2 приведена объединенной кодированной таблицы переходов и выходов для графа автомата Мили, приведенного на рис. 3.4‑6.

 

Таблица 3.4‑2

N   Начало пути Конец пути логическое вых.   Упр.памятью
  п.п. B(t) код B(t) B(t+1) код А(t+1)   условие сигнал qD1 qD2 qD3
    В1     В5 _ _ _ _ х1 х3 х5 х7   У15.      
        В6   _ _ _ х1х3 х5 х7   У31.      
        В5   _ _ х1 х5 х7 . У15. У16      
        В3   _ х1 х5   У15.      
    В2 х5 У19.
    В2     В4   _ х6.   У40.      
    В2 х6. -
В3 В4 У11.
В4 В5 У19
    В5     В7   _ х15   Ук.      
        В5 _ _ _ _ х1х3х5х7 х 15   У15.      
        В6   _ _ _ х1х3х5х7 х15   У31.      
        В5   _ _ х1 х5 х7 х15   У15. У16      
        В3   . _ х1х5 х15   У15.      
    В2 х5 х15 У19.
В6 В7 Ук.

 

 

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

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

 

  У11.= _ Q1Q2Q3.   . (8)    
  У15 = _ _ _ _ _ _ Q1Q2Q3х1 х3 х5 х7+ _ _ _ _ Q1Q2Q3х1 х5 х7+ _ _ _ Q1Q2Q3 х1х5, + _ _ _ _ _ _ Q1Q2Q3х1 х3х5х7 х15+
  + _ _ _ _ Q1Q2Q3 х1 х5 х7 х15+ _ _ _ Q1Q2Q3 х1 х5 х15;   (1,3,4,11,13,14)  
  У16. = _ _ _ _ Q1Q2Q3х1х5 х7+ _ _ _ _ Q1Q2Q3 х1 х5 х7 х15.   (3,13)  
  У19.= _ _ Q1Q2Q3 х5+ . _ _ Q1Q2Q3+ . _ Q1Q2Q3 х5 х15,   (5,9,15)
  У31= _ _ _ _ _ Q1Q2Q3х1х3х5 х7+ . _ _ _ _ Q1Q2Q3 х1х3 х5 х7 х15;   (2,12)  
  У40.= _ _ _ Q1Q2Q3 х6.   (6)    
  Ук.= . _ _ Q1Q2Q3 х15+ . _ Q1Q2Q3;   (10,16)  
  qD1= _ _ _ _ _ _ Q1Q2Q3х1х3х5х7+ _ _ _ _ _ Q1Q2Q3 х1 х3х5 х7+ _ _ _ _ Q1Q2Q3 х1 х5 х7+ _ _ _ Q1Q2Q3х6.+
  +     _ _ _ Q1Q2Q3 + Q1Q2Q3+ . _ _ Q1Q2Q3х15+ . _ _ _ _ _ Q1Q2Q3х1 х3 х5х7х15+
  + . _ _ _ _ Q1Q2Q3 х1х3х5х7 х15+ . _ _ _ Q1Q2Q3х1 х5х7х15+ . _ Q1Q2Q3   (1,2,3,6,8,9,10,11,12,13,16)
  qD2= _ _ _ _ _ Q1Q2Q3х1х3 х5 х7+ _ _ _ Q1Q2Q3 х1 х5+ _ _ Q1Q2Q3 х5+ _ _ Q1Q2Q3 х4+
  + . _ _ Q1Q2Q3х15+ . _ _ _ _ Q1Q2Q3 х1 х3х5 х7х15+ . _ _ Q1Q2Q3х1х5 х15+ . _ Q1Q2Q3 х5 х15+
  + . _ Q1Q2Q3 ;   (2,4,5,7,10,12,14,15,16)    
  qD3= _ _ _ _ _ _ Q1Q2Q3х1х3х5х7+ _ _ _ _ Q1Q2Q3 х1 х5 х7+ _ _ _ Q1Q2Q3 х1 х5 + . _ _ Q1Q2Q3+
  + . _ _ Q1Q2Q3х15 + _ _ _ _ _ Q1Q2Q3 х1х3х5х7 х15 + . _ _ _ Q1Q2Q3х1х5 х7 х15+ . _ _ Q1Q2Q3 х1 х5 х15 +
  + . _ Q1Q2Q3 .   (1,3,4,9,10,11,13,14,16)    
                                     

 

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

На рис. 3.4‑7 приведена логическая схема, реализующая цифровой автомат, заданный графом на рис. 3.4‑6.

На вход схемы поступают проверяемые условия х1, х3, х5, х6, х7, х15. Обратные значения этих условий формируются с помощью шести схем НЕ.

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

Выходом схемы является множество сигналы микроопераций у11, у15, у16, у31, у40, ук.

Выбор типа цифрового автомата (Мили или Мура) зависит от реализуемой ГСА. В тех случаях, когда имеет место много сходящихся ветвей процесса, предпочтение следует отдавать автомату Мили, так как у него будет меньше вершин-состояний, чем у эквивалентного автомата Мура (сравните таблицу 3.4‑1 и таблицу 3.4‑2). В тех же случаях, когда в ГСА имеет место большое количество длинных линейных

 
 

 


Рис. 3.4‑7

участков, предпочтение следует отдавать автомату Мура, так как у него проще логика формирования выходных сигналов.

 

3.4.3.2. Микропрограммный принцип построения блока управления

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

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

- поле микроопераций (У), используемое для задания одной или нескольких микроопераций;

- поле условий (Х), в котором задаются проверяемые условия, влияющие на ветвление вычислительного процесса;

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

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

- микрокоманды операционные;

- микрокоманды перехода.

Операционная микрокоманда используется для реализации операторных вершин ГСА. Поэтому её основная задача - задание выполняемой микрооперации. Формат операционной микрокоманды приведен на Рис. 2.4‑8 а). Микрокоманда включает два поля:

- поле типа микрокоманды (Т);

- поле микрооперации (У).

Поле типа микрокоманды должно идентифицировать один из возможных типов микрокоманд, а так как используется всего два типа микрокоманды, то длина этого поля составляет один разряд.

Поле микрооперации задает, как правило, в кодированной форме подлежащую выполнению микрооперацию, и его разрядность определяется множеством всех микроопераций, которые могут выполняться в управляемом устройстве. Если допустимая длина микрокоманды достаточно велика, то в одной операционной микрокоманде может задаваться более одной микрооперации рис. 3.4‑8b).

В качестве следующей микрокоманды в этом случае выбирается микрокоманда, расположенная в следующем адресе ЗУ после адреса расположения текущей выполняемой микрокоманды.

Микрокоманда перехода в основном используется для организации ветвления на основании результата проверки некоторого условия (признака). Поэтому в ней необходимо задавать код проверяемого условия и информацию об адресах двух возможных ветвей продолжения процесса выполнения алгоритма. Возможный формат микрокоманды перехода приведен на рис. 3.4‑8c). Приведенный формат включает следующие поля:

- поле типа микрокоманды (Т);

- поле условия (Х);

- поле адреса (А);

- поле модификатора дисциплины перехода (М).

Поле типа микрокоманды аналогично одноименному полю в операционной микрокоманды.

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

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


 

 

Рис. 3.4‑8

перехода к следующей (Ас) микрокоманде по результату проверки заданного условия:

1)адрес следующей микрокоманды Ас формируется как:

 

ì АT + 1, если хi =1;

Ас = í

îА, если хi =0,

где Ат - адрес текущей выполняемой команды.

2) адрес следующей микрокоманды Ас формируется как:

ì Ат + 1, если хi =0;

Ас = í

îА, если хi =1, где А - адрес задаваемый в микрокоманде перехода.

 

При реализации алгоритма в одних случаях удобнее использовать первую, в других - вторую дисциплину перехода. Наличие модификатора дисциплины перехода (поле «М») позволяет в текущей команде перехода использовать одну из двух возможных дисциплин перехода, наиболее удобную для организации данного реализуемого ветвления. Однако это поле необязательно.

На рис. 3.4‑9 приведена структурная схема устройства управления, построенного на микропрограммном принципе. Оно включает:

 

 

Рис. 3.4‑9

 

- запоминающее устройство, в котором хранятся все микропрограммы управления объектом, на который посылается множество сигналов запуска микроопераций Y ={y1, y2, ...,ym}.

- Х ={x1, x2,..., xn}- множество признаков, вырабатываемых управляемым объектом;

- регистр адреса, в котором задается адрес микрокоманды, которую нужно прочитать и выполнить;

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

- регистр микрокоманды, в котором фиксируется код микрокоманды, прочитанной из запоминающего устройства (текущая выполняемая микрокоманда);

- адрес перехода;

- дешифратор микрооперации DC1;

- дешифратор кода проверяемого устройства DC2;

- логический элемент (лэ), реализующий логику И-ИЛИ;

- СИ - синхроимпульсы, по которым выполняются микрокоманды.

В зависимости от 0-го разряда в регистре микрокоманды располагается информация различного формата:

- при единичном значении в 0-ом разряде (микрокоманда операционная) в регистре команды в разрядах c 1-го по k-ый находится код микрокоманды, подлежащей выполнению;

- при нулевом значении в 0-ом разряде (микрокоманда перехода) в регистре команды в разрядах с 1-го по p-ый находится код проверяемого условия, в разрядах от (p+1)-го до k-го располагается адрес следующей микрокоманды.

DC1 осуществляет декодировку разрядов (1 - k) текущей микрокоманды, когда это команда операционная. В этом случае на выходе элемента И(1) по сигналу СИ будет разрешена работа DC1.

DC2 осуществляет декодировку кода проверяемого условия, расположенного в разрядах (1-p) текущей микрокоманды, когда это команда перехода. В этом случае на выходе элемента И(2) по сигналу СИ будет выработан сигнал, разрешающий работу DC2.
Логический элемент И(4) вырабатывается сигнал, поступающий на вход «+1» регистра адреса, который увеличивает значение, содержащее в нем, на «+1». Сигнал «+1» вырабатывается по сигналу СИ тогда, когда имеет место единица в нулевом разряде регистра микрокоманды, или имеет место «1» на выходе ЛЭ.

Если сигнал «+1» не вырабатывается, то по сигналу СИ элемент И(4) выработает сигнал разрешения передачи адреса из микрокоманды (РПАМК), обеспечивающий передачу в регистр адреса кода поля А из регистра микрокоманды (разряды от (p+1)-го до k-ый).

Логический элемент (лэ) имеет «n» входных схем И по числу проверяемых условий, вырабатываемых в управляемом объекте. На первый вход каждого его элемента И подается сигнал, значение которого соответствует одному из проверяемых признаков, а на второй вход - соответствующий выход DC2. Таким образом, на выходе ЛЭ будет иметь место сигнал «1» только тогда, когда проверяемый признак имеет единичное значение, т.е. тогда, когда выполняется микрокоманда перехода с кодом «i» в разрядах (1- р), и управляемый объект на своем выходе хi имеет единичное значение.

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

 

Составление микропрограммы

Формирование микропрограммы по заданной ГСА рассмотрим на конкретном примере.

Пример

Составить микропрограмму для реализации ГСА, приведенной на рис. 3.4‑10.

 

 
 


 

 

 

 

 

 

 

Рис. 3.4‑10

 

Управления объект, характеризуется следующими параметрами:

- множество проверяемых условий;

- X ={x1,x1, .. x15.};

- множество выполняемых микроопераций

- Y ={y1,y2, .. y120, yк} (yк- микрооперация, означающая последнюю микрокоманду микропрограммы);

- ёмкость памяти для записи микропрограмм -

- Vзу= 2кбайт= 2*210байт

- длина ячейки памяти -

- L = 16 бит;

- начальный адрес размещения составляемой микропрограммы в памяти равен-

- Ан=530.

Решение

Исходя из характеристик управляемого, объекта следует:

- длина кода для кодирования микроопераций равна к=7, так как

количество выполняемых в управляемом объекте микроопераций равно 120;

- длина кода для кодирования условий равна четырем (т.е. р = 4), так как количество проверяемых условий в управляемом объекте равно 15;

- длина кода адреса равна десяти, так как количество адресов в памяти, учитывая, что длина адресуемой ячейки равна 16 битам (т.е. двум байтам), равно 1024.

Таким образом, формат микрокоманд для данного управляемого объекта имеет вид, приведенный на рис. 3.4‑11

.

 

 

 

Рис. 3.4‑11

Формат операционной микрокоманды (МКО) имеет длину 16 бит и включает:

- поле типа микрокоманды (М), имеющее длину в один бит, занимает 0-ой разряд микрокоманды; в этом поле для данного типа микрокоманды записано значение «1»;

- поле первой микрооперации (Y1), которое занимает разряды с 1-го по 7;

- поле второй микрооперации (Y2), которое занимает разряды с 8-го по 14;

- поле микрооперации ук, которое используется только в последней микрокоманде.

Таким образом, данный формат позволяет задавать при необходимости одной микрокомандой две микрооперации.

Формат микрокоманды перехода (МКП) имеет длину 16 бит и включает:

- поле типа микрокоманды (Т), имеющее длину в один бит и занимающее 0-ой разряд микрокоманды; в этом поле для данного типа микрокоманды записано значение «0»;

- поле проверяемого условия (Х), которое занимает разряды с 1-го по 4;

- поле адреса (А), которое занимает разряды с 8-го по 14;

- поле модификатора дисциплины переход (М), имеющее длину в один бит и занимающее 15-ый разряд микрокоманды перехода; при М=1 используется первая дисциплина перехода, при М=0 - вторая.

При составлении микропрограммы с помощью микрокоманд необходимо реализовать все вершины, имеющиеся в ГСА, и обеспечить необходимые ветвления процесса.

Микропрограмма, реализующая ГСА на рис. 3.4‑10, приведена в форме таблицы 3.4‑3.

 

Таблица 3.4‑3

N пп N вер. Адрес расположения микрокоманды в ЗУ Код микрокоманды Примечание
1. 1. 2. 3. 4.
2. 1. 0000001 . 0000000. 0  
3. 0 . 0001. 1000011011. 1
4. 1. 0010101. 0001111. 0  
5. 8’ 1. 0010111. 0000000. 0  
6. 0. 0111. 1000010100. 0
7. 1. 0010001. 0000000. 0  
8. 0. 1111. 1000010111. 1
9. 1. 0001010. 0000000. 0  
10. 1. 0010100. 0000000. 1  
11. 0. 0100. 1000011110.1
12. 1. 0110000. 0000101. 0  
13. 4’ 1. 1000010. 0000000. 0  
14. 0. 1111. 1000011110. 0
15. 1. 0000101. 0000011. 0  
16. - 0. 0000. 1000011010. 1

В приведенной таблице:

- в первой графе фиксируется номер строки;

- во второй графе приводится номер вершины, реализуемой микрокомандой этой строки;

- в третьей графе указан в двоичном коде адрес расположения данной микрокоманды в запоминающем устройстве;

- в четвертой графе располагается код микрокоманд;

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

В приведенной микропрограмме кодировка микроопераций и проверяемых условий осуществлена по их индексам в двоичном коде. Подчеркнутые коды адресов в микрокомандах перехода заполняются после записи последней строки формируемой микропрограммы, используя коды, соответствующие вершинам-ссылкам, указанные в графе «Адрес» строк.

<== предыдущая лекция | следующая лекция ==>
Арифметико-логическое устройство ЭВМ | Процессор

Дата добавления: 2014-01-07; Просмотров: 475; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



ПОИСК ПО САЙТУ:


Рекомендуемые страницы:

Читайте также:
studopedia.su - Студопедия (2013 - 2021) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление
Генерация страницы за: 0.114 сек.