Kritice jsou podrobeny zejména dvě vlastnosti von Neumannovy architektury (představující uniprocesorový systém:
– CPU je propojena s pamětí (obsahující data i instrukce) přenosovou cestou (sběrnicí), která sekvenčně přenáší mezi těmito částmi jednotlivá paměťová slova. Touto cestou se kromě dat a instrukcí je zpracovávajících přenáší i mnoho dalších informací, jako např. adresy těchto informací, instrukce použité pro výpočet těchto adres v CPU apod. Tato přenosová cesta se tak stává „úzkým hrdlem systému“ (von Neumann bottleneck). Bez ohledu na to, jak rychlá je CPU a paměť, stává se tato přenosová cesta tou částí systému, která omezuje jeho výkon. K překonání tohoto úzkého hrdla se navrhují různé jiné architektury (struktury), v nichž je počítačový systém tvořen více ALU a vlastními paměťovými moduly. Tyto ALU mohou pracovat souběžně (paralelně). Takto vytvořené počítačové systémy se liší typem, počtem a propojením těchto modulů. Označují se jako „paralelní počítače“ a budeme se jimi zabývat v kapitole 13. – lineární uspořádání paměti v počítači se značně liší od koncepce využívání paměti v programovacích jazycích vyšší úrovně. Tento rozdíl se označuje jako „von Neumannova sémantická mezera“ (semantic gap). Programovací jazyky umožňují práci s různými datovými strukturami, jako např. vícerozměrná pole, které je nutno uložit (zmapovat) do lineární struktury paměti. Tuto činnosti zajišťuje překladač daného programovacího jazyka. Instrukce potřebné pro dané zmapování však zabírají část paměti a jejich provedení snižuje výkon počítače při provádění vlastního algoritmu úlohy.