ENIAC izgatavošana neapturēja skaitļojamās tehnikas attīstību. Tika meklēti jauni ceļi un iespējas.
Pirmās ESM projekts ieinteresēja ASV matemātiķi Džonu fon Neimanu
(John (Janos) Neumann, 19031957). Viņš ir dzimis Ungārijā, bet
1930. gadā ieradies ASV, kļuvis par ASV Nacionālās zinātņu akadēmijas
un arī Amerikas Mākslas un zinātņu akadēmijas biedru.
Viņš sāka izstrādāt loģisko shēmu, kurā būtu iespējams izmantot tādu
atmiņā ierakstīto programmu, ko varētu viegli mainīt, nepārbūvējot
visu mašīnas shēmu. Grūti nosaukt vienu šīs idejas autoru,
visticamāk, ka doma radās jaunā virziena triju ideologu Dž. fon
Neimana, H. Goldšteina (H. H. Golstine) un A. Berksa (A. W. Burks)
diskusijās. Šīs idejas tika izklāstītas 1946. gadā publicētajā
rakstā Elektronu skaitļojamo iekārtu loģisko konstrukciju
iepriekšējā izskatīšana. Tajā bija izteikti divi pamatprincipi,
kas ieguva praktisku lietojumu visās mūsdienu elektronu skaitļojamās
mašīnās: pamatota binārās skaitīšanas sistēmas izmantošana skaitļu
attēlošanā un atmiņā glabājama programma. Atmiņā uzglabājamā
programma ļāva pārvarēt būtiskāko ENIAC trūkumu laika patēriņu
programmas salikšanai un sagatavošanai uz komutāciju dēļa.
Programmu, tāpat kā sākuma skaitļus, viņš piedāvāja glabāt mašīnas
atmiņā. Ar vadības iekārtu atsevišķas komandas tika izsauktas no
atmiņas nepieciešamo darbību izpildei un rezultāta nosūtīšanai
atmiņā. Raksts saturēja arī svarīgas rekomendācijas mašīnas
konstruēšanā un programmēšanas metodikā.
Kā izriet no ziņojumiem par šo tēmu, 1946. gadā Džons fon Neimans
pirmo reizi ESM shēmā izdalīja 4 galvenos blokus un nosauca tos par
aritmētiski loģisko iekārtu, atmiņu datiem un komandām, vadības
iekārtu, ievadaizvada iekārtu.
Citēšu dažus fragmentus no Dž. Neimana grāmatas. Tā kā pabeigta
iekārta būs universāla skaitļojamā mašīna, tad tajā jābūt vairākiem
pamatelementiem, tādiem kā aritmētikas, atmiņas, vadības elementiem
un sakaru elementiem ar operatoru. Mēs gribam, lai pēc skaitļošanas
sākuma mašīnas darbs nebūtu atkarīgs no operatora. (..) Acīmredzot
mašīnai jābūt spējīgai kaut kādā veidā atcerēties ne tikai skaitlisko
informāciju, kas ir nepieciešama dotajai skaitļošanai, bet arī
komandas, kas vada programmu darbam ar šiem skaitļiem.
Ja nu tomēr mašīna varētu atšķirt skaitli no pavēles (komandas),
tad atmiņas elementu varētu izmantot kā skaitļu, tā arī pavēļu
(komandu) glabāšanai. (Lūk, Dž. Neimana princips programmas
glabāšanai; Č. Bebidžam tāda nebija.)
Ja atmiņa pavēlēm (komandām) ir vienkārši atmiņas elements, tad vēl
jāeksistē elementam, kurš var automātiski izpildīt šīs pavēles
(komandas), kas glabājas atmiņā. Nosauksim to par vadības elementu.
Tā kā mūsu iekārtai jābūt skaitļojamajai mašīnai, tad tajā jābūt
arī aritmētiskajam elementam ierīcei, kas spējīga skaitīt, atņemt,
reizināt, dalīt.
Visbeidzot jāeksistē ievada un izvada elementam, ar kura palīdzību
realizējas saikne starp operatoru un mašīnu.
Vēlāk šādas konfigurācijas ESM tika sauktas par Neimana tipa ESM.
Jāteic, ka par glabājamas programmas principu Dž. Neimans jau minēja
savā agrīnajā referātā par ESM EDVAC (Electronic Discrete Variable
Automatic Computer) projektu, kas datēts ar 1945. gada 30. jūniju.
Darbu pie skaitļotāja izveides Dž. Neimans uzsāka kopā ar Dž.
Moukliju un P. Ekertu, bet tie aizkavējās, jo Neimana kolēģi
dibināja savu firmu EckertMauchly Computer Corporation, kas
vēlāk tika pārdota firmai RemintonRand.
Apsteidzot Dž. fon Neimanu gandrīz par diviem gadiem, ideju
par atmiņā glabājamu programmu realizēja Kembridžas (Anglijā) universitātes profesors Maurīcijs Vilkss (Maurice Wilkes). M. Vilkss apmeklēja Dž. Mouklija un P. Ekerta lekcijas Mūra skolā un, kā redzams, tajās negulēja. 1952. gadā viņš izgatavoja skaitļotāju EDSAC (Electronic Delay Storage Automatic Calculator elektroniskais kalkulators ar atmiņu uz aiztures līnijām). Līdz ar to EDSAC kļuva par pirmo skaitļotāju pasaulē, kuram bija atmiņā glabājama programma.
Vēlreiz nosauksim Dž. fon Neimana principus:
aritmētiski loģiskā iekārta glabā matemātiskās un loģiskās
operācijas;
iekārta ievada datus skaitļotājā;
kontroles iekārta vada skaitļotāja pavēļu (komandu jeb
programmas) secību;
iekšējā (primārā jeb operatīvā) atmiņa glabā datus un
programmas;
ievades iekārta ievada datus skaitļotājā;
izvades iekārta izvada datus no skaitļotāja;
ārējā (sekundārā) atmiņā dati un programmas tiek glabāti
patstāvīgi.
1952. gadā ASV sāka strādāt, salīdzinot ar ENIAC, pilnīgāka
mašīna MANIAC-1 matemātiskais analizators, skaitļu integrators
un skaitļotājs. 1957. gadā parādījās MANIAC-2.