Log-log-diagram & mättnad
Beräkningshastigheten följde en exponentiell tillväxtkurva i 50 år. I ett log-linjärt diagram (loggad hastighet mot linjär tid) framträder detta som en rät linje med lutning b = tillväxttakten i storleksordningar per år.
Fysiska begränsningar sätter ett horisontellt tak: en maxhastighet S_max som bestäms av molekylstorlek, ljushastighet & värmebegränsningar. När det exponentiella växandet närmar sig S_max måste tillväxten bromsa.
Logistisk mättnad
En vanlig modell för tillväxt med ett tak:
S(t) = S_max / (1 + e^(−r(t − t₀)))
Detta är den logistiska ekvationen tillämpad på teknik. I tidiga skeden (t << t₀): S(t) ≈ S_max × e^(r(t−t₀)) — ren exponentiell tillväxt. Nära taket (t >> t₀): S(t) → S_max asymptotiskt.
Geometrin: en rät linje i log-linjära koordinater böjs av nära taket och bildar en S-form i linjär-linjära koordinater.
När mättar tillväxten?
Antag att enprocessorhastigheten växer med 10^(0.09t) från 10⁰ ops/sek år 1940. Fysiskt tak: S_max = 10^(12) ops/sek (en grov uppskattning för en enkärnig processor, begränsad av termiska & ljushastighetsbegränsningar).
Maximal kommunikationsradie
En processors klockhastighet bestämmer den maximala radius inom vilken den kan kommunicera på en cykel. Signaler färdas med ungefär 2×10⁸ m/s i koppar.
För en klockperiod T (i sekunder) är den maximala envägs kommunikationsradien:
r_max = v × T / 2
(dela med 2 för tur-retur: signalen måste sändas ut och återvända inom T)
När klockhastigheten ökar minskar T, och därmed krymper r_max. Denna geometriska begränsning tvingar komponenter att klustras närmare — vilket minskar kretskortsytan — eller att acceptera flercykelsfördröjning för kommunikation utanför chippet.
Influensfären
Alla komponenter som kan nås inom en klockcykel bildar en sfär med radien r_max centrerad på processorn. Volym: V = (4/3)π r_max³.
Om komponentdensiteten är ρ (komponenter/m³) ges antalet komponenter som kan nås inom en cykel av: N = ρ × V = ρ × (4/3)π r_max³.
När r_max krymper med ökande klockhastighet minskar N kubiskt — en 2× ökning av klockhastigheten minskar antalet nåbara komponenter med (1/2)³ = 1/8.
Nåbara komponenter per klockcykel
En arbetsstation från 1993 körs med 100 MHz (T = 10 ns). Signalhastighet = 2×10⁸ m/s. Komponentdensitet på ett kretskort ≈ 10⁸ komponenter/m³ (grov uppskattning inklusive chip, motstånd och kondensatorer).
Ett modernt GPU körs med 2 GHz (T = 0,5 ns).
Gränsen för parallell hastighetsökning
Enprocessorhastigheten närmar sig fysiska tak. Branschens svar: parallella arkitekturer. Amdahls lag kvantifierar den hastighetsökning som kan uppnås med parallellism.
Amdahls lag
Antag att en bråkdel f av ett program kan parallelliseras, och bråkdelen (1−f) måste köras seriellt. Med p processorer:
Speedup(p) = 1 / ((1−f) + f/p)
När p → ∞: Speedup_max = 1 / (1−f)
Den seriella bråkdelen (1−f) sätter ett hårt tak för uppnåelig hastighetsökning, oavsett hur många processorer man lägger till.
Geometrisk insikt: Hastighetsökning som funktion av p följer en hyperbolisk kurva. Asymptoten är 1/(1−f). För f = 0,9 är maximal hastighetsökning = 10, även med oändliga processorer. För f = 0,99 är maximal hastighetsökning = 100.
Hammings underförstådda lärdom: intresset för parallella arkitekturer var genuint, men utdelningen berodde helt på hur paralleliserbar arbetsbelastningen var — ett faktum som många parallellberäkningsoptimister ignorerade.
Beräkna parallell hastighetsökning
En vetenskaplig simulering körs på 1 000 sekunder på en processor. Profilering avslöjar: 200 sekunder i en seriell initieringsfas (kan inte parallelliseras); 800 sekunder i en parallell beräkningsfas.