НА ГЛАВНУЮТЕКСТЫ КНИГ БКАУДИОКНИГИ БКПОЛИТ-ИНФОСОВЕТСКИЕ УЧЕБНИКИЗА СТРАНИЦАМИ УЧЕБНИКАФОТО-ПИТЕРНАСТРОИ СЫТИНАРАДИОСПЕКТАКЛИКНИЖНАЯ ИЛЛЮСТРАЦИЯ

Библиотечка «За страницами учебника»

Автоматические цифровые машины. Бут Э., Бут К. — 1959 г.

Эдвард Бут, Кэтлин Бут

Автоматические
цифровые машины

*** 1959 ***


DjVu


PEKЛAMA Заказать почтой 500 советских радиоспектаклей на 9-ти DVD. Подробности...

Выставлен на продажу домен
mp3-kniga.ru
Обращаться: r01.ru
(аукцион доменов)



 


      Очень большое внимание уделено принципам конструирования машин, причем достаточно подробно рассматриваются как действие отдельных элементов, так и логика построения крупных узлов с разбором алгоритмов, на которых основана их работа. Вторая половина книги посвящена программированию и особенно использованию стандартных подпрограмм.
      Ряд интересных сведений имеется также в главах, посвященных истории вычислительной техники, перспективам ее развития и некоторым применениям. Большую ценность представляет очень подробная, тематически расположенная библиография.
            ОГЛАВЛЕНИЕ
     
      Предисловие ко второму изданию 8
      Предисловие к первому изданию 9
      Глава 1. Введение 11
      Глава 2. Механическая эра 17
      Арифметические машины (17). Полуавтоматические машины (18). Универсальные машины (20).
      Глава 3. Появление электронной техники 24
      Специализированные электронные цифровые машины (25). Универсальные электронные цифровые машины (27).
      Глава 4. Общая схема конструкции универсального вычислительного устройства 36
      Память (37). Устройство управления (40). Устройства ввода и вывода (41).
      Глава 5. Устройство управления 41
      Команды (42). Дешифратор (43).Счетчик устройства управления (44). Блок запоминания команд (44). Обозначения (45). Запоминающее устройство (46). Схема действия устройства управления (47). Другие виды устройств управления (50).
      Глава 6. Арифметический узел 52
      Основные элементы (53). Правый и левый сдвиг (55). Сложение (56). Вылита кие (62). Умножение (63) Деление (67). Десятичная и другие арифметики (70).
      Глава 7. Различные операции 80
      Частичная подстановка (82). Логическое умножение (83).
      Глава 8. Ввод и вывод 84
      Устройство ввода (85). Устройство вывода (95). Обзор (99).
      Глава 9. Вентили 101
      Электромагнитное реле (101). Диод, или выпрямитель (104).
      Триод (109). Двуполярные вентили (113). Многосеточные лампы (114). Полупроводниковый триод (115). Магнитные устройства (117).
      Глава 10. Одноразрядные запоминающие элементы 120
      Электромагнитное реле (121). Тиратрон (122). Электронные триггеры (123). Одноразрядная память логического типа (128). Полупроводниковая одноразрядная память (129). Магнитная статическая одноразрядная память (130). Магнитная динамическая одноразрядная память (131). Недвоичная одноразрядная память (133).
      Глава 11. Различные компоненты. 136
      Регистры со сдвигом (137). Функциональные схемы (145). Схемы совпадения (148).
      Глава 12. Запоминающие устройства 149
      Электромеханическая память (150). Память на магнитном барабане (152). Другие типы динамической магнитной памяти (164). Магнитно-акустическая память (165). Матричная память из элементов с прямоугольной петлей гистерезиса (167). Акустические линии задержки (171). Диэлектрическая память (174). Другие формы памяти (180). Необходимая емкость памяти (181).
      Глава 13. Код машины 182
      Внд команд (183). Основные команды (186). Программа умножения (188). Итерационные процессы и условная передача управления (191). Код Принстонской машины (193).
      Код машины АПЕ(ИКС)К (196). Некоторые специальные команды (200).
      Глава 14. Техника программирования 201
      Метод блок-схем (202). Детализация программы (204). Точная форма команд машины АПЕ(ИКС)К (204). Пример программирования задачи (206).
      Глава 15. Применение подпрограмм 209
      Преобразование подпрограмм (210). Принстонский метод
      (211). Использование подпрограмм на машине ЭДСАК
      (212). Хранение подпрограмм на машине АПЕ(ИКС)К (214). Введение констант в подпрограммы (215). Программа деления (216). Включение подпрограмм в основную программу (219).Контроль порядка чисел (221). Извлечение квадратного корня (225). Перевод чисел в двоичную систему счисления и обратно (233).
      Глава 16. Составление программ 237
      Применение таблиц и интерполирование (238). Хранение таблиц в машине (238). Программа интерполирования (239). Интерполирование таблиц sin х и cos х (245). Полиномиальные разложения (249).Оптимальное программирование (252). Оптимальная подпрограмма деления (256). Случайные числа (258). Автоматическое программирование (260).
      Глава 17. Некоторые применения вычислительных машин.. 262
      Предварительные замечания (262). Рентгеноструктурный анализ (262). Машинный перевод (269). Игры (273). Обучение машины и ее «разумность» (280)
      Литература. 288
      Дополнительная литература 299
      Именной указатель 316
      Предметный указатель 317

     
      При подготовке этого издания мы воспользовались случаем, чтобы сделать текст современным, добавив значительное количество нового материала. Были введены новые элементы схем, такие, как транзистор и ферроэлектриче-кая матричная память. В этом издании дано описание методов автоматического кодирования, разработанных в последние два года.
      Пересмотренная и увеличенная более чем вдвое по сравнению с первым изданием библиография является иллюстрацией той активной деятельности, которая ведется сейчас в области вычислительной техники.
      Немногочисленные ошибки были исправлены, и авторы благодарят читателей и рецензентов за помощь в их обнаружении.
      Э. Бут, К Бут
      Варф Фенни Комптон ноябрь 1955 г.
     
      Десятилетие 1940—1950 гг. ознаменовалось усилением активности во многих областях науки. Под влиянием войны возникла необходимость производить часто и быстро сложные вычисления, непосильные для человека-вычислителя. В результате этого мечта Чарльза Бэббиджа, жившего в XIX веке, осуществилась в середине XX века, и современные автоматические цифровые машины являются важным фактором при разработке большинства новых разделов науки и техники.
      Настоящая книга предназначена служить пособием по теории этих машин, в частности, она должна помочь новичкам войти в курс основных понятий, терминологии и литературы. Естественно, что наиболее подробно описана аппаратура, применяемая в нашей лаборатории. Но, поскольку большинство из рассмотренных вопросов за последние семь лет получило там дальнейшее развитие, не следует быть очень пристрастным в оценке изложения.
      Терминология предмета еще не стабилизировалась, и мы надеемся, что строгие читатели не обидятся на нас за использование такого антропоморфического термина, как «память», который во всяком случае должен быть известен всякому читателю, знакомому с существующей литературой.
      Авторы желают высказать свое чувство признательности Джону фон Нёйману и руководимому им штату в Принстонском институте перспективных исследований за
      поддержку их проекта в то время, когда авторы были гостями Принстонского института. Мы также приносим нашу благодарность Британской исследовательской ассоциации каучуковой промышленности, Имперской химической компании и Рокфеллеровскому центру за их щедрую поддержку, которая сделала возможным создание машин АПЕ(ИКС)К.
      В заключение нам особенно приятно поблагодарить мистера Джона Вильсона, ныне директора Британской исследовательской ассоциации искусственного шелка, за его терпение, одобрение и практическую помощь в течение последних лет.
      Варф Фенни Комптон май 1953 г.
      Э. Бут, К Бут
     
      ГЛАВА 1. ВВЕДЕНИЕ
      Перед тем, как перейти к главному предмету этой книги, полезно будет кратко остановиться на современных общих идеях в области вычислительной техники. В частности, это необходимо ввиду богатства развившейся за последнее десятилетие терминологии, вследствие чего для людей, работающих в этой области, трудно заботиться о том, чтобы все их замечания были понятны неспециалисту.
      Многие вычисления, с которыми мы встречаемся в повседневной жизни, включают в себя многократное повторение одних и тех же серий операций. Например, при вычислении размера подоходного налога с заработной платы рабочих или служащих к каждому из них применяется одна и та же небольшая группа правил. Вся разница заключается в величине его или ее заработка и в различных скидках, зависящих от таких обстоятельств, как количество детей. Для того, чтобы расчет подоходного налога производить на машине, необходимо ввести в нее упомянутые данные, после чего работа машины будет происходить автоматически. Такой повторяющийся процесс вычисления, когда последовательность операций задана, а исходные данные меняются,-называется итерацией и является основным в работе современной вычислительной машины.
      В схеме, упомянутой выше, предполагалось, что машина производит установленную последовательность операций над введенными данными. Механизм, который обеспечивает правильную последовательность выполнения операций, называется устройством управления, а части машины, выполняющие сложения, вычитания, умножения и т. д., называются арифметическим уз‘лом. В упомянутой
      выше простой схеме предполагалось, что машина специально сделана для того, чтобы выполнять одну последовательность операций, решать одну частную задачу. Такие машины называются специализированными вычислительными машинами. В настоящее время созданы машины, которые могут решать любые задачи, сводящиеся к последовательному выполнению арифметических операций. Такие вычислительные машины называются универсальными.
      Вполне возможно выполнять операции над числами, представляя их различными физическими величинами, чтобы затем, используя какие-то механические или электрические устройства, получать требуемый ответ. Известным примером вычислительных устройств такого типа является логарифмическая линейка. Здесь числа преобразуются в длины отрезков логарифмической шкалы, а произведения и частные Получаются наложением этих величин, после чего результат находится по шкале, градуированной соответствующим образом. Устройства, использующие подобную физическую аналогию, обычно известны под названием машин-аналогов*).
      *) Употребляются также термины: «вычислительные машины непрерывного действия», «моделирующие устройства». (Прим. перев.)
      Существует большое количество сложных и остроумно построенных машин-аналогов, однако не они составляют предмет этой книги. В ней рассматриваются лишь цифровые машины. Как видно из самого названия, в таких машинах величины представляются с помощью цифр, с которыми и оперируют в процессе счета. Простейшим примером такого вычислительного устройства являются знакомые всем конторские счеты.
      Большим преимуществом цифровых машин перед машинами-аналогами является их потенциальная Точность. Так, чрезвычайно трудно создать машину-аналог, обладающую точностью выше одного процента, тогда как точность цифровой машины может быть увеличена простым добавлением новых цифровых разрядов, например, в форме счетных колес.
      Мы можем задать себе вопрос: какое значение имеет точность в одну десятимиллионную? В повседневной жизни такая точность если и требуется, то весьма редко. В математических расчетах, однако, часто случается, что искомое малое число вычисляется как разность двух больших чисел. Следовательно, чтобы не потерять разрядов искомого числа, мы должны брать исходные числа с высокой точностью. (Вопрос о том, существует ли лучший математический метод решения всех таких задач, мы здесь не рассматриваем, так как, если эти методы и существуют, они могут оказаться не самыми простыми с точки зрения вычислений.)
      Далее, если в процессе вычислений встречается умножение чисел, содержащих, скажем, два десятичных разряда, то для того, чтобы сохранить в произведении два десятичных знака, произведение нужно округлить. Это означает, что результат может иметь ошибку порядка половины последней цифры.
      С помощью теории вероятностей можно показать, что сумма п чисел, имеющих вероятную ошибку, равную 0,5, имеет вероятную ошибку 0,5 Yп- Значит, сумма 40 000 чисел, содержащих два десятичных разряда и имеющих названную выше вероятную ошибку, будет иметь вероятную ошибку порядка 100.
      Если числа, возникающие в задаче, имеют различные знаки и их сумма мала, то из изложенного очевидно, что ошибка округления может превзойти самое сумму. Современные быстродействующие вычислительные машины выполняют арифметические действия в масштабах не менее приведенного выше, и поэтому весьма важно обеспечить высокую точность используемых чисел.
      Скорость работы современных машин настолько высока, что оператор, работающий на машине, не в состоянии так же быстро вводить в нее числа или выписывать получаемые ответы с той же скоростью, с какой машина их вычисляет. Это вызывает необходимость в создании устройств ввода и вывода. Эти устройства могут состоять из бумажной ленты, на которой числа представлены отверстиями, и электрических буквопечатающих аппаратов, или перфораторов, работа которых управляется самой машиной. Применение ленты, читаемой машиной, позволяет использовать большое число операторов для обеспечения полной загрузки машины. Помимо этого, существует широкий круг математических и физических проблем, которые при малом
      количестве исходных данных и результатов требуют очень большого объема вычислительной работы. К таким проблемам относится задача определения молекулярной структуры по данным рентгеновского анализа, многие задачи ядерной физики, расчет самолета для полета при сверхзвуковых скоростях и бесчисленное количество чисто математических задач типа «для каких значений п число 2" — 1 будет простым?».
      В связи с высокой стоимостью и трудностью изготовления машин с большим числом электрических или электронных элементов, большинство современных универсальных вычислительных машин конструируется так, что они могут выполнять лишь небольшое число видов арифметических действий. Например, все машины выполняют операции сложения и вычитания, большинство машин выполняют операцию умножения, но операция деления часто отсутствует, а таких операций, как извлечение квадратного корня, почти никогда не имеется.
      Любая задача, подлежащая решению на машине, должна быть сначала представлена в виде последовательности этих основных операций. Процесс такого преобразования задачи называется программированием или кодированием, а список основных операций, выполняемых машиной, называется кодом или системой команд машины.
      Выше уже был отмечен принцип многократного повторения фиксированной последовательности операций. Предположим теперь, что от машины требуется повторить такую последовательность вычислений ровно п раз, а затем остановиться. Если список операций поместить в машину п раз, то для этого потребуется большое дополнительное оборудование, время и пространство. Поэтому машина устроена так, что каждый раз к концу выполнения заданной последовательности операций она проверяет некоторое число. Если это число, например, положительно или равно нулю, то она возвращается к началу последовательности. Если же это число отрицательно, то машина останавливается или переходит к новой последовательности операций. Предположим, например, что частью некоторой последовательности действий будет операция вычитания единицы из числа п—1 и что после каждого вычитания результат оценивается. Для первых п—1 циклов результат будет положителен или равен нулю, и последовательность операций будет повторяться. Однако после п-го цикла результат станет отрицательным, и будет начата новая последовательность операций. Число п — 1 называется индексом итерации, а команда, оценивающая величину п—1 и направляющая работу машины по одной из двух подпоследовательностей операций, называется условным переходом или командой разветвления.
      Условный переход, пожалуй, наиболее важная команда современной вычислительной машины. Можно показать, что при ее использовании поддаются программированию даже наиболее сложные логические процессы и что машину можно заставить сделать в ходе вычислений выбор продолжения, неизвестного для оператора заранее. В качестве простейшего примера мы приведем извлечение квадратного корня из числа, полученного самой машиной. Подробно мы рассмотрим это в гл. 15, а здесь скажем только, что извлечение корня из числа а является итеративным процессом, дающим после каждой т-й итерации некоторое приближение хт к У а. Трудность заключается в том, что число итераций, необходимых для получения заданной точности, зависит от величины числа а и заранее оператору неизвестно. Однако решение весьма просто. В конце каждого итеративного цикла машина вычисляет величину — (лш_, — хп)2. Это число отрицательно, пока хт_1фхт в пределах требуемой точности. Но к концу итеративного процесса эта разность становится равной нулю, и применение операции условного перехода отключит машину от цикла вычисления квадратного корня и заставит ее перейти к решению следующей части задачи.
      Мы закончим это введение кратким описанием способа, с помощью которого представляются числа в цифровых машинах.
      В обычной арифметике отрицательное число записывается, скажем, как —0,642. Для вычислительных машин такая запись менее удобна, чем запись вида 9,358 (=10— 0,642), при которой отрицательное число прибавляется к такой степени 10, которая выходит за разряды машины. Этот процесс представления называется дополнительным, и если 1СУ—наибольшая степень 10, t изобразимая на данной машине, то говорят, что отрицательные числа представляются как дополнения по модулю 10/,+1. Легко видеть, что в пределах емкости машины
      а — Ь = а + (доп. b по мод. 10p+1).
      Во многих цифровых машинах, особенно в тех, где используются электродные элементы, десятичная система счисления не является наиболее подходящей с инженерной точки зрения. Вместо нее применяется двоичная система, в которой используются только цифры 0 и 1. Лейбниц давно предсказывал, что двоичная система заменит десятичную в школьном обучении из-за простоты таблиц сложения и умножения:
      0 + 0 = 0 0 + 0 = 0
      1+0=1 0X1=0
      1+1 = 10 1X1 = 1
      Причины, почему предсказание Лейбница не свершилось, станут понятны читателю, если он попытается сложить в этой системе столбец, содержащий более трех чисел. В двоичной системе счисления десятичные цифры будут иметь следующий вид:
      0= 0, 5= 101,
      1= 1, 6= 110,
      2= 10, 7 = 111,
      3= 11, 8 = 1000,
      4=100, 9=1001,
      и любое десятичное число может быть представлено в двоичной системе. Может возникнуть вопрос о трудностях, связанных с использованием в машинах двоичной системы счисления. Эти трудности преодолеваются следующим образом: вся информация вводится в машину в десятичной системе с помощью перфоленты или клавиатуры пульта управления, а затем сама машина переводит числа в двоичную систему для удобства хранения и производства вычислений; по окончании вычислений машина производит обратное преобразование в десятичную форму и в таком виде выдает числа оператору. Детально этот процесс рассмотрен в гл. 15, посвященной программированию.
      В заключение скажем, что метод дополнительного представления отрицательных чисел используется и в двоичной системе. Дополнения производятся до числа 2p+l, где 2Р наибольшая степень двойки, которая может быть удержана в регистрах машины.
     
      ГЛАВА 2 МЕХАНИЧЕСКАЯ ЭРА
      Арифметические машины
      Первое упоминание о возможности создания машины, способной выполнять арифметические действия, связано с именем Паскаля, который в 1642 г. сконструировал машину для сложения и вычитания. Он с большим успехом использовал ее для расчетов при сборе налогов во Франции.
      Идея механического вычисления сильно привлекала и Лейбница, который в 1694 г. сконструировал усовершенствованный вариант машины Паскаля, выполнявший умножение и деление.
      Большой интерес к этому делу вызвал развитие первых несовершенных машин от стадии научных курьезов до современной компактной и удобной формы, развитие, в котором английский механический гений нашел свое выражение в ранних вычислительных машинах Морланда и Стэнхопа. Заслуживает упоминания, между прочим, что сумматор Морланда, работающий с помощью штифта, все еще продается в почти неизмененном виде как недорогой инстру-
      Развитие машин, выполняющих арифметические действия, сдерживалось отсутствием большого количества точно изготовленных зубчатых колес и других необходимых деталей. Поэтому, когда Томас де Кольмар в 1820 г. выпустил на рынок коммерческую машину, она не получила распространения.
      Первые арифметические машины современного типа были изготовлены Однером в 1891 г., хотя зубчатое колесо с пе-Р меннь.м числом зубьев, носящее сТо имя, в действительности описал Рот в 1841 г., и использовал для машины Болдуин в 1875 г.
      Интересно отметить, что в одном из наиболее компактных и хороших арифмометров, употребляемых сейчас (1952 г.), используется в качестве основного элемента шаговое колесо Лейбница.
     
      Полуавтоматические машины
      Машины, описанные выше, требуют присутствия оператора, который вводит данные, запускает машину (вручную или с помощью мотора), выписывает результаты и вновь вводит их в машину для следующего этапа вычислений. Паскаль в своих «Мыслях» сказал о вычислительных машинах вообще и о своей в частности: «Арифметическая машина производит такие действия, которые приближаются к мышлению живых существ, но она не делает ничего, что могло бы указывать на то, что она обладает волей живых существ» — и, благодаря этой сомнительной истине, считается отцом современных больших вычислительных машин. Цитата выглядит в общем слишком неопределенной, особенно ее вторая часть.
      Лейбниц также считается праотцом машин, работающих без помощи оператора. Первоисточники по этому вопросу разыскать не удалось, и маловероятно, чтобы у Лейбница были какие-либо предложения, достаточно конкретные для того, чтобы приписывать ему приоритет в этом вопросе.
      По-видимому, первым документально подтвержденным автором частично автоматизированной машины является Мюллер, который в 1786 г. предложил конструкцию устройства для вычисления функций по алгебраическим формулам. содержавшим разности этих функций. Эта машина, по-видимому, так и не была построена, и сомнительно, чтобы она была разработана детально.
      В 1822 г. Чарльз Бэббидж спроектировал разностную машину и представил проект правительству с целью получить финансовую помощь для постройки ее. Эта машина должна была автоматически вычислять любую функцию, заданную ее первыми пятью разностями, и выдавать результаты в отпечатанном виде. В ее основу была положена
      малая модель, которая «получала цифры со скоростью 44 в минуту и выполняла быстро и точно вычисления, для которых она предназначалась». Машину начали строить в 1823 г. К 1829 г. большая часть машины была изготовлена, однако трудности с инженерным персоналом привели к неудовлетворительному состоянию счетов и к осложнениям с казначейством. Когда было израсходовано уже около 17 000 фунтов стерлингов, инженер Клемент, руководивший постройкой, предъявил такие высокие требования, что помощь была прекращена. Работа прервалась в 1833 г., и, несмотря на обширную переписку, конкретного указания от правительства не последовало вплоть до 1842 г., когда проект был окончательно похоронен. Сама недоконченная машина была великодушно предложена в подарок Бэббиджу, однако он отказался.
      Судьба законченных частей машины Бэббиджа после 1842 г. была переменчивой. В 1843 г. они были помещены в Королевский колледж в Лондоне. После многих лет забвения их переместили в Южно-Кенсингтонский научный музей. Заканчивая историю возникновения разностных машин, отметим, что главной причиной задержки их изготовления явилось отсутствие в то время точных обрабатывающих станков. Бэббидж одним из первых взялся за это дело, и в том, что Великобритания к концу XIX века занимала ведущее место в вычислительной технике, есть и его заслуга.
      Хотя Бэббидж и не закончил разностной машины но по его проекту машина была построена в Швеции Шёйтцем. Она хорошо и безотказно работала, а затем была перевезена в обсерваторию Дадли (Олбани, США).
      ожалуй, здесь неуместно подробно останавливаться на всех полуавтоматических вычислительных машинах Сам ьэббидж предусматривал использование в своей аналитической машине (см. ниже) перфорированных карт (аналогичных используемым в станке Жаккарда) для хранения вычислительной машине данных и команд. Эту идею осуществил Холлерит в 1889 г. при разработке машины для сортировки данных в связи с переписью в США. Из этого устройства впоследствии развились сложные сортиро-пППН“’ вычислительные и табулирующие машины, ис-уемые и поныне при управлении предприятиями.
      Существует два главных типа перфокартных машин. В машинах системы Пауэрс Сеймас карты читаются и вычисления производятся исключительно механическим путем; эти машины являются идейными потомками машины Бэббиджа. Другая система (Холлерит) предусматривает использование электромагнитных реле и других подобных устройств в качестве вычислительных элементов, чем достигается простота и гибкость, невозможные в дни Бэббиджа.
      Поскольку мы рассматриваем машины, образующие функции по их разностям, отметим, что Национальная расчетная машина со своими шестью регистрами позволяет делать (печатая результаты) именно те вычисления, для которых конструировалась разностная машина Бэббиджа.
     
      Универсальные машины
      В 1833 г. Бэббидж пришел к выводу о возможности сконструировать машину, которая могла бы выполнять любые вычисления, заданные оператором, а не только вычисления одного специального вида, как в разностных машинах.
      Эту машину Бэббидж назвал аналитической машиной. При ее проектировании гений Бэббиджа полностью расцвел. Не будет преувеличением сказать, что все логические устройства, переоткрытые впоследствии при создании электронных машин, были первоначально придуманы Бэббиджем.
      Машина должна была состоять из двух главных частей — «завода» и «склада». Первая предназначалась для выполнения арифметических операций с числами. Вторая часть состояла из 1000 колонок по 50 цифровых колес в каждой. При этом в зависимости от инструкций каждое колесо могло соединяться с «заводом» и другими частями машины.
      Предвидение Бэббиджа сказалось также в том, что современные запоминающие устройства имеют емкость того же порядка, что и его машина.
      Для ввода данных и инструкций в машину Бэббидж предложил использовать видоизменение управляющих перфокарт, которые давно применялись в жаккардовых машинах при тканье сложных рисунков. В этих станках карты постоянно соединены вместе, что, конечно, исключило бы в вычислительной машине переналадку. Бэббидж, правда, не имел ясного представления о том, что для его машины
      карты не следует соединять, но очевидно, что таким его намерение было до тех пор, пока он предполагал вводить в машину карты комплектами. Таким образом, управляемые перфокартами конторские машины, несомненно, были предвосхищены в начинаниях БэббиДжа.
      Бэббидж понимал, что для ускорения работы машина должна уметь выявлять наличие цепочки переносов единицы из разряда в разряд и передавать единицу из первого разряда цепочки к последнему. Так, если взять простой пример прибавления 1 к числу 899 999 999, то машина должна заметить длинный ряд девяток и последовательных переносов и исключить их, прибавляя единицу непосредственно к восьмерке. Такой механизм был предложен Бэ-биджем и введен в аналитическую машину.
      Им же был предложен механизм, с помощью которого машина набирала литеры, изображающие готовые для печати результаты вычислений. Вдобавок машина проверяла правильность печатания результата и в этом отношении превосходила многие современные машины.
      Наконец, Бэббидж предусмотрел для машины возможность самостоятельно выбирать путь решения среди нескольких возможных в случае, если этот путь не был заранее известен оператору. Это так называемая операция условного перехода современных вычислительных машин, и включение ее в аналитическую машину является еще одним подтверждением гения ее изобретателя.
      Когда Бэббидж умер в 1871 г., аналитическая машина не была еще закончена. Его сын, генерал-майор Г. Бэббидж, между 1880 и 1910 гг. построил часть «завода», и при демонстрации машина вычислила и напечатала таблицу кратных тг с точностью до 20 десятичных знаков. Модель 1910 г. и некоторые части первоначальной машины Бэббиджа можно увидеть в Южно-Кенсингтонском научном музее.
      Логический преемник аналитической машины Бэббиджа не был построен в течение почти 70 лет после его смерти. В 1937 г. Говард Эйкен из Гарвардского университета начал работу над «вычислительной машиной с автоматическим управлением последовательностью операций», известной теперь под сокращенным названием АСКК*) или
      *) ASCC — Automatic Sequence Controlled‘Calculator.
      Марк-1. Эта машина, построенная при участии компании ИБМ *), была закончена к 1944 г. В некоторых отношениях это гораздо более скромная машина, чем задуманная Бэббиджем. Она содержит 60 постоянных и 72 суммирующих регистра вместо 1000 регистров, запланированных Бэббиджем. В ней предусмотрены устройства для умножения, деления, а также электромеханические таблицы для log10 х, 10Л и sin х. Для интерполяции табличных значений указанных функций предусмотрены специальные устройства. Последовательность операций машины управляется от перфоленты. Нормальное количество десятичных знаков чисел, с которыми оперирует машина, равно 24.
      Вслед за изготовлением машины АСКК Гарвардская группа в 1945 г. начала изготовление вычислительной машины, обычно называемой Марк-2, в которой все арифметические операции и операции передачи выполняются с помощью электромагнитных реле. Машина, законченная в 1947 г., содержит 13000 специальных реле. Применение реле вместо механических элементов позволило значительно увеличить скорость работы, в связи с чем время выполнения операций в машине Марк-2 имеет следующие значения:
      Передача числа в запоминающее устройство или из него.. 33 мсек
      Сложение или вычитание 200 »
      Умножение ... 700 »
      Запоминающее устройство рассчитано на 100 десятиразрядных чисел, снабженных знаками.
      Предусмотрены сложные устройства ввода и вывода данных; результаты либо печатаются со скоростью 15 X X 25 цифр в минуту, либо пробиваются на ленте со скоростью 40 X 25 в минуту, что допускает их дальнейшее использование в машине. Кроме того, машина может быть разделена на две самостоятельно работающие части.
      Другая работа, одна из первых в области релейной вычислительной техники, была начата лабораторией Белла в 1938 г., построившей в 1940 г. первую модель машины; с тех пор были построены еще три другие модели. Эти вычислительные машины были спроектированы для целей управления огнем, но в 1944 г. была создана и универсаль-
      *) IBM — International Business Machine Co.
      ная машина. Таких машин было построено две. В них было применено 9000 телефонных реле и большое количество телетайпов. В машинах используются числа, кодированные в двоично-пятеричной системе (в этой системе используются цифры 0 — 4 и 5; любая десятичная цифра получается с помощью замыкания двух из имеющихся реле, что упрощает контроль). Числа берутся с точностью до семи значащих цифр и снабжены знаками. Эта машина является первой машиной с плавающей запятой. Запоминающее устройство содержит 44 регистра, собранных на реле. Для выполнения наиболее употребительных операций предусмотрены специальные арифметические устройства. Время выполнения операций характеризуется следующими цифрами:
      Сложение или вычитание 0,3 сек
      Умножение .1,0 »
      Деление .22 »
      Извлечение квадратного корня 4,3 »
      Положительной чертой машины является возможность промежуточной проверки хода вычислений, что особенно ценно при решении больших задач.
      Релейные вычислительные машины выпускались на рынок компанией ИБМ под названием «Релейная вычислительная машина со штеккерным управлением». Устройство машины использовало стандартную аппаратуру, выпускаемую фирмой ИБМ, и содержало 36 регистров запоминающего устройства по 6 десятичных разрядов каждый. Арифметические операции и время их выполнения следующие:
      Сложение или вычитание 25 мсек
      Умножение 9оо »
      Деление 1200 »
      К преимуществам машины относится применение для ввода и вывода перфокарт, чем достигается большая гибкость работы машины и приближение скорости вывода к скорости вычислений.
      Другими большими релейными или электромеханическими машинами являются машина БАРК в Стокгольме, машина Цюзе и вычислительная машина Имперского колледжа.
      В 1947 г. авторы этой книги предприняли изучение возможностей создания универсальной, машины, гораздо олее простой, чем существовавшие или проектировавшиеся.
      Работа завершилась постройкой машины АРК*)- В своем первоначальном виде машина имела запоминающее устройство емкостью в 256 чисел на магнитном барабане и должна бы, следовательно, быть описана в следующей главе. Но в настоящее время запоминающее устройство на барабане заменено весьма компактным электромеханическим запоминающим устройством емкостью в 50 чисел. Кроме того, машина снабжена штеккерным узлом управления последовательностью операций на 300 инструкций и поэтому описывается здесь.
      Машина оперирует в прямом двоичном коде с числами в 21 двоичный разряд (6 десятичных разрядов). Время выполнения операций имеет следующие значения:
      Передача числа, сложение, вычитание 20 мсек
      Умножение или деление .. 1000 »
      Для ввода и вывода данных используется стандартное телетайпное оборудование со вспомогательной клавиатурой для контроля. Примечательной особенностью машины является то, что в ней используется только 800 однополюсных быстродействующих реле; это число может быть еще уменьшено за счет применения многоконтактных реле. Относительно высокая скорость работы машины получается благодаря применению принципа параллельного действия и использованию цепочек переноса, аналогичных предложенным Бэббиджем. Особенностью машины, отличающей ее от машин подобного типа, является использование только двоичной системы счисления. Устройство ввода и вывода работает в десятичной системе, и специальная программа переводит числа из одной системы в другую.
      Вторая машина, АРРА, в основу которой была положена машина АРК, была построена в Математическом центре в Амстердаме.
      KOHEЦ ГЛАВЫ И ФPAГMEHTA КНИГИ
     
     
      База (транзистора) 115 Барабан магнитный 152 Блок запоминания команд [control register] 40, 44 и д.
      Вентиль двуполярный 113
      — , диод (выпрямитель) 104 и д.
      — , лампа электронная, многосеточная 114
      — , магнитное устройство 117
      — , реле электромагнитное 101
      — , триод 109
      Время выборки (из памяти) [access time] 37 Вычитание (в машинах) 62
      Декатрон 134 Деление (в машинах) 67
      — , метод проб и ошибок [trial-and-error method] v.67
      — , — , не требующий восстановления [non-restoring method] 67, 216
      Дешифратор (устройства управления) [decoder] 41, 43, 44
      — адреса [coding switch] 185 Диод (выпрямитель) 104 и д.
      — германиевый 108
      — кремниевый 108
      — разностный 122
      — селеновый 108 Диск магнитный 164 Дополнитель [filler] 78
      Игра (машинная) 273 и д.
      —, вист 274 -—, «крестики и нулики» 274 —, шахматы 278
      Итератор (устройства управления) 52
      Итерация 11, 191 —, индекс 15 Ит-счетчик см. Итератор
      Код 14
      — двухадресный 183
      — дополнительный [complementary notation] 15, 17, 53
      — машины 182
      АПЕ(ИКС)К 196 и д.,204 и д.
      Манчестерского университета 200
      Национальной физической
      лаборатории 200 Принстонской 193 и д.
      — одноадресный 183
      — прямой [system (sign) (absolute value)] 53
      — трехадресный 183
      — четырехадресный 184 Кодирование см. Программирование
      Коллектор (транзистора) 115 Команда 42
      —, адрес в команде 183 и д.
      — разветвления [branching order] 15
      — связующая [linking order] 216"
      — передачи управления безусловной [absolute transfer of control] 43, 49
      — — — условной [conditional transfer order] 191
      Команды машины АПЕ(ИКС)К 204 и д.
      Комбинации управляющие (на ЭДСАК) [control combinations]213
      Корень квадратный, извлечение 226
      , — методом итерации 228
      , — — проб и сравнений
      [comparison and improvemen] 231
      Машина аналитическая Бэббиджа 20 и д.
      — АКБ [АСЕ] 29
      — АПЕ(ИКС)К [АРЕ(Х)С] 33
      — АПЕ(Н)К [APE(N)C] 33
      — АПЕ(Р)К [APE(R)C] 33
      — АПЕ(Х)К [АРЕ(Н)С] 33
      — АРК [ARC 24
      — АРРА [ARRA] 24
      — БАРК [BARC] 23
      — Вихрь [Whirlwind] 31
      — ГЕК-4 [НЕС-4] 34
      — ГЕК-2М [НЕС-2М] 34
      — Имперского колледжа 23
      — ИРА-1101 [ERA-1101] 34
      — КАЛДИК [CALDIC] 34
      — МАК [MAC] 33 и д.
      — Марк-1 (АСКК) [Мк. 1 (ASCQ] 22
      — Марк-2 [Мк. 2] 22
      — Марк-3 [Мк. 3] 34
      — Марк-4 [Мк. 4] 34
      — НОРК [NORC] 34
      — ОРДВАК [ORDVAC] 32
      — СВАК [SWAC] 32
      — CEAK [SEAC] 30
      — СЕК [SEC] 33
      — ТРЕ [TRE] 32
      — УКК [UCC] 33
      — УНИВАК [UN I VAC] 30
      — Цюзе [Ziise computer] 23
      — ЭДВАК [EDVAC] 28
      — ЭДСАК [EDSAC] 28 и д.
      — ЭНИАК [ENIAC] 25 и д. Машины-аналоги 12
      — с запятой плавающей 202
      — с запятой фиксированной, контроль порядка чисел 221
      — специализированные [special purpose computers] 12
      — универсальные [general purpose computers] 12, 20 и д.
      — цифровые [digital computers] 12 Метод блок-схем [method of
      flow diagrams] 202 и д.
      Метод подпрограмм 210, 256
      на АПЕ(ИКС)К 214
      на Принстонской машине 211
      на ЭДСАК 212 и д.
      Обозначения условные блоков и устройств 45 Обучение машины [educating, learning of machine] 280 и д. Операции групповые [immediate instructions] 200
      — арифметические 56, 62, 63, 67, 216, 256
      — не арифметические 80 и д., 200
      Память [memory] — см. Устройство запоминающее
      — одноразрядная — см. Элемент запоминающий одноразрядный
      Перевод двоичных чисел в десятичные 236
      — десятичных чисел в двоичные 234
      — лингвистический машинный 269 и д.
      Передача управления безусловная 43, 49
      условная 15, 191
      Петля программы простая 203
      сложная 204
      Подпрограммы [subroutines] 210
      — , введение констант 215
      — для АПЕ(ИКС)К 214
      — для машины Принстонской 211
      — для ЭДСАК 212 — закрытые 213
      — интерпретирующие 214 , псевдокод 214
      — , команды связующие 216
      — , комбинации управляющие 213
      — открытые 213
      — , преобразование 210 Подстановка частичная 81, 82 Полусумматор 56
      Псевдокод 214, 260
      — , расшифровка интерпретирующая 260
      — , — на АПЕ(ПКС)К 261
      — , — составляющая 260 Псевдокоманда 260
      Представление функции полиномами Лежандра 250
      ------------Чебышева 250
      рядами Тейлора 249
      — чисел в дополнительном коде [complementary notation] 15, 17, 53
      избыточное [excess notation] 79
      в прямом коде [system
      (sign) (absolute value)] 53
      с плавающей запятой 202
      с фиксированной запятой 221
      Программа 183
      — без разветвления 203
      — деления 217
      оптимальная 256
      — извлечения корня 228, 231
      — интерполирования по формуле Стирлинга 241
      таблицы sin 0 247
      — контроля за порядком чисел 222
      — оптимальная 186, 252 и д.
      — перевода двоичных чисел в десятичные 236
      десятичных чисел в двоичные 234
      — процесса итерационного (циклического) 192
      — с петлей простой 203
      сложной 203
      Программирование 14, 183, 201
      — автоматическое 260 и д.
      —, метод блок-схем [method of flow diagrams] 202 и д.
      — оптимальное 186, 252 и д. Процесс итерационный 191 ид.
      «Разум» [intelligence] машины 286 Регистр индекса [В-Ьох] 51
      — со сдвигом [shifting register] 137 и д.
      Реле Сименса 102
      — типа Р. О. 3000 102
      — электромагнитное 121
      — электронное см. Тиратрон
      Сдвиг содержимого регистра влево 55 ---------- вправо 55
      Сердечник ферритовый 117, 118 Система команд машины см. Код машины
      — счисления двоичная 16, 234, 236
      программная 78 и д.
      ----------, дополнитель [filler] 78
      Сложение машинное 56 СТК-трон [S. Т. C.-tron] 134 Сумматор 56
      — параллельный 60
      — последовательный 59, 61 Схема функциональная 145 и д. матричная 146
      на магнитных сердечниках 147
      релейная 145
      совпадения 148
      Счетчик устройства управления [control counter] 44
      Типы команд 42 Тиратрон 122 Транзистор 115, 129 —, база 115 —, коллектор 115 —, эмиттер 115 Триггер Шмидта 124
      — электронный 123 Триод (лампа) 109
      — полупроводниковый (кристаллический) см. Транзистор
      Трохотрон 134, 135
      Умножение (машинное) 63
      — логическое [collation] 85, 83 Управление местное [local control] 41
      Устройство арифметическое 11, 36, 53 , регистры 54
      — ввода 13, 41, 84, 85 и д.
      — вывода 13, 41, 84, 95 и д.
      — деления 69
      — запоминающее (память) 37, 46
      , дешифратор адреса 185
      — — диодно-емкостное Холта 180
      — — диэлектрическое 174 ---------.система Вильямса 176
      Устройство запоминающее диэлектрическое, система Хэфа и Форрестера 178
      — —, емкость 181
      — —, линия задержки акустическая 171
      магнитно-акустическое 165
      магнитное 152 и д.
      -------- барабанное 152
      -------- дисковое 164
      матричное 167
      , метод развертывания 185
      — — неоновое Куффиньяля 180 параллельного действия
      39, 46
      — — последовательного действия 39, 46
      — — электромеханическое 150
      — ------ проволочное 152
      --------стержневое 151
      — умножения 66
      — управления 11, 40 и д.
      — —,блок запоминания команд
      40, 44 и д.
      , дешифратор 41
      .итератор (ит-счетчик) 52
      , регистр индекса 51
      .счетчик 39, 40
      .схема действия 47 и д.
      Хранение таблиц в АПЕ (ИКС) К 238
      Цикл см. Итерация
      Числа псевдослучайные 259
      , метод вычета 259
      среднеквадратичный метод
      259
      — случайные 259 , генератор 259
      Элемент запоминающий одноразрядный [single digit store], диод разностный 122
      -------- логического типа 128
      --------магнитный 130, 131
      --------недвоичный 133 и д.
      -------- полупроводниковый см.
      Транзистор
      --------. реле электромагнитное
      121
      --------. — электронное см. Тиратрон
      .триггер электронный 123
      ----, Шмидта 124 и д.
      Эмиттер транзистора 115
      Ячейка переноса [carry store] 60

 

 

НА ГЛАВНУЮТЕКСТЫ КНИГ БКАУДИОКНИГИ БКПОЛИТ-ИНФОСОВЕТСКИЕ УЧЕБНИКИЗА СТРАНИЦАМИ УЧЕБНИКАФОТО-ПИТЕРНАСТРОИ СЫТИНАРАДИОСПЕКТАКЛИКНИЖНАЯ ИЛЛЮСТРАЦИЯ

 

Яндекс.Метрика


Творческая студия БК-МТГК 2001-3001 гг. karlov@bk.ru