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?