A co třeba psát programy rovnou paralelně?
Predikce větvení kódu je jedna věc, a ta se asi sotva vyřeší lépe (i když mohu se mýlit) na úrovni procesoru, nebo kompilátoru. Ale dokážu si představit, že pojedou instrukce v několika větvích, které se vzájemně neovlivňují. Pak špatná predikce skoku ovlivní jen jednu větev.
Osobně si myslím, že správná cesta je směrem k multiprocesorovým strojům. Třeba i na úrovni, že jeden čip bude už sám o sobě představovat několik procesorů, které si třeba mohou i své jednotky vzájemně půjčovat, jak to dělá například hyperthreading.
Ono zvyšování taktu má své meze, pokud se budou zvyšovat takty jako dosud, tak základní desky budou mít problémy s fázovým posuvem signálů na desce a synchronizací mezi jednotlivými součástmi základní desky. To dožene výrobce nejdříve dávat čipy co nejblíže k procesoru. To ovšem pomůže jen na chvíli a pak bude nutné integrovat do čipu s procesorem i leccos z čipů, které jsou dnes součástí základní desky. To taky pomůže jen na určitý čas a pak se bude muset jít cestou multiprocesorových strojů, aby se zvýšil výkon.