Dlaczego procesory zazwyczaj łączą się tylko z jedną magistralą?

24

Znalazłem tutaj architekturę płyty głównej:

wprowadź opis zdjęcia tutaj

Wygląda to na typowy układ płyt głównych. EDYCJA: Najwyraźniej nie jest już tak typowa.

Dlaczego CPU łączy się tylko z 1 magistralą? Ten przedni autobus wygląda jak duże wąskie gardło. Czy nie lepiej byłoby podać 2 lub 3 magistrale bezpośrednio do procesora?

Wyobrażam sobie jedną magistralę dla pamięci RAM, jedną dla karty graficznej i jedną dla pewnego rodzaju mostka do dysku twardego, portów USB i wszystkiego innego. Powodem, dla którego podzieliłem to w ten sposób, jest to, że szybkość przesyłania danych na dysku twardym jest wolniejsza w porównaniu do pamięci.

Czy jest coś bardzo trudnego w robieniu tego w ten sposób? Nie rozumiem, w jaki sposób może to kosztować, ponieważ istniejące schematy mają już nie mniej niż siedem autobusów. W rzeczywistości, stosując bardziej bezpośrednie autobusy, moglibyśmy zmniejszyć całkowitą liczbę autobusów, a może nawet jednego z mostów.

Coś z tym nie tak? Czy jest gdzieś poważna wada? Jedyne, co mogę wymyślić, to być może bardziej złożoność procesora i jądra, co sprawia, że ​​myślę, że ta architektura wąskiego gardła jest taka, jak to robiono w dawnych czasach, kiedy rzeczy były mniej skomplikowane, a projekt pozostaje taki sam dla standaryzacji.

EDYCJA: Zapomniałem wspomnieć o Monitorze Strażniczym . Wiem, że widziałem to na niektórych schematach. Przypuszczalnie wąskie gardło ułatwiłoby organowi nadzorującemu monitorowanie wszystkiego. Czy to może mieć z tym coś wspólnego?

DrZ214
źródło
9
To bardzo stare podejście. Obecnie procesor ma wbudowany kompleks root i kontroler pamięci - dzięki czemu łączy się bezpośrednio z urządzeniami PCIe, pamięcią RAM i tym, co faktycznie jest mostem południowym. Na przykład to
Tom Carpenter
@TomCarpenter Tak, to zaczyna wyglądać bardziej jak to. Schemat, który zamieściłem, jest tym, co widziałem „wszędzie”, w tym w szkole, więc pomyślałem, że był bardziej typowy.
DrZ214
7
Powyższy schemat jest nadal aktualny. Obecnie nie jest to schemat płyty głównej, ale sam procesor. Zamień „CPU” na „core”, a „chipset” na „CPU”.
slebetman

Odpowiedzi:

43

Podejście, które pokazujesz, jest dość starą topologią dla płyt głównych - wyprzedza PCIe, co naprawdę przywraca go gdzieś w latach 00. Powodem są przede wszystkim trudności z integracją.

Zasadniczo 15 lat temu technologia integracji wszystkiego na jednej matrycy praktycznie nie istniała z komercyjnego punktu widzenia, a zrobienie tego było niezwykle trudne. Zintegrowanie wszystkiego spowodowałoby bardzo duże rozmiary matryc krzemowych, co z kolei prowadzi do znacznie niższej wydajności. Wydajność jest w zasadzie tym, ile matryc tracisz na waflu z powodu wad - im większa matryca, tym większe prawdopodobieństwo defektu.

Aby temu zaradzić, po prostu podzieliłeś projekt na wiele układów - w przypadku płyt głównych skończyło się to na CPU, North Bridge i South Bridge. Procesor jest ograniczony tylko do procesora z szybkim interkonektem (o ile pamiętam, zwanym „front-bus bus”). Następnie masz North Bridge, który integruje kontroler pamięci, połączenie graficzne (np. AGP, starożytna technologia w kategoriach obliczeniowych) i inne wolniejsze łącze do South Bridge. South Bridge był używany do obsługi kart rozszerzeń, dysków twardych, napędów CD, audio itp.


