Влияние программирования на архитектуру вычислительных систем
(от прошлого к будущему)
Королев Лев Николаевич
Если раньше большее влияние на архитектуру оказывали требования разработчиков системного программного обеспечения, то в новых разработках главный упор сделан на достижения высокой эффективности микрораспараллеливания с учетом суперскалярности процессоров.
Основная тяжесть по «добыче» эффективности возлагается на разработчиков оптимизирующих трансляторов. Бытовавший ранее лозунг приближения архитектуры машин к языкам высокого уровня, по-видимому, в коммерческих разработках отброшен окончательно. Однако, некоторые следы такого подхода можно отметить в микропроцессоре Е2к, разработанном под руководством Б.А. Бабаяна.
Последние десятилетия потребовали от разработчиков учета требований обработки мультимедийных данных, что увеличило число типов данных, поддерживаемых аппаратурой.
Важными представляются работы, выполнявшиеся коллективом под руководством академика В.С. Бурцева, и продолжающиеся в настоящее время, по созданию «Ассоциативной машины». Этот многообещающий подход, позволяющий реально осуществить принцип работы машин, управляемых потоком данных: «выполняй действие сразу в тот момент, когда будут готовы операнды», как представляется, позволит достичь максимальной эффективности динамического распараллеливания.
Несомненный интерес представляют работы, выполненные в свое время в ИТМ и ВТ по разработке архитектуры модульного конвейерного процессора — МКП (А.А. Соколов, А.Ю. Бяков и др.). Если следовать современной терминологии, это была двуядерная суперскалярная архитектура процессора, включавшая блок параллельно работающих функциональных устройств, c возможностью реализации режима SIMD (векторный блок).
Что касается отражения в архитектуре вычислительных систем требований распределенных вычислений, то несомненную значимость имеют разработки, связанные с созданием АС-6, выполненные под руководством академика В.А. Мельникова. Эти работы, выполненные в прошлом столетии, явились предтечей того, что сейчас делается в мультипроцессорных системах — выделяются два типа связей: одна наиболее быстрая для обмена информацией между процессорными узлами, и более медленная для связи с «далекими» абонентами.
Эти примеры подтверждают известную истину, что всякое новое есть хорошо забытое старое. Желательно только, что бы «забытие» было бы не нарочитым!
Экскурс в историю и сегодняшний день развития архитектур процессоров говорит о том, что «голубая мечта» создателей программного обеспечения о платформенной независимости их разработок, о программной преемственности компьютеров всех фирм и народов, о появлении некого стандарта архитектуры, которого придерживались бы все разработчики, так и останется неосуществимой.
Можно только уповать на законы естественного отбора, но жаль, что такой отбор требует очень продолжительного времени, особенно когда «среда обитания» (технический прогресс в элементной базе) непрерывно и непредсказуемо меняется.
Об авторе: МГУ (факультет ВМК), заведующий кафедрой автоматизации систем вычислительных комплексов, krlv@cs.msu.su
Статья помещена в музей 4.11.2007 с разрешения автора