Синтез АЛУ

Содержание

 

  1. Введение……………………………………………………………………..........2
  2. Задание…………………………………………….……………………………...3
  3. Общая последовательность вычитания и логического

сложения чисел с ФТ……………………………………………………………..3

  1. Структурная схема АЛУ………………………….……………………………...3
  2. Алгоритм вычитания и логического сложения чисел в АЛУ……………....…5
  3. Разработка функциональной схемы блока управления…………………….....7

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

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

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

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

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

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

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

6.8  Выбор типа триггера………………………………………………….……11

6.9  Преобразование таблицы переходов  в таблицу

функций возбуждения триггеров………………………………………...…13

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

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

6.12  Выбор типа логических  элементов………………………………………27

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

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

6.15  Проверка правильности работы  блока управления……...……………...30

  1. Заключение………………………………………………………………..…….31
  2. Литература……………………………………………………………………....32

 

 

 

 

 

 

 

 

 

 

1 Введение

Устройства ЭВМ можно выделить в два основных блока: операционный блок и блок управления. Структура данного блока представлена на рисунке 1.

 

Рисунок 1 – структура устройства ЭВМ.

 

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

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2 Задание

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

Исходные данные: Тип автомата – автомат Мура.

Тип триггеров – D-триггеры и RS-триггеры.

Тип логических элементов – И-НЕ.

 

3 Общая последовательность операции сложения  чисел с ФТ и ИЛИ

     3.1 Сложение с фиксированной точкой. При сложении определяется сумма:

С = А+В, где А – слагаемое, В – слагаемое, С – сумма.

3.2  Общая последовательность логического сложения чисел (операция ИЛИ)

При логическом сложении осуществляется побитовое сложение чисел (A и B) и  формируется результат S=AvB, где:

A – первое число; 

B – второе число; 

S – результат операции ИЛИ; 

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

 

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

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

 

 

Рисунок 2 – структурная схема АЛУ

 

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

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

 

 

 

 

 

 

 

 

5 Алгоритм сложения  и логического сложения чисел в АЛУ с ФТ

 

Алгоритм сложения и логического сложения чисел составляется  в соответствии с общей последовательностью сложения и структурной схемой АЛУ. Микропрограмма сложения и логического сложения чисел в АЛУ в виде схемы алгоритма представлена в приложении В (копия представлена в отчете на рисунке 3). Здесь под микропрограммой понимается последовательность микроопераций. Микрооперация – элементарная операция, для управления которой достаточно одного управляющего сигнала.

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

Блок управления начинает работу, если на него поступает сигнал начала операции.

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

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

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

Для получения дополнительного  кода числа в младший разряд сумматора  поступает сигнал +1.

Полученное значение анализируется  в схеме формирования признака результата. При отрицательном результате (s=1) он преобразуется в прямой код и записывается в оперативную память. На этом операция   АЛУ заканчивается.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рисунок 3 – структурная схема алгоритма

 

 

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

 

 

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

 

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

 

  • Формализация задания.
  • Выбор типа автомата.
  • Разметка схемы алгоритма.
  • Составление таблицы переходов и выходов автоматов.
  • Кодирование состояний.
  • Составление кодированной таблицы переходов и выходов.
  • Выбор типа триггеров.
  • Преобразование таблицы переходов в таблицу функций возбуждения триггеров.
  • Запись функций возбуждения и функций выходов в СДНФ.
  • Минимизация функций возбуждения и функций выходов.
  • Выбор типа логических элементов.
  • Преобразование функций переходов и выходов.
  • Построение функциональной схемы блока управления.
  • Проверка правильности работы блока управления.

 

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

 

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

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

 

  • k – сигнал начала операции;
  • r – сигнал кода операции;
  • a – знак числа А;
  • b – знак числа В;
  • s – знак результата.

 

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

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

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

 

 

Рисунок 4 - Общая схема блока управления

 

 

           Таблица 1

 №

п/п

Выходные

сигналы

Микрооперации

0

Y0

Сигнал готовности

1

Y1

Прием числа А из ОП в регистр РгА

2

Y2

Прием числа В из ОП в регистр РгВ

3

Y3

Выдача числа А в блок логического сложения

4

Y4

Выдача числа В в блок логического сложения

5

Y5

Выдача числа А в сумматор в прямом коде

6

Y6

Выдача числа В в сумматор в прямом коде

7

Y7

Выдача числа A в сумматор в дополнительном коде

8

Y8

Выдача числа B в сумматор в дополнительном коде

9

Y9

Выдача результата в регистр сумматора

10

Y10

Формирование признака результата

11

Y11

Преобразование результата в прямой код

12

Y12

Выдача результата из регистра сумматора в ОП


 

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

 

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

 

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

 

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

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

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

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

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

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

 

  Таблица 2

Входы

Состояния и выходы

k

r

a

b

s

Y0

Y1

Y2

Y3,Y4

Y5,Y6

Y5,Y8

Y7,Y6

Y7,Y8

Y9

Y10

Y11

Y12

Q0

Q1

Q2

Q3

Q4

Q5

Q6

Q7

Q8

Q9

Q10

Q11

