Spekulativní provádění

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

Spekulativní provádění je označení optimalizační metody používané v oblasti počítačů, jejíž podstatou je provedení pomocné práce, jejíž výsledek může, ale nemusí být v budoucnu využit. Lze provést tehdy, pokud jsou pro provedení dané práce aktuálně volné zdroje, pokud není závislá na ještě nedokončené jiné práci a pokud je její zrušení v případě nepoužití snadné (například výsledek výpočtu může být jednoduše nepoužit a zapomenut).

Typickým nízkoúrovňovým použitím je nízkoúrovňové použití při předvídání skoků v procesorech s překrývaným zpracováním strojových instrukcí. Část procesoru vyzvedávající instrukce z paměti by teoreticky měla čekat na výsledek zpracování předchozí instrukce podmíněného skoku, ale to by znamenalo velké čekání a zdržení. +more Na základě odhadu proto začne procesor pracovat podle jedné z variant výsledku a v případě, že byl odhad správný, výpočet využije a ušetřil mnoho času, zatímco v případě, kdy nebyl, bude postupovat jen s malým zpožděním způsobeným nutností zahodit předzpracované instrukce, které vlastně nemají být vůbec vykonány. Spekulativní provádění na úrovni procesoru je ovšem obtížné správně implementovat z hlediska počítačové bezpečnosti a v implementaci tohoto v procesorech široce rozšířeném použití spekulativního provádění bylo nalezeno několik závažných bezpečnostních děr: Meltdown, Foreshadow, Spectre.

Na jiných úrovních jsou příkladem stejného přístupu například přednahrávání dat do rychlé procesorové mezipaměti či dokonce celých souborů do paměti na základě odhadu, že budou brzy vyžadovány.

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top