Co ogranicza szybkość procesora?

102

Niedawno rozmawiałem z przyjacielem o kompilacji LaTeX. LaTeX może używać tylko jednego rdzenia do kompilacji. Zatem dla szybkości kompilacji LaTeX najważniejsza jest szybkość zegara procesora (patrz Wskazówki dotyczące wyboru sprzętu zapewniającego najlepszą wydajność kompilacji LaTeX )

Z ciekawości szukałem procesorów o najwyższych częstotliwościach zegara. Myślę, że to Intel Xeon X5698 z 4,4 GHz ( źródło ) miał najwyższą częstotliwość zegara.

Ale to pytanie nie dotyczy sprzedawanych procesorów. Chciałbym wiedzieć, jak szybko to może osiągnąć, jeśli nie zależy ci na cenie.

Jedno pytanie brzmi: czy istnieje fizyczny limit szybkości procesora? Jak to jest wysoko?

Drugie pytanie brzmi: jaka jest jak dotąd najwyższa osiągnięta prędkość procesora?

Zawsze uważałem, że szybkość procesora jest ograniczona, ponieważ chłodzenie (tak ciepło ) staje się tak trudne. Ale mój przyjaciel wątpi, że to jest powód (kiedy nie musisz używać tradycyjnych / tanich systemów chłodzenia, np. W eksperymencie naukowym).

W [2] przeczytałem, że opóźnienia transmisji powodują kolejne ograniczenie szybkości procesora. Nie wspominają jednak o tym, jak szybko można to osiągnąć.

Co znalazłem

O mnie

Jestem studentem informatyki. Wiem coś o procesorze, ale nie za dużo. A jeszcze mniej na temat fizyki, która może być ważna dla tego pytania. Jeśli to możliwe, pamiętaj o tym, udzielając odpowiedzi.

Martin Thoma
źródło
10
Twoje pytanie jest miłe, oczekuj bardzo dobrych i wykształconych odpowiedzi. Moje dwa centy: implikacja „ucieka tylko z jednego rdzenia” -> „najważniejszy jest zegar” nie jest prawdą.
Vladimir Cravero
12
Obecny rekord przetaktowanego procesora to spychacz AMD, pracujący z częstotliwością 8,4 GHz . Ochłodzono go za pomocą ciekłego azotu.
tcrosley,
2
Chociaż tytuł pytania brzmi „Co ogranicza szybkość procesora?” należy zauważyć, że stwierdzenie: „LaTeX może używać tylko jednego rdzenia do kompilacji. Zatem dla szybkości kompilacji LaTeX, taktowanie procesora jest najważniejsze” niekoniecznie jest prawdziwe. Pamięć podręczna procesora może również mieć znaczenie. Ze względu na to, jak działają nowoczesne procesory, w połączeniu z faktem, że istnieją różne procesory o identycznych częstotliwościach, ale o różnych rozmiarach pamięci podręcznej, a także sposób, w jaki oprogramowanie zostało napisane i jest używane, pamięć podręczna procesora może mieć większy wpływ na szybkość wykonywania niż Częstotliwość procesora.
Shivan Dragon,
2
Wydajność pojedynczego wątku nie jest wprost proporcjonalna do szybkości zegara; związek jest bardziej złożony. Może to być częściowo maskowane podobieństwem ostatnich mikroarchitektur Intel x86 z ulepszeniami mikroarchitekturalnymi kompensującymi niektóre koszty rosnącej częstotliwości.
Paul A. Clayton,
9
Sugeruję porównanie procesora 2GHz z 2004 roku z procesorem 2GHz z 2014 roku; przekonasz się, że nie są na tym samym boisku, nawet przy zadaniach jednowątkowych, a nawet gdy oba realizują ten sam zestaw instrukcji - instrukcje CISC, które są karmione, to jedno, ale mikroprocesory są zepsute są zupełnie inne.
Charles Duffy,

Odpowiedzi:

76

Praktycznie tym, co ogranicza szybkość procesora, jest zarówno wytwarzane ciepło, jak i opóźnienie bramki, ale zwykle ciepło staje się znacznie większym problemem, zanim ten drugi się uruchomi.

Najnowsze procesory są produkowane przy użyciu technologii CMOS. Za każdym razem, gdy występuje cykl zegara, energia jest rozpraszana. Dlatego wyższe prędkości procesora oznaczają większe rozpraszanie ciepła.

http://en.wikipedia.org/wiki/CMOS

Oto kilka liczb:

Core i7-860   (45 nm)        2.8 GHz     95 W
Core i7-965   (45 nm)        3.2 GHz    130 W
Core i7-3970X (32 nm)        3.5 GHz    150 W

