Выбрать главу

О том, как

архитектура пришла в ЭВМ

Словом архитектура (от латинского слова architectura, в свою очередь восходящего к древнегреческому αρχιτεκτων — «строитель») называют искусство проектировать и строить здания, сооружения, их комплексы и ансамбли. Архитектура образует ту среду, отличную от природной среды обитания, в которой живет человек. Архитектура — один из древнейших видов творческой деятельности человека, достигший расцвета уже в античном мире.

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

В то же время сегодня специалисты в области вычислительной техники и информационных технологий очень часто пользуются термином архитектура компьютера. Например, новейшее издание Большой Российской энциклопедии определяет архитектуру ЭВМ как «совокупность основных устройств ЭВМ и способы их взаимодействия, видимые пользователю (в большей степени системному программисту)». Популярный толковый словарь по информатике Ф. С. Воройского трактует ее сходным образом — как «общий принцип построения и организации работы, включая определение функционального состава основных узлов и блоков, а также структуры управляющих и информационных связей между ними, обеспечивающих реализацию заданных целей и характеристик».

Понятие это приобретает все большую популярность, и его сегодня используют для того, чтобы охарактеризовать наиболее важную отличительную черту типа компьютера или вычислительной системы — например, говорят об «ЭВМ гарвардской и принстонской архитектуры», об «ЭВМ с векторной или массивно-параллельной архитектурой» и др. Точно так же говорят — «архитектура х86 фирмы Intel», «архитектура Sparc фирмы Sun Microsystems» и др. Часто можно встретить в литературе словосочетания «открытая архитектура», «параллельная архитектура», «архитектура клиент-сервер» и т. д. Распространяют это понятие и на вычислительные сети, включая в него протоколы и интерфейсы, требуемые для реализации связи.

Каким же образом слово, известное более двух тысячелетий, перешло в совершенно другую область?

Очень часто в литературе встречается утверждение, что термин архитектура компьютера был придуман в самом начале 1960-х годов Фредериком Бруксом-младшим (но при этом никаких объяснений его происхождению не дается). В действительности же дело обстояло несколько иначе. И хотя роль Брукса действительно была крайне важной, авторство термина все-таки принадлежит не ему.

Фредерик Брукс —
лауреат премии «Компьютерный пионер»

Фредерик Брукс-младший — выдающийся американский ученый в области вычислительной техники и программирования. С 1961 году он возглавлял разработку архитектуры вычислительных машин серии IBM 360 и операционной системы OS/360 — одного из крупнейших проектов в истории вычислительной техники. Автор классической книги «Мифический человеко-месяц», лауреат многих престижных научных премий, включая премию Тьюринга и премию «Компьютерный пионер».

В ноябре 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» (Философия архитектуры), а один из подразделов был озаглавлен «Современные тенденции в архитектуре компьютеров».

Глава начиналась следующей преамбулой: «Архитектура компьютера, как и другая архитектура, есть искусство определять потребности пользователя той или иной структуры и затем разрабатывать ее, удовлетворяя эти потребности настолько эффективно, насколько это возможно в условиях экономических и технологических ограничений. Архитектура должна включать инженерные соображения, чтобы разработка была экономичной и осуществимой, но акцент в архитектуре делается на потребностях пользователя, в то время как в инженерии — на возможностях изготовителя».

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