Чому процесор зазвичай підключається до однієї шини?


24

Тут я знайшов архітектуру материнської плати:

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

Схоже, це типовий макет материнських плат. EDIT: Ну, мабуть, це вже не так типово.

Чому процесор підключається лише до 1 шини? Цей передній автобус виглядає як основне вузьке місце. Не було б краще дати 2 або 3 автобуси прямо в процесор?

Я уявляю одну шину для оперативної пам’яті, одну для відеокарти та одну для якогось мосту до жорсткого диска, порту usb та всього іншого. Причина, по якій я розділив це таким чином, полягає в тому, що швидкість передачі даних жорсткого диска є повільною порівняно з пам'яттю.

Чи є щось дуже важке, щоб зробити це таким чином? Я не бачу, яка вартість може вступити в це, оскільки існуючі діаграми вже мають не менше семи автобусів. Насправді, використовуючи більш прямі автобуси, ми могли б зменшити загальну кількість автобусів і, можливо, навіть один з мостів.

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

EDIT: Я забув згадати Monitor Watch Dog . Я знаю, що бачив це на деяких схемах. Імовірно, вузький автобус полегшив би сторожовому контролювати все. Чи може це щось із цим мати?


9
Це дуже старий підхід. Сьогодні в процесорі є вбудований кореневий комплекс і контролер пам'яті - тому він підключається безпосередньо до пристроїв PCIe, оперативної пам’яті та того, що фактично є південним мостом. Наприклад це
Том Карпентер

@TomCarpenter Так, це починає виглядати більше так. Діаграма, яку я розмістила, - це те, що я бачила "всюди", включаючи школу, тому я зрозуміла, що це більш типово.
DrZ214

7
Ця діаграма вище залишається актуальною. У наші дні це не схема материнської плати, а сам процесор. Замініть "CPU" на "core", а "чіпсет" на "CPU".
slebetman

Відповіді:


43

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

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

Щоб боротися з цим, ви просто розділили дизайн на кілька мікросхем - у випадку материнських плат це в результаті було процесором, Північним мостом та Південним мостом. Процесор обмежений лише процесором з високошвидкісним з'єднанням (наскільки я згадую як передню шину). Потім у вас є Північний міст, який інтегрує контролер пам'яті, графічне підключення (наприклад, AGP, стародавня технологія в обчислювальних термінах) та ще повільніше посилання на Південний міст. Південний міст використовувався для обробки карт розширення, жорстких дисків, компакт-дисків, аудіо тощо.


В останні 20 років можливість виготовлення напівпровідників на менших і менших технологічних вузлах з більшою і більшою надійністю означає інтеграцію всього в один чіп. Менші транзистори означають більш високу щільність, щоб ви могли більше вписуватися, а вдосконалені процеси у виробництві означають більш високий вихід. Насправді це не тільки економічно вигідніше, але й стало життєво важливим для підтримки підвищення швидкості в сучасних комп’ютерах.

Як ви правильно зазначаєте, наявність одного з'єднувального пристрою до північного мосту стає вузьким місцем. Якщо ви можете інтегрувати все до процесора, включаючи PCIe Root Complex та контролер системної пам'яті, ви раптом маєте надзвичайно високу швидкість зв'язку між ключовими пристроями для графіки та обчислень - на друкованій платі ви, можливо, говорите про швидкість порядку Gbps, на штамп ви можете досягти швидкості на порядок 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 Гбіт / с в обох напрямках. І так, коментар вище про швидкості процесора був навмисно надмірно спрощеним, але не нереальний - не пов'язаний з процесорами, я працюю над дизайном FPGA в даний момент, який обробляє дані зі швидкістю 315 Гбіт / с, і це ніде не можливо, щоб повна продуктивність була можлива FPGA, що обмежує, що це відсутність даних!
Том Карпентер

1
Цікавим є те, що це означає зрушення назад до архітектури навіть старих систем, де шини пам'яті та пам’яті (тощо) перейшли безпосередньо до процесора.
Кріс Х

1
@ DrZ214 "смуга" - це одинарна ширина, сигнал тактових даних / даних, що надсилається у вигляді двох пар. Унікальність PCIe порівняно з, скажімо, шиною DDR полягає в тому, що PCIe може вільно агрегувати та деагрегатувати смуги руху, тоді як для більшості автобусів потрібно брати все або нічого.
pjc50

9

Я не можу сказати, що я фахівець з комп'ютерної архітектури, але я спробую відповісти на ваші запитання.

Схоже, це типовий макет материнських плат.

Як згадував Том, це вже не відповідає дійсності. Більшість сучасних процесорів мають інтегрований північний міст. Південний міст, як правило, або інтегрований, або новою архітектурою стає непотрібним; Набори мікросхем Intel «замінюють» південний міст на концентратор платформи, який зв’язується безпосередньо з процесором через шину DMI.

Чому процесор підключається лише до 1 шини? Цей передній автобус схожий на основне вузьке місце. Не було б краще дати 2 або 3 автобуси прямо в процесор?

Широкі (64-розрядні) автобуси коштують дорого, вони вимагають великої кількості шинопередавачів та багато штифтів вводу / виводу. Єдині пристрої, яким потрібна величезна кричуча швидка шина, - це відеокарта та оперативна пам’ять. Все інше (SATA, PCI, USB, серійний і так далі) є порівняно повільним і не має доступу до нього постійно. Отже, у вищевказаній архітектурі всі ті «повільніші» периферійні пристрої збираються разом через південний міст як єдиний пристрій шини: процесор не хоче арбітражувати кожну маленьку транзакцію шини, тому всі повільні / нечасті транзакції шини можуть бути об'єднані і управляється південним мостом, який потім підключається до інших периферійних пристроїв набагато більш неквапливою швидкістю.