W ciągu ostatnich 20 lat możliwość wytwarzania półprzewodników w coraz mniejszych węzłach procesowych o coraz większej niezawodności oznacza, że ​​integracja wszystkiego w jednym układzie staje się możliwa. Mniejsze tranzystory oznaczają większą gęstość, dzięki czemu można zmieścić więcej, a ulepszone procesy produkcyjne oznaczają wyższą wydajność. W rzeczywistości jest nie tylko bardziej opłacalny, ale także stał się niezbędny, aby utrzymać wzrost prędkości w nowoczesnych komputerach.

Jak słusznie zauważyłeś, posiadanie jednego połączenia z mostem północnym staje się wąskim gardłem. Jeśli możesz zintegrować wszystko z procesorem, w tym PCIe Root Complex i kontroler pamięci systemowej, nagle masz niezwykle szybkie łącze między kluczowymi urządzeniami do grafiki i obliczeń - na płytce drukowanej mówisz może o prędkości rzędu Gb / s, na kostkę można osiągnąć prędkości rzędu Tbps!

Ta nowa topologia została odzwierciedlona na tym schemacie:

Nowa topologia

Źródło obrazu

W tym przypadku, jak widać, zarówno kontrolery grafiki, jak i pamięci są zintegrowane z matrycą procesora. Chociaż nadal masz jedno łącze do tego, co faktycznie jest jednym chipsetem złożonym z niektórych bitów mostka północnego i mostu południowego (chipset na schemacie), obecnie jest to niezwykle szybki interkonekt - może 100 + Gb / s. Wciąż wolniejszy niż na matrycy, ale znacznie szybszy niż stare autobusy z przodu.

Dlaczego nie zintegrować absolutnie wszystkiego? Producenci płyt głównych wciąż chcą pewnej personalizacji - ile gniazd PCIe, ile połączeń SATA, jaki kontroler audio itp.

W rzeczywistości niektóre procesory mobilne integrują się jeszcze bardziej z matrycą procesora - pomyśl o komputerach jednopłytkowych korzystających z wariantów procesorów ARM. W tym przypadku, ponieważ ARM wydzierżawia konstrukcję procesora, producenci mogą nadal dostosowywać swoje matryce według własnego uznania i integrować dowolne kontrolery / interfejsy, jakie chcą.

Tom Carpenter
źródło
+1, pobiłeś mnie do tego :) Niezła odpowiedź, szczególnie z historycznych powodów projektowania architektury.
uint128_t
Dziękuję, szczególnie drugi akapit trafił do domu. Jednak, on the die you can achieve speeds on the order of Tbps!Yikes, czy to nie zaczyna wyprzedzać zdolności procesora do przetwarzania go wystarczająco szybko?
DrZ214
3
@ DrZ214 Nie są to PCI, to PCIe, która jest szyną szeregową, a nie równoległą. PCIe ma albo 2,5 Gb / s, 5 Gb / s lub 8 Gb / s na linię w obu kierunkach (pełny dupleks) - 16 linii jest najszerszym zwykle obserwowanym, dającym teoretycznie maksymalne 128 Gb / s w obu kierunkach. I tak, powyższy komentarz na temat prędkości procesora był celowo zbyt uproszczony, ale nie nierealny - niezwiązany z procesorami, pracuję nad projektem FPGA w tej chwili, który przetwarza dane przy 315 Gb / s, i to nie jest w pobliżu pełnej możliwej wydajności FPGA, co ogranicza to brak danych!
Tom Carpenter
1
Interesujące jest to, że stanowi to powrót do architektury nawet starszych systemów, w których magistrale pamięci i pamięci masowej (itp.) Trafiły bezpośrednio do procesora.
Chris H
1
@ DrZ214 „linia” ma szerokość jednego bitu, sygnał zegara / danych wysyłany jako dwie pary. Unikalną cechą PCIe w porównaniu, powiedzmy, z magistrali DDR, jest to, że PCIe może dowolnie agregować i dezagregować pasy, podczas gdy większość autobusów musi zabrać wszystko albo nic.
pjc50
9

Nie mogę powiedzieć, że jestem ekspertem w architekturze komputerowej, ale postaram się odpowiedzieć na twoje pytania.

Wygląda to na typowy układ płyt głównych.

Jak wspomniał Tom, nie jest to już prawdą. Większość współczesnych procesorów ma zintegrowany mostek północny. Mostek południowy jest zazwyczaj albo zintegrowany, albo spowodowany przez nową architekturę; Chipsety Intela „zastępują” mostek południowy platformą kontrolera platformy, która komunikuje się bezpośrednio z CPU za pośrednictwem magistrali DMI.

