Фон Нейман машинасының схемалық бейнесі (жады, БҚ, АЛҚ, аккумулятор, енгізу-шығару)
**Фон Нейман архитектурасы** — кеңінен танымал командалар мен деректерді компьютер жадында  бірлесіп сақтау принципі. Мұндай есептеу жүйелері жиі "фон Нейман машинасы" терминін білдіреді, алайда әрдайым осы ұғымдардың сәйкестігін білдірмейді. Жалпы жағдайда, фон Нейман сәулеті туралы айтқан кезде деректерді және нұсқаулықтарды бір жадтағы сақтау принципін көздейді.

Терминінің пайда болу тарихы
----------------------------

Есептеуіш машиналардың сәулеті ілімінің негіздері туралы ғылымының негізін 1944 жылы фон Нейман, бірінші әлемде ЭНИАК шам компьютерін құруға қосылған кезде қалаған. ЭНИАК жұмыс процесі үстінде Пенсильвания университетіндегі Мур институтында әріптестері Джон Уильям Мокли, Джон Экертмен (*ағыл.*), Герман Голдстайнмен және Артур Беркспен көптеген пікірталастар кезінде EDVAC атты неғұрлым жетілдірілген машиналар идеясы келді. EDVAC зерттеу жұмысы ЭНИАКты құрастырумен қатар жалғасты.

1945 жылдың наурыз айындағы құжатта логикалық сәулет принциптері безендірілді, "EDVAC туралы есептің бірінші жобасы" деп аталатын — АҚШ Армиясының Баллистикалық Зертханасы үшін есеп, ЭНИАКтың құрылысы және EDVACты әзірлеу осы мекеменің ақшасына жүзеге асырылды. Есеп, жай ғана сызба болғандықтан, жариялау үшін жарамады, тек топ ішінде тарату үшін арналды, алайда АҚШ Армиясы тарапынан жобаның кураторы — Герман Голдстайн — бұл ғылыми жұмысты көбейтті және оны кең ауқымды танысу үшін ғалымдарға жіберді. Құжатта жасату кезінде бірінші бетінде фон Нейман аты ғана болды, оқырмандарға құжат жалған әсер қалыптастастырды, барлық идеялар жазылған осы авторға ғана тиесілі ме деген сұрақ туындатты. Құжат оны оқығандарға, осындай EDVAC сияқты және осы архитектурамен өз компьютерлерін құрастырып алу үшін жеткілікті ақпарат берілді, осының нәтижесінде "фон Нейман архитектурасы" деп атала бастады.

Екінші Дүниежүзілік соғыс аяқталғаннан кейін және ЭНИАКпен жұмыстарын аяқтағаннан кейін 1946 жылы ақпанда инженерлер мен ғалымдардың командасы ыдырады, Джон Мокли, Джон Экерт (*ағыл.*) бизнеске және коммерциялық негізде компьютерлер жасауға ден қоюға шешім қабылдады. Фон Нейман, Голдстайн және Беркс Перспективалық зерттеулер институтына көшті, EDVAC сияқты "IAS-машинасы" компьютерін құру және оны ғылыми-зерттеулерін пайдалану туралы шешім қабылдады. 1946 жылдың маусым айында олар - есептеуіш машиналардың құру принциптері пікірлерін классикалық мақалаға айналған "Электронды-есептеуіш құрылғылардың логикалық конструкциясын алдын ала қарау"[4]. Содан бері жарты ғасырдан астам уақыт өтті, бірақ онда ұсынылған ережелер өзінің өзектілігін бүгін күнге дейін сақтап келеді. Мақаласында сандарды ұсыну үшін екілік жүйені пайдалану сенімді негізделеді, ал бұдан бұрын барлық есептеуіш машиналарда сандар ондық жүйеде өңделетін. Авторлар техникалық іске асыруда екілік жүйенің артықшылықтарын, ыңғайлылығы және онда арифметикалық және логикалық операциялардың орындау қарапайымдылығын көрсетті. Одан әрі ЭЕМ-да сан емес ақпарат түрлері — мәтіндік, графикалық, дыбыстық және басқа да түрлері өңделетін болды, бірақ деректерді екілік кодтау әлі күнге дейін қазіргі заманда кез-келген компьютердің ақпараттық негізін құрайды.

Екілік кодпен жұмыс істеген машиналардан басқа, үштік машиналар да болған және бар. Үштіктердің екілік компьютерлер алдында бірқатар артықшылықтары мен кемшіліктері бар. Артықшылықтарының арасында шапшаң (операцияларды қосу шамамен бір жарым есе жылдам орындалады) болуын атап өтуге болады, екілік және үштік логиканың болуы, бүтін сандарды белгісі бар симметриялық ұсыну (екілік логикада, не екі нөл (оң және теріс) орын алуы, не қарама-қарсы белгісі сан жұбы болмайды). Кемшіліктеріне — екілік машиналармен салыстырғанда іске асырудың аса күрделігі.

