Dlaczego działające procesory mocniej zużywają więcej energii elektrycznej?

16

W mgle czasu, kiedy zacząłem kodować, przynajmniej o ile mi wiadomo, wszystkie procesory zużywały stałą moc. Nie było czegoś takiego jak „bezczynność” procesora.

Obecnie istnieją różnego rodzaju technologie zmniejszające zużycie energii, gdy procesor nie jest bardzo zajęty, głównie poprzez dynamiczne zmniejszanie częstotliwości taktowania.

Moje pytanie brzmi: dlaczego praca z niższą częstotliwością taktowania zużywa mniej energii?

Moje wyobrażenie o procesorze przedstawia napięcie odniesienia (powiedzmy 5 V) reprezentujące układ binarny 1, a 0 V reprezentujący 0. Dlatego mam tendencję do myślenia o stałej wartości 5 V przykładanej w całym układzie, z różnymi bramkami logicznymi rozłączającymi to napięcie gdy „wyłączone”, oznacza to, że używana jest stała ilość mocy. Szybkość włączania i wyłączania tych bramek wydaje się nie mieć związku z zużytą mocą.

Nie mam wątpliwości, że to beznadziejnie naiwny obraz, ale nie jestem inżynierem elektrykiem. Czy ktoś może wyjaśnić, co tak naprawdę dzieje się ze skalowaniem częstotliwości i jak oszczędza energię. Czy istnieją inne sposoby wykorzystania mocy procesora w zależności od stanu? np. Czy zużywa więcej energii, jeśli więcej bram jest otwartych?

Czym różnią się procesory mobilne / małej mocy od swoich kuzynów na komputery stacjonarne? Czy są one po prostu prostsze (mniej tranzystorów?), Czy jest jakaś inna fundamentalna różnica w projekcie?


źródło
8
Mylisz się, procesory nigdy nie zużywały takiej samej mocy w czasie, zawsze była zmienna. Znacząco upraszczając, można założyć, że moc jest wydawana tylko na zmianę pojedynczej wartości przerzutu. Dlatego im więcej obliczeń wykonuje się na sekundę, im więcej rejestrów wewnętrznych zmienia swoje wartości, tym więcej energii jest zużywane.
2
Jeśli dobrze pamiętam moją elektronikę, większość „zmarnowanej” energii (aka „ciepła”) to upływ (aka (małe) ilości prądu płynącego tam, gdzie nie powinien nastąpić przepływ). Zdarza się to częściej, gdy a.) Używasz wyższego napięcia i b.) Przełączasz na wyższych częstotliwościach. Większość współczesnych procesorów redukuje zarówno napięcie, jak i częstotliwość w stanach niskiego poboru mocy (a nawet jeśli redukuje tylko jeden z nich, nadal jest to zysk).
3
@ SK-logic: Wiele historycznych procesorów korzysta z logiki ECL, która zużywa mniej więcej tyle samo mocy bez względu na częstotliwość taktowania. Seymour Cray zaprojektował CDC 8600, Cray-1, Cray X-MP, Cray Y-MP, Cray T90 do korzystania z ECL. Artykuł dotyczący logiki ECL na Wikipedii wymienia jeszcze kilka innych firm. Mówisz, że te maszyny nigdy nie istniały, czy też nie liczą się jako procesory?
Davidcary
Procesory oszczędzają również energię, używając instrukcji zatrzymania. Jądro systemu operacyjnego może ustawić zegar, aby obudzić procesor i wykonać tę instrukcję, aby procesor zasnął.
Oskar Skog

Odpowiedzi:

24

Szybkość włączania i wyłączania tych bramek wydaje się nie mieć związku z zużytą mocą.

Tutaj się mylisz. Zasadniczo każda bramka jest kondensatorem o niewiarygodnie małej pojemności. Włączanie i wyłączanie poprzez „podłączanie” i „odłączanie” napięcia przesuwa niewiarygodnie mały ładunek elektryczny do lub z bramki - właśnie dlatego działa inaczej.

A ruchomy ładunek elektryczny to prąd, który zużywa energię. Wszystkie te małe prądy z miliardów bram przełączanych miliardy razy na sekundę sumują się całkiem sporo.