Dlaczego CPU łączy się tylko z 1 magistralą? Ten przedni autobus wygląda jak duże wąskie gardło. Czy nie lepiej byłoby podać 2 lub 3 magistrale bezpośrednio do procesora?

Szerokie (64-bitowe) magistrale są drogie, wymagają dużej liczby nadajników-odbiorników magistrali i wielu pinów I / O. Jedynymi urządzeniami, które wymagają ogromnej, krzyczącej szybkiej magistrali, są karta graficzna i pamięć RAM. Cała reszta (SATA, PCI, USB, szeregowy itd.) Jest stosunkowo powolna i nie jest stale dostępna. Dlatego w powyższej architekturze wszystkie te „wolniejsze” urządzenia peryferyjne są zbijane razem przez mostek południowy jako pojedyncze urządzenie magistrali: procesor nie chce musieć rozstrzygać każdej małej transakcji magistrali, więc wszystkie wolne / rzadkie transakcje magistrali można agregować i zarządzany przez mostek południowy, który następnie łączy się z innymi urządzeniami peryferyjnymi ze znacznie większą swobodą.

Teraz należy wspomnieć, że kiedy mówię powyżej, że SATA / PCI / USB / serial są „powolne”, jest to głównie punkt historyczny, a obecnie staje się mniej prawdziwe. Wraz z przyjęciem dysków SSD na dyski typu spinny i szybkich urządzeń peryferyjnych PCIe, a także USB 3.0, Thunderbolt i być może Ethernet 10G (wkrótce), „wolne” pasmo peryferyjne szybko staje się bardzo znaczące. W przeszłości autobus między mostem północnym a mostem południowym nie był zbyt wąski, ale teraz nie jest to już prawdą. Tak więc, architektury zmierzają w kierunku większej liczby magistrali podłączonych bezpośrednio do procesora.

Czy jest coś bardzo trudnego w robieniu tego w ten sposób? Nie rozumiem, w jaki sposób może to kosztować, ponieważ istniejące schematy mają już nie mniej niż siedem autobusów.

Byłoby więcej magistrali do zarządzania procesorem i więcej krzemu procesora do obsługi magistrali. Co jest drogie. Na powyższym schemacie nie wszystkie autobusy są równe. FSB krzyczy szybko, LPC nie. Szybkie magistrale wymagają szybkiej silikonu, wolne magistrale nie, więc jeśli możesz przenieść wolne magistrale z procesora do innego układu, to ułatwi ci życie.

Jednak, jak wspomniano powyżej, wraz ze wzrostem popularności urządzeń o dużej przepustowości, coraz więcej magistrali łączy się bezpośrednio z procesorem, szczególnie w architekturze SoC / bardziej zintegrowanej. Dzięki umieszczaniu coraz większej liczby kontrolerów na matrycy procesora łatwiej jest uzyskać bardzo wysoką przepustowość.

EDYCJA: Zapomniałem wspomnieć o Monitorze Strażniczym. Wiem, że widziałem to na niektórych schematach. Przypuszczalnie wąskie gardło ułatwiłoby organowi nadzorującemu monitorowanie wszystkiego. Czy to może mieć z tym coś wspólnego?

Nie, tak naprawdę nie robi to strażnik. Organ nadzorczy polega na ponownym uruchomieniu różnych rzeczy, gdy / jeśli się zablokują; tak naprawdę nie patrzy na wszystko poruszające się po autobusie (jest o wiele mniej skomplikowane!).

