Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Глава 1 _2015

.pdf
Скачиваний:
18
Добавлен:
29.03.2016
Размер:
887.69 Кб
Скачать

31

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

Попытки «впрячь в одну телегу коня и трепетную лань» приводят к идее построения гибридных, то есть цифро-аналоговых вы- числительных машин, которые представляются весьма перспективными для XXI века.

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

Вернемся же в славный XVII век и познакомимся с историей создания первой механической цифровой вычислительной машины.

1.4. Суммирующая машина Паскаля

Честь создания первой механической

 

счетной машины принадлежит великому

 

французскому ученому и изобретателю

 

Блезу Паскалю (Pascal, Blaise; 1623 —

 

1662), известному своими достижениями

 

в физике и математике (закон Паскаля для

 

жидкостей и газов, треугольник Паскаля

 

для вычисления биномиальных коэффици-

 

ентов и др.).

 

Отец Паскаля, который во времена

 

кардинала Ришелье (Richelieu, 1585—1642)

 

служил сборщиком налогов, очень много

 

времени и сил тратил на утомительные

 

арифметические выкладки, и юный Блез

 

задался целью облегчить арифметические

Блез Паскаль

вычисления для отца. В 1642 году, в воз-

(1623—1662)

Механизм передачи десятков в машине Паскаля
Паскалина (1642 г.)

32

расте 19 лет, он публично продемонстрировал механическую вычислительную машину

— «Паскалину».

Главный недостаток абака или счетов — необходимость ручного преноса единицы в старший разряд при переполнении предыдущего. Механизировать этот процесс на камешках (костяшках) не уда-

валось, нужно было изобрести новый элемент с десятью устойчи- выми состояниями, отображающими цифры разряда. После долгих раздумий Паскаль изобрел ... колесо, но не простое, а зубчатое, с 10 зубцами. Поворот колеса на один зубец (1/10 часть окружности) соответствует увеличению значения разряда на единицу, а при полоном обороте колеса специальный, доаольно сложный, механизм передачи десятков (см. рис.) поворачивает следующее колесо ровно на один зубец.

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

Более того, счетчик Паскаля с некоторыми усовешенствованиями стал центральныи устройством

— сумматором — всех последующих механических и электромеханических вычислительных машин вплоть до середины XX века, и даже в первых конструкциях элекктронных машин средствами электроники моделировалась работа цикли- ческого десятичного счетчика, пока фон Нейман не предложил

33

перейти на двоичную систему счисления (об этом мы будем говорить в следующей главе).

Паскаль более 10 лет занимался усовершенствованием своей машины, было сделано 50 ее экземпляров из латуни, слоновой кости, других материалов (до наших дней сщхранилоь 8, в том числе один хранится в музее корпорации IBM). Машина получила известность, а Паскаля за ее изобретение сравнивали с Архимедом. Множество людей приходило в Люксембургский дворец, где она была выставлена для всеобщего обозрения. Однако широкого распространения Паскалина не получила по нескольким причинам. Во-пер- вых, она была достаточно сложной и дорогой, а, во-вторых, и это самое главное, машшина предназначалась исключительно для сложения и вычитания 6—10 разрядных чисел, а самые трудоемкие операции умножения и деления она не механизировала. Этого удобства сборщикам налогов пришлось ждать еще 50 лет.

1.5.Арифмометр — от машины Лейбница до электронного калькулятора

Операция умножения многознач-

 

ных чисел сводится к повторному сло-

 

жению; именно так поступаем мы,

 

выполняя умножение «столбиком» на

 

бумаге (см. пример).

 

При реализации этого алгоритма

 

на машине Паскаля приходится не-

 

сколько раз (в нашем примере шесть)

 

вводить одно и то же множимое, вре-

 

менами сдвигая его на один разряд вле-

 

во, что очень утомительно.

 

Оригинальное решение проблемы

 

предложил в 1673 году знаменитый не-

Готфрид Лейбниц

 

34

мецкий математик, философ, дипломат Готфрид Лейбниц (Leibnitz, Gottfried; 1646—1716). Он ввел в вычислительную машину два принципиальных усовершенствования.

