Удивительная история информатики и автоматики - Валерий Шилов
Шрифт:
Интервал:
Закладка:
В ноябре 1958 года молодой, но уже имевший серьезный стаж работы на компьютерах Univac I, IBM 702 и Univac II программист Лайл Джонсон стал сотрудником корпорации IBM.
Подразделение, в котором он начал работать, называлось «Machine Organization department» (Отдел организации вычислительных машин). Так что Джонсон должен был анализировать особенности построения (организации) различных вычислительных машин, отбирая и характеризуя их с точки зрения полезности для пользователя при решении тех или иных задач.
Компания IBM в то время вела разработку компьютера IBM 7030, более известного сегодня как Stretch. В течение многих месяцев Джонсон внимательно изучал техническую документацию, посещал производственные совещания конструкторов. Наконец он написал небольшую 30-страничную брошюру, в которой попытался сформулировать наиболее важные принципы построения этого компьютера.
В предисловии к брошюре Джонсон указал, что предметом его анализа является структурированная логическая организация машины, которую он назвал архитектоникой. Однако скоро ему показалось, что на бумаге этот термин выглядит слишком уж напыщенным и вычурным. И он заменил архитектонику на более привычное слово архитектура, тем более что оно куда лучше соответствовало тому смыслу, который вкладывал в него сам Джонсон.
Обложка монографии о проекте StretchБрукс, в то время один из ведущих разработчиков компьютера Stretch, прочитал сочинение коллеги, и возражений его содержание у него не вызвало. Так что ю ноября 1959 года техническая записка с номером RC-160, озаглавленная «А Description of Stretch» (Описание компьютера Stretch), увидела свет.
Именно эту дату смело можно считать днем рождения столь популярного сегодня термина. Однако, хотя все заинтересованные лица техническую записку прочитали, новый термин их внимания не привлек и остался фактически незамеченным.
И только Брукс, в отличие от коллег, сумел оценить его по достоинству. Во всяком случае, он не только не забыл о нем, но и глубоко обдумал его смысл. И когда в 1962 году была издана коллективная монография, обобщавшая опыт работы над проектом Stretch, Брукс назвал написанную им 2-ю главу книги «Architectural Philosophy» (Философия архитектуры), а один из подразделов был озаглавлен «Современные тенденции в архитектуре компьютеров».
Глава начиналась следующей преамбулой: «Архитектура компьютера, как и другая архитектура, есть искусство определять потребности пользователя той или иной структуры и затем разрабатывать ее, удовлетворяя эти потребности настолько эффективно, насколько это возможно в условиях экономических и технологических ограничений. Архитектура должна включать инженерные соображения, чтобы разработка была экономичной и осуществимой, но акцент в архитектуре делается на потребностях пользователя, в то время как в инженерии — на возможностях изготовителя».
Таким образом, Брукс определил архитектуру не просто как абстрактную организацию вычислительной машины, а как некую структуру, ориентированную на своего пользователя. Более того, он прямо указал на аналогию этого термина с традиционно понимаемой архитектурой — а именно, что они ориентируются на человека, пользующегося ею.
Так понятие архитектура компьютера впервые было определено и использовано в книге, предназначенной для широкого читателя. Но при этом нельзя не сказать, что другие авторы книги им ни разу не воспользовались. Оно даже не было включено в сводный индекс терминов, помещенный в конце книги. А между тем среди авторов монографии были крупнейшие конструкторы ЭВМ (сегодня их назвали бы именно архитекторами) — Вернер Бухгольц, Геррит Блау, Джон Кок и Джон Померен, а также такие выдающиеся ученые в области вычислительной техники, как разработчик теории реляционных баз данных Эдгар Кодд и создатель кодов ASCII Боб Бемер. Похоже, что новое понятие и в этот раз не приглянулось даже специалистам.
Однако до всеобщего признания оставалось совсем недолго. Официально компания IBM расценила проект Stretch как свою неудачу. Сегодня Stretch называют одним из первых в мире суперкомпьютеров, особо отмечая его высочайшую по тем временам надежность. Но его разработка обошлась слишком дорого. Явно завышенные и вряд ли реализуемые ожидания (изначально планировалось, что производительность Stretch в 100 раз превысит производительность предыдущей разработки — компьютера IBM 704) привели к тому, что предполагавшуюся продажную цену пришлось уменьшить вдвое, и компания понесла огромные убытки.
Однако именно в ходе работы над проектом Stretch родились многие новаторские технические идеи, которые на долгие годы определили пути развития вычислительной техники. В частности, накопленный опыт оказался востребованным при работе над знаменитыми ЭВМ серии IBM 360. Этот проект возглавлял Фредерик Брукс, и именно с его легкой руки слово архитектура применительно к компьютерам сначала прижилось среди разработчиков IBM 360, затем вышло за границы компании и, наконец, стало общепризнанным.
Мы уже говорили о том, что одной из важнейших особенностей архитектуры является гармоничное единство — неразрывная связь функциональности, полезности и художественного начала.
И здесь находим еще одно подтверждение того, сколь удачным оказалось распространение понятия архитектура на компьютерную область. Ведь создатели вычислительных машин всегда руководствовались отнюдь не только соображениями функциональности и утилитарности. Им была не чужда и эстетика.
Здесь можно вспомнить об арифмометрах XVII — начала XX веков, многие из которых представляли собой выдающиеся произведения декоративно-прикладного искусства. Люди хотят, чтобы окружающие их предметы были красивыми. И сегодня, когда персональный компьютер стал таким же бытовым прибором, как, например, холодильник, дизайнерские решения по части форм или расцветки таких аксессуаров, как клавиатура, мышь или монитор, становятся все более изысканными.
Арифмометр конструкции Иоганна Мюллера. 1783 годГораздо менее известно, что и «большие» компьютеры никогда не оставались в стороне от этой тенденции. Например, гениальный создатель суперкомпьютеров Сеймур Крей писал: «Даже процесс покупки большого научного компьютера имеет эмоциональную составляющую, — поэтому то, что внешне отличается от других и привлекает взгляд, продается лучше. Меня всегда интересовала эстетическая сторона дела. Не понимаю, почему многие компьютеры выглядят как непрезентабельные железные ящики». Поэтому не случайно созданные Креем вычислительные машины отличались редкой эстетической выразительностью. Так, Крей писал про Сгау-1: «Работая над этим компьютером, я хотел сделать нечто, внешне отличающее его от привычных машин, и уже этим подчеркнуть его исключительность».
Компьютер Cray-2А крайне сложную проблему отвода тепла в компьютере Cray-2 Крей решил, поместив основные блоки компьютера в жидкий фторуглерод. Прозрачный корпус, в котором, как в аквариуме, бурлила голубоватая жидкость, — это производило поистине завораживающее впечатление. Блестящий пример совмещения инженерной и дизайнерской идей!
Видеотерминал TCV-250 фирмы OlivettiМожно вспомнить еще многие оригинальные разработки. Так, стильный видеотерминал TCV-250 фирмы Olivetti, созданный в 1966 году из пластика и стали выдающимся итальянским дизайнером Марио Беллини, по справедливости нашел свое место в одном из музеев современного искусства.
Как компьютеры
стали «мини»
Ранние ЭВМ были, без преувеличения, настоящими монстрами. Знаменитый ENIAC (1946 год), признанный первым в мире электронным универсальным компьютером, поражал воображение современников не только своими возможностями (около 300 умножений или 5 000 сложений в секунду), но и габаритами.
Это циклопическое сооружение занимало помещение площадью около 170 квадратных метров. Вдоль стен в виде буквы «П» были расположены 42 блока, из которых состояла конструкция ENIAC. Машина имела примерно 2,4 метра в высоту, 30,5 метра в длину, 0,9 метра в глубину и весила 30 тонн. Она содержала свыше 17 000 электронных ламп, 7 200 кристаллических диодов, 70 тысяч резисторов, ю тысяч конденсаторов, 1 500 реле, 5 миллионов паяных соединений и потребляла около 160 киловатт электроэнергии. Крайне сложным и длительным был процесс подготовки задач к решению. «Программу» для ENIAC не писали, а задавали с помощью штекерных соединений, непосредственно соединяя между собой устройства компьютера (в зависимости от сложности задачи это занимало от нескольких часов до нескольких суток).