uint128_t
źródło
2
Fast buses require fast silicon, slow buses don'tCo dokładnie oznacza szybki krzem? Krzem o wyższej czystości? A może mówisz, że wolne autobusy mogą używać innego pierwiastka niż krzem? Tak czy inaczej, myślałem, że krzem jest dość tanim materiałem. Interesujące jest też to, że jest stróżem. Mogę zadać związane z tym pytanie.
DrZ214
1
Szybka magistrala byłaby zazwyczaj częścią urządzenia o wysokiej wydajności, np. Procesora. Interfejs magistrali wymaga miejsca i połączeń z innymi częściami układu. Obszar krzemowy na matrycy procesora jest znacznie droższy niż znacznie wolniejszy układ, ponieważ rozmiar procesu jest mniejszy, a wytwarzanie / pakowanie trudniejsze. Dlatego taniej jest ograniczyć urządzenia w FSB tylko do tych urządzeń, które faktycznie wymagają takiej przepustowości. Ponieważ jednak więcej kontrolerów jest zintegrowanych z procesorem na tej samej matrycy (SoC), nie jest to już tak prawdziwe.
uint128_t
Chociaż powolne magistrale nie wymagają szybkiego krzemu, często zdarza się znaleźć bardzo szybkie sterowniki na powolnych interfejsach, co może powodować poważne problemy z układem PCB. Widziałem zwykłe PCI (maksymalna prędkość 133 MHz na PCI-X) z czasem narastania i opadania mniejszym niż 300 ps, ​​ponieważ producenci używają standardowej komórki I / O. Wiem, że PCI jako interfejs nie jest normalnie dostępny w nowych procesorach, ale ten problem ma zastosowanie gdzie indziej.
Peter Smith
6

Liczba magistral, z którymi procesor bezpośrednio się połączy, będzie zasadniczo ograniczona do liczby odrębnych części procesora, które mogłyby uzyskać dostęp do rzeczy jednocześnie. Nierzadko, szczególnie w świecie wbudowanych procesorów i procesorów DSP, procesor ma magistralę dla programów i magistralę dla danych i umożliwia jednoczesne działanie obu. Typowy uniprocesor jednak skorzysta tylko na pobraniu jednej instrukcji na cykl instrukcji i będzie mógł uzyskać dostęp tylko do jednej lokalizacji pamięci danych na cykl instrukcji, więc wyjście poza jedną szynę pamięci programu i jedną magistrala pamięci danych. Aby umożliwić wykonanie niektórych rodzajów matematyki na danych pobranych z dwóch różnych strumieni,

W przypadku procesorów, które mają wiele jednostek wykonawczych, pomocne może być posiadanie osobnej magistrali dla każdej z nich, aby w przypadku wielu jednostek „zewnętrznych”, które muszą pobrać elementy z różnych „zewnętrznych” magistrali, może to zrobić bez zakłóceń. Chyba że istnieje logiczny powód, dla którego rzeczy, do których mają dostęp różne jednostki wykonawcze, będą dostępne za pośrednictwem różnych magistral poza procesorem, jednak oddzielne magistrale od procesora zasilają jednostkę arbitrażową, która może przekazywać tylko jedno żądanie na raz konkretne urządzenie zewnętrzne nic nie pomoże. Autobusy są drogie, więc posiadanie dwóch jednostek wykonawczych na jednej magistrali jest generalnie tańsze niż używanie oddzielnych autobusów. Jeśli użycie oddzielnych magistral pozwoli na znaczną poprawę wydajności, może to uzasadnić koszt, ale w przeciwnym razie wszelkie zasoby (obszar chipa itp.)

supercat
źródło
-1

Rozważ liczbę pinów wymaganych na pakietach CPU, aby mieć wiele szerokich szyn. Na przykład osiem rdzeni procesora, każdy z 64-bitową magistralą danych, oraz różne inne piny do innych celów. Czy są dziś dostępne jakieś pakiety CPU z około 800 pinami?

użytkownik6030
źródło
Dlaczego by nie było? Matryca kulkowa 32x32 i wielowarstwowa płytka drukowana nie wydaje się trudnym problemem (na względną skalę). Inżynierowie sprzętu są niesamowici. // Pomyśl o tym, jak szerokie i niezdarne mogą być karty pamięci RAM, i nadal taktują się z częstotliwością 1,6 GHz (625 pikosekund). Jeśli sygnały elektryczne przemieszczają się w 2/3 c, najdłuższy ślad może mieć tylko 6 cm długości, a zaledwie kilka mm różnicy długości spowoduje zauważalne przesunięcia czasowe. // I zgaduję, że przesłuch między warstwami nie byłby znacznie gorszy niż między śladami na tej samej warstwie.
Oskar Skog,
„Czy są dziś dostępne jakieś pakiety CPU z może 800 pinami?” O tak. Pakiety z ponad 1100 pinami były już powszechne, gdy pisano tę odpowiedź. A teraz jest LGA3647 dla niektórych procesorów serwerowych Skylake-EX…
duskwuff