ОПЕРАЦИИ МАШИННЫЕ
— операции, кодируемые в виде отдельных команд, реализация которых в цифровой вычислительной машине осуществляется структурно. Список операций, реализуемых машиной, определяется на основе анализа алгоритмов, выполнение которых возлагается на машину. Программирование задач на входном языке машины (см. Языки машинные) позволяет выявить осн. действия, наиболее часто включаемые в программу в качестве отдельных операций. Эти операции обычно вводятся в список О. м., образуя т. н. программный уровень внутр. языка (см. Язык ЦВМ внутренний), и используются при составлении рабочих программ задач. Алгоритм. универсальность работы машины может быть обеспечена набором операций, включающим операции пересылки содержимого любой ячейки памяти в любую другую ячейку памяти, изменения адреса на ±1, условного перехода, останова машины, ввода — вывода информации и (при наличии внеш. памяти) обмена между ОЗУ и внешними ЗУ. Однако ограниченность такого набора усложняет процесс программирования и удлиняет программы, что приводит к затруднению процесса Ввода и загромождению памяти ЦВМ. Поэтому обычно выбирается достаточно широкий набор операций, превосходящий минимум необходимых.
О. м. по их функциональному назначению можно разбить на арифм. операции, логич. операции, операции пересылок, операции передачи управления, операции с индекс-регистрами и переадресации, операции обращения к внеш. устр-вам и спец. операции.
С помощью арифметических операций осуществляется непосредственное вычисление различного рода арифм. выражений. К этим операциям относятся собственно арифм. бперации (сложение, вычитание, умножение и деление), а также некоторые операции вычисл. назначения типа образования модуля числа, сравнения модулей двух чисел, Выделения дробной и целой части числа, операций над порядками двух чисел и др.
Наличие логических операций в наборе О. м. упрощает решение матем. задач и значительно облегчает программирование логич. задач. В качестве примера могут быть названы операции логич. (поразрядного) умно-Женйя» реализующего конъюнкцию двух; чисел; логич. (поразрядного) сложения, реализующего дизъюнкцию двух чисел; сравнения, реализующего поразрядное сложение двух чисел по модулю 2, и др. К разновидности логич. операций могут быть отнесены операции, осуществляющие обработку кодов, такие, как сдвиг кода, выдача числа единиц в коде, выдача номера старшей единицы в коде, перегруппировка кода числа и др.
С помощью операций пересылок осуществляется обмен информацией непосредственно между ячейками ЗУ и между ними и регистрами отд. устр-в машины. Примерами таких операций могут быть операции считывания числа из некоторой ячейки памяти, записи числа в некоторую ячейку памяти и др.
Операции передачи управления являются обязательными в наборе О. м. и используются для управления порядком выполнения команд. К ним относятся операции безусловной передачи управления (безусловный переход) и операции передачи управления по условию (условный переход). Команда безусловного перехода указывает адрес команды, выполняемой после выполнения команды безусловного перехода. Передача управления командой условного перехода производится по значениям признаков перехода. Последние определяются значениями двоичных переменных, соответствующих, например, знаку результата предыдущей операции, нулевому значению результата операции, нулевому содержимому индекс-регистра и др.
Включение операций с индекс-регистрами в состав О. м. обеспечивает непосредственный доступ программиста к схемному оборудованию машины и способствует более эффективному составлению программы. Эти операции включают операции пересылки кода между индекс-регистрами, сложение кодов в индекс-регистрах, установку и Выдачу кода из индекс-регистра и др.
Кодирование команд в виде набора цифр значительно расширяет возможности программирования задач, так как позволяет в процессе вычисления на машине производить преобразование команд с помощью операций переадресации. Примерами таких операций могут служить операции изменения команды адресом, состоящие в прибавлении кода адреса данной команды к коду адресной части следующей команды (сложение адресов); изменения команды кодом, когда в качестве приращения к коду адресной части следующей команды служит содержимое ячейки, задаваемой текущей командой, и др.
С помощью операций обращения к внешним устройствам осуществляется обмен информацией между оперативной и внеш. памятью машины. Примерами таких операций могут быть операции ввода в ОЗУ с перфокарт, обмена между барабанами и лентами, выдачи информации на выводные устр-ва и др. Перечисленные выше О. м. могут быть отнесены к классу т. н. базисных операций внутр. языка.
Специальные операции образуют класс встроенных процедур и представляют собой программируемые операции, которые выполняются по подпрограммам (или микропрограммам), хранимым в постоянной памяти машины. Такие операции определяют процедуру выполнения некоторых часто встречающихся действий, которые записываются в виде стандартной последовательности О. м., а возможно и микроопераций. Обращение к этим подпрограммам с помощью спец. операций производится автоматически. Характерной особенностью встроенных процедур является то, что входе их выполнения может происходить многократное обращение к памяти машины как за элементами программной последовательности, так и за значениями их операндов. Введение спец. операций позволяет расширить операционные возможности машины и способствует упрощению программирования и более эффективному выполнению программ. Примерами таких операций могут быть: вычисление элементарных ф-ций, обращение к библиотеке стандартных подпрограмм, матрично-векторные операции, обмен с телеграфными каналами связи и другие операции.
Тенденция приближения программного уровня внутр. языка (см. Математическое обеспечение ЦВМ внутреннее) к языкам программирования ведет к расширению состава класса базисных операций и в особенности класса встроенных процедур.
Лит.: Глушков В. М. Теория алгоритмов. К., 1961 [библиогр. с. 165—166]; Глушков В. М. [и др.]. Вычислительные машины с развитыми системами интерпретации. К., 1970 [библиогр. с. 254— 257]; Майоров С. А., Новиков Г. И. Структура цифровых вычислительных машин, Л., 1970.
Л. Я. Нарпман.