1526

 

1526

 

312

 

 

312

 

 

 

 

 

 

 

1526

 

 

1526

1526

 

1526

1526

 

3052

1526

сдвиг->

3052

1526

 

1526

1526

 

18312

476112

сдвиг->

18312

 

 

 

1526

 

 

 

1526

 

 

 

1526

 

 

 

476112

à)

 

á)

Алгоритм умножения целых чисел при вычислениях на бумаге и машине Паскаля (а) и на арифмометре (б).

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

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

Таким образом, введя один раз множимое, можно многократно вводить его со сдвигом в счетчик, производя операцию умножения. Операция деления выполняется аналогично, путем повторного вы- читания делиталя из делимого, для чего рукоютку прибора следует

Арифмометр Лейбница (1673 г.)

35

крутить в другую сторону. Арифметическая машина

Лейбница совершенствовалась в деталях, но не в принципе, на протяжении следующего XVIII, а затем и XIX веков, она получила название арифмометра и стала производиться многими фирмами. Наиболее популярной была модель французского инженера Карла Томаса, который в 1821 году

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

Только через 200 лет, в 1873 году петербургский изобретатель В.Т.Однер, швед по происхождению, предложил более простое и компактное, чем валик Лейбница, устройство для ввода чисел в арифмометр — так называемое колесо Однера с переменным числом зубцов. На базе своего изобретения Однер организовал широкомастабное производство арифмометров. В 1917 году Однер эмигрировал в Швецию, но производство арифмометров в России

постоянно увеличивалось. На московском заводе имени Ф.Дзержинского арифмометры Однера выпускались под маркой «Феликс», в 1969 году их было выпущено 300 000 шт.

Арифмометр "Феликс", выпуск 1960-х годов.

С помощью арифмометра были составлены фундаментальные математические таблицы, выполнены сложнейшие астрономические расчеты, так что «желез-

36

 

ный Феликс» — это почтен-

 

ный и заслуженный вычис-

 

лительный прибор, и в

 

коллекции музея истории

 

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

 

стоит на самом почетном

 

месте.

 

Усовершенствование

 

арифмометра продолжалост

 

вплоть до 70-х годов XX

 

века. К ручке приделали

Электромеханически й калькулятор

электромоторчик, неудоб-

ный рычажковый ввод заме-

середины 1960-х годов

нили на клавишный — в

 

 

результате появилось целое

семейство электромеханических калькуляторов.

Я застал эти машины в лаборатории счетно-решающих устройств СФТИ в 1964-65 годах. Особенное впечатление произвела немецкая Zoemtron тем, что она совершенно самостоятельно, с ужасающим треском и лязганьем, производила деление многозначных чисел. Любимым занятием было заставить ее делить на нуль и посмотреть, что из этого получится. Машина не замечала подвоха и продолжала греметь шестеренками до тех пор, пока нажатием специальной клавиши не останавливали это пустое занятие.

В середине 1960-х годов появились первые электронные калькуляторы. По своим функциональным возможностям они полностью копировали электромеханические вычислители, имели приблизительно те же размеры, зато работали бесшумно. За прошедшие 30 лет калькуляторы сильно «похудели» (сейчас их встраивают даже в часы и авторучки), подешевели, стали удобнее в пользовании и проч. и проч. Однако в идейном отношении современные электронные калькуляторы недалеко ушли от арифмометра Лейбница: они предназначены для выполнения одной изолированной операции. Если нужно выполнить цепочку вычислений, то приходится каждый раз записывать результат на бумажку и вновь

Программное
управление

37

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

1.6.Принцип программного управления. Вычислительные машины Бэббиджа

С точки зрения вычислительной техники XVIII век был беден крупными событиями, но вот наступил век XIX. Великая французская револю-

ция, европейские войны, звездный час наполеоновской империи...

На фоне этих политических событий было сделано одно эпохальное техническое изобретение: в 1904 году французский механик Жан-Мари Жаккар (Jacquard, J. M.; 1752 — 1834 ) построил ткацкий станок, который автоматически, без участия человека, ткал узорное полотно (оно так теперь и называется — жаккардовое). Станок управлялся программным механизмом на перфокартах.

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