wprowadź opis zdjęcia tutaj

Naprawdę możesz zobaczyć, jak zwiększa się moc przejścia procesora (wykładniczo!).

Ponadto pojawiają się pewne efekty kwantowe, gdy rozmiar tranzystorów zmniejsza się. Na poziomie nanometrów bramki tranzystorów stają się „nieszczelne”.

http://computer.howstuffworks.com/small-cpu2.htm

Nie będę się tutaj zastanawiał, jak ta technologia działa, ale jestem pewien, że możesz użyć Google do wyszukiwania tych tematów.

Okej, teraz opóźnienia transmisji.

Każdy „drut” wewnątrz procesora działa jak mały kondensator. Również podstawa tranzystora lub bramka MOSFET działają jak małe kondensatory. Aby zmienić napięcie na połączeniu, należy albo naładować przewód, albo usunąć ładunek. Gdy tranzystory kurczą się, staje się to trudniejsze. Właśnie dlatego SRAM potrzebuje tranzystorów wzmacniających, ponieważ tak naprawdę tranzystory z macierzą pamięci są tak małe i słabe.

W typowych układach scalonych, w których gęstość jest bardzo ważna, ogniwa bitowe mają bardzo małe tranzystory. Ponadto są zwykle wbudowane w duże tablice, które mają bardzo duże pojemności linii bitowej. Powoduje to bardzo powolne (względnie) rozładowanie linii bitów przez ogniwo bitowe.

Od: Jak zaimplementować wzmacniacz SRAM sens?

Zasadniczo chodzi o to, że trudniej jest, gdy małe tranzystory muszą napędzać interkonekty.

Istnieją również opóźnienia bramy. Nowoczesne procesory mają ponad dziesięć etapów potoku, może nawet do dwudziestu.

Problemy z wydajnością w rurociągach

Istnieją również efekty indukcyjne. Przy częstotliwościach mikrofalowych stają się dość znaczące. Możesz poszukać przesłuchu i tego typu rzeczy.

Teraz, nawet jeśli uda ci się uruchomić procesor 3265810 THz, kolejnym praktycznym ograniczeniem jest szybkość, z jaką reszta systemu może go obsługiwać. Musisz mieć pamięć RAM, pamięć masową, logikę klejową i inne połączenia, które działają równie szybko, albo potrzebujesz ogromnej pamięci podręcznej.

Mam nadzieję że to pomoże.

fuzzyhair2
źródło
1
Możesz zamieścić link do tej dyskusji, aby uzyskać miłe odniesienia na temat szybkości zegara i zużycia energii: physics.stackexchange.com/questions/34766/…
Emiswelt
2
Mówiąc o opóźnieniach transmisji, należy również wziąć pod uwagę prędkość elektryczności pl.wikipedia.org/wiki/Speed_of_electricity
ryantm
Czy faktycznie rośnie wykładniczo, czy tylko kwadratowo? W rzeczywistości ten film mówi o tym Power = Frequency ^ 1.74.
Paul Manta
2
Dobra uwaga, jednak jedną z głównych trudności w projektowaniu procesorów są interkonekty. Fizycznie duży układ może być możliwy, ale pamiętaj, że działają one w zakresie gigaherców. Chcesz, aby przewody były krótkie.
fuzzyhair2
2
Ponieważ pytanie jest teoretyczne, można dodać, że inne półprzewodniki, takie jak arsen galu, pozwalają na wyższe częstotliwości.
Iacopo
32

Problem ciepła jest dobrze pokryty przez puszyste włosy. Podsumowując opóźnienia transmisji, zastanów się nad tym: Czas potrzebny na przejście sygnału elektrycznego przez płytę główną to więcej niż jeden cykl zegara nowoczesnego procesora. Tak więc tworzenie szybszych procesorów nie osiągnie wiele.

Superszybki procesor jest naprawdę korzystny tylko w przypadku masowych procesów polegających na łamaniu liczb, a następnie tylko wtedy, gdy kod jest starannie zoptymalizowany, aby działał w układzie scalonym. Jeśli często trzeba szukać gdzie indziej danych, marnuje się dodatkową prędkość. W dzisiejszych systemach większość zadań może być wykonywana równolegle, a duże problemy są podzielone na wiele rdzeni.

Wygląda na to, że proces kompilacji lateksu zostałby ulepszony przez:

  • szybsze IO. Wypróbuj RAMdisk.
  • uruchamianie różnych dokumentów na różnych rdzeniach
  • nie oczekując, że 200-stronicowe zadanie wymagające dużej ilości zdjęć zostanie wykonane w ciągu 2 sekund
