Я познаю мир. Компьютеры и интернет | страница 42




В общем, тактовая частота нынешних суперкомпьютеров за полвека возросла в 500 раз, а производительность в 10 млн раз! Каким образом? Основной прогресс был достигнут благодаря новым решениям в архитектуре компьютера. Теперь большинство из них решает задачи не последовательно, а параллельно.

Вычисления на конвейере

Как это происходит, можно пояснить с помощью такого примера. Скажем, одному человеку, для того чтобы вскопать лопатой огород, понадобится 12 часов. Но если создать бригаду из 12 человек, распределить между ними участки, то весь огород может быть вскопан уже через час.


Автор этого наглядного примера – специалист по параллельным вычислениям Владимир Воеводин из Вычислительного центра МГУ лишь сожалеет о том, что далеко не все задачи так легко поддаются распараллеливанию, как вскапывание огорода.


Возьмем, например, изготовление автомобиля на конвейере. Здесь каждый рабочий делает одну–две операции, потом авто продвигается по конвейерной ленте к соседу, который делает свои операции. И так далее, до конца конвейера, с которого съезжает уже готовый автомобиль. Можем ли мы распараллелить все операции и выполнить их одновременно, собрав авто в мгновение ока? Нет, так как сборщики просто будут мешать друг другу. Кроме того, есть операции, которые можно выполнить только тогда, когда будут сделаны предыдущие...

Рабочее место конструктора, имеющее связь с большой ЭВМ


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


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


Примерно так стали поступать и создатели суперкомпьютеров. Так, скажем, конструкторы фирмы «ИБМ» в свое время оснастили свой компьютер! шестью дополнительными устройствами ввода–вывода информации, позволившими значительно увеличить производительность основного процессора.

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