38

ных станках можно было программиро-

 

вать даже циклы для повторяющихся ча-

 

стей рисунков.

 

 

Станок Жаккара произвел револю-

 

цию в технике, ибо он ознаменовал со-

 

áîé

воплощение

нового

 

технологического принципа

— ïðèí-

 

ципа программного управления. Вслед

 

за ткацким станком вскоре появились

 

и другие программно-управляемые ав-

 

томаты, например, механическое пиани-

 

но — пианола.

 

Чарльз Бэббидж

Идея применить принцип про-

(1791—1871)

граммного управления к вычислитель-

 

ному устройству и «ткать алгебраические узоры, как ткацкий станок Жаккара — цветы и листья»1 была высказана выдающимся английским ученым и изобретателем Чарльзом Бэббиджем (Babbage, Charles; 1791 - 1871 ).

Судьба Бэббиджа замечательна и драматична. Сын богатых родителей, выпускник Кембриджского университета, он отли- чался чрезвычайно широкими научными интересами и до глубокой старости сохранял высокую работоспособность. Опубликовал множество работ по математике, физике, астрономии, геологии, экономике, лингвистике. Кроме научных занятий увлекался прикладным техническим творчеством (сделал ряд изобретений для железнодорожного транспорта, разработал систему управления маяками, придумал логический автомат для игры в крестикинолики и др.). Главному делу своей жизни — конструированию вычислительных машин — Бэббидж посвятил более 50 лет. После него осталось 37 кв. м. чертежей, несколько моделей отдельных частей разностной и аналитической машин. Его технические

1Это сравнение принадлежит Аде Лавлейс.

39

идеи на столетие опередили свое время1.

К идее программного управления Бэббидж пришел не сразу, а после 14 лет работы над проектом так называемой разностной машины. Мысль о создании такой машины пришла Бэббиджу в 1820 году, когда он ознакомился с работами французских ученых по составлению десятичных математических таблиц. Работы велись двумя вычислительными мастерскими (для взаимной перепроверки), в каждой около ста человек изо дня в день вели однообразные выкладки по фиксированному алгоритму конечных разностей, использующему только сложение и вычитание. Эту рутинную работу Бэббидж решил поручить механическому вычислителю. В течение двух лет былл разработан первый проект и сделана небольшая действующая модель. Продемонстрировав модель Королевскому обществу (аналог нашей Академии Наук), Бэббидж добился правительственного финансирования и начал работу над постройкой машины в полном масштабе.

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

Аналитическая

Еще работая над проектом разностной ма-

шины, Бэббидж понял, что ее возможнос-

машина

ти можно неизмеримо увеличить, если схе-

 

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

1В истории науки Бэббидж известен не только своими изобретениями, но и чудаче- ствами. Много сил и энергии он потратил на политическую борьбу с уличными шарманщиками, которые раздражали его непрошенными концертами.

40

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

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

Первый блок Бэббидж назвал «mill», то есть «мельница», предназначен для выполнения четырех арифметических действий. По современной терминологии это — процессор. Вычисления должны были вестись в десятичной системе счисления, точность представления чисел составляла 50 десятичных знаков, при этом сложение двух 50-разрядных чисел должно было происходить за 1 сек., умножение и деление — за 1 мин.

Второй блок называется «store», что означает «склад», или, понашему, оперативная память. Временное хранение чисел должно было осуществляться на вертикальных осях с 50 (по числу разрядов) колесами на каждой. Всего предполагалось иметь на складе 1000 осей (ячеек памяти). Нельзя не удивиться размаху планов Бэббиджа: даже в первых электронных компьютерах середины XX века не было такого адресного пространства.

Третий блок представлял собой устройство управления. Он состоял из двух жаккардовских перфокарточных механизмов: один для программы, второй

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

Последний, чтевертый

Фрагмент аналитической машины блок предназначался для

Бэббиджа (реконструкция)