Операционным называют устройство, предназначенное для выполнения каких-либо операций.
Операционные устройства могут быть простыми, предназначенными для выполнения конкретного алгоритма над определённым видом информации, и сложными, предназначенными для выполнения множества алгоритмов над информацией разного вида.
Любое операционное устройство представляет собой цифровой автомат. К простым операционным устройствам относятся, например, счётчики, регистры. Простые операционные устройства не требуют какого-либо управления, в отличие от сложных.
Сложное операционное устройство состоит из двух частей: из операционного автомата, реализующего алгоритм, и из управляющего автомата, отвечающего за поведение операционного автомата.
Сложные операционные устройства бывают последовательные, т. е. с многотактовым выполнением своих функций, или параллельными, или однотактовыми. Часто используются промежуточные, параллельно-последовательные формы операционных устройств.
Процесс функционирования операционного устройства распадается на последовательность элементарных действий в его узлах, например:
1). Установка регистра в некоторое состояние;
2). Инвертирование содержимого разрядов регистра;
3). Пересылка содержимого из одного узла в другой;
4). Сложение;
|
6). Некоторые логические действия (операции дизъюнкции, конъюнкции, эквивалентности и др.).
Каждое такое элементарное действие, выполняемое в одном из узлов операционного устройства в течение одного тактового периода, называется микрооперацией.
Совокупность нескольких одновременно выполняемых операций называется микрокомандой, а набор микрокоманд, предназначенный для решения определённой задачи, называется микропрограммой.
Для синтеза операционного устройства нужно чётко знать, какие операции выполняются и в какой последовательности.
Синтез операционного устройства включает в себя построение алгоритма операционного устройства. Прежде, чем строить алгоритм, операционное устройство разбивается на отдельные блоки.
Для выполнения поставленной задачи необходимо иметь:
· Регистр для хранения и обработки числа R;
· Регистры для хранения чётных Sч и нечётных Sн чисел;
· Регистр для формирования адресов ячеек памяти Rа;
· Счётчики чисел в массивах Сч(а) и Сч(в);
· Сумматор Sm;
· Компаратор для сравнения суммы чётных и нечётных чисел Comp;
· Шифратор CD и дешифратор DC для перевода чисел.
· Если суммы четных и нечётных чисел равны, то Сч = 1.
|
Описание микроопераций:
у0: обнуление регистра адреса: Rа ← 0;
у1: запись в счётчик числа 1: Сч(а) ← 1;
у2: запись в счётчик числа 1: Сч(в) ← 1;
у3: обнуление регистра для хранения суммы чётных чисел: Sч ← 0;
у4: обнуление регистра для хранения суммы нечётных чисел: Sн ← 0;
у5: считывание в регистр очередного элемента массива А: R ← А [Сч(а)];
у6: суммирование значений регистров R и Sч и запись результата в регистр Sч: Sч ← Sч + R;
у7: увеличение адреса числа на 1: Rа ← Rа + 1;
у8: переход к следующему элементу массива А: Сч(а) ← Сч(а) + 1;
у9: считывание в регистр очередного элемента массива В: R ← В [Сч(в)];
у10: суммирование значений регистров R и Sн и запись результата в регистр Sн: Sн ← Sн + R;
у11: увеличение адреса числа на 1: Rа ← Rа + 1;
у12: переход к следующему элементу массива В: Сч(в) ← Сч(в) + 1;
у13: сравнение значений регистров Sч и Sн: Comp ← Sч = Sн.
у14: Сч = 1.
|
Признаки:
х1: проверка на «знак»: R [7] = 0;
х2: проверка на чётность элемента массива А: R [0] = 0;
х3: проверка на то, последнее ли это число массива А: Сч(а) = N;
х4: проверка на «знак» R[7] = 0;
х5: проверка на чётность элемента массива B: R [0] = 0;
|
Построение алгоритма операционного устройства
Дата: 2019-12-22, просмотров: 269.