Тағы бір төңкерістік идея "сақталатын бағдарлама" принципі мәнісін асыра бағалау қиын. Бастапқыда бағдарлама арнайы коммутациялық панельдерде бөгеттерді орнату арқылы жүзеге асырылды. Бұл өте тұтынады уақыт айналысуына: мысалы, өзгерту үшін бағдарламаны машина ЭНИАК керек бірнеше күн, ал жеке есебі емес еді артық жалғасуы бірнеше минут істен шыққан шамдар, олардың саны өте көп. Алайда, бағдарлама, сондай-ақ сақталуы жиынтығы түріндегі бірліктер мен нөлдердің, әрі сол есте және онымен өңделетін сандар. Бағдарлама және деректер арасындағы айырманың үлкен болмау қағидаты есептеулер нәтижелеріне сәйкес ЭЕМ-ге өзі бағдарлама қалыптастыруға мүмкіндік берді.

Болуы берілген жиынтығының орындалатын командалар мен бағдарламаларды еді сипатты алғашқы компьютерлік жүйелер. Бүгін осындай дизайн қолданады оңайлату мақсатында конструкциясын есептеу құрылғылары. Мәселен, үстел калькуляторы, негізінен, болып табылады құрылғыларымен тіркелген жиынтығы орындалатын бағдарламалар. Олардың үшін пайдалануға болады математикалық есептеулер, бірақ мүмкін емес дерлік қолдануға өңдеу үшін мәтінді және компьютерлік ойындар, көру үшін, графикалық суреттер немесе видео. Өзгерту орнатылған бағдарлама үшін осындай құрылғыларды талап етеді іс жүзінде оларды толық қайта жасау, және көп жағдайда мүмкін емес. Дегенмен, перепрограммирование ерте компьютерлік жүйелердің дегенмен орындады, алайда үлкен көлемін талап етті қолмен дайындау бойынша жұмыстар жаңа құжаттаманы, перекоммутации және қайта құру блоктар мен құрылғылар және т. п.

Барлығын компьютерлік бағдарламаларды ортақ жадта сақтау идеясы өзгертті. Сәулетті пайдалануды пайда болуы уақытында, орындалатын нұсқаулықтар жинағына негізделген, және есептеу процесін нұсқаулықтар орындау процесі ретінде ұсыну, есептеу жүйелерін деректерді өңдеу мақсатында икемділігін аса ұлғайтты. Деректерді және нұсқаулықтарда бірге қарастыру көзқарасы бағдарламалардың өздерін өзгерту міндетін жеңілдетті.

Фон Нейман принципі
-------------------

### Джон фон Нейман принципі бойынша ЭЕМ-ді ұйымдастыру принциптері

Джон Фон Нейман
Жадтың біртектілік принципі 
Командалар мен деректер, бір жадта сақталады және жадтардың сыртқы түрі бірдей. Тек пайдалану тәсілі бойынша танымаса; яғни жад ұяшығындағы бір мән деректер ретінде, команда ретінде, және мекен-жайы ретінде де пайдаланылуы мүмкін жүгінуі тәсіліне қарай ғана ажыратылады. Бұл командаларға, сандарға жасалатын сол операцияларды өндіруге мүмкіндік береді, және тиісінше, бірқатар мүмкіндіктер ашады. Мысалы, команданың адрестік бөлігін өзгерте отырып массив деректерінің дәйекті элементтеріне жүгінуді қамтамасыз етуге болады. Мұндай тәсіл командаларды түрлендіру деп аталады және қазіргі заманғы бағдарламалау тұрғысынан құпталмайды. Бұдан гөрі басқа бірізділік принципін біртектілігі пайдалы болып табылады, бұл кезде бір бағдарламаның командалары басқа орындау нәтижесі ретінде алынуы мүмкін. Бұл мүмкіндік трансляция негізінде жатыр — бағдарламаның мәтінін жоғары деңгейдегі тілден нақты есептеуіш машиналар тіліне аудару.
Мекенжайлық принципі 
Құрылымдық негізгі жағынан жад нөмірленген ұяшықтардан тұрады, әрі процессорге еркін сәтінде кез келген ұяшық қол жетімді. Командалар мен деректердің екілік кодтары сөздер деп аталатын бірлік ақпарат қа бөлінеді және ұяшықтарда сақталады, оларға қол жеткізу үшін, тиісті ұяшықтар нөмірлері — мекен-жайлары пайдаланылады.
Бағдарламалық басқарудың принципі 
Есепті шешу алгоритміне көзделген барлық есептеулер, реттілікті басқарушы сөздерден — командалардан тұратын бағдарлама түрінде ұсынылуы тиіс. Әр команда есептеуіш машина іске асыратын операция жиынтығынан кейбір операцияларды міндеттейді. Бағдарламаның командасы есептеу машинаның жадында тізбектелген ұяшықтарда сақталады және табиғи реттілікпен, яғни олардың бағдарламадағы реті бойынша орындалады. Қажет болған жағдайда, арнайы әмірлердің көмегімен, бұл реттілік өзгертілуі мүмкін. Командалары бағдарламасы орындау тәртібін өзгерту туралы шешім алдыңғы есептеулер нәтижелерін талдау негізінде не сөзсіз қабылданады.
Екілік кодтау принципі 
Осы қағидатқа сәйкес, барлық ақпарат ретінде деректер мен командалар екілік сандар 0 және 1де кодталады. Әрбір ақпараттың түрі екілік ретпен және өзінің форматымен ұсынылады. Форматындағы бит дәйектілігі, белгілі бір мәні бар, өріс деп аталады. "Сандық ақпаратты әдетте өріс белгісі және разрядтар өрісі бөледі. Команда форматында өрісті екіге бөлуге болады: операциялар өріс коды өрісі мен мекен-жайлар өрісі.

