- Vylepšení architektury
- Původ
- Modelka
- - Centrální procesorová jednotka (CPU)
- Logická aritmetická jednotka
- Řídící jednotka
- Evidence
- - Paměť
- - Vstupní výstup
- - Autobus
- Jak funguje architektura von Neumanna?
- Hledat
- Dekódovat
- Běh
- Na skladě
- Úzké místo
- Výhoda
- Vývoj operačních systémů
- Nevýhody
- Reference
Architektura von Neumanna je teoretický návrh, takže počítač může mít interně uložený program, který slouží jako základ pro téměř všechny počítače, které jsou v současné době vyráběny.
Stroj von Neumann se skládá z centrální procesorové jednotky, která zahrnuje aritmetickou logickou jednotku a řídicí jednotku, plus hlavní paměť, sekundární paměť a vstupní / výstupní zařízení.
Zdroj: David strigoi - Vlastní dílo, Public Domain, commons.wikimedia.org
Tato architektura předpokládá, že každý výpočet extrahuje data z paměti, zpracovává je a poté je odesílá zpět do paměti.
V von Neumannové architektuře se stejná paměť a stejná sběrnice používají k ukládání dat i pokynů, které provádějí program.
Vylepšení architektury
Protože k datové a programové paměti nelze přistupovat současně, architektura von Neumanna je náchylná k úzkým místům a oslabení výkonu počítače. Toto je známé jako úzké hrdlo von Neumanna, kde je ovlivněna síla, výkon a náklady.
Jedna z provedených změn zahrnovala přehodnocení toho, kolik dat skutečně bylo třeba poslat do paměti a kolik bylo možné uložit místně.
Tímto způsobem, namísto toho, aby bylo nutné vše odesílat do paměti, může více mezipaměti a proxy mezipaměti omezit tok dat z procesorových čipů na různá zařízení.
Původ
V roce 1945, po druhé světové válce, dva vědci nezávisle vychovávali, jak postavit temperamentnější počítač. Jedním z nich byl matematik Alan Turing a druhým byl stejně talentovaný vědec John Von Neumann.
Brit Alan Turing se podílel na praskání kódu Enigma v Bletchley Parku pomocí počítače „Colossus“. Na druhou stranu americký John Von Neumann pracoval na projektu Manhattan na stavbě první atomové bomby, která vyžadovala velké množství manuálních výpočtů.
Do té doby byly válečné počítače více či méně „naprogramovány“ opětovným připojením celého stroje, aby provedly jiný úkol. Například první počítač s názvem ENIAC trvalo tři týdny, než se znovu připojil, aby provedl jiný výpočet.
Nový koncept spočíval v tom, že v paměti musela být uložena nejen data, ale také program, který zpracovával tato data, by měl být uložen ve stejné paměti.
Tato interně uložená architektura programu je běžně známá jako architektura „Von Neumann“.
Tato nová myšlenka znamenala, že počítač s touto architekturou by bylo mnohem jednodušší přeprogramovat. S programem samotným by se skutečně zacházelo stejně jako s daty.
Modelka
Základem modelu Von Neumann je myšlenka, že program je interně uložen v počítači. Paměťová jednotka obsahuje data a také programový kód. Návrh architektury se skládá z:
Zdroj: From UserJaimeGallego - Tento soubor je odvozen od Von Neumann Architecture.svg, CC BY-SA 3.0, commons.wikimedia.org
- Centrální procesorová jednotka (CPU)
Je to digitální obvod, který je zodpovědný za provádění pokynů programu. Nazývá se také procesor. CPU obsahuje ALU, řídicí jednotku a sadu registrů.
Logická aritmetická jednotka
Tato část architektury se podílí pouze na provádění aritmetických a logických operací s daty.
Budou k dispozici obvyklé výpočty sčítání, násobení, dělení a odečtení, budou však k dispozici i srovnávání údajů, jako „větší než“, „menší než“, „rovna“.
Řídící jednotka
Řídí činnost ALU, paměti a vstupních / výstupních zařízení počítače a dává jim pokyny, jak postupovat podle pokynů v programu, který jste právě přečetli z paměti.
Řídicí jednotka bude řídit proces přesunu dat a programů do az paměti. Také se postará o provádění instrukcí programu, jeden po druhém nebo postupně. To zahrnuje myšlenku rejstříku, který bude držet střední hodnoty.
Evidence
Jsou to oblasti vysokorychlostního úložiště na procesoru. Před zpracováním musí být všechna data uložena v registru.
Registr adres paměti obsahuje umístění paměti dat, která mají být přístupná. Registr dat paměti obsahuje data, která jsou přenesena do paměti.
- Paměť
Počítač bude mít paměť, která pojme data, stejně jako program, který je zpracovává. V moderních počítačích je tato paměť RAM nebo hlavní paměť. Tato paměť je rychlá a dostupná přímo CPU.
RAM je rozdělena na buňky. Každá buňka se skládá z adresy a jejího obsahu. Adresa bude jednoznačně identifikovat každé místo v paměti.
- Vstupní výstup
Tato architektura umožňuje zachytit myšlenku, že člověk musí komunikovat se strojem prostřednictvím vstupně-výstupních zařízení.
- Autobus
Mezi různými částmi počítače musí proudit informace. V počítači s architekturou von Neumanna jsou informace přenášeny z jednoho zařízení na druhé po sběrnici, spojující všechny CPU jednotky do hlavní paměti.
Adresová sběrnice nese adresy dat, ale nikoli dat, mezi procesorem a pamětí.
Datová sběrnice přenáší data mezi procesorem, pamětí a zařízeními vstup-výstup.
Jak funguje architektura von Neumanna?
Relevantní princip architektury von Neumanna spočívá v tom, že jak data, tak instrukce jsou uloženy v paměti a ošetřeny stejně, což znamená, že instrukce a data jsou směrové.
Funguje to pomocí čtyř jednoduchých kroků: vyhledání, dekódování, spuštění, uložení, zvané „strojový cyklus“.
Pokyny jsou získávány CPU z paměti. CPU poté tyto pokyny dekóduje a provede. Výsledek je po dokončení cyklu provádění instrukcí uložen zpět do paměti.
Hledat
V tomto kroku jsou instrukce získány z RAM a ukládány do mezipaměti pro přístup řídicí jednotky.
Dekódovat
Řídicí jednotka instrukce dekóduje tak, aby jim logická aritmetická jednotka mohla porozumět, a poté je poslala do logické aritmetické jednotky.
Běh
Aritmetická logická jednotka provede pokyny a výsledek odešle zpět do mezipaměti.
Na skladě
Jakmile programový čítač indikuje stop, konečný výsledek se stáhne do hlavní paměti.
Úzké místo
Pokud si chce stroj Von Neumann provést operaci s daty v paměti, musí být přenesen přes sběrnici do CPU. Po provedení výpočtu musí být výsledek přesunut do paměti přes stejnou sběrnici.
Zúžení Von Neumann nastane, když data zadávaná nebo odebraná z paměti musí přetrvávat, zatímco je dokončena aktuální operace s pamětí.
To znamená, že pokud procesor právě dokončil výpočet a je připraven provést další, musí zapsat dokončený výpočet, který zabírá sběrnici, do paměti, než může načíst nová data z paměti, která také používají stejnou sběrnici.
Tento problém se postupem času zhoršoval, protože mikroprocesory zvýšily svou rychlost a na druhé straně paměť neprošla tak rychle.
Výhoda
- Řídicí jednotka načítá data a pokyny stejným způsobem z paměti. Proto je design a vývoj řídicí jednotky zjednodušený, levnější a rychlejší.
- Data ze vstupních / výstupních zařízení a hlavní paměti se získávají stejným způsobem.
- Organizaci paměti provádějí programátoři, což umožňuje využívat veškerou kapacitu paměti.
- Správa jednoho paměťového bloku je jednodušší a snáze dosažitelná.
- Konstrukce mikrokontroléru je mnohem jednodušší, protože bude přístupná pouze jedna paměť. Nejdůležitější věcí na mikrokontroléru je přístup k RAM a v architektuře von Neumanna to lze použít jak k ukládání dat, tak k ukládání programových instrukcí.
Vývoj operačních systémů
Hlavní výhodou stejné paměti pro programy a data je to, že programy lze zpracovávat, jako by se jednalo o data. Jinými slovy, můžete psát programy, jejichž data jsou jinými programy.
Program, jehož data jsou jiným programem, není ničím jiným než operačním systémem. Ve skutečnosti, pokud by programy a data nebyly povoleny ve stejném paměťovém prostoru, jako je tomu v případě architektury von Neumanna, operační systémy by nikdy nemohly být vyvinuty.
Nevýhody
Ačkoli výhody daleko převažují nad nevýhodami, problém je v tom, že existuje pouze jedna sběrnice spojující paměť s procesorem, takže lze najednou získat pouze jednu instrukci nebo jednu datovou položku.
To znamená, že procesor možná bude muset čekat déle, než dorazí data nebo pokyny. Toto je známé jako úzké hrdlo von Neumanna. Protože CPU je mnohem rychlejší než datová sběrnice, znamená to, že je často nečinný.
- Vzhledem k postupnému zpracování pokynů není povolena paralelní implementace programu.
- Sdílením paměti existuje riziko, že jedna instrukce bude zapsána do druhé kvůli chybě v programu, která způsobí zhroucení systému.
- Některé vadné programy nemohou uvolnit paměť, když jsou hotové, což by mohlo způsobit, že počítač zamrzne kvůli nedostatečné paměti.
- Data a instrukce sdílejí stejnou datovou sběrnici, i když rychlost, kterou je třeba každý získat, je obvykle velmi odlišná.
Reference
- Polovodičové inženýrství (2019). Von Neumann Architecture. Převzato z: semiengineering.com
- Scott Thornton (2018). Jaký je rozdíl mezi architekturou Von-Neumanna a Harvarda? Tipy pro mikrokontroléry. Převzato z: microcontrollertips.com.
- Učit ICT (2019). Stroj Von Neumann. Převzato z: teach-ict.com.
- Informatika (2019). Von Neumann Architecture. Převzato z: computerscience.gcse.guru.
- Naučte se to s panem C (2019). Stroj Von Neumann. Převzato z: learnnitwithmrc.co.uk.
- Solid State Media (2017). Jak fungují počítače? Architektura Von Neumanna. Převzato z: solidstateblog.com.