Блок управления для выполнения операции умножения в АЛУ

МИНИСТЕРСТВО  ТРАНСПОРТА РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное государственное  образовательное  учреждение высшего  профессионального  образования

МОСКОВСКИЙ  ГОСУДАРСТВЕННЫЙ  ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ  ГРАЖДАНСКОЙ АВИАЦИИ

Кафедра вычислительных машин, комплексов, систем и сетей 
 
 
 

Курсовая  работа

защищена  с оценкой

__________________

__________________

         (подпись, дата) 
 
 
 
 

КУРСОВАЯ  РАБОТА

по дисциплине "Теория автоматов"

Вариант № 35

Тема:  Блок управления для выполнения

операции  умножения в АЛУ 
 
 
 
 
 
 
 
 

                                                           Выполнил:

студент группы ЭВМ 3-1

Курсовая работа                                                                                           

допущена к  защите                                                     (Ф.И.О.)

_________________                                                                    Руководитель:

(подпись  преподавателя, дата)                                                          проф. кафедры

                                                                                                                       

                                                                       (звание, степень, Ф.И.О.) 
 
 
 
 
 
 

МОСКВА  – 2010

 

 

Содержание

  1. Введение3
  2. Задание6
  3. Общая последовательность умножении чисел с ФТ 7
  4. Структурная схема АЛУ 8
  5. Алгоритм умножения чисел в АЛУ 9
  6. Разработка функциональной схемы блоков управления для D-триггера 11
    1. Общая последовательность разработки11
    2. Формализация задания11
    3. Выбор типа автомата14
    4. Разметка схемы алгоритма14
    5. Составление таблиц переходов и выходов16
    6. Кодирование состояний17
    7. Составление кодированной таблицы переходов и выходов18
    8. Преобразование таблицы переходов в таблицу функций возбуждения триггеров20
    9. Минимизация функций возбуждения и функций выходов20
    10. Выбор типа логических элементов27
    11. Преобразование функций переходов и функций выходов27
    12. Построение функциональной схемы блока управления28
  7. Разработка функциональной схемы блока управления для JK-триггера 31

7.1. Выбор типа  триггеров31

7.2. Преобразование  таблицы переходов в таблицу  функций возбуждении триггеров31

7.3. Запись функций  возбуждения и функций выходов  в СДНФ33

7.4. Выбор типа  логических элементов33

7.5. Преобразование  функций переходов и функций  выходов34

7.6. Построение  функциональной схемы блока управления35

  1. Функциональная схема блока управления 35
  2. Заключение 39
 
 
 
 
 

    Введение

Большинство устройств  ЭВМ имеет типовую структуру, которая включает два основных блока: операционный блок и блок управления. Типовая структура устройства ЭВМ  представлена на рисунке 1. 

      
 
 
 
 
 
 

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

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

      Блоки управления представляют собой особый тип автоматов с памятью. Ранее  было показано, что блоки управления непосредственно не выполняют операций по преобразованию данных. Они только обеспечивают выполнение преобразований в операционных блоках путем формирования управляющих сигналов. Управляющие сигналы, вырабатываемые блоками управления, организуют передачу данных внутри операционного блока. Для этого управляющие сигналы коммутируют в определенные моменты и на определенный промежуток времени. В качестве коммутирующих элементов используются элементы И на два входа, которые в данном случае называют ключами или вентилями. На один вход элемента И подается информационный сигнал, которым нужно управлять. Информационный сигнал обычно имеет большую протяженность во времени, т.е. является потенциальным сигналом. На второй вход элемента подается управляющий сигнал, который представляет собой импульс небольшой длительности.

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

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

      Таким образом, набор и последовательность формирования управляющих сигналов зависят от заданного режима работы блока управления. Кроме того, последовательность управляющих сигналов обычно не является жесткой и заранее заданной, а  зависит и от различного вида условий, которые проверяются при работе блока управления. Результат проверки условия зависит от значения исходных данных и промежуточных результатов, обрабатываемых в операционном блоке, поэтому его нельзя предсказать  заранее. Результаты проверки условий  поступают на блок управления в виде сигналов, называемых признаками. Для  блока управления АЛУ, например, такими признаками могут быть знаки чисел, признак равенства результата нулю, признак переполнения разрядной  сетки, значение очередного разряда  множителя при умножении  и  т.д.

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

      Блок  управления можно рассматривать  как преобразователь синхроимпульсов (СИ) в последовательность управляющих  сигналов (УС), как это показано на рисунке 2.     

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

      Кроме синхроимпульсов на блок управления поступают также код операции (КОп) и  признаки (П).

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

      2. Задание 

Задание: Разработать алгоритм операции, структурную схему АЛУ и функциональную схему блока управления при следующих исходных данных:

  • Тип автомата – автомат Мура;
  • Тип операции – умножение чисел с ФТ;
  • Тип триггеров – D, JK;
  • Тип логических элементов – И-НЕ.

 

