
- •1. Двоичные сигналы в цифровой технике
- •2. Интегральные технологии
- •3. Переключательные схемы. Логические элементы и (and), или (or), не (not)
- •4. Переключательные схемы. Логические элементы и-не (nand) или-не (nor) исключающее или (xor), эквивалентность (xnor), буфер
- •5. Ассоциативность функций и (and), или (or), и-не (nand) или-не (nor), xor, xnor.
- •6. Степени интеграции микросхем. Позитивная и негативная логика
- •7. Операции кубического исчисления конъюнкция (and), дизъюнкция (or), исключающее или (xor)
- •8. Операции кубического исчисления пересечение, объединение и дополнение
- •9. Кубические покрытия элементов и (and), или (or), и-не (nand) или-не (nor), xor, xnor (доделать!!!)
- •10. Два подхода в минимизации систем булевых функций
- •11. Автоматизация проектирования
- •12. Сумматоры
- •13. Мультиплексоры
- •14. Демультиплексоры
- •15. Дешифраторы
- •16. Шифраторы
- •17. Программируемые логические матрицы (плм или pla)
- •18. Программируемая матричная логика (пмл или pal)
- •19. Универсальные логические модули на основе мультиплексоров (lut)
- •20. Асинхронные триггеры: rs-триггер, r*s*-триггер
- •21. Асинхронные триггеры: jk-триггер, j*k*-триггер
- •22. Асинхронные триггеры: d-триггер, vd-триггер, т-триггер
- •23. Синхронные триггеры
- •24. Одноступенчатые и двухступенчатые триггеры
- •25. Параллельные регистры. Последовательные регистры
- •26. Последовательно-параллельные регистры
- •27. Синтез триггеров на базе других триггеров (доделать!!!)
- •28. Определение абстрактного цифрового автомата
- •29. Автомат Мили
- •30. Автомат Мура
- •32. Задание автомата графом переходов
- •33. Табличный способ задания автоматов
- •34. Автоматная лента
- •35. Задание автомата деревом функционирования
- •36. Матричный способ представления автомата
- •37. Алгоритм трансформации автомата Мура в автомат Мили
- •38. Алгоритм перехода от автомата Мили к автомату Мура
- •39. Концепция операционного и управляющего автомата
- •40. Принцип микропрограммного управления
- •41. Содержательные и закодированные гса
- •42. Канонический метод структурного синтеза сложного цифрового автомат
- •43. Канонический метод синтеза микропрограммных автоматов Мили
- •44. Кодирование состояний автоматов с целью минимизации аппаратурных затрат
- •45. Противогоночное кодирование состояний автоматов. Кодирование состояний автоматов, реализуемых на плис
- •46. Канонический метод синтеза микропрограммных автоматов Мура
- •47. Vhdl-модель управляющего автомата Мили
- •48. Vhdl-модель управляющего автомата Мура
- •49. Vhdl-модель операционного автомата
- •50. Синтез канонической структуры операционного автомата
- •51. Характеристики операционного автомата. Явление гонок в операционных автоматах
- •52. Эквивалентные операции и обобщенный оператор
- •53. Операционный автомат типа I
- •54. Операционный автомат типа м
- •55. Оа типа im с параллельной комбинационной частью
- •56. Оа типа im с последовательной комбинационной частью
- •57. Операционный автомат типа s
- •58. Дребезг механических переключателей и метод его устранения
- •59. Делитель частоты
41. Содержательные и закодированные гса
Граф-схемой алгоритма (ГСА) называют ориентированный связанный граф, содержащий одну начальную вершину (А0), одну конечную (Аk) и произвольное конечное множество операторных (A = {a1, ..., ak-1}) и условных (P = {p1, ..., pf}) вершин. Данные вершины изображены на рисунке 5.4 под буквами а, б, в и г соответственно.
Рисунок
5.4 – Типы вершин ГСА
Конечная, операторная и условная вершины имеют по одному входу, начальная вершина входов не имеет, как и показано на рисунке. Начальная и операторная вершины имеют только по одному выходу, а условная - два выхода, помеченных символами 1 и 0. Конечная вершина выходов не имеет.
При построении ГСА должна удовлетворять следующим условиям:
1. Входы и выходы вершин соединяются друг с другом с помощью дуг, направленных всегда от выхода к входу;
2. Каждый выход соединен точно с одним входом;
3. Любой вход соединяется, по крайней мере, с одним выходом;
4. Любая вершина графа лежит, по крайней мере, на одном пути из начальной вершины к конечной вершине;
5. Один из выходов условной вершины может соединяться с ее входом, что недопустимо для операторной вершины. Такие условные вершины будем иногда называть возвратными вершинами;
6. В каждой условной вершине записывается один из элементов множества X = {x1, ..., xL}, называемого множеством логических условий. Запись одинаковых элементов множества X в различных условных вершин разрешается;
7. В каждой операторной вершине записывается оператор (микрокоманда) Yt - подмножество множества Y = {y1, ..., xN}, называемого множеством микроопераций. Y = {yt1, ..., ytu, ..., ytU}; ytU Y, u = 1, ..., Ut. При Ut = 0 Yt = , Разрешается также запись в различных операторных вершинах одинаковых подмножеств множества операций.
Оператор или микрокоманда – совокупность микроопераций, выполняемых одновременно за один такт. Микрооперации, выполняемые совместно (одновременно) в течении одного такта называются совместимыми микрооперациями.
Микрокоманду, состоящую из пустого множества микроопераций обозначают символом Y0. Реализация такой микрокоманды равносильна отсутствию выполнения каких-либо элементарных операций. В случае синхронных дискретных устройств микрокоманду Y0 удобно интерпретировать как пропуск как пропуск такта, когда не поступают никакие сигналы от устройства управления к операционному устройству.
Чтобы синтезировать схему операционного устройства, необходимо принять некоторый способ выполнения операции в устройстве и описать его в строке микропрограммы. Микропрограмма, представляющая функции операционного устройства безотносительно к средствам, которые могут быть использованы для реализации заданной функции, называется функциональной микропрограммой. Функциональная микропрограмма фиксирует в себе алгоритм выполнения операции, рекомендуемый проектировщиком, и используется как исходная форма представления функций устройства, на основе которой синтезируется структура, достаточная для реализации заданных функций.
Для записи функциональных микропрограмм используется язык функционального микропрограммирования (Ф - язык).
Средства языка должны обеспечивать описание алгоритмов выполнения операции слов, микрооперации, логический условий и порядка их выполнения – с такой степенью детализации, которая обеспечит синтез структуры устройства.
Ф - язык является средством описания функций операционных устройств на уровне микропрограммирования безотносительно к структуре, которая может быть использована для реализации этих функций.
Объектами, описываемыми средством Ф - языка, являются функциональные микропрограммы, определяющие алгоритм выполнения операций в устройствах. Функциональная микропрограмма содержит в себе две части:
-
Описание слов и массивов, устанавливающее типы и форматы слов, с которыми оперирует микропрограмма.
-
Содержательный граф микропрограммы, который определяет алгоритм выполнения операций в содержательной форме – в виде описания микроопераций и логических условий.
Основным элементом информации, с которым оперирует Ф – микропрограмма, является слово. Наименование и формат слова задаются в следующем виде C(П1:П2), где С – идентификатор; П1 и П2 – номера старшего и младшего двоичных разрядов слова. Разряды слова номеруются направо неотрицательными целыми числами n1>0, n2>0, n1<n2. Одноразрядное слово состоит только из идентификатора С.
Совокупность слов, имеющих одинаковую длину, может объединятся в массив. Массив описывается в следующем виде: M[m1:m2](n1:n2), где M – идентификатор массива; m1,m2 – границы номеров слов, составляющих массивов, причем m1<m2; n1,n2 – номера старшего и младшего разрядов слова.
В зависимости от способа использования значений выделяют следующие типы слов:
-
Входные слова – значения присваиваются вне микропрограммы и используются внутри микропрограммы.
-
Внутренние – значения присваиваются и используются только внутри микропрограммы.
-
Вспомогательные – значения присваиваются и используются только внутри микропрограммы, но существуют не постоянно, а только в течении такта автоматного времени (типа А).
-
Выходные – значения присваиваются в микропрограмме и используются вне ее (типа О).
Двоичное выражение определяет правило вычисления двоичного значения путем выполнения операций над первичными двоичными значениями. Константы записываются в следующем виде 11002, 148, 1210, С16.
Первичные двоичные значения, слова и поля – объединяются в двоичное выражение с помощью двоичных операций, к которым относятся обычно следующие операции: - инверсия, конкатенация, - конъюнкция, -дизъюнкция, + - сложение, - - вычитание, - сложение по модулю 2.
Примерами двоичных выражений являются следующие конструкции:
А; В(0); А; С+1; С+А(1:15); С+112 А(1:15)+1.
Последнее выражение вычисляется в следующем порядке – вначале инвертируются разряды 1-15 слова А А(1:15); затем формируется составляющее значение 110 А(1:15); выполняется сложение с С составным значением С+112 А(1:15); и последняя сумма складывается с 1.
В синтаксическом смысле микрооперация – это оператор присваивания, посредством которого слову присваивается значение двоичного выражения. Микрооперация состоит из левой части, знака присваивания (:=) и двоичного выражения в правой части.
Все микрооперации подразделяются на семь классов:
-
установки;
-
инвертирования;
-
предачи;
-
сдвига;
-
счета;
-
сложения;
-
бинарные логические;
-
комбинированные.
Микрооперация передачи – обеспечивает присваивание слову значение другого слова (А:=В). Микрооперация сдвига служит для изменения положения разрядов слова по отношению к начальному пути перемещения каждого разряда на k позиций влево или вправо. Операции сдвига обозначаются следующим образом:
Rh(A) – удаление из двоичного выражения А k младших правых разрядов, то есть сдвиг на k разрядов вправо.
Lk(A) – удаление из двоичного выражения A k старших левых разрядов, то есть сдвиг на k разрядов влево.
Бинарные логические микрооперации присваивают слову значение, получаемое поразрядным применением микроопераций , , к парам соответствующих разрядов слагаемых. Например, С:=АВ.
Комбинированные микрооперации – это микрооперации, не принадлежащие ни к одному из вышеперечисленных классов. Комбинированная микрооперация содержит в себе несколько действий, присущих микрооперациям разных классов.
Функция операционного автомата сводится к вводу – выводу и хранению слов информации, выполнению микроопераций и вычислению логических условий. Набор элементов, на основе которых могут строиться структуры с определенным свойствами, называется структурным базисом. Структурный базис операционных автоматов должен содержать элементы, обеспечивающие передачу и хранение слов информации и вычисление значений функций, на основе которых строятся микрооперации и логические условия. Для этих целей наиболее широко используем следующий набор элементов:
-
шины, обеспечивающие передачу слов информации;
-
регистры, обеспечивающие хранение слов;
-
комбинационные схемы, посредством которых вычисляются значения функций.
Рассмотрим в качестве примера содержательную ГСА, описывающую устройство сложения двоичных чисел с использованием обратного кода. Sm=A+B (рис. 2.5).
После построения содержательной ГСА логические условия и микрооперации кодируются символами x1, ..., xL и y1, ..., yN соответственно.
Условия переходов (из условных вершин).
x1: signSm;
x2: signRg;
x3:переполнение?.
Микрооперации (из операторных вершин):
y1: Sm:=A;
y2: Rg:=B;
y3: Sm:=[Sm]обр;
y4: Sm:=Sm+[Rg]обр;
y5: Sm:=Sm+Rg;
y6: PP:=1.
Микрокоманды и соответствующие им микрооперации:
Y1={ y1, y2};
Y2={ y3};
Y3={ y4};
Y4={ y5};
Y5={ y6}.
Затем строится закодированная ГСА, в которой микрооперации и условия заменены идентификаторами (рис.5.6).
Рисунок 5.5 – Содержательная ГСА
Рисунок 5.6 – Закодированная ГСА