Типы топологии для внутренней связи на CPU и GPU

Типы топологии для внутренней связи на CPU и GPU

Любая многоядерная архитектура требует внутренней связи для связи ее различных компонентов друг с другом, однако существуют разные типы топологий межсоединений с разными результатами для внутренней связи ЦП, чтобы GPU / ГРАФИЧЕСКИЙ ПРОЦЕССОР или любой другой тип процессора, состоящий из нескольких элементов, которые должны взаимодействовать друг с другом. Какой тип топологии используется чаще всего?

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

Общая автобусная инфраструктура

Общая автобусная ткань

Первый тип топологии, который мы должны рассмотреть, - это так называемая инфраструктура общей шины или Shared Bus Fabric. Эти типы интерфейсов обладают высокой скоростью и используются для связи различных ядер друг с другом и их кешами. Но он также отвечает за предоставление доступа к ядрам ЦП извне и, следовательно, за обеспечение единообразного доступа к памяти и периферийным устройствам.

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

кэш

Таким образом, инфраструктура общей шины - это то, что мы называем северным мостом или северным мостом, которые имеют разные типы топологий. Это следует понимать как способ, которым различные компоненты взаимодействуют друг с другом, что влияет на задержку, стоимость внедрения, потребление энергии и другие факторы.

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

Переключатель перекладины

Переключатель перекладины

Переключатель Crossbar - самый простой тип топологии для визуализации. Это тип интерфейса с сеткой, в котором каждый из компонентов имеет прямое соединение с остальными компонентами системы. Например, если у нас есть процессор с 4 компонентами внутри, то у нас будет Crossbar Switch размером 4 x 4 единицы.

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

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

Кольцевая топология

Топология Анилло

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

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

Кольца - это самый простой тип инфраструктуры для реализации на процессоре, а также самый дешевый для реализации на уровне затрат. Но в инфраструктуре этого типа каждый узел подключен только к своим 2 ближайшим соседям, по одному на каждый адрес. Это означает, что связь с более удаленными компонентами будет иметь большую задержку.

Тороидальная топология

Топология Тороиде

Тороидальные инфраструктуры широко используются в мире суперкомпьютеров для максимально быстрого и эффективного соединения различных процессоров, распределенных в различных блейд-серверах инфраструктуры. Хотя наибольшая популярность в последние годы они получили благодаря процессорам, разработанным для ускорения алгоритмов искусственного интеллекта. Либо на уровне связи нескольких ALU друг с другом, либо на разных процессорах.

На первый взгляд это может напоминать Crossbar Switch, но в случае 2-мерного тора компонент может взаимодействовать с 4 другими компонентами одновременно вместо 2 по сравнению с кольцом, и если мы говорим о 3-мерном torus, то у нас есть, что каждый компонент будет иметь связь с другими 6 компонентами. Чтобы визуализировать это, мы должны иметь в виду, что каждое измерение тороидальной топологии допускает связь с другим компонентом, по одному для каждого измерения. Таким образом, если говорить упрощенно, кольцо представляет собой одномерную тороидальную инфраструктуру.

Топология дерева

Топология Арбол

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

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