Число адресов выборки команд может быть и больше одного, за счет чего можно организовать ускорение вычисления, повышение надежности вычислений и др. Но все это характерно лишь для специальных ЭВМ.
<110>
Адрес результата операции может отсутствовать по следующим «причинам»:
1) таким адресом является адрес одного из операндов;
2) адресом является некоторый заранее оговоренный код-указатель, соответствующий месту хранения промежуточных результатов, либо месту вывода результатов вычислений;
3) адресом является модифицированный с помощью служебной части команды адрес одного из операндов, либо, даже, адрес выполняемой команды;
4) адрес был указан ранее в другой команде и др.
Остались два операнда.
Вспомним, что обработка информации в ЭВМ последовательная, т.е. обработка может быть сведена к ситуации, при которой результат выполнения каждой операции является операндом при выполнении последующей.
Эти рассуждения приводят нас уже к одноадресной команде. Но команда может быть и вообще безадресной. В этом последнем случае возможно несколько «вариантов отсутствия» адресов:
1) адрес формируется аппаратно, аналогично адресу выборки следующей команды;
2) память безадресная, например, стековая;
3) ведется сложная последовательная обработка некоторого введенного на начальном этапе работы числа (например, );
4) операнды в памяти расположены попеременно с командами и др.
Так из четырёх адресов не остаётся ни одного. Это «крайность». Число адресов в команде регламентируется только разработчиком системы команд. В редких случаях число адресов может быть и более четырёх.
<111>
Многоадресные команды имеют то назначение, что с их помощью организуются многооперандные операции (суммирование более чем двух слагаемых, групповая пересылка и др.). Но это тоже экзотика, встречающаяся только в специализированных ЭВМ.
А на что же влияет адресность? Или здесь царит произвол, и каждый разработчик ЭВМ творит, что хочет?
Адресность влияет на:
1) Быстродействие. Легко показать, что в простейшем случае суммирования
время выполнения (полное) и при использовании трехадресной, и при использовании одноадресной команды одинаково и равно
.
Но это справедливо только для исчисления времени доступа к операндам в двуместных (бинарных) операциях. И здесь оказывается весьма сложной задачей не эмпирически оценить влияние адресности.
2) Емкость ЗУ. Если емкость ЗУ ячеек, то для задания адреса любой ячейки надо иметь - разрядный код; тогда для трехадресной машины:
,
где – число разрядов, отводимых под операции (всего операций
– p); m мод – число разрядов под признаки модификации (можно вычислить
аналогично m опер); общая тенденция развития ЭВМ такая, что растут p число
модификаций, а значит и m опер, и m мод, а длина команды ограничивается
аппаратурой, что и влечёт за собой отказ от третьего и второго адресов;
при использовании одноадресных команд вместо 3-адресных постоянно
требуются простые пересылки операндов из ОЗУ в АЛУ, из АЛУ и ОЗУ и
др.; в трехадресных они тоже требуются иногда из алгоритмических
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.