Почему процессоры обычно подключаются только к одной шине?


24

Я нашел архитектуру материнской платы здесь:

введите описание изображения здесь

Это выглядит как типичная схема материнских плат. РЕДАКТИРОВАТЬ: Ну, видимо, это уже не так типично.

Почему процессор подключается только к 1 шине? Этот передний автобус выглядит как основное узкое место. Не лучше ли подать 2 или 3 шины прямо в процессор?

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

Есть ли что-то очень сложное в этом? Я не понимаю, как это может повлиять на стоимость, потому что на существующих схемах уже есть не менее семи автобусов. Фактически, используя более прямые автобусы, мы могли бы сократить общее количество автобусов и, возможно, даже один из мостов.

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

РЕДАКТИРОВАТЬ: я забыл упомянуть сторожевой монитор . Я знаю, что видел это на некоторых диаграммах. Предположительно, автобус с узким местом облегчил бы сторожевому наблюдению все. Может ли это быть как-то связано с этим?


9
Это очень старый подход. В настоящее время в ЦПУ встроен корневой комплекс и встроенный контроллер памяти, поэтому он подключается напрямую к устройствам PCIe, ОЗУ и фактически к южному мосту. Например это
Том Карпентер

@ TomCarpenter Да, это начинает больше походить на это. Диаграмма, которую я разместил, - это то, что я видел «везде», включая школу, поэтому я подумал, что это более типично.
DrZ214

7
Эта диаграмма выше по-прежнему актуальна. В наши дни это не диаграмма материнской платы, а самого процессора. Замените «CPU» на «core» и «chipset» на «CPU».
Slebetman

Ответы:


43

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

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

Чтобы бороться с этим, вы просто разделяете дизайн на несколько микросхем - в случае материнских плат это в конечном итоге CPU, North Bridge и South Bridge. Процессор ограничен только процессором с высокоскоростным межсоединением (насколько я помню, это лицевая шина). Затем у вас есть северный мост, который объединяет контроллер памяти, графическое соединение (например, AGP, древняя технология в вычислительном отношении) и еще одну более медленную связь с южным мостом. Южный мост использовался для работы с картами расширения, жесткими дисками, CD-приводами, аудио и т. Д.


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

Как вы правильно заметили, наличие одного соединения с северным мостом становится узким местом. Если вы можете интегрировать все в ЦП, включая PCIe Root Complex и контроллер системной памяти, вы внезапно получите чрезвычайно высокоскоростную связь между ключевыми устройствами для графики и вычислений - на PCB вы можете говорить о скоростях порядка Гбит / с, на На кристалле вы можете достичь скорости порядка Tbps!

Эта новая топология отражена на этой диаграмме:

Новая топология

Источник изображения

В этом случае, как вы можете видеть, графические контроллеры и контроллеры памяти интегрированы в центральный процессор. Хотя у вас все еще есть одна ссылка на то, что фактически представляет собой единый набор микросхем, состоящий из нескольких частей северного и южного мостов (набор микросхем на диаграмме), в настоящее время это невероятно быстрое соединение - возможно, 100 + Гбит / с. Все еще медленнее, чем на кристалле, но намного быстрее, чем старые автобусы.

Почему бы просто не интегрировать абсолютно все? Ну, а производители материнских плат по-прежнему хотят, чтобы их можно было настраивать - сколько слотов PCIe, сколько SATA-соединений, какой аудиоконтроллер и т. Д.

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


+1, вы победили меня в этом :) Хороший ответ, особенно по историческим причинам архитектурного дизайна.
uint128_t

Спасибо, особенно второй абзац ударил домой. Однако, on the die you can achieve speeds on the order of Tbps!Yikes, разве это не начинает опережать способность процессора обрабатывать его достаточно быстро?
DrZ214

3
@ DrZ214 Это не PCI, это PCIe, который является последовательной шиной, а не параллельной. PCIe составляет либо 2,5 Гбит / с, 5 Гбит / с или 8 Гбит / с на полосу в обоих направлениях (полный дуплекс) - 16 полос, являющихся самыми широкими, обычно дают теоретический максимум 128 Гбит / с в обоих направлениях. И да, приведенный выше комментарий о скоростях процессора был преднамеренно упрощен, но не нереалистичен - не связан с процессорами, сейчас я работаю над дизайном ПЛИС, который обрабатывает данные со скоростью 315 Гбит / с, и это далеко не полностью возможно из ПЛИС, что ограничивает это нехватка данных!
Том Карпентер

1
Интересно то, что это представляет собой сдвиг назад к архитектуре даже более старых систем, где шины памяти и хранения (и т. Д.) Перешли непосредственно к процессору.
Крис Х

1
@ DrZ214 «полоса» имеет ширину в один бит, сигнал тактовой частоты / данных передается в виде двух пар. Уникальная особенность PCIe по сравнению, скажем, с шиной DDR заключается в том, что PCIe может свободно агрегировать и дезагрегировать линии, тогда как для большинства шин приходится использовать все или ничего.
pjc50

9

Не могу сказать, что я эксперт в компьютерной архитектуре, но я постараюсь ответить на ваши вопросы.

Это выглядит как типичная схема материнских плат.

Как упоминал Том, это больше не правда. Большинство современных процессоров имеют встроенный северный мост. Южный мост обычно либо интегрирован, либо лишен новой архитектуры; Чипсеты Intel «заменяют» южный мост платформенным концентратором, который напрямую связывается с процессором через шину DMI.

Почему процессор подключается только к 1 шине? Этот передний автобус выглядит как основное узкое место. Не лучше ли подать 2 или 3 шины прямо в процессор?

