Von Neumannovo ozko grlo je naravni rezultat uporabe vodila za prenos podatkov med procesorjem, pomnilnikom, dolgotrajnim shranjevanjem in perifernimi napravami. Ne glede na to, kako hitro avtobus opravi svojo nalogo, ga je vedno mogoče premagati – torej ustvariti ozko grlo, ki zmanjšuje hitrost –. Sčasoma se hitrost procesorja še naprej povečuje, medtem ko se pomnilnik in izboljšave drugih naprav osredotočajo na gostoto – zmožnost shranjevanja več v manj prostora. Posledično postane ozko grlo z vsako izboljšavo vse večja težava, zaradi česar procesor preživi veliko časa v mirovanju.
V razumnem smislu lahko premagate nekatere težave, ki obkrožajo Von Neumannovo ozko grlo, in povzročijo majhno, a opazno povečanje hitrosti aplikacije. Tu so najpogostejše rešitve:
- Predpomnjenje: Ko so se pojavile težave z dovolj hitrim pridobivanjem podatkov iz pomnilnika z Von Neumannovo arhitekturo, so se prodajalci strojne opreme hitro odzvali z dodajanjem lokaliziranega pomnilnika, ki ni zahteval dostopa do vodila. Ta pomnilnik se zdi zunanji za procesor, vendar kot del paketa procesorja. Vendar pa je predpomnilnik visoke hitrosti drag, zato so velikosti predpomnilnika ponavadi majhne.
- Predpomnjenje procesorja: na žalost zunanji predpomnilniki še vedno ne zagotavljajo dovolj hitrosti. Tudi uporaba najhitrejšega razpoložljivega RAM-a in popolna izključitev dostopa do vodila ne zadostuje potrebam procesorske zmogljivosti procesorja. Posledično so prodajalci začeli dodajati notranji pomnilnik – predpomnilnik, manjši od zunanjega predpomnilnika, vendar s še hitrejšim dostopom, ker je del procesorja.
- Vnaprejšnje pridobivanje: Težava s predpomnilniki je, da se izkažejo za uporabne le, če vsebujejo pravilne podatke. Žal se v aplikacijah, ki uporabljajo veliko podatkov in izvajajo najrazličnejše naloge, izkaže, da je zadetkov v predpomnilniku malo. Naslednji korak pri hitrejšem delovanju procesorjev je uganiti, katere podatke bo aplikacija zahtevala naslednje, in jih naložiti v predpomnilnik, preden jih zahteva aplikacija.
- Uporaba posebnega RAM-a: Lahko vas pokoplje juha RAM abecede, ker obstaja več vrst RAM-a, kot si večina ljudi predstavlja. Vsaka vrsta RAM-a naj bi rešila vsaj del problema Von Neumannovega ozkega grla in deluje – v mejah. V večini primerov se izboljšave vrtijo okoli ideje o hitrejšem pridobivanju podatkov iz pomnilnika in na vodilo. Na hitrost vplivata dva glavna (in veliko manjših) dejavnikov: hitrost pomnilnika (kako hitro pomnilnik premika podatke) in zakasnitev (koliko časa traja, da se poišče določen del podatkov). Preberite več o spominu in dejavnikih, ki nanj vplivajo.
Kot pri mnogih drugih področjih tehnologije lahko hype postane problem. Na primer, večnitnost, dejanje razbitja aplikacije ali drugega niza navodil v diskretne izvršilne enote, ki jih procesor lahko obdeluje eno za drugo, se pogosto omenja kot sredstvo za premagovanje Von Neumannovega ozkega grla, vendar dejansko ne deluje. kaj več kot dodajanje dodatnih stroškov (kar še poslabša težavo). Večnitnost je odgovor na drugo težavo: izboljšati učinkovitost aplikacije. Ko aplikacija doda težave z zamudo v Von Neumannovo ozko grlo, se celoten sistem upočasni. Večnitno delovanje zagotavlja, da procesor ne izgublja še več časa za čakanje na uporabnika ali aplikacijo, ampak ima namesto tega ves čas nekaj za početi. Zakasnitev aplikacije se lahko pojavi pri kateri koli procesorski arhitekturi, ne samo pri Von Neumannovi arhitekturi. Četudi,