Cтраница 3
В § 8.2 было дано описание системы команд гипотетической трехадресной машины. Указанная система команд несколько уже системы команд, принятой в машинах М-220 и БЭСМ-4, и команды имеют некоторые отличия. [31]
В дальнейшем вопросы программирования будем рассматривать применительно к трехадресной машине с плавающей запятой и естественным порядком выполнения команд. [32]
Рассмотрим запись команд основных арифметических операций, характерных для трехадресных машин, воспользовавшись условными обозначениями кодов операций и номеров ячеек ОЗУ. [33]
Приведенные примеры рельефно отражают специфику задач, где преимущества трехадресных машин проявляются наиболее полно и наоборот, когда особой разницы между машинами различной адресности не обнаруживается. Следует подчеркнуть, что эффективнее используются трехадресные машины главным образом в арифметических операциях, но даже и здесь в ряде случаев преимущества трех адресов не выражены полностью. Например, в некоторых трехадресных машинах элементарной является операция извлечения квадратного корня, где используются лишь два адреса для записи команды. [34]
Машина М-20, разработанная в 1959 г., является трехадресной машиной, использующей двоичную систему счисления. [35]
Существует мнение, что для целей программирования наиболее удобными являются трехадресные машины. Удобство это принято рассматривать с нескольких точек зрения. Во-первых, трехад-ресная команда может быть естественным образом записана в содержательных обозначениях, что затруднительно осуществить в одноадресных или двухадресных машинах. [36]
Одна и та же задача запрограммирована нами трижды: для трехадресной машины Стрела ( § 35), для двухадресной машины М-3 и для одноадресной машины Урал. [37]
Наряду с приведенной программой в настоящее время уже разработаны программы расчета сетевого графика на серийной трехадресной машине. Форма записи исходных данных к программе аналогична записи для предыдущей программы. Расчетная информация выдается машиной в двух массивах: в первом содержатся ранние сроки свершения событий в порядке возрастания их номеров и номера событий, которые предшествуют данному но наиболее длинному пути от нулевого события; во втором - самые поздние сроки свершения событий, расположенные в порядке возрастания их номеров. Этих результатов достаточно для определения всех необходимых параметров по работам и событиям. [38]
В табл. 5 приводен пример контролирующей подпрограммы, служащей для проверки правильности выполнения команды передачи управления на трехадресной машине. В ячейке а записана команда останова. При неверном выполнении передачи управления не все команды безусловного перехода ( БП) заменяются командой останова. В этом случае работает ДП, к-рая просматривает содержимое ячеек в порядке выполнения команд БП и устанавливает место неисправности. [39]
В табл. 5 приведен пример контролирующей подпрограммы, служащей для проверки правильности выполнения команды передачи управления на трехадресной машине. В ячейке а записана команда останова. При неверном выполнении передачи управления не все команды безусловного перехода ( ВП) заменяются командой останова. В этом случае работает ДП, к-рая просматривает содержимое ячеек в порядке выполнения команд БП и устанавливает место неисправности. [40]
Диаграммы рабочих тактов одноадресной ( а и трехадресной ( б машин. [41] |
Например, в течение одного рабочего такта одноадресная машина выбирает из оперативной памяти команду, а затем операнд и выполняет операцию; трехадресная машина выбирает команду, а затем первый и второй операнды, выполняет операцию и записывает результат. На рис. 8.2, а, б соответственно приведены диаграммы рабочих тактов РТ одноадресной и трехадресной машин, где Гв.к., TE. [42]
Адресность на быстродействие машины оказывает влияние только при одноадресном кодировании команд, так как общее количество команд одноадресной машины превышает количество команд трехадресной машины. [43]
Для одноадресных ЭВМ количество команд в программе несколько увеличивается, в том числе за счет отдельной переадресации трех команд, в то время как в трехадресных машинах имеется всего один модификатор. [44]
Изложение машинных языков программирования и особенностей представления алгоритма, детализированного до машинных операций, основывается на описании систем команд гипотетических одно -, двух - и трехадресных машин, включающих основные команды реальных вычислительных машин, а также на рассмотрении первых подходов к решению проблемы автоматизации программирования. Ознакомление с этим материалом дает возможность читателю получить представление о проблемах, связанных с программированием в кодах, и подготовиться к изучению особенностей программирования на языках более высокого уровня. [45]