Фон Нейман принциптерімен салынған компьютерлер
-----------------------------------------------

Жоспар бойынша, фон Нейман сәулеті бойынша салынған бірінші компьютер, ең алғашқы электрондық есептеуіш машиналардың бірі — EDVAC (Electronic Discrete Variable Automatic Computer) болуы тиіс еді. ЭНИАКтың Өзінің алдыңғы буынынан айырмашылығы, бұл компьютер ондық емес екілік жүйедегі компьютер. ЭНИАК сиақты, EDVACта Пенсильванского Университетінің Мур институтында Баллистикалық зерттеулер зертханасы үшін АҚШ армиясының Джон Преспер Экерт және Джон Уильям Мокли бастаған инженерлер мен ғалымдар тобымен математиканың белсенді көмегімен әзірленді, алайда 1951 жылы EDVAC сенімді компьютерлік жадын құруда және әзірлеушілер тобындағы келіспеушіліктерге байланысты техникалық қиындықтарға байланысты іске қосылмады. ЭНИАК және EDVAC жобасыларыен танысқан басқа да ғылыми-зерттеу институттары, бұл проблемаларды әлдеқайда бұрын шеше алды. Фон Нейман сәулетінің негізгі ерекшеліктері іске асырылған алғашқы компьютерлер келесілер болды:

1. прототип — Манчестерлік кіші эксперименттік машина — Манчестер университеті, Ұлыбритания, 21 маусым, 1948 жыл;
2. EDSAC — Кембридж университеті, Ұлыбритания, 6 мамыр 1949 жыл;
3. Манчестер Марк I — Манчестер университеті, Ұлыбритания, 1949 жыл;
4. BINAC — АҚШ, сәуір, немесе тамыз 1949 жыл;
5. CSIR Mk 1 — Аустралия, қараша 1949 жыл;
6. EDVAC — АҚШ, тамыз 1949 ж. нақты іске 1952 жылы қосылды;
7. CSIRAC — Аустралия, қараша 1949 жыл;
8. SEAC — АҚШ, 1950 жылғы 9 мамыр;
9. ORDVAC — АҚШ, қараша 1951 жыл;
10. IAS-машина — АҚШ, 10 маусым 1952 жыл;
11. MANIAC I — АҚШ, наурыз 1952 жыл;
12. AVIDAC — АҚШ, 28 қаңтар 1953;
13. ORACLE — АҚШ, соңында 1953 жылы;
14. WEIZAC — Израиль, 1955 жыл;
15. SILLIAC — Австралия, 4 шілде 1956 жыл.

Принциптері фон Нейманға жақын КСРО-да алғашқы толық электрондық есептеуіш машина, Лебедевпен салынған МЭСМ (УКСР ҒА Киев электротехника институтының негізінде), мемлекеттік қабылдау сынақтары 1951 жылдың желтоқсанында өткен.

ЭЕМ-құрылымы
------------

Фон Нейман ұсынған ЭЕМ құрылымы мынандай құрылғылардан тұруы қажет:
Жады
2. Басқару құрылғысы
3. Арифметика-логикалық құрылғы
4. Ақпаратты енгізу-шығару құрылғылары
Компьютер құрылымы- функционалдық элементтердің және олардың арасындағы байланыстардың жиынтығы.
Компьютер құрылымы негізгі 3 бөліктен тұрады:
1. Орта бөлігі (микропроцессор және негізгі жады)
2. Жүйелік шина
3. Перифериялық құрылғылар
Процессор – ақпаратты өңдейтін және компьютердің барлық құрылғыларының жұмысын басқаратын интегралдық схема.
Процессор мынандай құрылғылардан тұрады:
1. арифметика-логикалық құрылғы
2. басқару құрылғысы
3. регистрлер
4. кэш жады

