Architektura von Neumanna
Idea, że instrukcje i dane leżą w tej samej pamięci — co uczyniło komputer uniwersalnym i jednocześnie dało mu najwęższe gardło.
Pochodzi z First Draft of a Report on the EDVAC, roboczego dokumentu, który Herman Goldstine powielił w czerwcu 1945 roku z samym nazwiskiem Johna von Neumanna na okładce. Treść wyrosła z dyskusji w Moore School, gdzie Presper Eckert i John Mauchly mieli już gotowy projekt, a samo rozpowszechnienie raportu liczyło się prawnie jako publikacja — co później pogrzebało ich roszczenia patentowe. Raport dzieli maszynę na pięć organów: jednostkę arytmetyczną, jednostkę sterującą, pamięć, wejście i wyjście.
Radykalne jest to, że program leży w tej samej pamięci co dane. ENIAC trzeba było przeprogramowywać okablowaniem przy każdym nowym zadaniu; maszyna z programem składowanym wczytuje program tak samo jak liczby. To z kolei pozwala programom operować na programach, co jest warunkiem istnienia asemblerów, kompilatorów i systemów operacyjnych.
Rachunek przychodzi jako wąskie gardło von Neumanna, określenie ukute przez Johna Backusa w wykładzie z okazji Nagrody Turinga w 1977 roku: wszystko musi się przecisnąć jedną drogą między procesorem a pamięcią i ta droga staje się sufitem. Alternatywa, architektura harwardzka, trzyma instrukcje i dane osobno. Nowoczesne procesory są z zewnątrz von Neumannowskie, a w rdzeniu harwardzkie, z rozdzielonymi pamięciami podręcznymi L1 na kod i dane — wąskie gardło nie zostało rozwiązane, tylko zakopane pod hierarchią cache.