Автор работы: Пользователь скрыл имя, 27 Марта 2012 в 17:36, реферат
1835—1900-е: первые программируемые машины
Определяющая особенность «универсального компьютера» — это программируемость, что позволяет компьютеру эмулировать любую другую вычисляющую систему всего лишь заменой сохранённой последовательности инструкций.
В 1835 году Чарльз Бэббидж описал свою аналитическую машину. Это был проект компьютера общего назначения, с применением перфокарт в качестве носителя входных данных и программы, а также парового двигателя в качестве источника энергии. Одной из ключевых идей было использование шестерней для выполнения математических функций.
Часть Разностной машины Бэббиджа, собранная после его смерти сыном из частей, найденных в лаборатории
программу вычислений. Наряду с табулированием полиномов по методу конечных
разностей на машине можно было рассчитывать значения функций, не имеющих
постоянных разностей, с помощью искусно подобранных эмпирических формул.
Сам Бэббидж достаточно ясно представлял назначение своей машины. Он
пропагандировал использование математических методов в различных областях
науки и предсказывал при этом широкое применение вычислительных машин.
Первый рисунок аналитической машины появился в бумагах Бэббиджа в сентябре
1834 г.
Чертеж «Аналитической машины», 1840 г.
Конструктивная разработка аналитической машины казалась Бэббиджу на столько
простой, что, по его мнению, пришлось бы затратить больше средств на
завершение разностной машины, чем конструировать новую машину из более
простых механических элементов.
Аналитическая машина была задумана как чисто механическое устройство без
каких бы то не было электрических элементов, так как электротехника в то
время только начинала развиваться. Однако при разработке машины Бэббидж
предполагал использовать не только механический привод. Он отмечал, что хотел
бы выполнять расчёты с помощью какого-либо внешнего источника энергии.
На аналитической машине Бэббидж собирался вычислить навигационные таблицы,
выверить таблицы логарифмов, рассчитать ряд астрономических таблиц и провести
много других вычислительных работ.
Большую помощь в разработке аналитической машины оказала Ада Лавлейс
К 1834 году относится знакомство Ады с разностной машиной Бэббиджа. Ада
посещает публичные лекции Д. Ларднера о машине. В это же время, совместно с
Соммервилем и другими, она впервые навещает Бэббиджа и осматривает его
мастерскую.
После первого посещения Ада стала часто бывать у Бэббиджа, иногда в
сопровождении миссис де Морган. Мэри Соммервил вспоминала, что они вместе с
Адой «. часто посещали мистера Бэббиджа, работавшего над вычислительной
машиной»; Бэббидж всегда приветливо встречал их, терпеливо объяснял
устройство своей машины и практическую пользу автоматических вычислений.
В начале знакомства Бэббиджа с Адой его привлекли математические способности
девушки. В дальнейшем Бэббидж нашел в ней человека, который полностью понимал
его устремления, поддерживал все его смелые, а порою и дерзкие начинания.
Отношения Бэббиджа с Адой Лавлейс во многом скрасили его личную жизнь, частые
неудачи в работе. Ада, кроме того, была почти ровесницей его рано умершей
единственной дочери. Все это привело, несмотря на сложность и
противоречивость характера Бэббиджа, к теплому и искреннему отношению к Аде
на долгие годы.
С начала 1841 г. Лавлейс серьезно занялась изучением машин Бэббиджа.
5 января 1841 г., приглашая Бэббиджа в Окхам-Парк, Лавлейс пишет: «Вы должны
сообщить мне основные сведения, касающиеся Вашей машины. У меня есть
основательная причина желать этого». Это предложение было с признательностью
принято Бэббиджем. С этого времени их научные контакты, точнее — научное
сотрудничество, не прерывалось и дало блестящие результаты.
22 февраля 1841 г. Лавлейс пишет Бэббиджу. «Я много думаю о возможности
(полагаю, что могу сказать вполне вероятном) сотрудничестве между нами в
будущем. Я считаю, что результаты этого сотрудничества будут полезны для нас
обоих и полагаю, что эта идея (которую, между прочим, я долго вынашивала в
смутной и приблизительной форме) является одной из тех счастливых
проявлений интуиции, которые временами приходят в голову так необъяснимо и
удачно».
Несмотря на некоторые неувязки и порой даже резкий тон, они работали
совместно, хорошо понимая друг друга. Созданию такой творческой обстановки в
первую очередь способствовал Бэббидж. Хотя он был раздражительным человеком,
обижавшимся на любые возражения, в отношении Лавлейс Бэббидж проявлял
тактичность и чуткость.
Ада Лавлейс в письме от 11 августа задает Бэббиджу вопрос, оставит ли он
«интеллект и способности «леди-феи» на службе своим великим целям?». Ответ
Бэббиджа был, естественно, положительным. В этом же письме Лавлейс предлагает
консультировать всех желающих по вопросам, связанным с вычислительными
машинами, чтобы Бэббидж не отвлекался от основной работы.
Бэббидж продолжает работать над аналитической машиной, хотя все время
испытывает большие финансовые трудности. 4 ноября 1842 г. Бэббидж получает
письмо, в котором правительство окончательно отказывает ему в финансовой
поддержке.
После смерти Лавлейс Бэббидж уничтожил большую часть переписки с ней.
Сохранившиеся письма не только глубже раскрывают творческий облик этих двух
замечательных ученых, но и дают возможность лучше понять жизненные принципы
и позиции их авторов.
Но основная заслуга А. Лавлейс состоит в том, что она разработала первые
программы для аналитической машины, заложив теоретические основы
программирования.
1842—1848 годы Бэббидж посвятил почти исключительно созданию аналитической
машины. В это время он разработал теоретические основы машины и уяснил
огромные возможности, которые могут иметь подобные устройства. Без какой бы
то ни было финансовой поддержки, Бэббидж продолжал работу, используя
собственные средства. Он нашел чертежников и рабочих, которые работали у него
дома. Как и при изготовлении разностной машины, он решил начать работу с
выполнения модели. В процессе работы он постоянно вносил изменения в
конструкцию машины и ставил бесконечные эксперименты.
Часть «Аналитической машины»
Не окончив первую модель машины, Бэббидж принимается за следующую. Но затем
он временно прекращает работу над аналитической машиной, так как в 1848 г.
решает разработать полный комплект чертежей для второй разностной машины. В
этих чертежах должны были быть отражены все усовершенствования, к которым
Бэббидж пришел, создавая аналитическую машину. В 1849 г. он закончил эту
работу.
В 1849 г., закончив чертежи разностной машины, Бэббидж возобновил работу над
аналитической. К тому времени у него сложилось отчетливое представление о
машине, как об устройстве, позволяющем заменить труд многих вычислителей.
Человек-вычислитель, проводя расчет без машины, использует следующие
средства: ручной счетный прибор для производства арифметических действий;
расчетный бланк для записи промежуточных результатов и порядка расчета, т. е.
программу вычислений; справочные таблицы и собственные соображения
относительно последовательности выполнения операций. Бэббидж разрабатывает
машину с такой же функциональной структурой; она включает три основных
блока.
Блок-схема аналитической машины
Первое устройство, которое Бэббидж называет «store» предназначено для
хранения цифровой информации на регистрах из колес; в современных машинах
это—запоминающее устройство.
Во втором устройстве с числами, взятыми из памяти, проводятся цифровые
операции; у Бэббиджа оно носит название «mill», в настоящее время —
арифметическое устройство.
Третье устройство управляет последовательностью операций, выборкой чисел, с
которыми производятся операции, и выводом результатов. Бэббидж оставил это
устройство без названия; по современной терминологии этот «мозг» машины
называется устройством управления.
В конструкцию аналитической машины также входило устройство ввода-вывода.
Предполагая, что скорость движущихся частей машины не превышает 40 фут/мин
(12 м/мин), Бэббидж оценивал ее быстродействие следующими цифрами: сложение
(вычитание) двух 50-разрядных чисел производится со скоростью 60 сложений в
минуту или 1 операция в секунду; умножение двух 50-разрядных чисел — со
скоростью 1 операция в минуту; деление числа из 100 разрядов на число из 50
разрядов— со скоростью 1 операция в минуту.
Перфокарты, с помощью которых
Бэббидж предполагал автоматизировать работу аналитической машины, могут быть
разделены на две основные группы: операционные и управляющие.
С помощью операционных перфокарт осуществлялись сложение, вычитание,
умножение и деление чисел, находящихся в арифметическом устройстве.
Операционные перфокарты выглядели так:
С помощью управляющих перфокарт осуществлялась передача чисел как внутри
машины (из памяти в арифметическое устройство и обратно), так и в системе —
«человек-машина» (ввод оператором новых чисел в память машины и вывод
результатов вычислений на печать).
Для обозначения управляющих перфокарт, с помощью которых осуществлялась
передача чисел между памятью и арифметическим устройством, Бэббидж
использовал термин «карты переменных». В письме к Лавлейс от 30 июня 1843 г.
Бэббидж писал, что в аналитической машине «используются только три вида карт
переменных:
1) карты, с помощью которых переменные выводятся из памяти в счетное
устройство, на колонках при этом остается нуль;
2) карты, с помощью которых переменные выводятся из памяти в счетное
устройство, при этом величина их в памяти сохраняется;
3) карты, с помощью которых можно вызвать любую нулевую переменную с целью
получения результата из счетного устройства».
Лавлейс предложила следующие названия данных трех разновидностей карт
переменных:
1) «нулевая карта» (для вызова числа из регистра памяти с одновременной
установкой нуля в регистре — по современной терминологии «считывание с
разрушением информации»);
2) «удерживающая карта» (для вызова числа из регистра памяти без изменения
содержания регистра — по современной терминологии «неразрушающее
считывание»);
3) «доставляющая карта» (для передачи числа из арифметического устройства в
память).
Важно отметить, что применение перфокарт не только обеспечивало
автоматическое решение задачи на аналитической машине, но и существенно
облегчало подготовительную работу для решения другой однотипной или сходной
задачи.
Для решения некоторой задачи в аналитическую машину вводятся исходные числа,
записанные на цифровые перфокарты. Каждое число занимает один регистр
памяти (колонку из десятичных цифровых колес), где оно хранится и
используется по требованию. По окружности дисков колес выгравированы цифры
от 0 до 9; каждый из дисков, насаженных на общую ось колонки, может совершать
независимое вращательное движение. Результат операции также передается в
память. Управляющие карты вводят колеса колонки в зацепление с зубчатыми
рейками, через которые данное число (записанное на перфокарте или
представляющее на колонке промежуточный результат) вводится в память. Одного
оборота главного овала достаточно, чтобы установить число на колонке памяти
или передать его из памяти к другой части машины.
Бэббидж считал, что аналитическая машина должна выполнять арифметические
операции независимо от величины чисел, над которыми производятся операции;
кроме того, она должна управлять комбинациями алгебраических символов вне
зависимости от их количества, а также длины той последовательности операций,
в которых они участвуют.
Из этих основных принципов Бэббидж сформулировал ряд следствий, которые на
первый взгляд выглядели неправдоподобными. Он считал, что количество цифр в
каждом числе, а также количество чисел, вводимых в машину, может быть
неограничено; количество операций, которые могут производиться в любом
порядке, может повторяться неограниченное число раз. Также может быть
неограниченным число констант, переменных и функций, с которыми производятся
различные операции.
Бэббидж полагал, что разработанная им машина должна хранить тысячу чисел,
считая это более чем достаточным. Но если бы потребовалось хранить в десять
или в сто раз больше чисел, то в принципе это возможно, поскольку структура
машины достаточно проста.
Далее Бэббидж рассматривает возможность неограниченного повторения четырех
действий арифметики. Она вытекает из того, что четыре перфокарты операций,
пробитые определенным образом, обеспечивают выполнение четырех правил
арифметики. Эти карты могут соединяться в любом количестве и в том порядке, в
котором необходимо выполнить действие. Очевидно, что порядок следования
различных арифметических действий может варьироваться неограниченно.
Бэббидж приходит к выводу, что условия, которые требуются для выполнения
расчетов, число операций в которых не ограничено, могут быть реализованы в
аналитической машине.
В аналитической машине сложение является основной (базовой) операцией,
поскольку механизм, сконструированный для ее эффективного выполнения,
позволял осуществлять другие операции.
Вычитание в машине обеспечивается введением дополнительной шестерни, которая
осуществляет реверс (обратный поворот) цифровых дисков: при этом, проходя
перед окошком, цифры последовательно уменьшаются, и всякий раз, когда 0
проходит и появляется 9, происходит перенос. При вычитании производятся те
же самые операции и используется тот же самый принцип зацепления. Таким
образом, один и тот же механизм служит для сложения и вычитания; смена
операций производится перемещением одного рычага.
Следует отметить, что при вычитании большего числа из меньшего должно быть
сделано указание о месте нахождения высшего разряда. Это необходимо для