Процессордың негізгі сипаттамасы
--------------------------------

* Разрядтылығы – процессор өңдейтін максималды биттер саны (8-, 16-, 32- ,64- разрядты)
* Тактілік жиілігі-элементар әрекетті орындауға қажет уақыт өлшемі.

Фон Нейман сәулетінің тарлау жері
---------------------------------

Шиналарды бағдарламалар жады мен деректер жадында бірлесіп пайдалану фон Нейман сәулетін тарлау жеріне әкеледі, атап айтқанда, жады көлемімен салыстырғанда процессор және жады арасындағы қабілетін шектеуге алып келеді. Сонымен қатар, бұл бағдарламалар жады мен деректер жады бір уақытта қол жетімді емес болуы мүмкін, "процессор-жад" арнасының өткізу қабілеті мен жад жылдамдығы процессордың жұмыс жылдамдығын айтарлықтай шектейді — бұл, егер бағдарлама және деректер түрлі орындарда сақталған жағдайда әлдеқайда күшті болады. Себебі процессор жылдамдығы мен жад көлемі артуы өткізу қабілетіне қарағанда әлдеқайда жылдамырақ іске асады, олардың арасындағы тар орын үлкен мәселе айналуда, оның маңыздылығы, процессорлардың жаңа буыны шыққан сайын өсіп отырады, [*көзі емес, көрсетілген 1505 күн*]; бұл проблема жүйелер интерфейсін жетілдірумен шешіледі, ал бұл көптеген жаңа проблемаларды туындатады[*қандай?*].

"фон Нейман сәулетндегі шағын орны" терминін 1977 жылы Джон Бэкус "Фон Нейман бағдарламалау стилінен босатуға бола ма?" атты, оған Тьюринг сыйлығын тапсыру кезінде оқыған кезде дәрісінде енгізген

АҚШ пен Италиядан келген ғалымдар 2015 жылы фон-неймандық сәулеттен ерекшеленетін мем-процессор (ағылшын memprocessor) прототипін құру туралы және NP-толық міндеттерді шешу үшін, оны пайдалану мүмкіндігін мәлімдеді.

Сондай-ақ,
----------

* Гарвард архитектурасы

Әдебиет
-------

* *Herman H. Goldstine.* The Computer from Pascal to von Neumann. — Принстон University Press, 1980. — 365 p. — ISBN 9780691023670. (ағыл.)
* *William Aspray.* John von Neumann and the Origins of Modern Computing. — MIT Press, 1990. — 394 p. — ISBN 0262011212. (ағыл.)

* *Scott McCartney.* ENIAC: The Triumphs and Tragedies of the World ' s First Computer. — Berkley Books, 2001. — 262 p. — ISBN 9780425176443. (ағыл.) — "фон Нейман сәулеті терминінің" шығу тарихы туралы айтылады

Дереккөздер
-----------

1. ↑  *John von Neumann* First Draft of a Report on the EDVAC.  University of Pennsylvania (30 июня 1945).
2. ↑  *Үлгі қатесі: қара* {{Мақала}}
3. ↑  *Cragon, H. G.* Computer Architecture and Implementation —  Cambridge University Press. — P. 2. — 238 p. — ISBN 978-0-521-65168-4.
4. ↑  *Burks A. W. Goldstine H. H. Neumann J.* Preliminary Discussion of the Logical Design of an Electronic Computing Instrument —  Institute for Advanced Study, Princeton, N. J..
5. ↑  *Смирнов А. Д.* Архитектура вычислительных систем : Учебное пособие для вузов —  М.: Наука. — Б. 320. — 104 б. — ISBN 5-02-013997-1.
6. ↑  Backus, John W.. *Can Programming Be Liberated from the von Neumann Style? A Functional Style and Its Algebra of Programs*. doi:10.1145/359576.359579.
7. ↑  *Dijkstra, Edsger W.* E. W. Dijkstra Archive: A review of the 1977 Turing Award Lecture. Тексерілді, 11 шілде 2008.
8. ↑  Создан прототип компьютера с отличной от фон-неймановской архитектурой.
9. ↑  Scientists Build A Computer That Works More Like The Human Brain : SCIENCE : Tech Times
10. ↑  Memcomputing NP-complete problems in polynomial time using polynomial resources and collective states / Science Advances 03 Jul 2015: Vol. 1, no. 6, e1500031 DOI:10.1126/sciadv.1500031 (ағыл.)(англ.