Michael Borgwardt
źródło
Tak dzieje się w pamięci - pamięć DRAM. Pamięć z procesora (pamięci podręcznej) używa pamięci SRAM, która nie jest zaimplementowana z kondensatorami ...
7
@ m3th0dman: Nie mówię o elementach, które mają być kondensatorami. Każdy tranzystor, każdy element wewnątrz procesora ma pojemność.
7

Jak zauważa komentarz SK-logic, większość mocy jest naprawdę wydawana na zmianę przerzucania, a nie na stan ustalony.

W celu dynamicznego zmniejszenia są dwie główne rzeczy, które możesz zrobić IIRC.

  1. jeśli całe obszary układu nie są taktowane, możesz potencjalnie całkowicie wyłączyć zasilanie tych obszarów

  2. Samo drzewo zegarowe jest jednym z największych poborów mocy w systemie, głównie dlatego, że jest najszybciej przełączającą się częścią systemu. Zmniejszenie mocy w samym drzewie zegara jest więc znaczące.

jk.
źródło
Co to jest drzewo zegarowe?
akaltar
2
@akaltar suma wszystkich linii, które dystrybuują sygnał zegara do każdego elementu procesora, który musi być zsynchronizowany z zegarem.
Michael Borgwardt,
6

Moc pobierana przez obwód elektroniczny składa się z dwóch elementów:

  • wyciek, który jest mniej więcej niezależny od stałej częstotliwości i będzie zależeć od technologii i napięcia roboczego;
  • moc przełączania, która zależy od częstotliwości (wynika to z ładowania i rozładowywania różnych pojemności, tranzystorów i przewodów)

Aby ograniczyć zużycie, projektanci procesorów stosują kilka technik:

  • modyfikowanie częstotliwości w zależności od obciążenia (będzie to działać tylko na moc przełączania)
  • zmniejszenie mocy lub nawet wyłączenie części obwodów, gdy nie są one potrzebne

Techniki te powodują, że w zależności od obciążenia, możesz być lepiej, od POV zużycia energii, albo zmniejszając częstotliwość, albo wykonując „sprint” przy pełnej prędkości, a następnie odcinając podzbiór obwodów.

AProgrammer
źródło
Możliwe jest również, że zmniejszenie częstotliwości pozwala obniżyć napięcie robocze (ponieważ tranzystory są wtedy nieco wolniejsze) w celu zmniejszenia upływu.
TEMLIB
0

Praca z niższą częstotliwością taktowania nie wpływa na energię wymaganą do wykonania określonego zadania. Może nawet zwiększyć wymaganą energię, jeśli weźmiesz pod uwagę wyciek i możesz całkowicie się wyłączyć.

Tam, gdzie niższe taktowanie oszczędza energię, możliwe jest również obniżenie napięcia roboczego. Zmniejszenie napięcia często oszczędza wystarczającą moc, aby zrekompensować potrzebę pozostawania aktywnym przez dłuższy czas.

Sean Houlihane
źródło
Nie zgadzam się z Seanem. Obniżenie częstotliwości taktowania zmniejsza wszystkie pasożytnicze straty przełączania związane z całym łańcuchem taktowania, co jest ogromne w typowym procesorze. My Atom Netbook pracuje w 1GHz, gdybym udusić procesora do 500MHz biegnie chłodnicę i wyraźnie rysuje mniej energii od od zasilania, a to nie wpływa na zadania - to trwa dwa razy dłużej, aby zakończyć.
rdtsc
2
@rdtsc Ostrożnie teraz. Sean pisze energię , a nie moc .
rura
@rdtsc Zmieszałeś moc i energię. Pierwsze zamówienie, określone zadanie będzie wymagało stałej liczby cykli zegara. Zastanów się, jak bateria zareaguje na twoje zadanie w dwóch różnych punktach operacyjnych.
Sean Houlihane,
Ach tak. Nadal pracuję nad pierwszą filiżanką kawy tutaj. :) Musiałbym to zmierzyć, ale myślę, że zużywana energia będzie faktycznie nieco większa przy niższej częstotliwości taktowania, ponieważ nowoczesny procesor ma tak wiele zdarzeń okresowych do obsłużenia na sekundę. Będzie ich więcej dla wolniejszego zegara, a więcej oznacza dłuższy czas na zakończenie zadania.
rdtsc
Niektóre powiązane czytanie w tle anandtech.com/show/9330/exynos-7420-deep-dive/6
Sean Houlihane