Gryka e ngushtë Von Neumann është një rezultat i natyrshëm i përdorimit të një autobusi për të transferuar të dhëna midis procesorit, kujtesës, ruajtjes afatgjatë dhe pajisjeve periferike. Pavarësisht se sa shpejt e kryen autobusi detyrën e tij, ta mposhtni atë - domethënë të krijoni një pengesë që zvogëlon shpejtësinë - është gjithmonë e mundur. Me kalimin e kohës, shpejtësitë e procesorit vazhdojnë të rriten ndërsa përmirësimet e kujtesës dhe të tjera të pajisjes fokusohen në densitet - aftësia për të ruajtur më shumë në më pak hapësirë. Rrjedhimisht, pengesa bëhet më problematike me çdo përmirësim, duke bërë që procesori të kalojë shumë kohë në punë.
Brenda arsyes, ju mund të kapërceni disa nga problemet që rrethojnë pengesën e Von Neumann dhe prodhojnë rritje të vogla, por të dukshme, në shpejtësinë e aplikimit. Këtu janë zgjidhjet më të zakonshme:
- Caching: Kur problemet me marrjen e të dhënave nga memorja mjaft shpejt me Arkitekturën Von Neumann u bënë të dukshme, shitësit e pajisjeve u përgjigjën shpejt duke shtuar memorie të lokalizuar që nuk kërkonte akses në autobus. Kjo memorie shfaqet e jashtme për procesorin, por si pjesë e paketës së procesorit. Megjithatë, memoria e memories me shpejtësi të lartë është e shtrenjtë, kështu që madhësitë e memories priren të jenë të vogla.
- Memoria e memories së procesorit: Për fat të keq, memoriet e jashtme ende nuk ofrojnë shpejtësi të mjaftueshme. Edhe përdorimi i RAM-it më të shpejtë të disponueshëm dhe ndërprerja e plotë e aksesit të autobusit nuk i plotëson nevojat e kapacitetit përpunues të procesorit. Rrjedhimisht, shitësit filluan të shtonin memorie të brendshme - një cache më e vogël se cache e jashtme, por me akses edhe më të shpejtë sepse është pjesë e procesorit.
- Marrja paraprake: Problemi me cache është se ato janë të dobishme vetëm kur përmbajnë të dhënat e sakta. Fatkeqësisht, goditjet e cache-it rezultojnë të ulëta në aplikacione që përdorin shumë të dhëna dhe kryejnë një shumëllojshmëri të gjerë detyrash. Hapi tjetër për t'i bërë procesorët të funksionojnë më shpejt është të hamendësoni se cilat të dhëna do të kërkojë aplikacioni më pas dhe t'i ngarkoni ato në cache përpara se aplikacioni ta kërkojë atë.
- Përdorimi i RAM-it të specializuar: Ju mund të varroseni nga supa e alfabetit RAM sepse ka më shumë lloje RAM sesa imagjinojnë shumica e njerëzve. Çdo lloj RAM synon të zgjidhë të paktën një pjesë të problemit të bllokimit të Von Neumann, dhe ato funksionojnë - brenda kufijve. Në shumicën e rasteve, përmirësimet sillen rreth idesë së marrjes së të dhënave nga memoria dhe në autobus më shpejt. Dy faktorë kryesorë (dhe shumë të vegjël) ndikojnë në shpejtësinë: shpejtësia e memories (sa shpejt memoria lëviz të dhënat) dhe vonesa (sa kohë duhet për të gjetur një pjesë të caktuar të të dhënave). Lexoni më shumë për kujtesën dhe faktorët që ndikojnë në të.
Ashtu si me shumë fusha të tjera të teknologjisë, zhurma mund të bëhet problem. Për shembull, multithreading, akti i ndarjes së një aplikacioni ose grupi të tjera udhëzimesh në njësi ekzekutimi diskrete që procesori mund t'i trajtojë një nga një, shpesh konsiderohet si një mjet për të kapërcyer bllokimin e Von Neumann-it, por në fakt nuk ndodh. asgjë më shumë se shtimi i shpenzimeve (duke e bërë problemin edhe më keq). Multithreading është një përgjigje për një problem tjetër: duke e bërë aplikacionin më efikas. Kur një aplikacion shton problemet e vonesës në bllokimin e Von Neumann, i gjithë sistemi ngadalësohet. Multithreading siguron që procesori të mos humbasë më shumë kohë duke pritur për përdoruesin ose aplikacionin, por përkundrazi ka diçka për të bërë gjatë gjithë kohës. Vonesa e aplikimit mund të ndodhë me çdo arkitekturë procesori, jo vetëm me Arkitekturën Von Neumann. Edhe kështu,