Широкие (64-битные) шины дороги, они требуют большого количества шинных трансиверов и множества выводов ввода / вывода. Единственные устройства, которым требуется громкая кричащая шина - это видеокарта и оперативная память. Все остальное (SATA, PCI, USB, последовательный порт и т. Д.) Сравнительно медленное и не имеет постоянного доступа. Следовательно, почему в приведенной выше архитектуре все эти «более медленные» периферийные устройства объединены через южный мост как единое шинное устройство: процессор не хочет выполнять арбитраж для каждой маленькой операции шины, поэтому все медленные / нечастые операции шины могут быть агрегированы и управляется южным мостом, который затем соединяется с другими периферийными устройствами с гораздо более неторопливой скоростью.

Теперь важно отметить, что когда я говорю выше, что SATA / PCI / USB / serial "медленные", это в основном историческая точка зрения, и сегодня она становится все менее верной. С внедрением твердотельных накопителей поверх вращающихся дисков и быстрых периферийных устройств PCIe, а также USB 3.0, Thunderbolt и, возможно, Ethernet 10G (скоро), «медленная» пропускная способность периферийных устройств быстро становится очень значительной. В прошлом автобус между северным и южным мостами не был чем-то вроде бутылочного горлышка, но теперь это уже не так. Так что да, архитектуры смещаются в сторону большего количества шин, подключенных непосредственно к процессору.

Есть ли что-то очень сложное в этом? Я не понимаю, как это может повлиять на стоимость, потому что на существующих схемах уже есть не менее семи автобусов.

Было бы больше шин для процессора и больше процессорного кремния для работы с шинами. Который дорогой. На приведенной выше схеме не все автобусы одинаковы. ФСБ кричит быстро, ЛКП нет. Для быстрых шин требуется быстрый кремний, для медленных - нет, поэтому, если вы можете переместить медленные шины из процессора в другой чип, это облегчит вашу жизнь.

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

РЕДАКТИРОВАТЬ: я забыл упомянуть сторожевой монитор. Я знаю, что видел это на некоторых диаграммах. Предположительно, автобус с узким местом облегчил бы сторожевому наблюдению все. Может ли это быть как-то связано с этим?

Нет, это не совсем то, что делает сторожевой пес. Сторожевой таймер просто перезапускает различные вещи, когда / если они заблокированы; это действительно не смотрит на все, что движется через автобус (это намного менее сложно, чем это!).


2
Fast buses require fast silicon, slow buses don'tЧто именно означает быстрый кремний? Кремний более высокой чистоты? Или вы говорите, что медленные шины могут использовать другой элемент, чем кремний? В любом случае, я думал, что кремний был довольно дешевым материалом. Интересное немного о сторожевом псе тоже. Я мог бы задать связанный вопрос об этом.
DrZ214

1
Быстрая шина, как правило, является частью высокопроизводительного устройства, например, процессора. Интерфейс шины требует пространства и соединений с другими частями чипа. Силиконовая область на кристалле процессора намного дороже, чем гораздо более медленный чип, потому что размер процесса меньше, а изготовление / упаковка сложнее. Следовательно, дешевле ограничить устройства на FSB только теми устройствами, которые действительно требуют такой пропускной способности. Однако, поскольку на одном кристалле (SoC) интегрировано больше контроллеров, это уже не так.
uint128_t

Несмотря на то, что медленные шины не требуют быстрого кремния, нередко находить очень быстрые драйверы на медленных интерфейсах, которые могут создать большую головную боль для размещения печатных плат. Я видел обычный PCI (максимальная скорость 133 МГц на PCI-X) с временем нарастания и спада менее 300 пс, поскольку производители используют стандартную ячейку ввода / вывода. Я знаю, что PCI, как интерфейс, обычно не доступен на новых процессорах, но эта проблема применима в других местах.
Питер Смит

6

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

С процессорами, которые имеют несколько исполнительных блоков, может быть полезно иметь отдельную шину для каждого, так что если есть несколько «внешних» шинных блоков, которые должны извлекать вещи из разных «внешних» шин, могут делать это без помех. Если нет логической причины, по которой вещи, к которым обращаются разные исполнительные блоки, будут доступны через разные шины вне ЦП, тем не менее, имея отдельные шины от подачи ЦП в арбитражный блок, который может передавать только один запрос за раз конкретное внешнее устройство ничего не поможет. Автобусы стоят дорого, поэтому использование двух исполнительных блоков на одной шине обычно дешевле, чем использование отдельных автобусов. Использование отдельных шин позволит значительно повысить производительность, что может оправдать затраты, но в остальном любые ресурсы (площадь микросхемы и т. Д.


-1

Рассмотрим количество выводов, необходимых на пакетах ЦП, чтобы иметь несколько широких шин. Например, восемь процессорных ядер, каждое из которых имеет 64-битную шину данных, плюс несколько других выводов для других целей. Есть ли сегодня какие-нибудь пакеты с процессором, возможно, с 800 выводами?


Почему бы не быть? Массив с решеткой 32x32 и многослойная печатная плата не кажутся сложной проблемой (в относительном масштабе). Аппаратные инженеры потрясающие. // Подумайте о том, насколько широкими и неуклюжими могут быть карты ОЗУ, и работающие на частоте 1,6 ГГц (625 пикосекунд). Если электрические сигналы распространяются при 2/3 с, самая длинная трасса может быть длиной всего 6 см, а разница в длине всего в несколько мм приведет к заметным временным сдвигам. // И я предполагаю, что перекрестные помехи между слоями не будут намного хуже, чем между трассами на одном слое.
Оскар Ског

«Есть ли сегодня какие-нибудь пакеты с процессором, возможно, с 800 выводами?» О да. Когда был написан этот ответ, пакеты с 1100+ булавками были уже обычным делом. И в настоящее время есть LGA3647 для некоторых серверных процессоров Skylake-EX…
duskwuff
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.