gifts2017

История программирования: зарождение концепций.

Опубликовал Александр Рытов (Арчибальд) в раздел Программирование - Теория программирования

Когда пред Наполеоном рассуждали о проектах гражданских инженеров, тогда он непременно спрашивал: «А что думает о том Прони?»

 

Барон Гаспар-Клер-Франсуа-Мари-Риш  де Прони родился в Шамеле, в департаменте Роны, 22 июля 1755 г. Не вдаваясь в подробности биографии (в частности, де Прони изобрел спидометр) укажу, что в конце 18 века он стал Главным вычислителем Франции, и именно ему Наполеон поручил срочно подготовить таблицы логарифмов.

Способ мышления барона отличался... скажем, концептуальностью. Де Прони разделил процесс на три этапа: первый, которым занимались сильнейшие математики,- разработка математического обеспечения, второй - организаторы вычислений на материалах обеспечения, третий - самые обычные, рядовые граждане, «вычислители», осуществляющие сам процесс. Их называли «компьютеры».

Итак, появилась

Концепция №1: Разделение решения сложной/большой вычислительной задачи на алгоритмизацию, программирование и сами вычисления.

Автоматизацией третьего этапа решил заняться Чарльз Беббидж в 1819 году. К этому времени кроме сумматора Паскаля (начало разработки - 1642) уже существовали предшественники перфокарт - ткацкие карты Жаккарда,  появившиеся в 1805 году. Правда, вначале задача произвольных вычислений не ставилась - речь шла о вычислении элементов специфических (преимущественно, астрономических) таблиц методом конечных разностей (отсюда название - разностная машина). Лишь в 1834 году, потерпев ряд неудач при усовершенствовании разностной машины, Беббидж приходит к идее программируемой вычислительной машины, которую он назвал аналитической (Analytical Engine).

В аналитической машине Бэббидж предусмотрел следующие части: склад (store), фабрика или мельница (mill), управляющий элемент (control) и устройства ввода/вывода информации. В (почти) современных терминах - ЗУ (запоминающее устройство), АЛУ (арифметико - логическое устройство), УУ (устройство управления, не путать с управленческим учетом!) и периферийные устройства.

Концепция №2: Архитектура вычислительной машины.

(Теоретически,) машина Беббиджа не только выполняла линейные вычисления, в ней были заложены условный и безусловный переходы и циклы. На вход должны были поступать два потока карт, которые Бэббидж назвал операционными картами (operation card) и картами переменных (variable card): первые управляли процессом обработки данных, записанных на вторых. На тех и на других информация записывалась путем пробивки отверстий. Из операционных карт можно было составить библиотеку функций. Помимо этого, Analytical Engine, по замыслу Бэббиджа, должна была содержать устройство печати и устройство вывода результатов на перфокарты для последующего использования.

Считается, что от машины Беббиджа до теперешней ЭВМ остался всего один шаг:

Концепция №3: Хранение программ в памяти,

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

В 1842 году вышло первое подробное описание изобретения Беббиджа. Статья была опубликована на французском, и Ада Лавлейс взялась перевести её на английский. Ее комментарии к этому переводу дали повод называть Аду первой программисткой - и это правильно. В программе, предназначенной для вычисления чисел Бернулли, ей были даже использованы рекуррентные вложенные циклы. Но главное, в своих комментариях леди Лавлейс высказала великолепную догадку о том, что вычислительные операции могут выполняться не только с числами, но и с другими объектами, (включая стихи и музыку), в том числе, могут модифицироваться и команды машины.

Итак, в очередной раз мы видим подтверждение принципа Арнольда: если какой-нибудь предмет имеет персональное наименование (Америка, например), то это никогда не бывает имя первооткрывателя. Это всегда имя какого-то другого человека. Америка не называется Колумбией, хотя открыл ее Колумб. А «архитектуру фон Неймана» открыли Беббидж и Лавлейс.

Говоря об истоках, нельзя не упомянуть еще одно имя - Алан Матисон Тьюринг. Здесь упомянутый принцип Арнольда дал сбой: машину Тьюринга придумал именно он. В 1936 году Алан опубликовал свою знаменитую работу «О вычислимых числах, с приложением к проблеме разрешимости», и именно на ней построена (к ней сводится) теория алгоритмов. Основной постулат (ничего бОльшего я и не буду приводить, это же не теоретический сайт) -

Концепция №4: Машина Тьюринга может все.

Тьюринг рано ушел из жизни, надкусив отравленное яблоко. Сейчас то яблоко стало логотипом фирмы  Apple...

 

И в завершение - реалии сегодняшнего дня.

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

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

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

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



 

 

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Александр Рытов (Арчибальд) 21.01.11 17:12
Черт подери. Никак шрифт не выравнивается... :o
2. Ирина Пятакова (Alraune) 21.01.11 17:19
Я думала, ты специально про "реалии сегодняшнего дня" такими маленькими буквами написал
3. Александр Рытов (Арчибальд) 21.01.11 17:25
(2) Это да, специально маленькими, поскольку в общем-то к делу не относится. Я с остальным текстом второй час мучаюсь :(
4. Игорь Исхаков (Ish_2) 21.01.11 18:18
Ты заготовки на-гора выдаешь ? Надо же как плодовит...
А в целом - конечно, приветствую !
5. Александр Рытов (Арчибальд) 21.01.11 18:21
(4) Только я тебя позвать собрался - ты уже здесь ;)
6. Ийон Тихий (cool.vlad4) 21.01.11 18:38
Такими темпами книгу можно наваять ;)
8. Игорь Исхаков (Ish_2) 21.01.11 18:54
Теперь подробности после второго чтения. Строго на мой вкус.
Бегло-популярный обзор всё-таки не впечатляет.
Сделан явно впопыхах.
Как то уж совсем - "для народа". Мельканье имен.
Ты бы остановился на машине Бебиджа. И разобрал её чуть более подробно.
Три источника и три составные части.
Тьюринг здесь явно лишний. Заслуживает отдельной темы.
Портреты отвлекают.
Изображение архитектур лучше поместить прямо в тему.
9. Александр Рытов (Арчибальд) 24.01.11 07:42
(8)
Как то уж совсем - "для народа". Мельканье имен.
Цель - популяризация людей. И персонификация идей. Околокомпьютерная (в т.ч. одноэсная) тусовка должна, на мой взгляд, понимать, откуда что взялось.
Касательно машины Беббиджа: на сайте юных конструкторов было бы уместным разобрать технические подробности. А здесь - именно три источника и три составные части.
10. UncleVader (UncleVader) 20.06.12 10:56
А можно подробнее про связь Тьюринга с логотипом Apple?
12. Александр Рытов (Арчибальд) 20.06.12 11:16
13. UncleVader (UncleVader) 20.06.12 11:58
(12) Спасибо, познавательно, и на мысли всякие наводит...
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа