3 Синтез операционного устройства
Операционным называют устройство, предназначенное для выполнения каких-либо операций.
Операционные устройства могут быть простыми, предназначенными для выполнения конкретного алгоритма над определённым видом информации, и сложными, предназначенными для выполнения множества алгоритмов над информацией разного вида.
Любое операционное устройство представляет собой цифровой автомат. К простым операционным устройствам относятся, например, счётчики, регистры. Простые операционные устройства не требуют какого-либо управления, в отличие от сложных.
Сложное операционное устройство состоит из двух частей: из операционного автомата, реализующего алгоритм, и из управляющего автомата, отвечающего за поведение операционного автомата.
Сложные операционные устройства бывают последовательные, т. е. с многотактовым выполнением своих функций, или параллельными, или однотактовыми. Часто используются промежуточные, параллельно-последовательные формы операционных устройств.
Процесс функционирования операционного устройства распадается на последовательность элементарных действий в его узлах, например:
1). Установка регистра в некоторое состояние;
2). Инвертирование содержимого разрядов регистра;
3). Пересылка содержимого из одного узла в другой;
4). Сложение;
5). Сравнение содержимого регистра с некоторым числом; 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;
х6: проверка на то, последнее ли это число массива В: Сч(в) = N. 4 Построение алгоритма операционного устройства
4.1 Понятие алгоритма, его виды и свойства
Алгоритм – строгая последовательность действий, описывающая процесс преобразования объекта из начального состояния в конечное, записанная с помощью понятных исполнителю команд.
Исполнитель – это объект, выполняющий действия.
Алгоритмизация — процесс разработки алгоритма (плана действий) для решения задачи.
Алгоритмы состоят из отдельных команд, которые выполняются одна за другой в определённой последовательности.
Виды алгоритмов:
· Линейный;
· Циклический;
· Разветвляющийся.
Линейным называется такой алгоритм, при котором все действия выполняются однократно в заданном порядке.
Циклический алгоритм – это алгоритм, в котором все действия должны повторяться указанное число раз или пока не выполнено заданное условие.
Разветвляющийся алгоритм – это алгоритм, в котором в зависимости от условия выполняется либо одна, либо другая последовательность действий.
Свойства алгоритмов:
1.
Дискретность (от латинского разделённый, прерывистый) – позволяет разделять информационный процесс в алгоритме на отдельные команды; 2. Детерминированность (от латинского определённость, точность) – это ясность для исполнителя последовательности выполнения команд;
3. Результативность – это свойство, обеспечивающее преобразование объекта из начального состояния в конечное за конечное число шагов;
4. Массовость – это свойство предполагает, что алгоритм должен быть пригоден для решения всех задач данного типа;
5. Конечность - каждое действие в отдельности и алгоритм в целом должны иметь возможность завершения.
Алгоритм должен быть формализован по некоторым правилам посредством конкретных изобразительных средств. К ним относятся следующие способы записи алгоритмов: словесный, формульно-словесный, графический, язык операторных схем, алгоритмический язык.
Наибольшее распространение благодаря своей наглядности получил графический (в виде блок-схем) способ записи алгоритмов.
Блок-схемой называется графическое изображение логической структуры алгоритма, в котором каждый этап процесса обработки информации представляется в виде геометрических символов (блоков), имеющих определенную конфигурацию в зависимости от характера выполняемых операций.
Изображение элементов алгоритма:
Начало (конец) алгоритма;
Команда алгоритма;
Условие алгоритма (это высказывание, которое может быть либо истинным, либо ложным); Ввод (вывод) данных.
Циклическая частота
4.2 Схема алгоритма
4.3. Описание алгоритма
1. Начало;
2. Обнуляем регистр адреса Rа: Rа¬0;
3. Записываем в счётчик Сч(а) число 1: Сч(а)¬1;
4. Записываем в счётчик Сч(в) число 1: Сч(в)¬1;
5. Записываем в регистр сумму чётных чисел Sч: число 0: Sч¬0;
6. Записываем в регистр сумму нечётных чисел Sн: число 0: Sн¬0;
7. Считываем в регистр R число из массива А с порядковым номером Сч(а) (с тем числом, которое хранится в этом счётчике): R¬А[Сч(а)];
8. Проверяем число на «знак»: R[7]=0. Если старший разряд числа:
· равен 0, то число положительное, переходим к шагу 9;
· не равен 0, то число отрицательное, переходим к шагу 12;
9. Проверяем число на чётность: R[0]=0. Если младший разряд числа:
· равен 0, то число чётное, переходим к шагу 10;