3. Общая последовательность умножения чисел с ФТ 

При умножении  определяется произведение D = А × В, где:

  • А – множимое
  • В – множитель
  • D– произведение
 

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

      Кроме произведения с помощью специальных  схем определяются признаки результата. 

4. Структурная схема АЛУ 

      Структурная схема АЛУ строится в соответствии с общей последовательностью  операции умножения. АЛУ имеет типовую  структуру, представленную на следующей схеме:

 

 

 
 

 

Для хранения исходных чисел на время выполнения операции в состав АЛУ входит 2 регистра А и В. Для умножения чисел в операционном блоке предусмотрен сумматор. Обычно сумматор выполняется в виде комбинационной схемы, поэтому для фиксации произведения предусмотрен регистр сумматора.

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

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

 
 
 
 
 
 
 
 
 

6. Разработка функциональной схемы блока управления для D - триггера 

6.1 Общая последовательность разработки 

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

  1. Формализация задания.
  2. Выбор типа автомата.
  3. Разметка схемы алгоритма.
  4. Составление таблицы переходов и выходов автомата.
  5. Кодирование состояний.
  6. Составление кодированной таблицы переходов и выходов.
  7. Выбор типа триггеров.
  8. Преобразование таблицы переходов в таблицу функций возбуждения триггеров.
  9. Запись функций возбуждения и функций выходов в СДНФ.
  10. Минимизация функций возбуждения и функций выходов.
  11. Выбор типа логических элементов.
  12. Преобразование функций переходов и функций выходов.
  13. Построение функциональной схемы блока управления.
  14. Проверка правильности работы блока управления.
 
 

6.2 Формализация задания

При задании  автомата микропрограммой количество входных сигналов равно числу  различных условных операторов микропрограммы. В данном случае число условных операторов равно 5.

      Для упрощения записи логических функций  на рисунке 5 приняты следующие обозначения:

x- сигнал начала

a- проверка данных на «0»

b-проверка разряда множителя на «0»

c- счетчик разрядности регистра;

o-признак переполнения

Тогда входными сигналами блока управления являются сигналы x, а,b, c,o каждый из которых может принимать значение 0 или 1.

      Число выходных сигналов блока управления равно числу микроопераций в  микропрограмме. Обозначения выходных сигналов и соответствующие им микрооперации  приведены в таблице 1.

Таблица 1

№№

П/П

Выходные

сигналы

Микрооперации
0   Сигнал готовности
1   Прием числа А  из ОП в регистр A
2   Прием числа В  из ОП в регистр B
3   Обнуление частичного произведения
4   Обнуление счетчика разрядности регистра
5   Накопление частичного произведение(ЧП) в регистре сумматора
6   Сдвиг регистра ЧП вправо на 1 разряд
7   Сдвиг регистра B вправо на 1 разряд
8   Увеличение счетчика разрядности регистра на 1
9   Формирование признака результата
10   Выдача результата из регистра сумматора в ОП
 

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

 
 
 
 
 
 
 
 

Рис.3 

 

6.3 Выбор типа автомата 

      Заданием  предусмотрено реализация блока  управления в виде автомата Мура

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

  1. Начальный и конечный операторы помечаются символами начального состояния ().
  2. Безусловные операторы помечаются символами последовательно пронумерованных состояний , , ...

    Размеченная схема алгоритма представлена на рисунке 6. Как видно по результатам  разметки, автомат имеет 11состояний (Q0, Q1,  ... Q10) 
     
     

6.4 Разметка схемы алгоритма 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 
 
 
 

 

6.5 Составление таблицы переходов и выходов

    Таблица  переходов и выходов составляется  по размеченной схеме алгоритма.  Число строк (без заглавной  строки) равно числу комбинаций  входных сигналов, а число столбцов (без заглавного столбца) равно  числу состояний автомата. В каждой  клетке таблицы указывается новое  состояние автомата. Для сокращения  размеров таблицы следует учесть, что при входном сигнале X = 0 автомат может находится только  в состоянии . Таблица переходов и выходов автомата приведена в виде таблицы 2. 

Таблица 2

