Выполнение какой-либо операции в АЛУ сводится к выполнению последовательности микроопераций. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Выполнение какой-либо операции в АЛУ сводится к выполнению последовательности микроопераций.



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

 

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

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

Например, микрооперации пересылки могут быть представлены следующим образом: - передача слова из регистра Р2 в регистр Р1; - - запись в регистр РА составного слова; - запись в счетчик СТ двоичного числа 1011; - передача 8-разрядного поля регистра в старшие разряды регистра

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

Например, могут иметь место микрооперации: - инвертирование всех разрядов регистра Р; - образование обратного кода основных разрядов регистра РА (знаковые разряды не инвертируются).

Инвертирование может осуществляться в процессе пересылки слов или с помощью специальных цепей, входящих в состав регистра.

Микрооперация сдвига слова выполняется на регистре (счетчике), имеющем цепи сдвига.

Слово X, сдвинутое на i разрядов вправо, обозначается влево – '.

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

Микрооперации сдвига можно записать, например, в следующем виде: - сдвиг слова в регистре Р1 на один разряд вправо; - циклический сдвиг на один разряд вправо; - сдвиг на два разряда влево с записью единиц в освобождающиеся разряды.

 

Сдвиг на различное число разрядов можно также выполнять в процессе пересылки слов с использованием сдвигателя.

Микрооперация суммирования записывается в виде таких операторов:

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

- - суммирование прямого и обратного кодов Р1 и P3, дополненных знаковыми разрядами;

- - суммирование прямого кода слова, находящегося в РX, с дополнительным кодом слова, записанного в PY (единица подается на вход переноса младшего разряда сумматора).

Микрооперация счета состоит в увеличении или уменьшении содержимого счетчика на единицу. Для этой микрооперации используются записи вида

Слева от микроопераций могут присутствовать метки (идентификаторы микроопераций). Метки и микрооперации разделяют двоеточием, например: .

Способ выполнения микроопераций существенно зависит от структуры операционного устройства и используемой элементной базы.

Лабораторный макет содержит: четыре реверсивных сдвигающих регистра (рисунок 2.1, а); два комбинаци:онных сумматора (рис. 2.1, б); четыре коммутатора (рисунок 2.1, в); два счетчика (рисунок 2.1, е)

Имеются цепи сдвига слова на один разряд влево (в сторону старших разрядов).

Запись слова на регистр с информационных входов осуществляется по заднему фронту (отрицательному перепаду) сигнала на входе .

Сдвиг влево и вправо также производится по заднему фронту сигналов соответственно на входах CL и CR.

 

 

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

Установка нулевого состояния регистра осуществляется единичным уровнем сигнала на входе R.

Прибавление и вычитание единицы на счетчике осуществляется по заднему фронту сигналов соответственно на входах +1 и -1.

Сдвиг и установка нулевого состояния производится так же, как и на регистре.

Кроме того, макет содержит: четырехвходовый дешифратор; синхронные D- и JK-триггеры (срабатывающие по заднему фронту так­тирующего сигнала) с разделенными и входами; логические элементы И-НЕ (четырех- и восьмивходовые); элементы индикации (сигнальные ячейки); элементы управления (кнопки, переключатели).

Сборка схемы осуществляется с помощью внешних проводников.

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

Выполнение микроопераций рассмотрим на примере конкретного операционного устройства (см. представленный выше рисунок 2.2).

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

 

 

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

Знаком * втаблице 1.2 обозначены произвольные значения сигналов (0 или 1), которые не влияют на выполнение заданной микрооперации.

Благодаря этому, некоторые микрооперации можно выполнять одновременно. Например, можно совмещать микрооперацию А1 с любой другой, кроме А5. Нельзя выполнять одновременно микрооперации А10 и А11, но каждая из них может быть совмещена с другими микрооперациями.

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

Послідовність мікрооперацій, виконання яких приводить до виконання заданої операції, називають мікроалгоритмом операції.

Мікроалгоритм може бути реалізований за допомогою керуючого автомату, узагальнена структура якого показана на рисунку 2.3.

 

Автомат містить комбінаційну схему ( КС)і пам’ять (П), що складається з тригерів T (елементарних автоматів).

Входами КС є виходи Q1,..., Q m тригерів і вхідні сигнали (логічні умови) x1,..., xk, щоформуються в операційному пристрої.

