08 марта 2009
Обновлено 17.05.2023

Бездушный математик. История развития вычислительных систем до появления персональных компьютеров, часть 1

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

На дворе конец первого десятилетия XXI века. В моду входят компактные настольные компьютеры и нетбуки на основе процессоров Intel Atom. Индустрия идет по пути миниатюризации компонентов вычислительных систем. Уже сейчас полнофункциональные устройства с поддержкой воспроизведения видео в High Definition можно поместить в карман брюк. Однако в середине прошлого столетия, каких-то 70-80 лет назад, простейшие компьютеры-калькуляторы занимали целые залы.

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

Человек-компьютер

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

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

Первые попытки создать вычислительное устройство были предприняты в первой половине XIX века. Речь идет об аналитической машине (analytical engine) англичанина Чарльза Беббиджа. По его задумке устройство на основе парового двигателя должно было рассчитывать и печатать логарифмические таблицы с высокой точностью. Для программирования и вывода результатов планировалось использовать перфокарты. Как это обычно бывает, прогрессивная мысль создателя намного опередила время. Промышленность той эпохи не смогла изготовить необходимые компоненты, поэтому правительство быстренько прекратило финансирование проекта, работа встала. Действующий образец машины по проекту Беббиджа был создан лишь в 1991 году. В настоящее время это чудо техники установлено в Научном музее Лондона.

Следующим знаковым событием докомпьютерной эпохи стала перепись американского населения в 1890 году. При этом использовались табуляторные машины (tabulating machine) разработки Германа Холлерита. Подсчет результатов предыдущей переписи 1880 года занял целых семь лет. К тому же окончательные цифры не отражали действительность из-за высоких темпов иммиграции. Власти были уверены, что подведение итогов новой переписи отнимет порядка 13 лет. Однако табуляторные машины сократили этот срок до 18 месяцев.

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

Технология Холлерита быстро набрала популярность. Табуляторные машины использовали для самых разных работ. Их устанавливали в университетах и банках. Позже компания Холлерита была преобразована в International Business Machines , сейчас известную как IBM. Выпуск табуляторных машин продолжался до 1940 года, разработчики совершенствовали технологию, выпуская все более быстрые модели.

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

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

Особенности современных мейнфреймов

— Рабочая нагрузка мейнфреймов может составлять 80-95% от их пиковой производительности.

— Среднее время наработки на отказ для мейнфреймов — 12-15 лет. С учетом того, что большинство из них работает по графику 24/7, это очень высокий показатель надежности.

— Мейнфреймы очень устойчивы к сбоям. Это достигается благодаря:

а) дублированию: используются резервные процессоры, запасные микросхемы памяти, альтернативные пути доступа к периферийным устройствам;

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

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

— В мейнфреймах реализованы совершенные системы защиты: криптографические устройства, Logical Partition (разбиение физической системы на несколько виртуальных, каждой из которых управляет отдельная ОС), средства контроля над доступом к ресурсам, такие как RACF или VM:SECURE.

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

Смутное время цифровых вычислений

Сильное влияние на создателей вычислительных систем оказало исследование английского математика и криптографа Алана Тюринга. Представленный им в 1936 году документ предлагал совершенно новую концепцию компьютера — системы, которая выполняет программу, загруженную с внешнего носителя. Автор считал, что для этого надо реализовать адекватный механизм загрузки и выгрузки программ (например, перфоленту).

Американский математик Джон фон Нейман, впечатленный трудом Тюринга, придумал и изложил свое видение вопроса. Согласно его концепции компьютер должен использовать одну и ту же память для одновременного хранения как самой программы, так и данных. Концепция фон Неймана получила поддержку со стороны архитекторов новых цифровых систем и стала стандартом де-факто.

В 40-е годы прошлого века в мире существовало сразу три параллельных направления. Над созданием компьютера трудились в Германии, Великобритании и США. Работа инженера Конрада Зюса началась в изолированной Германии в 1936 году. Мастер приступил к созданию универсального цифрового калькулятора с возможностью внесения программ. Компьютер Z1 появился в 1938 году, но так и не завоевал популярности из-за неточной работы. Устройство было полностью механическим, но уже двоичным. Для сравнения, описанная Беббиджем аналитическая машина использовала десятичную систему счисления.

Осознав свои ошибки, Зюс приступил к разработке модифицированной машины Z2. В устройстве вместо арифметических и логических схем были установлены электрические реле. Этот компьютер также не получил всеобщего признания. По-настоящему легендарной стала следующая машина Конрада Зюса. Законченный в 1941 году Z3 считают первым работающим программируемым цифровым компьютером. По многим параметрам устройство напоминает современные системы (к примеру, оно умело работать с плавающей запятой). Z3 считывал программы с перфолент и поддерживал разработанный Зюсом высокоуровневый язык программирования. В общем, изобретателю было чем гордиться. Дальнейшей работе помешала война. Бомбардировки уничтожили многие наработки Зюса. По той же причине коллеги инженера в США и Великобритании не знали о машинах серии Zn (хотя позже IBM выкупила патенты на изобретения Зюса в обмен на финансирование).