Входы                                                     Состояния и выходы
kabco                      
0 -  -  -  - Q0 -- -- -- -- -- -- -- -- -- --
1 0 0 0 0 Q1 Q2 Q3 Q4 Q6 Q6 Q7 Q8 Q9 Q0 --
1 0 0 0 1 Q1 Q2 Q3 Q4 Q6 Q6 Q7 Q8 Q9 Q10 Q0
1 0 0 1 0 Q1 Q2 Q3 Q4 Q6 Q6 Q7 Q8 Q5 Q0 --
1 0 0 1 1 Q1 Q2 Q3 Q4 Q6 Q6 Q7 Q8 Q5 Q10 Q0
1 0 1 0 0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 Q9 Q0 --
1 0 1 0 1 Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 Q9 Q10 Q0
1 0 1 1 0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 Q5 Q0 --
1 0 1 1 1 Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 Q5 Q10 Q0
1 1 0 0 0 Q1 Q2 Q3 Q4 Q10 -- -- -- -- -- Q0
1 1 0 0 1 Q1 Q2 Q3 Q4 Q10 -- -- -- -- -- Q0
1 1 0 1 0 Q1 Q2 Q3 Q4 Q10 -- -- -- -- -- Q0
1 1 0 1 1 Q1 Q2 Q3 Q4 Q10 -- -- -- -- -- Q0
1 1 1 0 0 Q1 Q2 Q3 Q4 Q10 -- -- -- -- -- Q0
1 1 1 0 1 Q1 Q2 Q3 Q4 Q10 -- -- -- -- -- Q0
1 1 1 1 0 Q1 Q2 Q3 Q4 Q10 -- -- -- -- -- Q0
1 1 1 1 1 Q1 Q2 Q3 Q4 Q10 -- -- -- -- -- Q0
 
 
 
 
 
 
 

 

6.6 Кодирование состояний

 Принимаем  естественный способ кодирования.  Число элементов памяти при  этом будет равно 

где:

  • n – число элементов памяти;
  • N – число S состояний автомата;
  • ↑ – знак округления в большую сторону до целого.

      При N = 11 получим: 

Обозначим элементы памяти символами 1234.Далее каждому состоянию поставим в соответствие двоичный код его номер и набор состояний элементов памяти. В результате получим следующее кодирование состояний: 

Q0 -> 0000 ->  1234

Q1 -> 0001 -> 12 34

Q2 -> 0010 -> 1234

Q3->0011 -> 1234

Q4->0100 -> 1234

Q5->0101 -> 1234

Q6->0110 -> 1234

Q7->0111 -> 1234

Q8->1000 -> 1234

Q9->1001 -> 1234

Q10->1010 -> 1234 

Неиспользуемые  комбинации (запрещенные):

1011 -> 1234

1100 -> 1234

1101 -> 1234

1110 ->1234

1111 -> 1234 
 

6.7 Составление кодированной таблицы переходов и выходов

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

 

 

            Таблица 3

Входы                                               Состояния и выходы
                                                     
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010
KABTS -   -   -   - -   -   -   -  -        -  -  - -      -   -       -      
        - -          -  -  -      -  -
  •   -
0 -  -  -  - - - - - - - - - - - -
1 0 0 0 0 0001 0010 0011 0100 0110 0110 0111 1000 1001 0000 -
1 0 0 0 1 0001 0010 0011 0100 0110 0110 0111 1000 1001 1010 0000
1 0 0 1 0 0001 0010 0011 0100 0110 0110 0111 1000 0101 0000 -
1 0 0 1 1 0001 0010 0011 0100 0110 0110 0111 1000 0101 1010 0000
1 0 1 0 0 0001 0010 0011 0100 0101 0110 0111 1000 1001 0000 --
1 0 1 0 1 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 0000
1 0 1 1 0 0001 0010 0011 0100 0101 0110 0111 1000 0101 0000 --
1 0 1 1 1 0001 0010 0011 0100 0101 0110 0111 1000 0101 1010 0000
1 1 0 0 0 0001 0010 0011 0100 1010 -- -- -- -- -- 0000
1 1 0 0 1 0001 0010 0011 0100 1010 -- -- -- -- -- 0000
1 1 0 1 0 0001 0010 0011 0100 1010 -- -- -- -- -- 0000
1 1 0 1 1 0001 0010 0011 0100 1010 -- -- -- -- -- 0000
1 1 1 0 0 0001 0010 0011 0100 1010 -- -- -- -- -- 0000
1 1 1 0 1 0001 0010 0011 0100 1010 -- -- -- -- -- 0000
1 1 1 1 0 0001 0010 0011 0100 1010 -- -- -- -- -- 0000
1 1 1 1 1 0001 0010 0011 0100 1010 -- -- -- -- -- 0000
 

 

6.8 Преобразование таблицы переходов в таблицу функций возбуждения триггеров

При использовании D — триггеров преобразование таблицы  переходов не выполняется. 
 

6.9 Минимизация функций возбуждения и функций выходов

Для окончательной  минимизации функций используем метод Карно. При минимизации  следует учесть, что все функции  являются не полностью определенными, так как в таблице переходов  не использованы состояния Q11,Q12, Q13, Q14, Q15. Отметим также, что метод Карно применим непосредственно только к функциям не более чем четырех переменных. В случае более сложных функций они минимизируются по частям.

      Диаграммы Карно для функций , , ипоказаны на рисунке 4.

Рис.4

D1                                                             

                                                  

       
    1  
  * * *
     * *

      

      1
          
  * * *
     * *
 

 

            

                                               

                       

                             

                                      
 

                                                                   

                                                  

      1
       
  * * *
    * *
Блок управления для выполнения операции умножения в АЛУ