КСвиробляє керуючі сигнали у1,..., у р для операційного пристрою і функції збудження тригерів q1,..., qm, що визначають перехід автомата з одного стану в інший.

Кожному з множини станів { а1,..., ат }відповідає визначений набір значень QL.

Якщо вихідні сигнали залежать тільки від стану, у якому знаходиться автомат, то його називають автоматом Мура, а закон його функціонування визначається виразами , , де S = 0, 1, 2,... - моменти автоматного (дискретного) часу; - функція переходів; - функція виходів; аÎ{a1, …, an}, а0 = а1, х = 1, х2,... xk) - вектор значень вхідних сигналів; y = (y1, y2,..., yp) - вектор вихідних сигналів автомата.

Автомат, вихідні сигнали якого залежать як від стану, так і від вхідних сигналів, називають автоматом Мілі, а закон його функціонування визначається виразами ; .

Вхідними даними для синтезу автомата є схема операційного пристрою та змістовний мікроалгоритм операції, що включає опис мікрооперацій і логічних умов.

Етапи побудови принципової схеми та змістовного мікроалгоритму є взаємозалежними.

Процес синтезу схеми автомата включає наведені нижче етапи.

Етап 1. Складання списку керуючих сигналів, що забезпечують виконання кожної мікрооперації.

Етап 2. Визначення тривалості кожного керуючого сигналу (у числі тактів) і періоду тактуючих сигналів автомату.

Етап 3. Одержання закодованого мікроалгоритму.

Етап 4. Відмітка станів автомата.

Етап 5. Створення графа автомата.

Етап 6. Кодування станів автомата.

Етап 7. Створення структурної таблиці автомата.

Етап 8. Одержання МДНФ функцій збудження тригерів і керуючих сигналів.

Етап 9. Представлення функцій збудження тригерів і керуючих сигналів в операторній формі.

Етап 10. Побудова схеми керуючого автомата.

Розглянемо приклад синтезу автомата Мілі для керування виконанням операції D = 2A2 + 0, 5В на операційному пристрої (див. рисунок 2.2).

Змістовний мікроалгоритм виконання вказаної операції представлений на рисунку 2.4.

У вихідному стані операнд В записаний у Р2, а операнд А - у Р1 і С.

У першому такті шляхом зрушення слів здійснюється подвоєння А та Р1 і ділення B на 2 у Р2.

Далі до вмісту Р2 додається А разiв слово, записане в P1.

Після кожного додавання, вміст С зменшується на 1.

Обчислення закінчуються при виконанні умови С = 0.

Відповідний інформаційний сигнал можна одержати, наприклад, дешифруванням нульового стану С.

Результат операції формується в Р2.

Для виконання мікрооперацій Yl, Y2, YЗ і Y4 (див. рисунок 2.4), необхідно використовувати керуючі входи операційного пристрою, позначені на рисунку 2.2 через y1, y2, y3, y4, y5 і y6.

На всі інші керуючі входи повинний подаватися нульовий потенціал.

Мікрооперації Y1, Y2 і Y4 керуються відповідно сигналами y1, y2 і y6.

Для виконання мікрооперації Y3 необхідно подати три сигнали: y3, y4, y5.

Необхідна тривалість керуючих сигналів визначається за допомогою часової діаграми, побудованої з урахуванням затримок сигналів в елементах операційного пристрою.

 

Період t тактуючих сигналів, як правило, вибирається рівним максимальній або мінімальній тривалості керуючих сигналів; величина t повинна бути не меншою часу переключення автомата з одного стану в інший.

У першому випадку, всі мікрооперації виконуються в синхронному режимі (за однаковий проміжок часу), а в другому - в асинхронному, причому тривалості керуючих сигналів кратні величині t.

Асинхронний режим можна забезпечити, наприклад, введенням у мікроалгоритм додаткових операторних вершин з керуючими сигналами, тривалості яких перевищують t.

Будемо вважати, що, з урахуванням швидкодії елементів, для розгля-нутого прикладу керуючі сигнали y3 і y4 повинні мати тривалість 2t, а інші - t.

Результати виконання перших двох етапів відбиті в таблицi 2.2.

 

 

Для одержання закодованого мікроалгоритму, складаємо таблицю позначень логічних умов (таблиця 2.3) і заміняємо в змістовному мікроалгоритмі (див. рисунок 2.4) описи логічних умов їх позначеннями, а описи мікрооперацій - відповідними керуючими сигналами (рисунок 2. 5).

 

 