Тепер важливо згадати, що коли я говорю вище, SATA / PCI / USB / serial є "повільними", це, головним чином, історичний момент, і сьогодні стає менш правдивим. З прийняттям SSD-дисків через спінні диски та швидкі периферійні пристрої PCIe, а також USB 3.0, Thunderbolt і, можливо, 10G Ethernet (незабаром) "повільна" периферійна пропускна здатність швидко стає дуже значною. У минулому автобус між північним та південним мостом був не багато шийкою пляшки, але зараз це вже не так. Так, так, архітектури рухаються до більшої кількості шин, підключених безпосередньо до процесора.

Чи є щось дуже важке, щоб зробити це таким чином? Я не бачу, яка вартість може вступити в це, оскільки існуючі діаграми вже мають не менше семи автобусів.

Було б більше шин для управління процесором, і більше процесорного кремнію для роботи з шинами. Що дорого. На наведеній діаграмі не всі автобуси рівні. ФСБ швидко кричить, ЛПК ні. Швидким автобусам потрібен швидкий кремній, повільні автобуси - ні, тому якщо ви можете перемістити повільні автобуси з процесора на інший чіп, це полегшить ваше життя.

Однак, як було сказано вище, зі зростанням популярності пристроїв з високою пропускною здатністю все більше шин підключаються безпосередньо до процесора, особливо в SoC / більш високо інтегрованих архітектурах. Якщо розмістити все більше контролерів на процесорі, дуже легкою є пропускна здатність.

EDIT: Я забув згадати Monitor Watch Dog. Я знаю, що бачив це на деяких схемах. Імовірно, вузький автобус полегшив би сторожовому контролювати все. Чи може це мати щось спільне?

Ні, це не насправді те, що робить сторожовий собака. Сторожовий собака - це просто перезапустити різні речі, коли / якщо вони замикаються; він насправді не дивиться на все, що рухається через автобус (це набагато менш витончено, ніж це!).


2
Fast buses require fast silicon, slow buses don'tЩо саме означає швидкий кремній? Кремній вищої чистоти? Або ви говорите, що повільні автобуси можуть використовувати інший елемент, ніж кремній? Так чи інакше, я вважав, що кремній є досить дешевим матеріалом. Цікавий трішки і про сторожову собаку. Я можу задати пов’язане з цим питання.
DrZ214

1
Швидка шина зазвичай є частиною високопродуктивного пристрою, наприклад, процесора. Інтерфейс шини вимагає місця та з'єднань з іншими частинами мікросхеми. Площа кремнію на штампі процесора набагато дорожче, ніж набагато повільніший чіп, оскільки розмір процесу менший, а виготовлення / упаковка складніше. Тому дешевше обмежувати пристрої на FSB лише тими пристроями, яким фактично потрібна така пропускна здатність. Однак, оскільки більше контролерів інтегровано з процесором на одній матриці (SoC), це вже не є правдою.
uint128_t

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

6

Кількість шин, до яких безпосередньо підключиться процесор, як правило, буде обмежена кількістю окремих частин процесора, які можуть отримати доступ до речей одночасно. Це не рідкість, особливо у світі вбудованих процесорів та DSP, щоб процесор мав шину для програм і шину для даних, і дозволяти обом працювати одночасно. Типовий уніпроцесор, однак, отримає користь лише від отримання однієї інструкції за циклом інструкцій, і матиме доступ лише до одного місця пам'яті даних за цикл інструкцій, тому не буде великої користі виходити за межі однієї шини пам'яті програми та однієї шина пам'яті даних. Щоб увімкнути певні види математики на даних, отриманих з двох різних потоків,

Для процесорів, які мають кілька одиниць виконання, може бути корисно мати окрему шину для кожної, так що, якщо є декілька "зовнішніх" шин, котрим потрібно отримати речі з різних "зовнішніх" шин, можна робити це без втручання. Якщо не існує логічної причини, чому речі, до яких звертаються різні підрозділи виконання, будуть доступні через різні шини поза процесором, однак, маючи окремі шини від центрального процесора, подайте в арбітраж, який може одночасно передавати один запит на конкретний зовнішній пристрій нічого не допоможе. Автобуси коштують дорого, тому мати два підрозділи для виконання на одному автобусі, як правило, дешевше, ніж використовувати окремі автобуси. Якщо використання окремих шин дозволить значно покращити продуктивність, це може виправдати витрати, але в іншому випадку будь-які ресурси (область чіпів тощо).


-1

Розглянемо кількість штифтів, необхідних для пакетів процесора, щоб мати кілька широких шин. Наприклад, вісім ядер процесора з 64-бітовою шиною даних, а також безліч інших штифтів для інших цілей. Чи є сьогодні якісь пакети процесора, можливо, 800 штифтів?


Чому б їх не було? Масив з кульовою сіткою 32x32 і багатошарова PCB не здається складною проблемою (у відносному масштабі). Інженери апаратних засобів вражають. // Подумайте про те, наскільки широкою та незграбною може бути RAM-карта, та продовжуйте працювати на частоті 1,6 ГГц (625 пікосекунд). Якщо електричні сигнали рухаються при 2/3 с, найдовший слід може становити лише 6 см, а різниця в довжині всього за кілька мм спричинить помітні зрушення в часі. // І я б здогадався, що перехресне звернення між шарами було б не гірше, ніж між слідами на одному шарі.
Оскар скаго

"Чи є сьогодні якісь пакети процесора, можливо, 800 штифтів?" О, так. Пакети з 1100+ шпильками вже були звичайною справою, коли писали цю відповідь. А сьогодні є LGA3647 для деяких серверних процесорів Skylake-EX…
сутінки
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.