История отечественной вычислительной техники

Простейшая механизация вычислений

Современные быстродействующие электронные математические машины были созданы не на пустом месте. Их появление было подготовлено историческим развитием более простых типов цифровых вычислительных машин. Как же шло это развитие? Как постепенно сложилась довольно сложная логическая структура современной электронной машины?

Для выяснения этого рассмотрим, из каких элементов состоит процесс вычислений и как последовательно эти элементы машинизировались.

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

Умножим, например, 79 на 23 “столбиком”:

   79
  *
   23
-----
  237
+
 158
-----
 1817
 

Чтобы проделать этот пример, нам пришлось: использовать таблицы умножения и сложения, при сложении запоминать цифры переноса в следующий разряд, вести запись.

Из этих же основных элементов будет состоять процесс вычисления и при решении более сложных примеров, в которых требуется производить все четыре действия арифметики. При этом промежуточные результаты будет трудно запомнить в уме — их придется записывать. Придется выполнять и некоторые логические действия, например, определять знак произведения в зависимости от знаков сомножителей.

Чтобы ускорить и облегчить выполнение некоторых часто встречающихся действий, стали заранее вычислять и печатать вспомогательные таблицы, например квадратов и кубов чисел. Чтобы упростить вычисления, связанные с умножением, делением, возведением в степень и извлечением корней, ввели логарифмические таблицы, пользование которыми облегчает выполнение этих операций. Для вычислений, проводимых по формулам, полученным с помощью тригонометрии, потребовались заранее сосчитанные таблицы тригонометрических функций и их логарифмов.

Все же из всех элементов вычислительного процесса больше всего сил и внимания при ручном счете требовали арифметические действия, в особенности умножение и деление. Поэтому в первую очередь механизировали выполнение арифметических операций. Появились машины от арифмометра до автоматической настольной вычислительной машинки с электрическим приводом, которые с той или другой степенью автоматизации выполняют арифметические действия.

Тут же заметим, что простейшие вычислительные машины не обладают памятью, для того чтобы запомнить таблицу умножения. Чтобы избавится от пользования таблицей умножения, в машине заменили умножение многократным сложением и сдвигом суммы, а деление — многократным вычитанием до получения отрицательного результата и сдвигом разности. Тот же пример умножения 79 на 23 машина проделает так:

  79
 +
  79
 +
  79
-----
 237  (три раза сложит 79)
  237 (сдвинет сумму на 1 разряд вправо)
 +
  79  (к старшим разрядам суммы
 +
  79  два раза прибавит 79)
-----
 1817

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

На долю оператора-вычислителя остается следующая часть работы:

1) набор чисел на клавиатуре;

2) нажатие клавиши управления;

3) запись результата;

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

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

Рис. 18. Клавишная вычислительная машина с электрическим приводом

Рис. 18. Клавишная вычислительная машина с электрическим приводом

Есть ли еще какие-нибудь возможности ускорения счета?

Если проанализировать работу вычислителя, то окажется, что примерно 50-60% времени он тратит на набор чисел, 30-20% — на запись результата и только около 20% времени машина работает, производя вычисления. А если при вычислениях приходится пользоваться таблицами, то время полезной работы машины составит еще меньший процент.

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

Чтобы еще более ускорить вычислительную работу и сократить число ошибок, нужно, помимо ускорения работы самой машины, механизировать и те действия, которые при работе на клавишной вычислительной машине делал оператор. А именно, механизировать ввод чисел в счетчики машины и печатание результатов; сделать возможным, чтобы машина временно записывала или “запоминала” промежуточные результаты; и, кроме того, полностью автоматизировать весь процесс вычислений, сделав ненужным вмешательство оператора в ход решения задачи на машине.

Глава из книги “Современные математические машины”, М., 1959 г., стр. 42.
Перепечатывается с разрешения автора.