Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТЯП-Лекция 01.docx
Скачиваний:
29
Добавлен:
11.06.2015
Размер:
3.67 Mб
Скачать

1.4. Вычислительные машины

Вычислительные механизмы – механические, а затем электромеханические арифмометрыи их предшественники – машины В. Шиккарда (1623 г.), Б. Паскаля (1643 г.), Г.В. Лейбница (1673 г.) и др. (рис. 1.9) – умели автоматически выполнять толькоарифметические операции: сложение, вычитание, умножение и деление. Программы их выполнения были реализованы непосредственно их конструкцией. Управление же последовательностью этих операций и ввод чисел осуществлялись вручную. Так что эти машины были непрограммируемыми. Впрочем, сказанное относится и к современным электроннымнепрограммируемым калькуляторам, даже к тем программам «Калькулятор», которые работают в компьютерах, смартфонах и планшетах.

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

Калькулятор Лейбница.

Арифмометр «Феликс» (СССР, 1929-1978).

Рисунок 1.9. Непрограммируемые вычислительные машины.

Первым проектоммеханическойпрограммируемойвычислительной машины была «Аналитическая машина» английского математика Ч. Бэббиджа (1791–1871), разрабатывавшаяся им в 1834–1852 годы (рис. 1.10). Машина Бэббиджа работала в десятичной системе, программа и данные во время исполнения должны были считываться с перфокарт (как в станках Жаккара, с которыми Бэббидж был знаком). Через 100 лет было доказано, что машина Бэббиджа обладала свойствомвычислительной универсальности, как и современные компьютеры18.

Бэббиджу впервые в мире довелось разработать архитектуру19и систему команд программируемойуниверсальнойВМ. Архитектура Ана­литической машины (рис. 1.11) включала четыре основных блока, как и в современных ЭВМ:

  1. устройство управления(УУ) – управляет другими устройствами, читая программу и данные с перфокарт;

  2. арифметическое устройство(«фабрика», АУ) – выполняет арифметические операции, операции сравнения и извлечения квадратного корня, используя память и собственные регистры;

  3. память,запоминающее устройство(«склад») – состоит из числовых регистровпеременных: «столбов», состоящих из цифровых зубчатых колёс (планировалась 1000 столбов по 50 цифровых колёс и одному для знака числа, т.е. память на 1000 десятичных 50-разрядных чисел);

  4. устройство ввода и вывода (планировался ввод с перфокарт и вывод на печать и на перфокарты).

Перфокарты указывали УУ, какие команды следует выполнить:

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

  • карты переменныхуказывали, с какого столба памяти число должно быть передано в регистр АУ, или наоборот;

  • карты операцийзаставляли АУ выполнить определённую операцию (арифметическую, сравнения, извлечения квадратного корня), а результат также в регистр АУ;

  • карта условного переходауказывала, на сколько карт вернуться, если разность операндов в АУ отрицательна.

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

При жизни Бэббиджа были построены лишь некоторые узлы машины, и она не была испробована в действии. Бэббидж оставил огромное количество чертежей, общих схем, пояснительных заметок. Только в 1906 году (через 35 лет после его смерти) его сыном по этим чертежам была построена модель АУ и устройства печати, которая действовала, хотя и с ошибками (модель не была программно управляемой). В 1840 году Бэббидж прочёл цикл лекций об Аналитической машине в Италии, в Турине. Подробные записи этих лекций, сделанные математиком Л.Ф. Менабреа (1809–1869), хорошо разобравшемся в идеях Бэббиджа и конструкции его машины, был им опубликован в 1942 году.

