Косвенная адр
В команде указан адрес ОЗУ, где находится адрес данного. Признаками того, что данная команда является косвенной в изображении кода операции вводим знак @. Например: а) команда загрузки данного косвенная. RD@ A Ak:=ОЗУ(ОЗУ(А)) В приведённой записи во внешних скобках указывается где находится адрес данного. Схема WR@ A ОЗУ(ОЗУ(А)):=Ak
Рис.20
ADD@ A Ak:=Ak+ОЗУ(ОЗУ(А))
Точно также косвенную адресацию можно использовать и для других команд: SUB@ A MUL@ A
Для улучшения временных характеристик вычислителя можно ввести ряд специальных команд:
· Умножение на 2 можно выполнить путём сдвига данного влево на 1 разряд AK L Ak:=L1(AK), где L1 означает сдвиг влево (left) на 1 разряд, AK – аккумулятор. · Деление на два можно выполнить путём сдвига данного вправо на 1 разряд: AK R Ak:=R1(AK), где R1 означает сдвиг вправо (right) на 1 разряд. · Сложение с единицей можно реализовать командой инкрементор: INC Ak:=Ak+1. · Вычитание единицы реализуется командой декрементор: DEC Ak:=Ak-1. · Можно ввести и ряд других команд: SQR – возведение в квадрат, INC2 – сложение с 2, SIN – тригонометрическая операция sin. Следует заметить, что введение дополнительных команд требует дополнительного оборудования, но повышает производительность вычислителя. Поэтому выбор их должен быть обоснованным с точки зрения объёма оборудования и производительности вычислителя. Выполнение каждой команды начинается с того, что она вначале извлекается из ОЗУ и передаётся в устройство управления (УУ). Этот процесс, в особенности, для длинных команд, которые хранятся в нескольких ячейках, занимает значительное время. Поэтому уменьшение числа обращений к ОЗУ может значительно повысить быстродействие вычислителя. Если система команд определяет сложность арифметического устройства, то программа – быстродействие вычислителя (время решения задачи). Таким образом, по каждой выбранной системе команд и соответствующей ей программе можно получить различные технические характеристики. Предварительный их анализ позволяет выбрать один вариант технической реализации специализированного вычислителя.
работа вычислителя заключается в последовательном выполнении команд. Одна команда выполняется за один командный цикл, который состоит из машинных циклов: · ЦВК - цикл выборки команды, · ЦВО – цикл выборки операнда, · ЦИК – цикл исполнения команды. Цикл выборки команды одинаков для любой команды и состоит в том, что адрес команды из СЧК передается в ОЗУ. Из ОЗУ извлекается команда и передается в регистр команд (рис.11).
В цикле выборки операнда адрес операнда (А) из регистра команд (РК) передается в ОЗУ для извлечения данного (data). Извлеченное данное поступает в один из регистров АУ. Если происходит запись (команда WR), то данное из АУ поступает в ОЗУ для записи Цикл исполнения команды для каждой команды свой, т.к. команды реализуют различные операции. Обобщенный граф работы вычислителя представлен на рис.12 и начинается с вершины «begin» и ждущей вершины «пуск». Если «пуск» = 1, то управляющий автомат приступает к выполнению первого машинного цикла – цикла выборки команд (ЦВК). Извлеченная команда записывается в регистр команд, где она разделяется на две части: КОП и Adr(A). Код операции (КОП) поступает в управляющий автомат на анализ. Если это команды арифметических операций над двумя операциями, то вычислитель переходит к циклу выборки операнды (ЦВО) из ОЗУ. Затем вновь анализирует КОП и в зависимости от типа операции реализуется свой цикл использования(+,-,*,…). Команда RD(чтение) и WR (записи) не имеет цикла исполнения, т.к. исполнение команды реализуется в ЦВО. Команды безусловных и условных переходов не имеют цикла выборки операнда и реализуются по своим микропрограммам. После выполнения каждой команды управляющий автомат переходит к выборки следующей команды. Конец выполнения каждой команды замкнут на вход ЦВК. Процесс вычисления заканчивается командой остановки (HLT) на вершину «end». Каждый операторный блок, представленный на рис.12 (ЦВК, ЦВО, +,-,*,…) – есть отдельная микропрограмма, записанная в управляющем автомате
12.Операционное устройство.блок,э лемент. Операционное устройство – это устройство, которое выполняет определённые операции Операционный блок. Любое операционное устройство состоит из отдельных блоков, которые называются операционными. К ним относятся: следующие операционные блоки: управляемые шины, регистры, сдвигающие регистры, счетчики, сумматоры, схемы сравнения, дешифраторы, шифраторы, различные комбинационные схемы, комбинированные операционные блоки и отдельные триггерные ячейки, если их в функциональном отношении можно рассматривать как ОБ. Регистры служат для хранения слов информации. Регистры сдвига, счётчики, сумматоры, схемы сравнения, дешифраторы и шифраторы являются специализированными ОБ и ориентированны на выполнение микроопераций сдвига, счёта, сложения, сравнения, дешифрации, и шифрации соответственно. Для выполнения набора разнотипных микроопераций (например, счёта и сдвига) используют комбинированные ОБ. Каждый операционный блок выполняет конкретную арифметическую или логическую операцию. Операционный блок (ОБ) – это автомат (последовательностная или комбинационная схема), реализующий следующие функции: 1) хранение слова информации, 2) выполнение микроопераций, вычисляющих информационное слово, 3) вычисление логического условия, зависящее от полученного информационного слова. Таким образом, функция операционного блока определена, если заданы: 1) описание хранимого или вычисляемого информационного слова; 2) множество реализуемых блоком микроопераций; 3) множество вычисляемых блоком логических условий. Среди перечисленных выше операционных блоков можно выделить следующие их типы: 1) Комбинационные операционные блоки реализуют различные логические функции и построены на логических элементах. В свою очередь такие блоки подразделяются на стандартные и нестандартные. К числу стандартных можно отнести блоки, реализующие стандартные функции сравнения, дешифрирования, шифрования, суммирования, специальные переключательные схемы. Нестандартные блоки выполняют нестандартные логические функции. Например, функцию y = (x1 2 + x3) 4x5 можно отнести к нестандартной. 2) Запоминающие операционные блоки предназначены для хранения информации, выполнения заданных микроопераций и выработки осведомительных сигналов. Основным элементом запоминающего операционного блока является триггер, который предназначен для хранения одного бита информации. К числу запоминающих операционных блоков можно отнести регистры, счётчики, сумматоры накапливающего типа и другие.
Операционный элемент. Из операционных элементов строятся операционные блоки. К операционным элементам относятся элементы “И”, “ИЛИ”, “НЕ”, “И-НЕ”, “ИЛИ-НЕ”, различные триггеры. В некоторых случаях операционный блок может состоять из одного операционного элемента, функции которого в операционном устройстве можно интерпретировать как операционный блок. Каждый операционный блок может выполнить одно элементарное машинное действие или более. Например, запись в регистр кода числа, увеличение показания счётчика на единицу, сложение кодов чисел в сумматоре, реализация логической функции в комбинационной схеме. Такие элементарные машинные действия называются микрооперациями.
|