Paweł
źródło
2
Szkoda, że ​​mam tylko jedną opinię pozytywną. Twoja odpowiedź zasługuje na więcej za wskazanie, że taktowanie zegara może nie być wąskim gardłem w problemie PO.
Solomon Slow
17

Istnieją trzy ograniczenia fizyczne: ciepło, opóźnienie bramki i prędkość transmisji elektrycznej.

Rekord świata w najwyższej jak dotąd częstotliwości zegara (według tego linku) 8722.78 MHz

Prędkość transmisji elektrycznej (mniej więcej taka sama jak prędkość światła) jest bezwzględnym ograniczeniem fizycznym, ponieważ żadne dane nie mogą być przesyłane szybciej niż ich medium. Jednocześnie limit ten jest bardzo wysoki, więc zwykle nie jest czynnikiem ograniczającym.

Procesory składają się z ogromnej liczby bramek, z których całkiem sporo jest połączonych szeregowo (jedna po drugiej). Przejście ze stanu wysokiego (np. 1) do stanu niskiego (np. 0) lub odwrotnie zajmuje trochę czasu. To opóźnienie bramy. Więc jeśli masz 100 bramek połączonych szeregowo, a jedna wymaga przełączenia 1 ns, będziesz musiał poczekać co najmniej 100 ns, aby całość mogła dać ci prawidłowy wynik.

Przełączniki te zużywają najwięcej mocy procesora. Oznacza to, że jeśli zwiększysz częstotliwość zegara, otrzymasz więcej przełączników, a tym samym zużyjesz więcej energii, a tym samym zwiększysz moc cieplną.

Przepięcie (=> zapewnienie większej mocy) nieco zmniejsza opóźnienie bramki, ale ponownie zwiększa moc cieplną.

Gdzieś w okolicach 3 GHz zużycie energii do taktowania niezwykle wzrasta. Właśnie dlatego procesory 1,5 GHz mogą działać na smartfonie, podczas gdy większość procesorów 3-4 GHz nie może nawet działać na laptopie.

Ale Szybkość zegara nie jest jedyną rzeczą, która może przyspieszyć procesor, również optymalizacje w potoku lub architektura mikrokodu mogą spowodować znaczne przyspieszenie. Właśnie dlatego 3 GHz Intel i5 (Dualcore) jest wielokrotnie szybszy niż 3 GHz Intel Pentium D (Dualcore).

Dakkaron
źródło
1
Już samo podkręcenie zwiększa liniowe zużycie mocy procesora. Zatem podwójna prędkość zegara oznacza podwójne zużycie energii. Ale przy wyższych częstotliwościach zegara bramki stają się zbyt wolne, aby pracować z tą częstotliwością zegara i zaczynają się pojawiać błędy obliczeniowe -> losowe awarie. Musisz więc zwiększyć napięcie, aby przyspieszyć bramy. Skalowanie zużycia energii jest prostopadłe do napięcia. Podwójne napięcie oznacza więc czterokrotne zużycie energii. Dodaj to, by podwoić czas, a otrzymasz ośmiokrotne zużycie energii. Również niezbędne napięcie rośnie wykładniczo wraz z prędkością zegara. en.wikipedia.org/wiki/CPU_power_dissipation
Dakkaron
1
Innym problemem jest to, że przepełnienie może po prostu usmażyć procesor i nic nie można na to poradzić. Jeśli twój procesor jest ustawiony na np. 3,3 V, być może uda ci się zwiększyć do 3,7 lub nawet 4 V, ale jeśli przejdziesz na wysoką wartość, po prostu zniszczy układ. Kolejny link warty przeczytania: en.wikipedia.org/wiki/CPU_core_voltage
Dakkaron
3
Problemem jest prędkość transmisji : w 3Ghz dostajesz tylko 10 cm na cykl. Ponieważ typowa matryca procesora ma obecnie powierzchnię 300m², uważam, że po 10 Ghz należałoby ponownie przemyśleć konstrukcję procesora, ponieważ prawdopodobnie nie wszystkie części układu mogą być osiągnięte w jednym cyklu.
Martin Schröder
1
@ MartinSchröder: Nie stanowi to większego problemu, ponieważ (a) procesor umiera z powodu ciepła i opóźnienia bramki przed osiągnięciem 10 GHz i (b) procesory stają się mniejsze z każdą generacją. Na przykład 6-rdzeniowy i7 z hiperwątkiem ma mniej więcej taki sam rozmiar jak singletor Pentium 4. Ale i7 ma 6 pełnych rdzeni i 6 dodatkowych „pół-rdzeni” do hiperwątkowania. Jest też pamięć podręczna. Te rdzenie są również podzielone na fazy rurociągu. Tylko części procesora w jednym rdzeniu i jednej fazie potoku (i być może pamięć podręczna L1) muszą być osiągnięte w jednym cyklu.
Dakkaron
1
@ com.prehensible Post, który podłączyłeś, mówi konkretnie o tym, że ten tranzystor 500 GHz jest „tylko” tranzystorem analogowym używanym do analogowego przetwarzania RF. W żadnym wypadku nie jest to procesor komputerowy.
Dakkaron
5

