Фон Нојманово уско грло је природни резултат коришћења магистрале за пренос података између процесора, меморије, дуготрајног складиштења и периферних уређаја. Без обзира на то колико брзо аутобус обавља свој задатак, увек је могуће надвладати га – односно формирати уско грло које смањује брзину. Временом, брзине процесора настављају да расту, док се побољшања меморије и других уређаја фокусирају на густину — могућност складиштења више на мање простора. Сходно томе, уско грло постаје све већи проблем са сваким побољшањем, због чега процесор проводи много времена у мировању.
У разумном смислу, можете превазићи неке од проблема који окружују Фон Нојманово уско грло и произвести мала, али приметна повећања брзине апликације. Ево најчешћих решења:
- Кеширање: Када су проблеми са довољно брзим добијањем података из меморије са Вон Неуманн архитектуром постали очигледни, продавци хардвера су брзо реаговали додавањем локализоване меморије којој није био потребан приступ магистрали. Ова меморија изгледа екстерно у односу на процесор, али као део процесорског пакета. Међутим, брзи кеш је скуп, тако да су величине кеша обично мале.
- Кеширање процесора: Нажалост, спољне кеш меморије још увек не пружају довољну брзину. Чак и коришћење најбрже доступне РАМ меморије и потпуно искључење приступа магистрали не задовољава потребе процесора за капацитетом обраде. Сходно томе, добављачи су почели да додају интерну меморију — кеш мању од спољне кеш меморије, али са још бржим приступом јер је део процесора.
- Унапред учитавање: Проблем са кешовима је што се показују корисним само када садрже исправне податке. Нажалост, у апликацијама које користе много података и обављају широк спектар задатака показују се мали број погодака у кеш меморији. Следећи корак у убрзавању рада процесора је да погодите које ће податке апликација захтевати следеће и учитати их у кеш пре него што апликација то захтева.
- Коришћење специјалног РАМ-а: Можете бити затрпани супом РАМ абецеде јер постоји више врста РАМ-а него што већина људи замишља. Свака врста РАМ-а треба да реши бар део Фон Нојмановог проблема уског грла, и они раде - у границама. У већини случајева, побољшања се врте око идеје бржег преузимања података из меморије и на магистралу. Два главна (и много мањих) фактора утичу на брзину: брзина меморије (колико брзо меморија помера податке) и латенција (колико времена је потребно да се лоцира одређени део података). Прочитајте више о памћењу и факторима који на њега утичу.
Као и са многим другим областима технологије, хипе може постати проблем. На пример, мултитхреадинг, чин разбијања апликације или другог скупа инструкција у дискретне извршне јединице којима процесор може да рукује једну по једну, често се рекламира као средство за превазилажење Фон Нојмановог уског грла, али то заправо не чини било шта више од додавања додатних трошкова (што погоршава проблем). Мултитхреадинг је одговор на још један проблем: учинити апликацију ефикаснијом. Када апликација дода проблеме са кашњењем на Фон Нојманово уско грло, цео систем се успорава. Мултитхреадинг осигурава да процесор не губи још више времена чекајући корисника или апликацију, већ уместо тога има шта да ради све време. Кашњење апликације може да се јави са било којом архитектуром процесора, не само са Вон Неуман архитектуром. Али ипак,