- Pagpapabuti ng arkitektura
- Pinagmulan
- Model
- - Central Processing Unit (CPU)
- Lohikal na yunit ng aritmetika
- Unit ng control
- Mga Rekord
- - memorya
- - exit exit
- - Bus
- Paano gumagana ang arkitektura ng von Neumann?
- Maghanap para sa
- Pag-decode
- Tumakbo
- Upang stock
- Bottleneck
- Kalamangan
- Pag-unlad ng mga operating system
- Mga Kakulangan
- Mga Sanggunian
Ang arkitektura ng von Neumann ay isang disenyo ng teoretikal upang ang isang computer ay maaaring magkaroon ng isang programa na nakaimbak sa loob, na nagsisilbing batayan para sa halos lahat ng mga computer na kasalukuyang ginagawa.
Ang isang von Neumann machine ay binubuo ng isang gitnang pagpoproseso ng yunit, na may kasamang isang aritmetikong logic unit at isang control unit, pati na rin ang isang pangunahing memorya, pangalawang imbakan, at mga aparatong input / output.
Pinagmulan: David strigoi - Sariling gawain, Public Domain, commons.wikimedia.org
Ipinapalagay ng arkitekturang ito na ang bawat pagkalkula ay kumukuha ng data mula sa memorya, pinoproseso ito, at pagkatapos ay ipapabalik ito sa memorya.
Sa isang arkitekturang von Neumann, ang parehong memorya at ang parehong bus ay ginagamit upang maiimbak ang parehong data at mga tagubilin na nagsasagawa ng isang programa.
Pagpapabuti ng arkitektura
Dahil ang data at memorya ng programa ay hindi ma-access nang sabay, ang arkitekturang von Neumann ay madaling makamit ang mga bottlenecks at upang mapahina ang pagganap ng computer. Ito ang kilala bilang ang von Neumann bottleneck, kung saan apektado ang kapangyarihan, pagganap at gastos.
Ang isa sa mga pagbabagong ginawa na kasangkot sa pag-iisip muli kung magkano ang data na talagang kinakailangan upang maipadala sa memorya at kung magkano ang maiimbak ng lokal.
Sa ganitong paraan, sa halip na kinakailangang ipadala ang lahat sa memorya, maraming mga cache at proxy cache ay maaaring mabawasan ang daloy ng data mula sa mga chips ng processor sa iba't ibang mga aparato.
Pinagmulan
Noong 1945, pagkatapos ng Ikalawang Digmaang Pandaigdig, dalawang siyentipiko ang nakapag-iisa na nagtaas ng kung paano magtayo ng isang mas malleable computer. Ang isa sa kanila ay ang matematiko na si Alan Turing at ang isa pa ay pantay na talento ng siyentipiko na si John Von Neumann.
Ang British Alan Turing ay kasangkot sa pag-crack ng Enigma code sa Bletchley Park, gamit ang computer na 'Colourus'. Sa kabilang banda, ang American John Von Neumann ay nagtatrabaho sa Manhattan Project upang bumuo ng unang bomba ng atom, na nangangailangan ng maraming mga pagkalkula ng manu-manong.
Hanggang sa noon, higit pa o mas mababa ang "computer na pangdaraya" sa pamamagitan ng muling pagkonekta sa buong makina upang maisagawa ang ibang gawain. Halimbawa, ang unang kompyuter na tinawag na ENIAC ay tumagal ng tatlong linggo upang muling kumonekta upang makagawa ng ibang pagkalkula.
Ang bagong konsepto ay binubuo sa isang memorya hindi lamang ang data ay dapat na naka-imbak, ngunit din ang programa na naproseso na ang data ay dapat na naka-imbak sa parehong memorya.
Ang panloob na arkitekturang program na ito ay karaniwang kilala bilang ang 'Von Neumann' na arkitektura.
Ang ideyang ito ng nobela ay nangangahulugang ang isang computer na may ganitong arkitektura ay magiging mas madali upang magprograma. Sa katunayan, ang programa mismo ay ituturing katulad ng data.
Model
Ang pangunahing pundasyon ng modelo ng Von Neumann ay ang pag-iisip na ang programa ay nakaimbak sa loob sa isang makina. Ang yunit ng memorya ay naglalaman ng data at din ang code ng programa. Ang disenyo ng arkitektura ay binubuo ng:
Pinagmulan: Mula sa UserJaimeGallego - Ang file na ito ay nagmula sa Von Neumann Architecture.svg, CC BY-SA 3.0, commons.wikimedia.org
- Central Processing Unit (CPU)
Ito ay ang digital circuit na may pananagutan sa pagpapatupad ng mga tagubilin ng isang programa. Ito ay tinatawag ding isang processor. Ang CPU ay naglalaman ng ALU, ang control unit, at isang hanay ng mga rehistro.
Lohikal na yunit ng aritmetika
Ang bahaging ito ng arkitektura ay kasangkot lamang sa pagsasagawa ng mga operasyon sa aritmetika at lohikal sa data.
Ang karaniwang pagkalkula ng pagdaragdag, pagpaparami, paghahati at pagbabawas ay magagamit, ngunit ang paghahambing ng data tulad ng 'mas malaki kaysa', 'mas mababa sa', 'katumbas ng' ay magagamit din.
Unit ng control
Kinokontrol nito ang pagpapatakbo ng ALU, memorya, at mga aparatong input / output ng computer, na nagtuturo sa kanila kung paano kumilos sa mga tagubilin sa programa na nabasa mo lamang mula sa memorya.
Ang control unit ay pamahalaan ang proseso ng paglipat ng data at mga programa papunta at mula sa memorya. Aalagaan din nito ang pagpapatupad ng mga tagubilin ng programa, nang paisa-isa o sunud-sunod. Kasama dito ang ideya ng isang rehistro upang hawakan ang mga intermediate na halaga.
Mga Rekord
Ang mga ito ay mga high-speed storage area sa CPU. Ang lahat ng data ay dapat na naka-imbak sa isang rehistro bago ito maiproseso.
Ang rehistro ng memorya ng memorya ay naglalaman ng lokasyon ng memorya ng data na mai-access. Ang rehistro ng data ng memorya ay naglalaman ng data na inilipat sa memorya.
- memorya
Ang computer ay magkakaroon ng memorya na maaaring humawak ng data, pati na rin ang programa na nagpoproseso ng data na iyon. Sa mga modernong computer ang memorya na ito ay ang RAM o pangunahing memorya. Ang memorya na ito ay mabilis at mai-access nang direkta ng CPU.
Ang RAM ay nahahati sa mga cell. Ang bawat cell ay binubuo ng isang address at ang nilalaman nito. Ang address ay natatanging makilala ang bawat lokasyon sa memorya.
- exit exit
Ang arkitektura na ito ay nagbibigay-daan upang makuha ang ideya na ang isang tao ay kailangang makipag-ugnay sa makina, sa pamamagitan ng mga aparato ng input-output.
- Bus
Ang impormasyon ay dapat dumaloy sa pagitan ng iba't ibang mga bahagi ng computer. Sa isang computer na may arkitekturang von Neumann, ang impormasyon ay ipinadala mula sa isang aparato papunta sa isa pang bus, na nagkokonekta sa lahat ng mga yunit ng CPU sa pangunahing memorya.
Ang address bus ay nagdadala ng mga address ng data, ngunit hindi data, sa pagitan ng processor at memorya.
Ang data bus ay nagdadala ng data sa pagitan ng mga aparato ng processor, memorya, at input-output.
Paano gumagana ang arkitektura ng von Neumann?
Ang may-katuturang prinsipyo ng arkitektura ng von Neumann ay ang parehong data at mga tagubilin ay naka-imbak sa memorya at tinatrato ang pareho, na nangangahulugang ang mga tagubilin at data ay panturo.
Gumagana ito gamit ang apat na simpleng hakbang: hanapin, mabasura, magpatupad, mag-imbak, na tinatawag na "Machine Cycle."
Ang mga tagubilin ay nakuha ng CPU mula sa memorya. Ang CPU pagkatapos ay nag-decode at nagsasagawa ng mga tagubiling ito. Ang resulta ay naka-imbak pabalik sa memorya pagkatapos makumpleto ang pag-ikot ng pagpapatupad ng pagtuturo.
Maghanap para sa
Sa hakbang na ito, ang mga tagubilin ay nakuha mula sa RAM at naka-cache para sa pag-access ng control unit.
Pag-decode
Ang yunit ng control ay tinatanggal ang mga tagubilin sa isang paraan na maunawaan ng mga ito ang lohikal na yunit ng aritmetika, at pagkatapos ay ipinapadala ang mga ito sa lohikal na yunit ng aritmetika.
Tumakbo
Ang aritmetikong lohikal na yunit ay nagpapatupad ng mga tagubilin at ipinapadala ang resulta pabalik sa cache.
Upang stock
Sa sandaling ipinapahiwatig ng counter ng programa ang paghinto, ang pangwakas na resulta ay nai-download sa pangunahing memorya.
Bottleneck
Kung nais ng isang Von Neumann machine na magsagawa ng isang operasyon na may memorya ng data, kailangan itong ilipat sa pamamagitan ng bus papunta sa CPU. Matapos maisagawa ang pagkalkula, ang resulta ay kailangang ilipat sa memorya sa pamamagitan ng parehong bus.
Ang Von Neumann bottleneck ay nangyayari kapag ang data na naipasok o tinanggal mula sa memorya ay dapat tumagal habang nakumpleto ang kasalukuyang operasyon ng memorya.
Iyon ay, kung nakumpleto na ng processor ang isang pagkalkula at handa na upang maisagawa ang susunod, kailangan nitong isulat ang natapos na pagkalkula, na sumasakop sa bus, sa memorya bago ito makukuha ang bagong data mula sa memorya, na gumagamit din ng parehong bus.
Ang bottleneck na ito ay lalong lumala sa paglipas ng panahon, dahil ang mga microprocessors ay nadagdagan ang kanilang bilis at sa kabilang banda ang memorya ay hindi advanced nang mabilis.
Kalamangan
- Kinukuha ng control unit ang data at mga tagubilin sa parehong paraan mula sa memorya. Samakatuwid, ang disenyo at pag-unlad ng control unit ay pinasimple, pagiging mas mura at mas mabilis.
- Ang data mula sa mga aparatong input / output at pangunahing memorya ay nakuha sa parehong paraan.
- Ang samahan ng memorya ay isinasagawa ng mga programmer, na nagbibigay-daan sa paggamit ng lahat ng kapasidad ng memorya.
- Ang pamamahala ng isang solong bloke ng memorya ay mas simple at mas madaling makamit.
- Ang disenyo ng chip ng microcontroller ay mas simple, dahil isang memorya lamang ang mai-access. Ang pinakamahalagang bagay tungkol sa microcontroller ay ang pag-access sa RAM at sa arkitekturang von Neumann na ito ay maaaring magamit kapwa upang mag-imbak ng data at mag-imbak ng mga tagubilin sa programa.
Pag-unlad ng mga operating system
Ang pangunahing bentahe ng pagkakaroon ng parehong memorya para sa mga programa at data ay ang mga programa ay maaaring maiproseso na kung sila ay data. Sa madaling salita, maaari kang sumulat ng mga programa na ang data ay iba pang mga programa.
Ang isang programa na ang data ay isa pang programa ay hindi hihigit sa isang operating system. Sa katunayan, kung ang mga programa at data ay hindi pinahihintulutan sa parehong puwang ng memorya, tulad ng kaso sa arkitektura ng von Neumann, ang mga operating system ay hindi kailanman nabuo.
Mga Kakulangan
Bagaman ang mga kalamangan na higit sa mga kawalan, ang problema ay may isang bus lamang na kumokonekta sa memorya sa processor, kaya isang instruksyon o isang item ng data ang maaaring makuha sa isang pagkakataon.
Nangangahulugan ito na ang processor ay maaaring maghintay nang mas matagal para sa data o mga tagubilin na dumating. Ito ay kilala bilang ang von Neumann bottleneck. Tulad ng ang CPU ay mas mabilis kaysa sa data bus, nangangahulugan ito na madalas itong idle.
- Dahil sa sunud-sunod na pagproseso ng mga tagubilin, hindi pinahihintulutan ang kahanay na pagpapatupad ng programa.
- Sa pamamagitan ng pagbabahagi ng memorya ay may panganib na ang isang tagubilin ay isusulat sa isa pa dahil sa isang error sa programa, na nagiging sanhi ng pag-crash ng system.
- Ang ilang mga programang may depekto ay hindi makakapag-free ng memorya kapag nagawa ito, na maaaring maging sanhi ng pag-freeze ng computer dahil sa hindi sapat na memorya.
- Ang data at mga tagubilin ay nagbabahagi ng parehong data bus, bagaman ang bilis kung saan dapat makuha ang bawat isa ay karaniwang kakaiba.
Mga Sanggunian
- Semiconductor Engineering (2019). Arkitektura ng Von Neumann. Kinuha mula sa: semiengineering.com
- Scott Thornton (2018). Ano ang pagkakaiba sa pagitan ng mga arkitektura ng Von-Neumann at Harvard? Mga Tip sa Microcontroller. Kinuha mula sa: microcontrollertips.com.
- Turuan ang ICT (2019). Ang Von Neumann machine. Kinuha mula sa: magturo-ict.com.
- Computer Science (2019). Arkitektura ng Von Neumann. Kinuha mula sa: computercience.gcse.guru.
- Alamin ito sa Mr C (2019). Ang Von Neumann machine. Kinuha mula sa: learnitwithmrc.co.uk.
- Solid State Media (2017). Paano gumagana ang mga computer? Ang Von Neumann Architecture. Kinuha mula sa: solidstateblog.com.