Параллелизм на уровне процессоров 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Параллелизм на уровне процессоров



Параллелизм на уровне команд помогает, но увеличить производительность с ее помощью можно только в 5- 10 раз. Чтобы увеличить производительность в 50, 100 и более раз – нужны компьютеры с несколькими процессорами.

1) Многоядерность

2) Многопроцессорность

Многоя́дерный проце́ссор — центральный процессор, содержащий два и более вычислительных ядра на одном процессорном кристалле или в одном корпусе.

Ядро является полноценным микропроцессором, использующим все достижения микропроцессорной техники: конвейеры, внеочередное исполнение кода, многоуровневый кэш, поддержка векторных команд. Суперскалярность в ядре не используется, так как она реализована самим наличием нескольких ядер в процессоре.

Кэш-память: Во всех существующих на сегодня многоядерных процессорах кеш-памятью 1-го уровня обладает каждое ядро в отдельности, а кеш-память 2-го уровня существует в нескольких вариантах:

· разделяемая — расположена на одном кристалле с ядрами и доступна каждому из них в полном объёме. Используется в процессорах семейств Intel Core.

· Индивидуальная — отдельные кеши равного объёма, интегрированные в каждое из ядер. Обмен данными из кешей 2-го уровня между ядрами осуществляется через контроллер памяти — интегрированный (Athlon 64 X2, Turion X2, Phenom) или внешний (использовался в Pentium D, в дальнейшем Intel отказалась от такого подхода).

Многоядерные процессоры также имеют гомогенную или гетерогенную архитектуру:

· гомогенная архитектура — все ядра процессора одинаковы и выполняют одни и те же задачи. Типичные примеры: Intel Core Duo, Sun SPARC T3, AMD Opteron

· гетерогенная архитектура — ядра процессора выполняют разные задачи. Типичный пример: процессор Cell альянса IBM, Sony и Toshiba, у которого из девяти ядер одно является ядром процессора общего назначения PowerPC, а восемь остальных — специализированными процессорами, оптимизированными для векторных операций, которые используются в игровой приставке Sony PlayStation 3

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

Термином многопроцессорный обозначают компьютеры, имеющие несколько физически раздельных процессоров (например, серверные материнские платы часто имеют 2 или 4 сокета для подключения нескольких чипов), но управляемые одним экземпляром ОС.

Предсказание переходов.

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

Поэтому инструкции перехода надо выявлять заранее и реагировать соответствующим образом. Для этого предназначен специальный блок предсказания переходов (Branch Prediction Unit). Его задача — предвидеть направление перехода и, в случае удачного предсказания, сэкономить время. Соответственно, если результат предсказания будет неудачным, происходит полная остановка конвейера и очистка буферов.

В большинстве случаев точность предсказания переходов в современных процессорах превышает 90 %, что позволяет оптимально использовать вычислительные ресурсы процессора.

Существует два основных метода предсказания переходов:

· статический и

· динамический.

Статическое предсказание

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

Пример: в ранних процессорах архитектуры MIPS предполагалось, что условные переходы никогда не выполняются.

Динамическое предсказание

Современное, подразумевает анализ истории ветвлений.

Блок предсказаний хранит специальную таблицу истории переходов (Branch History Table), в которой записана результативность предыдущих примерно 4000 предсказаний. Кроме того, отслеживается точность последнего предсказания, чтобы при необходимости откорректировать алгоритм работы.

Примером динамического предсказания может служить двухуровневый адаптивный исторический алгоритм (англ. Bimodal branch prediction), использовавшийся процессорами архитектуры P6 (анализируется таблица истории переходов, содержащая младшие значимые биты адреса инструкции и соответствующую им вероятность условного перехода:

· «скорее всего, будет выполнен»,

· «возможно, будет выполнен»,

· «возможно, не будет выполнен»,

· «скорее всего, не будет выполнен»

и обновляемая после каждого перехода).

35. Понятие шины расширения. Шины PCI, PCI-X, PCI-E

36. Внешние интерфейсы ПК. Интерфейс USB

37. Устройства ввода информации. Сенсорные экраны. Устройства вывода информации.



Поделиться:


Последнее изменение этой страницы: 2017-02-05; просмотров: 262; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.17.6.75 (0.006 с.)