Оскільки керуючі сигнали y3 і y 4, що відповідають мікрооперації Y3, записаній у вершині 3 на рисунку 2.4, повинні мати тривалість 2t, то на закодованому мікроалгоритмі (рисунок 2.5) вводимо додаткову операторну вершину (4) з указаними керуючими сигналами.

Позначення станів автомата Мілі (таблиця 2.4) здійснюється в такий спосіб: символом a1 відмічається вхід вершини (логічної чи операторної), що слідує за початковою, а також вхід кінцевої вершини; входи усіх вершин, що слідують за операторними, повинні бути відмічені різними символами аj.

 

 

Крім станів, визначених таким чином, може виникнути необхідність уведення додаткових станів. Наприклад, якщо мікроалгоритм має петлю, що охоплює операторну вершину, із сигналом, що змінює стан вузла в момент свого перепаду, або декілька вершин, що слідують підряд, то, для забезпечення таких перепадів, при кожному черговому виконанні мікрооперації необхідно вводити додаткові стани. У вказаних станах, автомат не повинен виробляти керуючі сигнали.

Додаткові стани можуть знадобитися для забезпечення протигоночного кодування (див. нижче).

Мікроалгоритм на рисунку 2.5 був відмічений чотирма різними станами (а1, а2, а3, а4).

Граф розглянутого автомата представлений на рис. 2.6.

 

Число вершин графа дорівнює числу станів аj автомата.

Кожному переходу автомата з одного стану в інший відповідає дуга графа. Дузі приписується набір логічних умов, при якому здійснюється перехід автомата з одного стану в інший, а також набір керуючих сигналів, що відповідають даному переходу.

Кількість m тригерів, необхідних для організації пам'яті автомата (див. рисунок 2.3), визначається з умови

,

де М - число станів автомата.

Кожному стану аj повинна відповідати одна визначена комбінація значень Q1, ..., Q m. Для розглянутого приклада, вибираємо коди станів відповідно до таблицi. 2.4.

Для організації пам'яті будемо використовувати JK- тригери.

Помітимо, що спосіб кодування впливає на правильність формування керуючих сигналів і складність автомата.

Можливість формування сигналів, не передбачених графом автомата при неоптимальному кодуванні станів, обумовлена появою «гонок», що зв'язано з розкидом часу переключення окремих тригерів автомата.

Наприклад, у розглянутому випадку, при переході автомата зі стану а1 (10) у стан а2 (01) під час переключення тригерів можлива поява станів 00 чи 11 (у залежності від того, який із тригерів раніше переключиться).

Указанi проміжні стани при використанні тригерів із внутрішньою затримкою не впливають на правильність переключення автомата, але можуть призвести до появи помилкових керуючих сигналів (наприклад, у1 і у 2 при виконанні умови x1= 1).

Для усунення даного недоліку, можна використовувати протигоночне кодування, одним з варіантів якого є сусіднє кодування.

При сусідньому кодуванні, перехід автомата з одного стану в будь-який інший припустимий для даного автомата стан здійснюється переключенням тільки одного тригера, унаслідок чого «гонки» не виникають.

В автоматах, що не допускають сусіднього кодування, необхідно вводити додаткові стани.

Структурна таблиця автомата будується по його графу. Кожен рядок (табл. 2.5) відповідає визначеному переходу автомата з одного стану в інший.

У вказанiй таблицi записують: поточний стан; стан переходу; коди вказаних станів; значення логічних умов, що забезпечують перехід; відповідні значення керуючих сигналів і функцій збудження тригерів.

Значення функцій збудження визначають згідно таблиці переходів триге-ра відповідного типу. У кожному рядку для i-го тригера розглядають пере-ходи . Довільні значення (0 чи 1) сигналів позначають в таблиці знаком *.

На основі структурної таблиці автомата визначаємо МДНФ функцій. збудження і керуючих сигналів.

Аргументами перемикальних функцій є Ji, Ki і уi Q1, Q2, x1 і x2.

Використовуємо діаграми Вейча (рисунок 2.7).

У пiдсумку, отримуємо наступне:

; ;

; ;

Окрім того, з таблицi 2.5 випливає, що: .

Функціональна схема автомата представлена на рисунку 2.8, де УИС - установка вихідного стану, а ТС - тактуючі сигнали.

 

