De von Neumann-architectuur Het is een theoretisch ontwerp zodat een computer een programma intern kan hebben opgeslagen, dat als basis dient voor bijna alle computers die momenteel worden gemaakt.
Een Von Neumann-machine bestaat uit een centrale verwerkingseenheid, die een rekenkundige logische eenheid en een besturingseenheid omvat, plus een hoofdgeheugen, secundaire opslag en invoer- / uitvoerapparaten..
Deze architectuur gaat ervan uit dat elke berekening gegevens uit het geheugen haalt, verwerkt en vervolgens terugstuurt naar het geheugen..
In een von Neumann-architectuur worden hetzelfde geheugen en dezelfde bus gebruikt om zowel de gegevens als de instructies op te slaan die een programma uitvoeren.
Artikel index
Omdat gegevens en programmageheugen niet tegelijkertijd toegankelijk zijn, is de von Neumann-architectuur vatbaar voor knelpunten en een verzwakking van de computerprestaties. Dit is wat bekend staat als de von Neumann-bottleneck, waarbij vermogen, prestaties en kosten worden beïnvloed..
Een van de aangebrachte wijzigingen betrof het heroverwegen van de hoeveelheid gegevens die daadwerkelijk naar het geheugen moesten worden verzonden en de hoeveelheid die lokaal kon worden opgeslagen.
Op deze manier, in plaats van alles naar het geheugen te moeten sturen, kunnen meerdere caches en proxycaches de gegevensstroom van de processorchips naar de verschillende apparaten verminderen..
In 1945, na de Tweede Wereldoorlog, brachten twee wetenschappers autonoom naar voren hoe ze een meer kneedbare computer konden bouwen. Een van hen was de wiskundige Alan Turing en de andere was de even getalenteerde wetenschapper John Von Neumann.
De Brit Alan Turing was betrokken geweest bij het kraken van de Enigma-code in Bletchley Park, met behulp van de 'Colossus'-computer. Aan de andere kant had de Amerikaan John Von Neumann aan het Manhattan-project gewerkt om de eerste atoombom te bouwen, waarvoor veel handmatige berekeningen nodig waren..
Tot dan toe werden oorlogscomputers min of meer "geprogrammeerd" door de hele machine opnieuw aan te sluiten om een andere taak uit te voeren. De eerste computer genaamd ENIAC had bijvoorbeeld drie weken nodig om opnieuw verbinding te maken om een andere berekening uit te voeren..
Het nieuwe concept bestond erin dat in een geheugen niet alleen de gegevens moesten worden opgeslagen, maar ook het programma dat die gegevens verwerkte, in hetzelfde geheugen moest worden opgeslagen..
Deze intern opgeslagen programma-architectuur staat algemeen bekend als de 'Von Neumann'-architectuur..
Dit nieuwe idee betekende dat een computer met deze architectuur veel gemakkelijker te herprogrammeren zou zijn. In feite zou het programma zelf hetzelfde worden behandeld als de gegevens.
De belangrijkste basis van het Von Neumann-model is de gedachte dat het programma intern in een machine wordt opgeslagen. De geheugeneenheid bevat de gegevens en ook de programmacode. Het architectuurontwerp bestaat uit:
Het is het digitale circuit dat verantwoordelijk is voor het uitvoeren van de instructies van een programma. Het wordt ook wel een processor genoemd. De CPU bevat de ALU, de besturingseenheid en een set registers.
Dit deel van de architectuur is alleen betrokken bij het uitvoeren van rekenkundige en logische bewerkingen op de gegevens..
De gebruikelijke berekeningen van optellen, vermenigvuldigen, delen en aftrekken zullen beschikbaar zijn, maar gegevensvergelijkingen zoals 'groter dan', 'kleiner dan', 'gelijk aan' zullen ook beschikbaar zijn.
Regelt de werking van de ALU, het geheugen en de invoer- / uitvoerapparaten van de computer en instrueert hen hoe ze moeten handelen volgens de instructies van het programma dat u zojuist uit het geheugen hebt gelezen.
De besturingseenheid beheert het proces van het verplaatsen van gegevens en programma's van en naar het geheugen. Het zorgt ook voor het uitvoeren van de programma-instructies, een voor een of opeenvolgend. Dit omvat het idee van een register om de tussenliggende waarden vast te houden.
Het zijn snelle opslaggebieden op de CPU. Alle gegevens moeten in een register worden opgeslagen voordat ze kunnen worden verwerkt.
Het geheugenadresregister bevat de geheugenlocatie van de gegevens waartoe toegang moet worden verkregen. Het geheugengegevensregister bevat de gegevens die naar het geheugen worden overgebracht.
De computer heeft geheugen dat gegevens kan bevatten, evenals het programma dat die gegevens verwerkt. Bij moderne computers is dit geheugen het RAM- of hoofdgeheugen. Dit geheugen is snel en direct toegankelijk via de CPU.
RAM is onderverdeeld in cellen. Elke cel bestaat uit een adres en de inhoud ervan. Het adres identificeert op unieke wijze elke locatie in het geheugen.
Deze architectuur maakt het mogelijk om het idee vast te leggen dat een persoon nodig heeft om te communiceren met de machine, via de invoer-uitvoerapparaten.
Informatie moet tussen de verschillende onderdelen van de computer stromen. In een computer met de von Neumann-architectuur wordt informatie via een bus van het ene apparaat naar het andere verzonden, waardoor alle CPU-eenheden met het hoofdgeheugen worden verbonden..
De adresbus draagt de adressen van gegevens, maar geen gegevens, tussen de processor en het geheugen.
De databus draagt gegevens tussen de processor, het geheugen en invoer-uitvoerapparaten.
Het relevante principe van de von Neumann-architectuur is dat zowel gegevens als instructies in het geheugen worden opgeslagen en hetzelfde worden behandeld, wat betekent dat instructies en gegevens directioneel zijn..
Het werkt met behulp van vier eenvoudige stappen: zoeken, decoderen, uitvoeren, opslaan, de zogenaamde "machinecyclus".
De instructies worden door de CPU uit het geheugen gehaald. De CPU decodeert en voert deze instructies uit. Het resultaat wordt weer in het geheugen opgeslagen nadat de uitvoeringscyclus van de instructies is voltooid..
In deze stap worden de instructies verkregen uit het RAM en in de cache geplaatst zodat de besturingseenheid er toegang toe heeft..
De besturingseenheid decodeert de instructies zodanig dat de logische rekeneenheid ze kan begrijpen en stuurt ze vervolgens naar de logische rekeneenheid..
De rekenkundige logische eenheid voert de instructies uit en stuurt het resultaat terug naar de cache.
Zodra de programmateller stop aangeeft, wordt het eindresultaat gedownload naar het hoofdgeheugen.
Als een Von Neumann-machine een bewerking wil uitvoeren met gegevens in het geheugen, moet deze via de bus naar de CPU worden overgebracht. Nadat u de berekening hebt uitgevoerd, moet u het resultaat via dezelfde bus naar het geheugen verplaatsen.
Het knelpunt van Von Neumann treedt op wanneer gegevens die uit het geheugen worden ingevoerd of verwijderd, moeten verstrijken terwijl de huidige geheugenbewerking is voltooid..
Dat wil zeggen, als de processor zojuist een berekening heeft voltooid en klaar is om de volgende uit te voeren, moet hij de voltooide berekening, die de bus bezet, in het geheugen schrijven voordat hij nieuwe gegevens uit het geheugen kan ophalen, die ook dezelfde gebruiken. bus..
Dit knelpunt is in de loop van de tijd erger geworden, omdat de microprocessors hun snelheid hebben verhoogd en aan de andere kant het geheugen niet zo snel is gevorderd.
- De besturingseenheid haalt op dezelfde manier gegevens en instructies op uit het geheugen. Daarom is het ontwerp en de ontwikkeling van de besturingseenheid vereenvoudigd, goedkoper en sneller..
- Gegevens van invoer- / uitvoerapparaten en het hoofdgeheugen worden op dezelfde manier opgehaald.
- Geheugenorganisatie wordt gedaan door programmeurs, waardoor de volledige geheugencapaciteit kan worden gebruikt.
- Het beheren van een enkel geheugenblok is eenvoudiger en gemakkelijker te realiseren.
- Het ontwerp van de microcontroller-chip is veel eenvoudiger, omdat er slechts één geheugen wordt gebruikt. Het belangrijkste van de microcontroller is toegang tot RAM en in de von Neumann-architectuur kan dit zowel worden gebruikt om gegevens op te slaan als om programma-instructies op te slaan..
Het belangrijkste voordeel van hetzelfde geheugen voor programma's en gegevens is dat programma's kunnen worden verwerkt alsof het gegevens zijn. Met andere woorden, u kunt programma's schrijven waarvan de gegevens andere programma's zijn.
Een programma waarvan de gegevens een ander programma zijn, is niets meer dan een besturingssysteem. Als programma's en gegevens niet in dezelfde geheugenruimte waren toegestaan, zoals het geval is met de von Neumann-architectuur, zouden er nooit besturingssystemen kunnen zijn ontwikkeld.
Hoewel de voordelen ruimschoots opwegen tegen de nadelen, is het probleem dat er maar één bus is die het geheugen met de processor verbindt, dus er kan maar één instructie of één data-item tegelijk worden opgehaald..
Dit betekent dat de processor mogelijk langer moet wachten voordat er gegevens of instructies binnenkomen. Dit staat bekend als de bottleneck van von Neumann. Omdat de CPU veel sneller is dan de databus, betekent dit dat deze vaak inactief blijft.
- Vanwege de opeenvolgende verwerking van de instructies is de parallelle implementatie van het programma niet toegestaan.
- Door geheugen te delen, bestaat het risico dat de ene instructie over de andere wordt geschreven vanwege een fout in het programma, waardoor het systeem crasht..
- Sommige defecte programma's kunnen geen geheugen vrijmaken als ze ermee klaar zijn, waardoor de computer kan vastlopen vanwege onvoldoende geheugen.
- Data en instructies delen dezelfde databus, hoewel de snelheid waarmee ze allemaal moeten worden opgehaald vaak heel verschillend is..
Niemand heeft nog op dit artikel gereageerd.