Научная литература
booksshare.net -> Добавить материал -> Математика -> Александров А.Д. -> "Математика ее содержание, методы и значение Том 2" -> 142

Математика ее содержание, методы и значение Том 2 - Александров А.Д.

Александров А.Д. Математика ее содержание, методы и значение Том 2 — Москва, 1956. — 397 c.
Скачать (прямая ссылка): matemateesoderjaniemetodiiznachenie1956.djvu
Предыдущая << 1 .. 136 137 138 139 140 141 < 142 > 143 144 145 146 147 148 .. 157 >> Следующая

8 Сложение 27 24 27 (((aQx + ai)x + ai)x 4- аз)х + Ч
9 Умножение 27 31 27 ((((aQx + ai)x + ч)х + аз)х 4- ч)х
10 Сложение 27 25 27 ((((а0х -f aj)x 4- а2)х -f as)x-f а4)ж+а5
11 Умножение 27 31 27 (((((aOarH- a\)xJr a-i)xJr 4)x+ai)xJr аъ)х
12 Сложение 27 26 27 У = Ш(чх 4- ai)x + аг)х 4- аз)х H- 4- ai)x 4- аъ)х -f- ?g

2-м адресе при переходе от одной команды сложения к другой каждый раз меняются на единицу: во 2-й команде число берется из 21-й ячейки, в 4-й команде — из 22-й и т. д.

Программу вычислений можно существенно сократить, если обеспечить автоматическое изменение номеров ячеек во 2-м адресе команд сложения. Коды команд хранятся в соответствующих ячейках, и их можно рассматривать как некоторые числа. Прибавляя к ним соответствующие величины, можно осуществить автоматическое изменение адресов команд. При таком методе программа подсчета многочлена будет иметь вид, приведенный в табл. 4.

Таблица 4 Программа вычислений многочлена

Код команды

команды код операции 1-й адрес 2-і 1 адрес 3-й адрес
1 Сложение 20 27
2 Умножение 27 31 27
3 Сложение 27 21 27
4 Сложение 3 28 3
5 Сравнение 3 29 2
6 Остановка

Первая команда служит для передачи числа из 20-й ячейки в 27-ю, для того чтобы иметь стандартную команду умножения. По выполнении 2-й и 3-й команд получаем значения а0а;-|-а,. Для дальнейших вычислений необходимо предварительно изменить на единицу 2-й адрес S 64

Глава XIV. Электронные вычислительные машины

команды сложения (3-й команды), что и выполняется 4-й командой. По этой команде выбирается число, находящееся в 3-й ячейке, т. е. как раз требуемая команда сложения (3-я команда), и к ней прибавляется величина, хранящаяся в 28-й ячейке. Чтобы получить изменение 2-го адреса 3-й команды на единицу, в 28-й ячейке должна храниться величина:

Код операции 1-й адрес 2-й адрес 3-й адрес

Таким образом, по выполнении 4-й команды получим следующее значение 3-й команды:

Код операции 1-й адрес 2-й адрес 3-й адрес Сложение 27 22 27

Вновь полученное значение запоминается в 3-й ячейке вместо прежнего значения команды сложения.

Получив новое значение команды сложения, можно повторить вычисления, начиная с команды умножения, т. е. со 2-й команды. Для этой цели служит 5-я команда сравнения. Эта команда сравнивает вновь полученную команду 3-й ячейки с величиной, хранящейся в 29-й ячейке. В 29-й ячейке хранится величина:

, Код операции 1-й адрес 2-й адрес 3-й адрес Сложение 27 27 27

Это сравнение первоначально дает, что первая величина (в 3-й ячейке) меньше, чем вторая (в 29-й ячейке) и, следовательно, процесс вычисления перейдет ко 2-й команде, указанной в 3-м адресе команды сравнения. Таким образом, автоматически будут повторяться команды умножения (2-я команда) и сложения (3-я команда), причем каждый раз номер ячейки во 2-м адресе команды сложения будет изменяться на единицу (выполняется 4-й командой).

Повторение цикла будет происходить до тех пор, пока 2-й адрес команды сложения (3-й команды) не достигнет величины 27, что произойдет через шесть повторений цикла. При этом 3-я команда будет иметь вид

Код операции 1-й адрес 2-й адрес 3-й адрес Сложение 27 27 27

т. е. код команды будет такой же, как и в 29-й ячейке. Команда сравнения (5-я команда) отметит при этом равенство величин, хранящихся в 3-й и 29-й ячейках, и, следовательно, процесс вычислений перейдет к следующей по номеру команде, т. е. к 6-й. На этом подсчет многочлена будет закончен.

Метод автоматического изменения номеров ячеек в адресах некоторых команд, осуществляемый программой, широко применяется при § 2. Программирование и кодирование

363

решении самых разнообразных задач. Наряду с методом циклического повторения, он дает возможность сравнительно небольшим числом команд осуществлять очень большой объем вычислений.

4. Помимо рассмотренной трехадресной системы команд, во многих машинах применяется одноадресная система. При одноадресной системе в каждой команде, помимо кода операции, имеется лишь один адрес. Для выполнения какого-либо арифметического действия с двумя числами и отсылки полученного результата в запоминающее устройство требуется три команды: 1-я команда вызывает одно из чисел из запоминающего устройства в арифметическое устройство, 2-я вызывает второе число и производит заданное действие с числами, 3-я отправляет полученный результат в запоминающее устройство. При вычислениях полученный результат часто используется лишь для выполнения следующего арифметического действия. В этих случаях не требуется отправлять полученный результат в запоминающее устройство, а для выполнения следующего действия не надо вызывать первое число. Поэтому число команд программы при одноадресной системе получается примерно лишь в два раза больше, чем при трехадресной. Так как каждая одноадресная команда требует меньшего числа разрядов, чем трех-адресная, то место в запоминающем устройстве, занятое подпрограмму, при обеих системах команд будет примерно одинаковым (обычно при одноадресной системе команд в каждой ячейке запоминающего устройства хранятся две команды). Различие в системах команд необходимо учитывать при сравнении скоростей работы машин. При одной и той же скорости выполнения операций одйоадресная машина будет производить вычисления примерно в два раза медленнее, чем трехадресная.
Предыдущая << 1 .. 136 137 138 139 140 141 < 142 > 143 144 145 146 147 148 .. 157 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

Есть, чем поделиться? Отправьте
материал
нам
Авторские права © 2009 BooksShare.
Все права защищены.
Rambler's Top100

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed