dOC

DŽONA FON NEIMANA PRINCIPS

ENIAC izgatavošana neapturēja skaitļojamās tehnikas attīstību. Tika meklēti jauni ceļi un iespējas. Uzklikšķinot uz attēla, to var aplūkot palielinātu

Pirmās ESM projekts ieinteresēja ASV matemātiķi Džonu fon Neimanu (John (Janos) Neumann, 1903–1957). 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, ievada–izvada iekārtu.
Uzklikšķinot uz attēla, to var aplūkot palielinātu


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 Eckert–Mauchly Computer Corporation, kas vēlāk tika pārdota firmai Reminton–Rand.
Uzklikšķinot uz attēla, to var aplūkot palielinātu


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.