Скорость коммутации Параллелизм на уровне команд Внутрипроцессорная многопоточность Многопоточность в Pentium Однокристальные мультипроцессоры Мультимедиа-процессоры Ядро обработки графики Мультикомпьютеры Согласованность памяти


Конвейерная обработка. Что необходимо для сложения двух вещественных чисел, представленных в форме с плавающей запятой? Целое множество мелких операций таких, как сравнение порядков, выравнивание порядков, сложение мантисс, нормализация и т.п.
Параллельные компьютерные архитектуры

Скорость работы компьютеров становится все выше, но и предъявляемые к ним требования постоянно растут. Астрономы пытаются воспроизвести всю историю Вселенной с момента большого взрыва и до сегодняшнего дня. Фармацевты хотели бы разрабатывать новые лекарственные препараты с помощью компьютеров, не принося в жертву легионы крыс. Разработчики летательных аппаратов могли бы получать лучшие результаты, если бы вместо строительства огромных аэродинамических труб моделировали свои конструкции на компьютере. Если говорить коротко, какими бы мощными ни были компьютеры, их возможностей никогда не хватит для решения многих нетривиальных задач (особенно научных, технических и промышленных).

Хотя тактовая частота постоянно растет, скорость коммутации нельзя увеличивать бесконечно. Главной проблемой остается скорость света — невозможно заставить протоны и электроны двигаться быстрее. Из-за высокой теплоотдачи компьютеры превратились в кондиционеры. Наконец, поскольку размеры транзисторов постоянно уменьшаются, в конце концов наступит время, когда каждый транзистор будет состоять из нескольких атомов, поэтому основной проблемой могут стать законы квантовой механики (например, принцип неопределенности Гейзенберга).

В результате, чтобы иметь возможность решать более сложные задачи, разработчики обратились к компьютерам параллельного действия (далее — параллельные компьютеры). Невозможно построить компьютер с одним процессором и временем цикла в 0,001 не, но зато можно построить компьютер с 1000 процессорами, время цикла каждого из которых составляет 1 не. И хотя быстродействия каждого процессора во втором случае очевидно мало, теоретически мы должны получить требуемую производительность.

Параллелизм можно вводить на разных уровнях. На самом низком уровне он может быть реализован в процессоре за счет конвейеризации и суперскалярной архитектуры с несколькими функциональными блоками. Скрытого параллелизма можно добиться путем значительного удлинения слов в командах. Посредством дополнительных функций можно «научить» процессор одновременно обрабатывать несколько программных потоков. Наконец, можно установить на одной микросхеме несколько процессоров. Однако все эти приемы, вместе взятые, способны повысить производительность максимум в 10 раз по сравнению с классическими последовательными решениями.


Сегодня параллелизмом в архитектуре компьютеров уже мало кого удивишь. Все современные микропроцессоры, будь то Pentium III или PA-8700, MIPS R14000, Е2К или Power3 используют тот или иной вид параллельной обработки. В ядре Pentium 4 на разных стадиях выполнения может одновременно находиться до 126 микроопераций.
Параллельные компьютерные архитектуры Adobe Photoshop редактор для работы с графикой