- Architektūros tobulinimas
- Kilmė
- Modelis
- - Centrinis procesorius (CPU)
- Loginis aritmetinis vienetas
- Valdymo blokas
- Įrašai
- - Atmintis
- - Įėjimo išėjimas
- - Autobusas
- Kaip veikia von Neumanno architektūra?
- Ieškoti
- Dekoduoti
- Bėk
- Į atsargas
- Butelio kaklelis
- Privalumas
- Operacinių sistemų kūrimas
- Trūkumai
- Nuorodos
„ Von Neumann“ architektūra yra teorinis dizainas, todėl kompiuteryje gali būti programa, saugoma viduje, ir tai yra beveik visų šiuo metu pagamintų kompiuterių pagrindas.
„Von Neumann“ aparatą sudaro centrinis procesorius, kurį sudaro aritmetinis loginis blokas ir valdymo blokas, taip pat pagrindinė atmintis, antrinė atmintinė ir įvesties / išvesties įrenginiai.
Šaltinis: Davidas strigoi - „Nuosavas darbas“, „Public Domain“, commons.wikimedia.org
Ši architektūra daro prielaidą, kad kiekvienas skaičiavimas ištraukia duomenis iš atminties, juos apdoroja ir siunčia atgal į atmintį.
„Von Neumann“ architektūroje ta pati atmintis ir ta pati magistralė yra naudojama duomenims ir instrukcijoms, vykdančioms programą, saugoti.
Architektūros tobulinimas
Kadangi duomenų ir programos atminties negalima pasiekti tuo pačiu metu, „von Neumann“ architektūra yra linkusi į kliūtis ir susilpninti kompiuterio našumą. Tai yra vadinama „von Neumann“ kliūtimi, kur turi įtakos galia, našumas ir kaina.
Vienas iš pakeitimų buvo susijęs su persvarstymu, kiek duomenų iš tikrųjų reikėjo nusiųsti į atmintį ir kiek jų buvo galima saugoti vietoje.
Tokiu būdu, užuot siųsdami viską į atmintį, keli talpyklos ir tarpinių serverių talpyklos gali sumažinti duomenų srautą iš procesoriaus lustų į skirtingus įrenginius.
Kilmė
1945 m., Po Antrojo pasaulinio karo, du mokslininkai savarankiškai iškėlė klausimą, kaip sukurti kaltesnį kompiuterį. Vienas iš jų buvo matematikas Alanas Turingas, o kitas - ne mažiau talentingas mokslininkas Johnas Von Neumannas.
Britas Alanas Turingas dalyvavo „Enigma“ kodo nulaužime Bletchley parke naudojant „Colossus“ kompiuterį. Kita vertus, amerikietis Johnas Von Neumannas dirbo Manheteno projekte, kad sukurtų pirmąją atominę bombą, kuriai atlikti reikėjo daug rankinio skaičiavimo.
Iki tol karo kompiuteriai buvo daugiau ar mažiau „užprogramuoti“ iš naujo prijungiant visą mašiną, kad būtų galima atlikti kitokią užduotį. Pavyzdžiui, pirmajam kompiuteriui, pavadinimu ENIAC, prireikė trijų savaičių, kad vėl prisijungtumėte, kad atliktumėte kitokį skaičiavimą.
Naujoji koncepcija buvo ta, kad atmintyje reikėjo ne tik saugoti duomenis, bet ir programą, kuri tuos duomenis apdorojo, laikyti toje pačioje atmintyje.
Ši viduje saugoma programos architektūra paprastai vadinama „Von Neumann“ architektūra.
Ši nauja idėja reiškė, kad kompiuterį su šia architektūra bus daug lengviau perprogramuoti. Iš tikrųjų pati programa būtų traktuojama kaip duomenys.
Modelis
Pagrindinis Von Neumann modelio pagrindas yra mintis, kad programa yra saugoma mašinoje. Atminties bloke yra duomenys ir programos kodas. Architektūros projektą sudaro:
Šaltinis: iš „UserJaimeGallego“ - šis failas yra iš „Von Neumann Architecture.svg“, CC BY-SA 3.0, commons.wikimedia.org
- Centrinis procesorius (CPU)
Už programos nurodymų vykdymą atsakinga skaitmeninė grandinė. Jis taip pat vadinamas procesoriumi. Centriniame procesoriuje yra ALU, valdymo blokas ir registrų rinkinys.
Loginis aritmetinis vienetas
Ši architektūros dalis naudojama tik atliekant duomenų aritmetines ir logines operacijas.
Bus įprasti skaičiavimai sudėti, padauginti, padalyti ir atimti, tačiau taip pat bus duomenų palyginimų, tokių kaip „didesnis nei“, „mažesnis nei“, „lygus“.
Valdymo blokas
Tai kontroliuoja kompiuterio ALU, atminties ir įvesties / išvesties įrenginių veikimą, nurodydamas, kaip jiems vykdyti nurodymus programoje, kurią ką tik perskaitėte iš atminties.
Valdymo blokas valdys duomenų ir programų perkėlimo į atmintį ir iš jos procesą. Jis taip pat pasirūpins programos instrukcijų vykdymu po vieną ar iš eilės. Tai apima registro, kuriame būtų laikomos tarpinės vertės, idėją.
Įrašai
Tai yra didelės spartos procesoriaus saugojimo vietos. Visi duomenys turi būti saugomi registre, kad juos būtų galima apdoroti.
Atminties adresų registre yra duomenų, prie kurių reikia prisijungti, vieta atmintyje. Atminties duomenų registre yra duomenų, kurie perkeliami į atmintį.
- Atmintis
Kompiuteris turės atmintį, kurioje gali laikyti duomenis, taip pat programą, kuri tuos duomenis apdoroja. Šiuolaikiniuose kompiuteriuose ši atmintis yra RAM arba pagrindinė atmintis. Ši atmintis yra greita ir prieinama tiesiogiai centriniam procesoriui.
RAM yra padalinta į ląsteles. Kiekvieną langelį sudaro adresas ir jo turinys. Adresas unikaliai identifikuos kiekvieną vietą atmintyje.
- Įėjimo išėjimas
Ši architektūra leidžia užfiksuoti mintį, kad žmogus turi sąveikauti su mašina per įvesties-išvesties įrenginius.
- Autobusas
Informacija turi judėti tarp skirtingų kompiuterio dalių. Kompiuteryje, kuriame yra von Neumanno architektūra, informacija perduodama iš vieno įrenginio į kitą išilgai magistralės, visus CPU blokus sujungiant su pagrindine atmintimi.
Adresų magistralė tarp procesoriaus ir atminties neša duomenų, bet ne duomenų adresus.
Duomenų magistralė neša duomenis iš procesoriaus, atminties ir įvesties-išvesties įrenginių.
Kaip veikia von Neumanno architektūra?
Atitinkamas von Neumanno architektūros principas yra tas, kad tiek duomenys, tiek instrukcijos yra saugomi atmintyje ir apdorojami vienodai, vadinasi, instrukcijos ir duomenys yra kryptiniai.
Tai veikia atliekant keturis paprastus veiksmus: rasti, iššifruoti, vykdyti, išsaugoti, vadinamą „mašinų ciklu“.
Instrukcijas CPU gauna iš atminties. Tada centrinis procesorius iššifruoja ir vykdo šias instrukcijas. Pasibaigus instrukcijos vykdymo ciklui, rezultatas išsaugomas atmintyje.
Ieškoti
Šiame etape nurodymai gaunami iš RAM ir kaupiami talpykloje, kad juos galėtų pasiekti valdymo blokas.
Dekoduoti
Valdymo blokas dekoduoja instrukcijas taip, kad loginis aritmetinis vienetas jas suprastų, ir tada siunčia jas loginiam aritmetiniam vienetui.
Bėk
Aritmetinis loginis vienetas vykdo instrukcijas ir siunčia rezultatą atgal į talpyklą.
Į atsargas
Kai programų skaitiklis nurodo sustabdymą, galutinis rezultatas atsisiųstas į pagrindinę atmintį.
Butelio kaklelis
Jei „Von Neumann“ aparatas nori atlikti operaciją su atmintyje esančiais duomenimis, jis turi būti perduotas magistralėje į centrinį procesorių. Atlikus skaičiavimą, rezultatą reikia perkelti į atmintį per tą pačią magistralę.
„Von Neumann“ kliūtis atsiranda, kai duomenys, įvedami arba išimami iš atminties, turi išlikti tol, kol baigsis dabartinė atminties operacija.
Tai yra, jei procesorius ką tik baigė skaičiavimą ir yra pasirengęs atlikti kitą, jis turi įrašyti baigtą skaičiavimą, kuris užima magistralę, į atmintį, kad galėtų nuskaityti naujus duomenis iš atminties, kurie taip pat naudoja tą pačią magistralę.
Laikui bėgant ši kliūtis darėsi vis sunkesnė, nes mikroprocesoriai padidino greitį, kita vertus, atmintis taip greitai nepablogėjo.
Privalumas
- Valdymo blokas duomenis ir instrukcijas tokiu pat būdu nuskaito iš atminties. Todėl valdymo bloko projektavimas ir tobulinimas yra paprastesnis, pigesnis ir greitesnis.
- Tuo pačiu būdu gaunami duomenys iš įvesties / išvesties įrenginių ir pagrindinės atminties.
- Atminties tvarkymą vykdo programuotojai, o tai leidžia išnaudoti visą atminties talpą.
- Tvarkyti vieną atminties bloką yra paprasčiau ir lengviau.
- Mikrovaldiklio mikroschemos dizainas yra daug paprastesnis, nes bus pasiekiama tik viena atmintis. Svarbiausias mikrovaldiklio dalykas yra prieiga prie RAM, o von Neumann architektūroje tai gali būti naudojama ir duomenims saugoti, ir programos instrukcijoms saugoti.
Operacinių sistemų kūrimas
Pagrindinis tos pačios programos ir duomenų atminties pranašumas yra tas, kad programas galima apdoroti taip, tarsi jos būtų duomenys. Kitaip tariant, galite rašyti programas, kurių duomenys yra kitos programos.
Programa, kurios duomenys yra kita programa, yra ne kas kita, kaip operacinė sistema. Tiesą sakant, jei programos ir duomenys nebūtų leidžiami toje pačioje atminties vietoje, kaip tai daroma von Neumanno architektūroje, operacinės sistemos niekada negalėjo būti sukurtos.
Trūkumai
Nors pranašumai žymiai viršija trūkumus, problema ta, kad yra tik viena magistralė, jungianti atmintį su procesoriumi, todėl vienu metu galima gauti tik vieną nurodymą ar duomenų elementą.
Tai reiškia, kad procesoriui gali tekti ilgiau laukti duomenų ar instrukcijų gavimo. Tai yra žinoma kaip von Neumann silpnoji vieta. Kadangi centrinis procesorius yra daug greitesnis nei duomenų magistralė, tai reiškia, kad jis dažnai nenaudojamas.
- Dėl nuoseklaus instrukcijų apdorojimo neleidžiama lygiagrečiai įgyvendinti programos.
- Dalijantis atmintimi, kyla rizika, kad viena programa bus parašyta kitai dėl programos klaidos, dėl kurios sistema gali sudužti.
- Kai kurios sugedusios programos negali išlaisvinti atminties, kai jos padaromos, todėl kompiuteris gali užšalti dėl nepakankamos atminties.
- Duomenys ir instrukcijos turi tą pačią duomenų magistralę, nors paprastai jų gavimo greitis yra labai skirtingas.
Nuorodos
- Puslaidininkių inžinerija (2019). Von Neumanno architektūra. Paimta iš: semiengineering.com
- Scotas Thorntonas (2018 m.). Kuo skiriasi Von-Neumann ir Harvardo architektūros? Mikrokontrolerių patarimai. Paimta iš: microcontrollertips.com.
- Mokyti IRT (2019 m.). Von Neumann mašina. Paimta iš: teac-ict.com.
- Informatika (2019). Von Neumanno architektūra. Paimta iš: computercience.gcse.guru.
- Sužinok IT su ponu C (2019). Von Neumann mašina. Paimta iš: mokykitėsmrc.co.uk.
- Solid State Media (2017). Kaip veikia kompiuteriai? Von Neumanno architektūra. Paimta iš: solidstateblog.com.