0

-

-

-

-

Q0

-

-

-

-

-

-

-

-

-

-

-

1 0 0 0 0

Q1

Q2

Q3

Q8

Q8

Q8

Q8

Q8

Q9

Q11

Q11

Q0

1 0 0 0 1

Q1

Q2

Q3

Q8

Q8

Q8

Q8

Q8

Q9

Q10

Q11

Q0

1 0 0 1 0

Q1

Q2

Q3

Q8

Q8

Q8

Q8

Q8

Q9

Q11

Q11

Q0

1 0 0 1 1

Q1

Q2

Q3

Q8

Q8

Q8

Q8

Q8

Q9

Q10

Q11

Q0

1 0 1 0 0

Q1

Q2

Q3

Q8

Q8

Q8

Q8

Q8

Q9

Q11

Q11

Q0

1 0 1 0 1

Q1

Q2

Q3

Q8

Q8

Q8

Q8

Q8

Q9

Q10

Q11

Q0

1 0 1 1 0

Q1

Q2

Q3

Q8

Q8

Q8

Q8

Q8

Q9

Q11

Q11

Q0

1 0 1 1 1

Q1

Q2

Q3

Q8

Q8

Q8

Q8

Q8

Q9

Q10

Q11

Q0

1 1 0 0 0

Q1

Q2

Q4

Q8

Q8

Q8

Q8

Q8

Q9

Q11

Q11

Q0

1 1 0 0 1

Q1

Q2

Q4

Q8

Q8

Q8

Q8

Q8

Q9

Q10

Q11

Q0

1 1 0 1 0

Q1

Q2

Q5

Q8

Q8

Q8

Q8

Q8

Q9

Q11

Q11

Q0

1 1 0 1 1

Q1

Q2

Q5

Q8

Q8

Q8

Q8

Q8

Q9

Q10

Q11

Q0

1 1 1 0 0

Q1

Q2

Q6

Q8

Q8

Q8

Q8

Q8

Q9

Q11

Q11

Q0

1 1 1 0 1

Q1

Q2

Q6

Q8

Q8

Q8

Q8

Q8

Q9

Q10

Q11

Q0

1 1 1 1 0

Q1

Q2

Q7

Q8

Q8

Q8

Q8

Q8

Q9

Q11

Q11

Q0

1 1 1 1 1

Q1

Q2

Q7

Q8

Q8

Q8

Q8

Q8

Q9

Q10

Q11

Q0




 

 

 Рисунок 6 - Размеченная схема алгоритма

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

 

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

Число элементов памяти при этом будет равно

 

n = (N) ­ ,

 

где:  n – число элементов памяти;

        N – число состояний автомата;

        ­ - знак округления в большую сторону до целого.

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

n = ( 12) ­ = 4.

 

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

_  _  _  _     _          _

Q0 ® 0000 ®    Q6® 0110 ®

_  _  _      _   

Q1 ® 0001 ®    Q7® 0111 ®

 _  _     _         _  _  _

Q2 ® 0010 ®    Q8® 1000 ®

_  _           _  _ 

Q3 ® 0011 ®    Q9® 1001 ®

_      _  _           _     _

Q4 ® 0100 ®    Q10® 1010 ®

_     _             _

Q5 ® 0101 ®    Q11® 1011 ®

 

 

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

 

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

 

6.8  Выбор типа триггера

 

Выбор типа триггера производится методом перебора. При этом поочередно выполняется  синтез автомата для всех рассматриваемых  типов триггеров. Для реализации выбирается тип триггера, при использовании  которого автомат имеет меньшую  сложность. В данном случае синтез производится для RS- триггера и D – триггера.

 

 

 

 

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

При использовании D – триггеров преобразование таблицы переходов не выполняется. Поэтому приведем преобразование таблицы переходов в таблицу функций возбуждения для Т – триггеров. Эта таблица имеет вид таблицы 4.

 

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

 

 

Таблица 5

Состояния

Входы

Qt

Qt+1

S

R

0

0

0

-

0

1

1

0

1

0

0

1

1

1

-

0


 

Таблица 4.1

 

Входы

Состояния и выходы

k r a b s

Y0

Y1

Y2

Q0

Q1

Q2

0

0

0

0

0

0

0

1

0

0

1

0

Кодировка

S1R1

S2R2

S3R3

S4R4

S1R1

S2R2

S3R3

S4R4

S1R1

S2R2

S3R3

S4R4

0 -  -  -  -

0-

0-

0-

0-

-

-

-

-

-

-

-

-

1 0 0 0 0

0-

0-

0-

10

0-

0-

10

01

0-

0-

-0

0-

1 0 0 0 1

0-

0-

0-

10

0-

0-

10

01

0-

0-

-0

0-

1 0 0 1 0

0-

0-

0-

10

0-

0-

10

01

0-

0-

-0

0-

1 0 0 1 1

0-

0-

0-

10

0-

0-

10

01

0-

0-

-0

0-

1 0 1 0 0

0-

0-

0-

10

0-

0-

10

01

0-

0-

-0

0-

1 0 1 0 1

0-

0-

0-

10

0-

0-

10

01