r=5.291×1011
c=3×108,
F=1t=c2πr=9.03×1017Hz
8×109Hz
Guill
źródło
Wprowadziłem kilka zmian w twoim LaTeX. Czy możesz sprawdzić, czy zmiana częstotliwości była prawidłowa?
Martin Thoma,
Jak wymyśliłeś obecny limit technologii?
Martin Thoma
Piszesz, że obecny limit to „8x 10 ^ 9 Hz”. Co to jest x? Czy w końcu chciałeś napisać kropkę mnożenia?
Martin Thoma,
1
Zbudowałbyś także ten najszybszy możliwy komputer w promieniu Schwarzschilda czarnej dziury dla maksymalnego efektu. Promień Bohra jest zbyt duży do pracy przy dużych prędkościach. :)
Goswin von Brederlow,
3

Jedno pytanie brzmi: czy istnieje fizyczny limit szybkości procesora?

To zależy w dużej mierze od samego procesora. Tolerancje produkcyjne powodują, że fizyczny limit jest nieco inny dla każdego układu, nawet z tego samego płytki.

opóźnienia transmisji powodują kolejne ograniczenie szybkości procesora. Nie wspominają jednak o tym, jak szybko można to osiągnąć.

To dlatego, że transmission delaylub speed path lengthjest wyborem dla projektanta układu. W skrócie, to ile pracy logika wykonuje w jednym cyklu zegara . Bardziej złożona logika powoduje wolniejsze maksymalne częstotliwości taktowania, ale także zużywa mniej energii.

Dlatego chcesz użyć testu porównawczego do porównania procesorów. Praca na numery cyklów jest bardzo różna, więc porównanie surowego MHz może dać zły pomysł.

Turbo J
źródło
2

Praktycznie jest to energia cieplna, która jest w przybliżeniu proporcjonalna do kwadratu napięcia: http://en.wikipedia.org/wiki/Thermal_design_power#Overview Każdy materiał ma swoją specyficzną pojemność cieplną, która ogranicza wydajność chłodzenia.
Nie biorąc pod uwagę problemów technicznych związanych z opóźnieniem chłodzenia i transmisji, znajdziesz prędkość światła ograniczającą odległość, jaką sygnał może pokonać w naszym procesorze na sekundę. Dlatego procesor musi uzyskać samller, im szybciej działa. Wreszcie, działa on powyżej określonej częstotliwości, procesor może stać się przezroczysty dla funkcji fal elektronicznych (elektrony modelowane jako funkcje falowe zgodnie z równaniem Schroingerera).
W 2007 r. Niektórzy fizycy obliczyli podstawowe ograniczenie prędkości roboczych:http://journals.aps.org/prl/abstract/10.1103/PhysRevLett.99.110502

Lars Hadidi
źródło
0

Oprócz wszystkich innych odpowiedzi, istnieje również kilka innych czynników, które mogą nie wpływać bezpośrednio na szybkość procesora, ale utrudniają budowanie czegokolwiek wokół tego procesora;

Krótko mówiąc, powyżej prądu stałego częstotliwość radiowa staje się problemem. Im szybciej jedziesz, tym bardziej skłonni jest działać jak gigantyczne radio. Oznacza to, że ślady na płytkach drukowanych ulegają przesłuchowi, skutkom ich własnej pojemności / indukcyjności z sąsiednimi ścieżkami / płaszczyzną uziemienia, hałasem itp. Itd.

Im szybciej jedziesz, tym gorzej to robi - nogi komponentów mogą na przykład wprowadzić niedopuszczalną indukcyjność.

Jeśli spojrzysz na wytyczne dotyczące układania „podstawowych” płytek drukowanych na poziomie Raspberry Pi z pewną pamięcią DDR RAM, wszystkie ślady magistrali danych itp. Muszą być równej długości, mieć prawidłowe zakończenie itp. I to jest działa znacznie poniżej 1GHz.

John U
źródło