У Ч. Бэббиджа была замечательная помощница – молодой английский математик Ада Лавлейс (дочь поэта Байрона), которая считается первым в мире программистом вычислительных машин (рис. 1.12). С начала 1841 года она серьёзно занялась изучением машин Бэббиджа. Своё восхищение созданием Бэббиджа она передала словами: «Машина ткёт алгебраический узор, как ткацкий станок Жаккара – цветы и листья». Лавлейс перевела статью Менабреа на английский язык и, снабдив подробными примечаниями, опубликовала в 1843 году20. Основная заслуга А. Лавлейс в том, в этих примечаниях описаны первые программы для Аналитической машины и заложены теоретические основы программирования. Так, она ввела понятия «рабочая ячейка» (используемая для хранения промежуточных результатов), «цикл» (повторяющееся исполнение некоторого участка программы), «цикл циклов» (современный цикл в цикле или кратный цикл). В своих программах она использовала и циклы, и кратные циклы. При этом она применяет приёмы экономии количества используемых рабочих ячеек и команд программы.

Важно подчеркнуть, что именно циклы обеспечивают универсальность вычислительной машине, а образуются они в машине Бэббиджа (и современных ЭВМ) именно с помощью команды условного перехода. Тем более удивительно, что эта команда появилась в ЭВМ только в 1948 году (ЭВМ ManchesterBaby, Англия), т.е. не в первых ЭВМ21.

Приведём пример программы (карт) для вычисления факториала по формуле n! = на машине Бэббиджа (на псевдокоде):

1: Установить nна 1 столбе памяти (счётчик цикла, 1-й сомножитель);

2: Установить 1 на 2 столбе (накопитель факториала, 2-й сомножитель);

3: Установить 1 на 3 столбе памяти (конечное значение счётчика);

4: Копировать в АУ операнд с 1 столба памяти;

5: Копировать в АУ операнд с 2 столба памяти;

6: Умножить;

7: Запомнить результат на 2 столбе памяти;

8: Копировать в АУ операнд с 1 столба памяти;

9: Копировать в АУ операнд с 3 столба памяти:

10: Вычесть (второй операнд из первого: счётчик–1);

11: Запомнить результат на 1 столбе памяти;

12: Копировать в АУ операнд с 3 столба памяти;

13: Копировать в АУ операнд с 1 столба памяти;

14: Вернуться на 10 команд (т.е. к команде 4), если разность отрицательна.

15: Копировать в АУ операнд с 2 столба памяти (результат);

16: Напечатать (операнд АУ, т.е. результат).

В этой программе цикл образуют команды (карты) с 4 по 14.

В 1835 году английским физиком и инженером Дж. Генри было изобретено электромагнитное реле22, которое широко стало использоваться при приёме и автоматической печати двоичных сигналов азбуки Морзе по электрическому телеграфу (с 1836 года). С тех пор появилась техническая возможность использоватьдвоичную системув вычислительных машинах. Но произойдёт это лишь через 100 лет.

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

Изобретателем табуляторов стал американский инженер Г. Холлерит, построивший в 1890 г. первый статистический табулятор (рис. 1.13) с целью ускорить обработку результатов переписи населения, которая проводилась в США. Холлерит в 1896 году организовал фирму по производству табуляторов, продавая их железнодорожным управлениям и правительственным учреждениям (партия табуляторов была также закуплена и Российской империей). Табуляторы Холлерита обработку числовых данных производила в десятичной системе, как во всех предыдущих вычислительных машинах. Для этого в нём было от 40 до 120 механических счётчиков. Колёсный механизм счётчиков приводился в движение с помощью электромагнита, срабатывавшего при замыкании электрической цепи металлическим стержнем, проходившим через отверстие в перфокарте (т.е., Холлерит использовал электромеханическое реле).

С 1924 года фирма Холлерита стала называтьсяIBMи постепенно превратилась в современный «голубой гигант» компьютерной индустрии. IBM производила табуляторы до 1949 года (рис. 1.14), продавала до 1976 года, хотя в последние годы они использовались лишь как периферийное оборудование ЭВМ. В Советском Союзе счётно-аналити­ческие машины (табуляторы, сортировщики и др.) начали выпускаться с 1929 года, к 1939 году был освоен весь спектр этой техники. Московский завод САМ выпустил последний табулятор в 1950 году, после чего перешёл на выпуск ЭВМ.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]