0-

0-

-0

0-

1 0 1 1 0

0-

0-

0-

10

0-

0-

10

01

0-

0-

-0

0-

1 0 1 1 1

0-

0-

0-

10

0-

0-

10

01

0-

0-

-0

0-

1 1 0 0 0

0-

0-

0-

10

0-

0-

10

01

0-

10

01

0-

1 1 0 0 1

0-

0-

0-

10

0-

0-

10

01

0-

10

01

0-

1 1 0 1 0

0-

0-

0-

10

0-

0-

10

01

0-

10

01

10

1 1 0 1 1

0-

0-

0-

10

0-

0-

10

01

0-

10

01

10

1 1 1 0 0

0-

0-

0-

10

0-

0-

10

01

0-

10

01

0-

1 1 1 0 1

0-

0-

0-

10

0-

0-

10

01

0-

10

01

0-

1 1 1 1 0

0-

0-

0-

10

0-

0-

10

01

0-

10

01

10

1 1 1 1 1

0-

0-

0-

10

0-

0-

10

01

0-

10

01

10




 

 

 

Таблица 4.2

 

Входы

Состояния и выходы

k r a b s

Y3 , Y4

Y5 , Y6

Y5 , Y8

Q3

Q4

Q5

0

0

1

1

0

1

0

0

0

1

0

1

Кодировка

S1R1

S2R2

S3R3

S4R4

S1R1

S2R2

S3R3

S4R4

S1R1

S2R2

S3R3

S4R4

0 -  -  -  -

-

-

-

-

-

-

-

-

-

-

-

-

1 0 0 0 0

10

0-

01

01

10

01

0-

0-

10

01

0-

01

1 0 0 0 1

10

0-

01

01

10

01

0-

0-

10

01

0-

01

1 0 0 1 0

10

0-

01

01

10

01

0-

0-

10

01

0-

01

1 0 0 1 1

10

0-

01

01

10

01

0-

0-

10

01

0-

01

1 0 1 0 0

10

0-

01

01

10

01

0-

0-

10

01

0-

01

1 0 1 0 1

10

0-

01

01

10

01

0-

0-

10

01

0-

01

1 0 1 1 0

10

0-

01

01

10

01

0-

0-

10

01

0-

01

1 0 1 1 1

10

0-

01

01

10

01

0-

0-

10

01

0-

01

1 1 0 0 0

10

0-

01

01

10

01

0-

0-

10

01

0-

01

1 1 0 0 1

10

0-

01

01

10

01

0-

0-

10

01

0-

01

1 1 0 1 0

10

0-

01

01

10

01

0-

0-

10

01

0-

01

1 1 0 1 1

10

0-

01

01

10

01

0-

0-

10

01

0-

01

1 1 1 0 0

10

0-

01

01

10

01

0-

0-

10

01

0-

01

1 1 1 0 1

10

0-

01

01

10

01

0-

0-

10

01

0-

01

1 1 1 1 0

10

0-

01

01

10

01

0-

0-

10

01

0-

01

1 1 1 1 1

10

0-

01

01

10

01

0-

0-

10

01

0-

01





Таблица 4.3

 

Входы

Состояния и выходы

k r a b s

Y7 , Y6

Y7 , Y8

Y9

Q6

Q7

Q8

0

1

1

0

0

1

1

1

1

0

0

0

Кодировка

S1R1

S2R2

S3R3

S4R4

S1R1

S2R2

S3R3

S4R4

S1R1

S2R2

S3R3

S4R4

0 -  -  -  -

-

-

-

-

-

-

-

-

-

-

-

-

1 0 0 0 0

10

01

01

0-

10

01

01

01

-0

0-

0-

-0

1 0 0 0 1

10

01

01

0-

10

01

01

01

-0

0-

0-

-0

1 0 0 1 0

10

01

01

0-

10

01

01

01

-0

0-

0-

-0

1 0 0 1 1

10

01

01

0-

10

01

01

01

-0

0-

0-

-0

1 0 1 0 0

10

01

01

0-

10

01

01

01

-0

0-

0-

-0

1 0 1 0 1

10

01

01

0-

10

01

01

01

-0

0-

0-

-0

1 0 1 1 0

10

01

01

0-

10

01

01

01

-0

0-

0-

-0

1 0 1 1 1

10

01

01

0-

10

01

01

01

-0

0-

0-

-0

1 1 0 0 0

10

01

01

0-

10

01

01

01

-0

0-

0-

-0

1 1 0 0 1

10

01

01

0-

10

01

01

01

-0

0-

0-

-0

1 1 0 1 0

10

01

01

0-

10

01

01

01

-0

0-

0-

-0

1 1 0 1 1

10

01

01

0-

10

01

01

01

-0

0-

0-

-0

1 1 1 0 0

10

01

01

0-

10

01

01

01

-0

0-

0-

-0

1 1 1 0 1

10

01

01

0-

10

01

01

01

-0

0-

0-

-0

1 1 1 1 0

10

01

01

0-

10

01

01

01

-0

0-

0-

-0

1 1 1 1 1

10

01

01

0-

10

01

01

01

-0

0-

0-

-0