Разработка британских инженеров держалась в тайне до начала 70-х годов. Компьютер Colossus придумали с одной-единственной целью — с помощью этой системы предполагалось расшифровывать немецкие радиопередачи. Colossus известен как первый полностью электронный компьютер на основе вакуумных трубок. Прототип Colossus Mark 1 представили в 1943 году. Машина была лишь частично совместима с концепцией Алана Тюринга. Программировалась она при помощи переключателей. Помимо этого, компьютер умел считывать программы с бумажной ленты.

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

Американцы пошли по иному пути. В 1937 году компьютерный энтузиаст — математик и инженер электроники Клод Шеннон — реализовал принципы булевой алгебры при помощи электронных реле и переключателей. В том же году свой компьютер Model K на основе реле представил Джордж Стибиц из компании Bell Labs. Воодушевившись успехом изобретателей, начальство Bell усилило финансирование проекта и организовало команду разработчиков во главе со Стибицем. Результатом их трехлетнего труда стал калькулятор комплексных чисел. Разработчики показали готовую систему и смогли продемонстрировать работу с устройством на расстоянии (команды отправлялись через телефонную линию). На легендарной презентации присутствовали Джон фон Нейман, Джон Мачли и Норберт Винер. Все они написали о компьютере в своих мемуарах.

Параллельно со Стибицем над компьютерной системой трудились Джон Винсент Атанасов и Клиффорд Берри в Университете штата Айовы. Вычислительная машина под названием Atanasoff-Berry Computer умела решать системы линейных уравнений, в конструкции устройства было задействовано 300 вакуумных трубок и конденсаторы в механически вращаемом барабане. Система строилась без оглядки на теорию Тюринга. Компьютер не поддерживал программирование и поэтому не пользовался большим успехом. В июне 1941 года устройство осмотрел Джон Мачли. Реализованные в Atanasoff-Berry Computer идеи ему понравились, судя по всему, именно они легли в основу компьютера ENIAC , о котором мы расскажем чуть позже.

В 1939 году стартовал проект в лаборатории IBM Endicott. Инженеры компании использовали принципы аналитической машины Чарльза Беббиджа для создания своего Harvard Mark 1 (также известного как автоматический контролируемый калькулятор ). Электромеханическое устройство использовало десятеричную систему счисления, основу конструкции составляли переключатели и электромагнитные реле. Машина содержала несколько параллельных вычислительных блоков, программа вносилась при помощи перфоленты. Harvard Mark 1 заработал в 1944 году.

Но одним из самых мощных компьютеров того времени был ENIAC ( Electronic Numerical Integrator and Computer ), разработанный в Университете штата Пенсильвания под контролем Джона Мачли и Дж. Преспера Экерта. Компьютер начал функционировать в 1945 году и сразу же сразил всех своей производительностью. Система на основе электронных схем работала со скоростью 5000 операций в секунду, что намного больше, чем возможности любого похожего устройства того времени. ENIAC был оснащен модулями для умножения, деления, вычитания. Машина содержала примерно 80 байт памяти.

Высокая скорость работы вылилась в по-настоящему гигантские размеры устройства. ENIAC состоял из 17468 вакуумных трубок, 7200 диодов, 1500 электронных реле, 70 тыс. резисторов, 10 тыс. конденсаторов и порядка 5 млн соединений. Весила махина около 30 тонн, занимала площадь 680 квадратных метров, потребляла 150 кВт энергии. Компьютер принимал перфоленту с программами через считывающее устройство производства IBM. При создании ENIAC разработчики задействовали модульный подход — все функциональные блоки устройства были выделены в отдельные сегменты для выполнения разных функций. Важной особенностью компьютера стала поддержка вычисления сложных последовательностей с использованием ветвлений. Правда, на разработку программ на бумаге у математиков уходило несколько недель, а задание параметров ENIAC при помощи переключателей отнимало еще несколько дней.

Фон Нейман в моде

Первые работающие системы на основе архитектуры фон Неймана появились в 1948-1949 годах. Свои разработки представили сразу два университета. Манчестерская машина под милым названием Baby стала первым компьютером со встроенной в память программой. Система создавалась для тестов нового типа компьютерной памяти — так называемых трубок Виллиамса. Неожиданный успех побудил создателей к дальнейшей разработке. Спустя какое-то время систему переименовали в Manchester Mark 1 и представили первый коммерчески доступный компьютер Ferranti Mark 1. Создатели планировали продать несколько сотен таких машин, но не удалось доделать даже единственную заказанную систему — заказчик прекратил финансирование проекта.