Відмінність синтезу автомата Мура полягає в способі одержання відміченого мікроалгоритму та графу автомата. Відмітка станів автомата здійснюється наступним чином: символом a1 відмічаються початкова і кінцева вершини; всі операторні вершини відмічаються різними символами аj.

У даному випадку, як і при відмітці станів автомата Мілі, може виникнути необхідність уведення додаткових станів.

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

Відмічений мікроалгоритм і граф автомата Мура для розглянутого приклада представлені відповідно на рисунках 2.9 і 2.10.

Кодування станів автомата Мура можна виконувати так само, як і для автомата Мілі.

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

Число тригерів має бути не меншим числа керуючих сигналів, що не повторюють один одного та не є константними.

У процесі переключення автомата Мура в цьому випадку відповідний рівень керуючих сигналів установлюється швидше, ніж в автомата Мілі. Крім того, при будь-якому переході виключається можливість короткочасного формування помилкових керуючих сигналів.

Приклад кодування станів автомата, що відповідає графу на рисунку 2.8, наведений у таблицi 2.6.

Автомат має три тригери, причому .

Для формування константних керуючих сигналів у3 = y4 = 1 тригери не вимагаються.

Співпадаючі сигнали в1 і в 2 знімаються з одного тригера.

 

 

 

 

 

2 КОНТРОЛЬНІ ПИТАННЯ

 

1. Назвати основну мікрооперацію, що виконується лiчильником.

2. Якими бувають лiчильники за способом кодування?

3. Як називають граничне число імпульсів, раховане лічильником?

4. Як називають лічильник, в якому надходження одного імпульсу на вхід збільшує те число, що в ньому зберігається, на одиницю?

5. Який лічильник називають реверсивним?

6. Яку назву має лічильник, в якому запуск усіх тригерів здійснюється в один і той же момент часу?

7. За схемою якого тригеру вмикаються тригери різних типів, які використовуються в лічильниках?

8. Нарисувати схему реверсивного двійкового чотирирозрядного лічильника.

9. Чому дорівнює модуль рахування трирозрядного лічильника?

10. З якими перенесеннями бувають лiчильники вiдповiдно до способу організації міжрозрядних зв'язків?

11. Зібрати схему трирозрядного асинхронного підсумовувального лічильника на JК-тригерах і дослідити його роботу.

12. Вказати коефіцієнт рахування та синтезувати асинхронний лічильник за схемою з примусовим скиданням.

13. Синтезувати синхронний лічильник на Д-тригерах iз заданим коефіцієнтом рахування.

14. Скласти схему трирозрядного асинхронного віднімального двійкового лічильника на Д-тригерах і дослідити його роботу.

15. Сформулювати функцiональне призначення операцiйних автоматiв.

16. Охарактеризувати технологiю синтезу операцiйних автоматiв.

17. Охарактеризувати початковi данi розробки операцiйних автоматiв.

18. Якими є основнi етапи процесу розробки операцiйних автоматiв?

19. Навести приклад синтезу операцiйного автомату, що реалiзує арифметичну операцiю дiлення.

20. Що таке мікроалгоритм операції?

21. Нарисуйте узагальнену структуру схеми керуючого автомата.

22. Напишіть вирази, що визначають закон функціонування автоматів Мілі і Мура.

23. У чому складається відмінність автоматів Мілі та Мура?

24. Охарактеризуйте основні етапи проектування керуючого автомата.

25. Як перейти від змістовного мікроалгоритму до закодованого мікроалгоритму?

26. Як побудувати граф автомата?

27. Як здійснюється оцінка станів автомата?

28. Як визначити необхідну тривалість керуючих сигналів?

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

30. У чому суть протигоночного кодування станів автомата?

31. Як скласти структурну таблицю автомата?

32. Складіть таблицю переходів для JK-, RS-, T- і D-тригерів.

33. Чи можливий перехід автомата в стан, не передбачений графом, при використанні тригерів: із внутрішньою затримкою; керованих рівнем сигналів?

34. Коли можливе виникнення помилкових керуючих сигналів (не передбачених графом автомата) і чим визначається їх тривалість?

35. Як визначити час переходу автомата з одного стану в інший?

36. Як одержати T- і RS- тригери на основі JK- тригерів?

37. Як побудувати часову діаграму роботи автомата?

 



Поделиться:


Последнее изменение этой страницы: 2016-12-30; просмотров: 408; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.129.22.135 (0.089 с.)