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


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

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

Гомогенные однокристальные мультипроцессоры

Благодаря развитию технологии СБИС (сверхбольшая интегральная схема), в настоящее время на один кристалл можно установить два или более мощных процессоров. Поскольку такие процессоры всегда обращаются к одним и тем же модулям памяти (кэшу первого и второго уровней и основной памяти), они, как мы выяснили в главе 2, считаются единым мультипроцессором. Как правило, они устанавливаются в крупных фермах веб-серверов. При совместном размещении двух процессоров, разделении ресурсов памяти, дисковых и сетевых интерфейсов производительность сервера во многих случаях можно удвоить, причем расходы на это возрастут в значительно меньшей степени (так как даже если мультипроцессор будет стоить в два раза больше обычного процессора, не стоит забывать, что его цена составляет лишь небольшую часть общей стоимости системы).

Для малых однокристальных мультипроцессоров имеются два типовых проектных решения. В первом из них (рис. 8.8, а) присутствует одна микросхема и два конвейера — таким образом, скорость исполнения команд теоретически удваивается. Во втором решении (рис. 8.8, б) в микросхеме предусмотрено два независимых ядра, каждое из которых содержит полноценный процессор. Ядром называется большая микросхема (например, процессор, контроллер ввода-выво- да или кэш-память), которая размещается на микросхеме в виде модуля, как правило, вместе с несколькими другими ядрами.

Рис. 8.8. Однокристальные мультипроцессоры: микросхема с двумя конвейерами (а);

микросхема с двумя ядрами (б)

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

Далее по мере изложения мы еще вернемся к теме мультипроцессоров. В этой главе мы в основном рассматриваем темы, относящиеся к мультипроцессорам на основе однопроцессорных микросхем, но многие из них применимы и к микросхемам с несколькими процессорами.


Компьютер CRAY T3D - это массивно-параллельный компьютер с распределенной памятью, объединяющий от 32 до 2048 процессоров. Распределенность памяти означает то, что каждый процессор имеет непосредственный доступ только к своей локальной памяти, а доступ к данным, расположенным в памяти других процессоров, выполняется другими, более сложными способами.
Параллельные компьютерные архитектуры Adobe Photoshop редактор для работы с графикой