Вторую систему по фон Нейману представил Кембриджский университет в 1949 году. Компьютер под названием EDSAC (Electronic Delay Storage Automatic Calculator) оснащался памятью на основе линий задержки и вакуумными трубками в качестве основной логики.

Но наибольшую популярность заработал второй проект Экерта и Мачли. Компьютер EDVAC (Electronic Discrete Variable Automatic Computer) задействовал двоичную систему счисления. Его последовательная архитектура умела проводить операции сложения, вычитания, умножения и деления в автоматическом режиме. Программа была записана в быструю (по тем временам) последовательную память на основе линий задержки. Компьютер состоял из 6 тыс. вакуумных трубок, 12 тыс. диодов и потреблял порядка 56 кВт энергии.

Первый EDVAC был доставлен в американскую Лабораторию исследования баллистики в 1949 году, но заработал он лишь в 1951 году после устранения ряда серьезных проблем. Кстати, примерно в то же время Экерт и Мачли ушли из Университета штата Пенсильвания и основали собственный бизнес по производству вычислительных систем Eckert-Mauchly Computer Corporation. Многие аналитики рассматривают системы Manchester Mark 1, EDSAC и EDVAC как прародителей современной архитектуры компьютеров.

Первым коммерчески успешным компьютером США стала система UNIVAC 1. Изначально ее разрабатывала компания Мачли и Экерта. Однако финальный образец вышел из-под крыла Remington Rand , которая купила Eckert-Mauchly Computer Corporation. Новый компьютер использовал 5200 вакуумных трубок и весил порядка 13 тонн, система выполняла около 2000 операций в секунду и занимала комнату в 35 квадратных метров. Вместе с UNIVAC 1 появились приводы с постоянной памятью на основе магнитной пленки. Первую систему в 1951 году доставили в то самое американское бюро по переписи населения, где несколько десятков лет назад дебютировала табуляторная машина Германа Холлерита. Уже в следующем году UNIVAC 1 предсказал результаты выборов американского президента после загрузки всего 1% от общего числа голосов. Позже Remington Rand продала 46 компьютеров по цене $1 млн каждый.

Прошло немного времени, и на рынок компьютеров, созданных по архитектуре фон Неймана, вышла компания IBM. В 1952 году «голубой гигант» публично анонсировал свой первый мейнфрейм — систему IBM 701 Electronic Data Processing Machine. Компьютер оснастили электростатической памятью на основе трубок Виллиамса общей емкостью до 18 Кб. Сама система состояла из многочисленных модулей с аналитической логикой, памятью, устройствами для считывания и записи перфокарт и так далее. Каждый из модулей был собран в рамке, отсюда и пошло название мейнфрейм (в переводе с англ.main frameосновная рамка ).

В 1954 году вместе с новым поколением IBM 704 появилась магнитная память, которая стала стандартом для больших компьютеров. Новая система базировалась на сильно переработанной архитектуре, но при этом сохраняла совместимость с предыдущей моделью.

Примерно тогда же оформился первый реализованный на практике высокоуровневый язык программирования — фортран. В компьютеры начали загружать микрокод с первичными командами. Идеи инженеров IBM меняли рынок компьютеров. Компания представила несколько модификаций своих систем, включая уменьшенный 900-килограммовый IBM 650 , и выпустила первый накопитель на магнитных дисках под названием RAMAC (Random Access Method of Accounting and Control). Устройство использовало пятьдесят 24-дюймовых металлических пластин общей емкостью до 5 Мб. При этом каждый мегабайт обходился покупателям в $10 000. Для сравнения, сейчас цена одного мегабайта на различных носителях обычно не превышает двух сотых цента.

Высокий язык

Фортран первый язык программирования высокого уровня, созданный для быстрого и удобного написания программ. Он был разработан в период с 1954 по 1957 год в недрах компании IBM. Руководил проектом Джон Бэкус, который впоследствии получил за эту разработку премию Тьюринга (в 1977 году). Само название Fortran — это аббревиатура от FORmula TRANslator , что в переводе с английского означает «переводчик формул».

Фортран широко использовался (и используется) для научных и инженерных вычислений. Сегодня можно найти множество готовых библиотек, написанных на этом языке: пакеты для перемножения матриц, пакеты для решения сложных интегральных и дифференциальных уравнений и многие-многие другие. Они отлажены, эффективны и тщательно документированы. А самое главное — все эти программные пакеты свободно доступны в исходных кодах.

* * *

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

В следующей части нашего рассказа мы поведаем о компьютерах второй половины XX века. Именно в это время получили распространение транзисторы, появились первые интегральные микросхемы и случилось еще много чего интересного.

Комментарии
Чтобы оставить комментарий,Войдите или Зарегистрируйтесь