Von Neumannovo úzke miesto je prirodzeným výsledkom používania zbernice na prenos údajov medzi procesorom, pamäťou, dlhodobým úložiskom a periférnymi zariadeniami. Bez ohľadu na to, ako rýchlo autobus plní svoju úlohu, vždy je možné ho premôcť – teda vytvoriť úzke miesto, ktoré zníži rýchlosť. Postupom času sa rýchlosť procesora neustále zvyšuje, zatiaľ čo vylepšenia pamäte a iných zariadení sa zameriavajú na hustotu – schopnosť uložiť viac na menšom priestore. V dôsledku toho sa prekážka stáva väčším problémom s každým vylepšením, čo spôsobuje, že procesor trávi veľa času nečinnosťou.
V rozumnej miere môžete prekonať niektoré problémy, ktoré obklopujú Von Neumannovu prekážku a spôsobiť malé, ale viditeľné zvýšenie rýchlosti aplikácie. Tu sú najbežnejšie riešenia:
- Ukladanie do vyrovnávacej pamäte: Keď sa problémy so získavaním údajov z pamäte dostatočne rýchlo s architektúrou Von Neumann prejavili, predajcovia hardvéru rýchlo zareagovali pridaním lokalizovanej pamäte, ktorá nevyžadovala prístup k zbernici. Táto pamäť sa javí ako externá pre procesor, ale ako súčasť procesorového balíka. Vysokorýchlostná vyrovnávacia pamäť je však drahá, takže veľkosti vyrovnávacej pamäte bývajú malé.
- Ukladanie do vyrovnávacej pamäte procesora: Bohužiaľ, externé vyrovnávacie pamäte stále neposkytujú dostatočnú rýchlosť. Ani použitie najrýchlejšej dostupnej pamäte RAM a úplné vylúčenie prístupu k zbernici nespĺňa požiadavky procesora na kapacitu spracovania. V dôsledku toho predajcovia začali pridávať internú pamäť – vyrovnávaciu pamäť menšiu ako externá vyrovnávacia pamäť, ale s ešte rýchlejším prístupom, pretože je súčasťou procesora.
- Predbežné načítanie: Problém s vyrovnávacími pamäťami je v tom, že sa ukážu ako užitočné iba vtedy, keď obsahujú správne údaje. Bohužiaľ, počet prístupov do vyrovnávacej pamäte je nízky v aplikáciách, ktoré využívajú veľa údajov a vykonávajú širokú škálu úloh. Ďalším krokom pri zrýchľovaní procesorov je uhádnuť, ktoré údaje bude aplikácia ďalej vyžadovať, a načítať ich do vyrovnávacej pamäte skôr, ako ich bude vyžadovať aplikácia.
- Používanie špeciálnej pamäte RAM: Môžete sa nechať pochovať polievkou podľa abecedy RAM, pretože existuje viac druhov pamäte RAM, ako si väčšina ľudí predstavuje. Každý druh pamäte RAM má za cieľ vyriešiť aspoň časť problému s prekážkou Von Neumanna a fungujú – v rámci limitov. Vo väčšine prípadov sa vylepšenia točia okolo myšlienky rýchlejšieho získavania údajov z pamäte a na zbernicu. Rýchlosť ovplyvňujú dva hlavné (a mnoho menších) faktorov: rýchlosť pamäte (ako rýchlo pamäť presúva dáta) a latencia (ako dlho trvá nájdenie konkrétnej časti údajov). Prečítajte si viac o pamäti a faktoroch, ktoré ju ovplyvňujú.
Rovnako ako v mnohých iných oblastiach technológie sa humbuk môže stať problémom. Napríklad multithreading, akt rozdelenia aplikácie alebo iného súboru inštrukcií do samostatných vykonávacích jednotiek, ktoré procesor môže spracovať jednu po druhej, sa často ponúka ako prostriedok na prekonanie Von Neumannovho úzkeho miesta, ale v skutočnosti to tak nie je. čokoľvek viac ako pridať réžiu (čo problém ešte zhorší). Multithreading je odpoveďou na ďalší problém: zefektívnenie aplikácie. Keď aplikácia pridá problémy s latenciou do Von Neumannovho úzkeho miesta, celý systém sa spomalí. Multithreading zaisťuje, že procesor nestráca ešte viac času čakaním na používateľa alebo aplikáciu, ale namiesto toho má neustále čo robiť. Aplikačná latencia sa môže vyskytnúť pri akejkoľvek architektúre procesora, nielen pri architektúre Von Neumann. Aj tak,