Computerarchitectuur door John von Neumann. Principes van computervorming. Principes van John von Neumann. computergeneratie 5.3 wat betekent het von Neumann-architectuurprincipe?

Von Neumann-principes (Von Neumann-architectuur)

    Computer architectuur

In 1946 schetsten D. von Neumann, G. Goldstein en A. Berks in hun gezamenlijke artikel nieuwe principes voor de constructie en werking van computers. Op basis van deze principes werden vervolgens de eerste twee generaties computers geproduceerd. Er zijn enkele veranderingen geweest in latere generaties, hoewel de principes van Neumann nog steeds relevant zijn.

In feite slaagde Neumann erin de wetenschappelijke ontwikkelingen en ontdekkingen van vele andere wetenschappers samen te vatten en op basis daarvan iets fundamenteel nieuws te formuleren.

Principes van Von Neumann

    Gebruik van het binaire getalsysteem in computers. Het voordeel ten opzichte van het decimale getalsysteem is dat apparaten vrij eenvoudig kunnen worden gemaakt, en dat rekenkundige en logische bewerkingen in het binaire getalsysteem ook vrij eenvoudig worden uitgevoerd.

    Controle van computersoftware. De werking van de computer wordt bestuurd door een programma dat bestaat uit een reeks opdrachten. Commando's worden achter elkaar uitgevoerd. De creatie van een machine met een opgeslagen programma was het begin van wat we tegenwoordig programmeren noemen.

    Computergeheugen wordt niet alleen gebruikt om gegevens op te slaan, maar ook programma's.. In dit geval worden zowel programmaopdrachten als gegevens gecodeerd in het binaire getalsysteem, d.w.z. hun opnamemethode is hetzelfde. Daarom kunt u in bepaalde situaties dezelfde acties uitvoeren op opdrachten als op gegevens.

    Computergeheugencellen hebben adressen die opeenvolgend zijn genummerd. U kunt op elk moment toegang krijgen tot elke geheugencel via het adres ervan. Dit principe opende de mogelijkheid om variabelen te gebruiken bij het programmeren.

    Mogelijkheid tot voorwaardelijke sprong tijdens programma-uitvoering. Ondanks het feit dat opdrachten opeenvolgend worden uitgevoerd, kunnen programma's de mogelijkheid implementeren om naar elk stuk code te springen.

Het belangrijkste gevolg van deze principes is dat het programma nu niet langer een vast onderdeel van de machine is (zoals bijvoorbeeld een rekenmachine). Het werd mogelijk om het programma eenvoudig te wijzigen. Maar de uitrusting blijft uiteraard ongewijzigd en heel eenvoudig.

Ter vergelijking: het programma van de ENIAC-computer (die geen opgeslagen programma had) werd bepaald door speciale jumpers op het paneel. Het kan meer dan een dag duren om de machine opnieuw te programmeren (jumpers anders instellen). En hoewel het schrijven van programma's voor moderne computers jaren kan duren, werken ze op miljoenen computers na een paar minuten installatie op de harde schijf.

Hoe werkt een von Neumann-machine?

Een von Neumann-machine bestaat uit een opslagapparaat (geheugen) - een geheugen, een rekenkundig-logische eenheid - ALU, een besturingsapparaat - CU, evenals invoer- en uitvoerapparaten.

Programma's en gegevens worden vanaf het invoerapparaat via een rekenkundige logische eenheid in het geheugen ingevoerd. Alle programmacommando's worden naar aangrenzende geheugencellen geschreven, en gegevens voor verwerking kunnen in willekeurige cellen worden opgeslagen. Voor elk programma moet het laatste commando het afsluitcommando zijn.

Het commando bestaat uit een indicatie van welke bewerking moet worden uitgevoerd (uit de mogelijke bewerkingen op een bepaalde hardware) en de adressen van geheugencellen waar de gegevens waarop de gespecificeerde bewerking moet worden uitgevoerd, zijn opgeslagen, evenals het adres van de cel waar het resultaat moet worden geschreven (als het in het geheugen moet worden opgeslagen).

De rekenkundige logische eenheid voert de door de instructies gespecificeerde bewerkingen uit op de gespecificeerde gegevens.

Vanuit de rekenkundige logische eenheid worden de resultaten uitgevoerd naar het geheugen of een uitvoerapparaat. Het fundamentele verschil tussen een geheugen en een uitvoerapparaat is dat in een geheugen gegevens worden opgeslagen in een vorm die geschikt is voor verwerking door een computer, en dat deze op een handige manier naar uitvoerapparaten (printer, monitor, enz.) worden verzonden. voor een persoon.

De besturingseenheid bestuurt alle onderdelen van de computer. Van het besturingsapparaat ontvangen andere apparaten signalen "wat te doen", en van andere apparaten ontvangt de besturingseenheid informatie over hun status.

Het besturingsapparaat bevat een speciaal register (cel) dat de “programmateller” wordt genoemd. Nadat het programma en de gegevens in het geheugen zijn geladen, wordt het adres van de eerste instructie van het programma naar de programmateller geschreven. De besturingseenheid leest uit het geheugen de inhoud van de geheugencel, waarvan het adres in de programmateller staat, en plaatst deze in een speciaal apparaat - het "Command Register". De besturingseenheid bepaalt de werking van het commando, "markeert" in het geheugen de gegevens waarvan de adressen in het commando zijn gespecificeerd, en bestuurt de uitvoering van het commando. De bewerking wordt uitgevoerd door de ALU of computerhardware.

Als gevolg van de uitvoering van een willekeurig commando verandert de programmateller met één en wijst daarom naar het volgende commando van het programma. Wanneer het nodig is een commando uit te voeren dat niet het volgende is van het huidige commando, maar door een bepaald aantal adressen van het gegeven commando is gescheiden, bevat een speciaal sprongcommando het adres van de cel waarnaar de besturing moet worden overgedragen .

Principes van Von Neumann brontekst bewerken]

Het principe van geheugenhomogeniteit

Commando's en gegevens worden in hetzelfde geheugen opgeslagen en zijn extern niet van elkaar te onderscheiden in het geheugen. Ze zijn alleen te herkennen aan de wijze van gebruik; dat wil zeggen dat dezelfde waarde in een geheugencel kan worden gebruikt als gegevens, als een commando en als een adres, alleen afhankelijk van de manier waarop er toegang toe wordt verkregen. Hierdoor kunt u dezelfde bewerkingen uitvoeren op commando's als op cijfers, en dat opent dus een aantal mogelijkheden. Door het adresgedeelte van het commando cyclisch te veranderen, is het dus mogelijk toegang te krijgen tot opeenvolgende elementen van de data-array. Deze techniek wordt commandowijziging genoemd en wordt niet aanbevolen vanuit het standpunt van moderne programmering. Nuttiger is een ander gevolg van het homogeniteitsbeginsel, wanneer instructies uit het ene programma kunnen worden verkregen als resultaat van de uitvoering van een ander programma. Deze mogelijkheid ligt ten grondslag aan vertaling: de vertaling van programmatekst van een taal op hoog niveau naar de taal van een specifieke computer.

Doelgerichtheidsprincipe

Structureel bestaat het hoofdgeheugen uit genummerde cellen en elke cel is op elk moment beschikbaar voor de processor. Binaire codes van commando's en gegevens worden verdeeld in informatie-eenheden die woorden worden genoemd en worden opgeslagen in geheugencellen, en om toegang te krijgen tot deze worden de nummers van de overeenkomstige cellen gebruikt - adressen.

Programmacontroleprincipe

Alle berekeningen waarin het algoritme voorziet voor het oplossen van het probleem moeten worden gepresenteerd in de vorm van een programma dat bestaat uit een reeks besturingswoorden - opdrachten. Elke opdracht schrijft een bewerking voor uit een reeks bewerkingen die door de computer worden geïmplementeerd. Programmaopdrachten worden opgeslagen in sequentiële geheugencellen van de computer en worden uitgevoerd in een natuurlijke volgorde, dat wil zeggen in de volgorde van hun positie in het programma. Indien nodig kan deze volgorde met behulp van speciale commando's worden gewijzigd. De beslissing om de volgorde van uitvoering van programmaopdrachten te wijzigen wordt genomen op basis van een analyse van de resultaten van eerdere berekeningen, of onvoorwaardelijk.

Binair coderingsprincipe

Volgens dit principe wordt alle informatie, zowel gegevens als opdrachten, gecodeerd met de binaire cijfers 0 en 1. Elk type informatie wordt weergegeven door een binaire reeks en heeft zijn eigen formaat. Een reeks bits in een formaat dat een specifieke betekenis heeft, wordt een veld genoemd. Bij numerieke informatie is er meestal een tekenveld en een veld met significante cijfers. In het opdrachtformaat kunnen twee velden worden onderscheiden: het bewerkingscodeveld en het adressenveld.

Een ander werkelijk revolutionair idee, waarvan het belang moeilijk te overschatten is, is het door Neumann voorgestelde ‘opgeslagen programma’-principe. Aanvankelijk werd het programma ingesteld door jumpers op een speciaal patchpaneel te installeren. Dit was een zeer arbeidsintensieve taak: het duurde bijvoorbeeld enkele dagen om het programma van de ENIAC-machine te wijzigen (terwijl de berekening zelf niet langer dan een paar minuten kon duren - de lampen vielen uit). Neumann was de eerste die besefte dat een programma ook als een reeks nullen en enen kon worden opgeslagen, in hetzelfde geheugen als de getallen die het verwerkte. Doordat er geen fundamenteel verschil bestond tussen het programma en de gegevens, kon de computer op basis van de uitkomsten van de berekeningen voor zichzelf een programma samenstellen.

Von Neumann bracht niet alleen de fundamentele principes van de logische structuur van een computer naar voren, maar stelde ook de structuur ervan voor, die werd gereproduceerd tijdens de eerste twee generaties computers. De hoofdblokken zijn volgens Neumann een besturingseenheid (CU) en een rekenkundig-logische eenheid (ALU) (meestal gecombineerd tot een centrale processor), geheugen, extern geheugen, invoer- en uitvoerapparaten. Het ontwerpdiagram van een dergelijke computer wordt getoond in Fig. 1. Opgemerkt moet worden dat het externe geheugen verschilt van invoer- en uitvoerapparaten doordat gegevens erin worden ingevoerd in een vorm die handig is voor een computer, maar die niet toegankelijk is voor directe waarneming door een persoon. De magnetische schijf verwijst dus naar het externe geheugen en het toetsenbord is een invoerapparaat, weergave en afdrukken zijn uitvoerapparaten.

Rijst. 1. Computerarchitectuur gebouwd op de principes van von Neumann. Doorgetrokken lijnen met pijlen geven de richting van informatiestromen aan, stippellijnen geven besturingssignalen van de processor naar andere computerknooppunten aan

Het besturingsapparaat en de rekenkundig-logische eenheid in moderne computers worden gecombineerd tot één eenheid: de processor, die een omzetter is van informatie afkomstig uit het geheugen en externe apparaten (dit omvat het ophalen van instructies uit het geheugen, het coderen en decoderen, het uitvoeren van verschillende, inclusief rekenkundige bewerkingen) , operaties, coördinatie van de werking van computerknooppunten). De functies van de processor zullen hieronder in meer detail worden besproken.

Geheugen (geheugen) slaat informatie (data) en programma's op. Het opslagapparaat in moderne computers is ‘multi-tiered’ en omvat Random Access Memory (RAM), waarin de informatie wordt opgeslagen waarmee de computer op een bepaald moment direct werkt (het uitvoerbare programma, een deel van de daarvoor benodigde gegevens, sommige besturingsprogramma's) en externe opslagapparaten (ESD) met een veel grotere capaciteit dan RAM. maar met aanzienlijk langzamere toegang (en aanzienlijk lagere kosten per 1 byte opgeslagen informatie). De classificatie van geheugenapparaten eindigt niet bij RAM en VRAM - bepaalde functies worden uitgevoerd door zowel SRAM (super-random access memory), ROM (read-only memory) als andere subtypen computergeheugen.

In een computer die volgens het beschreven schema is gebouwd, worden instructies opeenvolgend uit het geheugen gelezen en uitgevoerd. Nummer (adres) van de volgende geheugencel. waaruit het volgende programmacommando zal worden geëxtraheerd, wordt aangegeven door een speciaal apparaat: een commandoteller in de besturingseenheid. De aanwezigheid ervan is ook een van de karakteristieke kenmerken van de architectuur in kwestie.

De grondbeginselen van de architectuur van door von Neumann ontwikkelde computerapparatuur bleken zo fundamenteel te zijn dat ze in de literatuur de naam 'von Neumann-architectuur' kregen. De overgrote meerderheid van de computers van tegenwoordig zijn von Neumann-machines. De enige uitzonderingen zijn bepaalde soorten systemen voor parallel computergebruik, waarin er geen programmateller is, het klassieke concept van een variabele niet is geïmplementeerd en er andere significante fundamentele verschillen zijn met het klassieke model (voorbeelden zijn onder meer streaming- en reductiecomputers).

Blijkbaar zal er een significante afwijking van de von Neumann-architectuur optreden als gevolg van de ontwikkeling van het idee van machines van de vijfde generatie, waarin informatieverwerking niet gebaseerd is op berekeningen, maar op logische conclusies

.

Tegenwoordig is het moeilijk te geloven, maar computers, zonder welke velen zich hun leven niet meer kunnen voorstellen, verschenen pas zo’n zeventig jaar geleden. Een van degenen die een beslissende bijdrage leverden aan hun creatie was de Amerikaanse wetenschapper John von Neumann. Hij stelde de principes voor waarop de meeste computers tot op de dag van vandaag werken. Laten we eens kijken hoe een von Neumann-machine werkt.

Korte biografische informatie

Janos Neumann werd in 1930 in Boedapest geboren in een zeer rijke joodse familie, die later een adellijke titel wist te verwerven. Van kinds af aan onderscheidde hij zich door uitstekende capaciteiten op alle gebieden. Op 23-jarige leeftijd had Neumann al zijn proefschrift verdedigd op het gebied van de experimentele natuurkunde en scheikunde. In 1930 werd de jonge wetenschapper uitgenodigd om in de VS te komen werken, en tegelijkertijd werd Neumann een van de eerste medewerkers van het Institute for Advanced Study, waar hij tot het einde van zijn leven als professor werkte. Neumanns wetenschappelijke interesses waren behoorlijk uitgebreid. In het bijzonder is hij een van de makers van het kwantummechanische apparaat en het concept van cellulaire automaten.

Bijdragen aan de informatica

Voordat we ontdekken aan welk principe de architectuur van Von Neumann niet voldoet, zal het interessant zijn om te weten hoe de wetenschapper op het idee kwam om een ​​modern type computermachine te creëren.

Von Neumann, een expert in de wiskunde van explosies en schokgolven, diende begin jaren veertig als wetenschappelijk adviseur bij een van de United States Army Ordnance Survey-laboratoria. In de herfst van 1943 arriveerde hij in Los Alamos om deel te nemen aan de ontwikkeling van het Manhattan Project op persoonlijke uitnodiging van de leider ervan. Hij kreeg de taak om de kracht van de implosiecompressie van een atoombomlading tot een kritische massa te berekenen. Om dit op te lossen waren grote berekeningen nodig, die aanvankelijk werden uitgevoerd op handrekenmachines en later op mechanische tabulators van IBM, met behulp van ponskaarten.

Ik maakte kennis met informatie over de voortgang van het maken van elektronisch-mechanische en volledig elektronische computers. Hij raakte al snel betrokken bij de ontwikkeling van de EDVAC- en ENIAC-computers, wat hem ertoe bracht het onvoltooide First Draft Report over EDVAC te schrijven, waarin hij aan de wetenschappelijke gemeenschap een compleet nieuw idee introduceerde van wat computerarchitectuur zou moeten zijn.

Principes van Von Neumann

Computerwetenschappen als wetenschap waren in 1945 op een dood spoor beland, omdat iedereen verwerkte getallen in de 10e vorm in hun geheugen opsloeg en programma's voor het uitvoeren van bewerkingen werden gespecificeerd door jumpers op het schakelbord te installeren.

Dit beperkte de mogelijkheden van computers aanzienlijk. De echte doorbraak waren de principes van Von Neumann. Ze kunnen kort in één zin worden uitgedrukt: de overgang naar het binaire getalsysteem en het principe van een opgeslagen programma.

Analyse

Laten we eens kijken op welke principes de klassieke structuur van de von Neumann-machine is gebaseerd, in meer detail:

1. Overgang naar binair systeem van decimaal

Dit principe van de Neumann-architectuur maakt het gebruik van vrij eenvoudige logische apparaten mogelijk.

2. Softwarebesturing van een elektronische computer

De werking van een computer wordt bestuurd door een reeks opdrachten die achtereenvolgens worden uitgevoerd. De ontwikkeling van de eerste machines met een in het geheugen opgeslagen programma markeerde het begin van het moderne programmeren.

3. Gegevens en programma's worden samen opgeslagen in het computergeheugen

Tegelijkertijd worden zowel data- als programmacommando's op dezelfde manier geschreven in het binaire getalsysteem, dus in bepaalde situaties is het mogelijk om daarop dezelfde acties uit te voeren als op de data.

Gevolgen

Bovendien heeft de architectuur van de Fonneyman-machine de volgende kenmerken:

1. Geheugencellen hebben adressen die opeenvolgend zijn genummerd

Dankzij de toepassing van dit principe werd het gebruik van variabelen bij het programmeren mogelijk. In het bijzonder kunt u op elk moment toegang krijgen tot een bepaalde geheugencel via het adres ervan.

2. Mogelijkheid tot voorwaardelijke sprong tijdens programma-uitvoering

Zoals reeds vermeld, moeten opdrachten in programma's opeenvolgend worden uitgevoerd. Het is echter mogelijk om naar elk gedeelte van de code te springen.

Hoe werkt een von Neumann-machine?

Zo'n wiskundig model bestaat uit opslag- (geheugen), besturings- en invoer- en uitvoerapparaten. Alle programmaopdrachten worden geschreven in geheugencellen die zich in de buurt bevinden, en de gegevens voor de verwerking ervan bevinden zich in willekeurige cellen.

Elk team moet bestaan ​​uit:

  • instructies over welke handeling moet worden uitgevoerd;
  • adressen van geheugencellen waarin de brongegevens die door de gespecificeerde bewerking worden beïnvloed, zijn opgeslagen;
  • adressen van cellen waarin het resultaat moet worden geschreven.

De bewerkingen gespecificeerd door de commando's op specifieke brongegevens worden uitgevoerd door de ALU en de resultaten worden vastgelegd in geheugencellen, d.w.z. ze worden opgeslagen in een vorm die handig is voor daaropvolgende machinale verwerking, of verzonden naar een uitvoerapparaat (monitor, printer, enz.) en toegankelijk worden voor mensen.

De besturingseenheid bestuurt alle onderdelen van de computer. Van daaruit ontvangen andere apparaten signalen - orders "wat te doen", en van andere apparaten ontvangt het informatie over de staat waarin ze zich bevinden.

Het besturingsapparaat heeft een speciaal register, de “programmateller” SK. Nadat de brongegevens en het programma in het geheugen zijn geladen, wordt het adres van het eerste commando naar de CS geschreven. De besturingseenheid leest uit het computergeheugen de inhoud van de cel waarvan het adres in het IC staat en plaatst deze in het “Command Register”. Het besturingsapparaat bepaalt de werking die overeenkomt met een specifiek commando en "markeert" in het computergeheugen de gegevens waarvan de adressen daarin worden aangegeven. Vervolgens begint de ALU of computer een bewerking uit te voeren, waarna de inhoud van de CS met één verandert, dat wil zeggen naar de volgende opdracht wijst.

Kritiek

De tekortkomingen en de huidige vooruitzichten blijven onderwerp van discussie. Het feit dat machines die zijn gemaakt volgens de principes van deze uitmuntende wetenschapper niet perfect zijn, werd al heel lang geleden opgemerkt.

Daarom kun je in examenpapieren in de informatica vaak de vraag tegenkomen "aan welk principe voldoet de von Neumann-architectuur niet en welke tekortkomingen heeft deze?"

Geef bij het beantwoorden van het tweede deel aan:

  • voor de aanwezigheid van een semantische kloof tussen programmeertalen op hoog niveau en commandosystemen;
  • over het probleem van het matchen van OP- en processordoorvoer;
  • op de opkomende softwarecrisis, veroorzaakt door het feit dat de kosten van het maken ervan veel lager zijn dan de kosten van hardwareontwikkeling, en er geen mogelijkheid is om het programma volledig te testen;
  • gebrek aan vooruitzichten op het gebied van prestaties, aangezien de theoretische limiet al is bereikt.

Wat betreft aan welk principe de von Neumann-architectuur niet voldoet, hebben we het over de parallelle organisatie van een groot aantal datastromen en commando's, kenmerkend voor een multiprocessor-architectuur.

Conclusie

Nu weet je aan welk principe de von Neumann-architectuur niet voldoet. Het is duidelijk dat wetenschap en technologie niet stil staan, en misschien zal er binnenkort in elk huis een compleet nieuw type computer verschijnen, waardoor de mensheid een nieuw ontwikkelingsniveau zal bereiken. Overigens helpt het trainingsprogramma “Von Neumann Architectuur” je bij de voorbereiding op het examen. Dergelijke digitale leermiddelen maken het gemakkelijker om de stof te leren en bieden de mogelijkheid om uw kennis te evalueren.

Computerarchitectuur en von Neumann-principes

De term "architectuur" wordt gebruikt om het werkingsprincipe, de configuratie en de onderlinge verbinding van de belangrijkste logische knooppunten van een computer te beschrijven. Architectuur is een hiërarchie van hardware en software met meerdere niveaus waaruit een computer is opgebouwd.

De basis voor de leer van de computerarchitectuur werd gelegd door de vooraanstaande Amerikaanse wiskundige John von Neumann. De eerste Eniak-computer werd in 1946 in de VS opgericht. De groep makers ook von Neumann, die voorstelde basisprincipes van computerconstructie: overgang naar het binaire getalsysteem voor het weergeven van informatie en het principe van een opgeslagen programma.

Er werd voorgesteld om het rekenprogramma in het opslagapparaat van de computer te plaatsen, wat de automatische uitvoering van opdrachten zou garanderen en als gevolg daarvan de snelheid van de computer zou verhogen. (Bedenk dat voorheen alle computers verwerkte getallen in decimale vorm opsloegen, en dat programma's werden gespecificeerd door jumpers op een speciaal patchpaneel te installeren.) Neumann was de eerste die vermoedde dat een programma ook kon worden opgeslagen als een reeks nullen en enen, en in hetzelfde geheugen als en de getallen die het verwerkt.

Basisprincipes van computerconstructie:

1. Elke computer bestaat uit drie hoofdcomponenten: processor, geheugen en apparaat. invoer-uitvoer (I/O).

2. De informatie waarmee de computer werkt, is verdeeld in twee soorten:

    een reeks verwerkingsopdrachten (programma's); te verwerken gegevens.

3. Zowel opdrachten als gegevens worden in het geheugen (RAM) ingevoerd – principe van opgeslagen programma .

4. De verwerking wordt bestuurd door de processor, wiens besturingseenheid (CU) opdrachten uit het RAM selecteert en de uitvoering ervan organiseert, en de rekenkundig-logische eenheid (ALU) voert rekenkundige en logische bewerkingen uit op de gegevens.


5. Invoer-/uitvoerapparaten (I/O) zijn verbonden met de processor en RAM.

Von Neumann bracht niet alleen de fundamentele principes van de logische structuur van computers naar voren, maar stelde ook een structuur voor die tijdens de eerste twee generaties computers werd gereproduceerd.

Extern opslagapparaat (ESD)

Rijst. 1. Computerarchitectuur Einde formulier,

Random Access Memory (RAM)

gebouwd op de principes

von Neumann

- richting van informatiestromen; - richting van besturingssignalen van de processor naar andere computerknooppunten

De grondbeginselen van de architectuur van door von Neumann ontwikkelde computerapparatuur bleken zo fundamenteel te zijn dat ze in de literatuur de naam 'von Neumann-architectuur' kregen. De overgrote meerderheid van de VM's van vandaag is dat wel von Neumann-machines.

De opkomst van de derde generatie computers was te danken aan de overgang van transistors naar geïntegreerde schakelingen, wat leidde tot een toename van de processorsnelheid. Nu moest de processor inactief zijn, wachtend op informatie van langzamere invoer-/uitvoerapparaten, en dit verminderde de efficiëntie van de hele computer als geheel. Om dit probleem op te lossen, zijn speciale circuits gemaakt om de werking van externe apparaten te regelen, of eenvoudigweg controleurs.

De architectuur van moderne personal computers is gebaseerd op backbone-modulair principe. Informatiecommunicatie tussen computerapparaten vindt plaats via systeem bus(een andere naam is systeemsnelweg).

Een bus is een kabel bestaande uit vele geleiders. Eén groep dirigenten - databus aan de andere kant wordt verwerkte informatie doorgegeven - adres bus- adressen van geheugen of externe apparaten waartoe de processor toegang heeft. Het derde deel van de snelweg - controlebus Er worden besturingssignalen doorheen verzonden (bijvoorbeeld een signaal dat het apparaat klaar is voor gebruik, een signaal om het apparaat in werking te stellen, enz.).

Hoe werkt de systeembus? We hebben al gezegd dat één- en nulbits alleen in de hoofden van programmeurs bestaan. Voor een processor zijn alleen de spanningen op de contacten reëel. Elke pin komt overeen met één bit, en de processor hoeft slechts onderscheid te maken tussen twee spanningsniveaus: ja/nee, hoog/laag. Daarom is het adres voor een processor een reeks spanningen op speciale contacten die de adresbus worden genoemd. U kunt zich voorstellen dat nadat er spanningen zijn ingesteld op de contacten van de adresbus, er spanningen verschijnen op de contacten van de databus, waardoor het nummer wordt gecodeerd dat op het opgegeven adres is opgeslagen. Dit beeld is erg ruw omdat het tijd kost om gegevens uit het geheugen op te halen. Om verwarring te voorkomen wordt de werking van de processor bestuurd door een speciale klokgenerator. Het produceert pulsen die het werk van de processor in afzonderlijke stappen verdelen. De eenheid van processortijd is één klokcyclus, dat wil zeggen het interval tussen twee pulsen van de klokgenerator.

De spanningen die op de adresbus van de processor verschijnen, worden het fysieke adres genoemd. In de echte modus werkt de processor alleen met fysieke adressen. Integendeel, de beschermde modus van de processor is interessant omdat het programma met logische adressen werkt en de processor deze onzichtbaar omzet in fysieke adressen. Het Windows-systeem gebruikt de beveiligde modus voor de processor. Moderne besturingssystemen en programma's vereisen zoveel geheugen dat de beschermde modus van de processor veel ‘echter’ is geworden dan de echte modus.

De systeembus wordt gekarakteriseerd klok frequentie en bitdiepte. Het aantal bits dat tegelijkertijd op de bus wordt verzonden, wordt opgeroepen bus breedte. Klokfrequentie karakteriseert het aantal elementaire gegevensoverdrachtbewerkingen per seconde. De busbreedte wordt gemeten in bits, de klokfrequentie wordt gemeten in megahertz.


Alle informatie die via de databus van de processor naar andere apparaten wordt verzonden, wordt vergezeld door adres verzonden via de adresbus. Dit kan het adres van een geheugencel zijn of het adres van een randapparaat. Het is noodzakelijk dat de busbreedte het mogelijk maakt dat het adres van de geheugencel wordt verzonden. Kortom, de busbreedte beperkt dus de hoeveelheid computer-RAM; deze kan niet groter zijn dan , waarbij n de busbreedte is. Het is belangrijk dat de prestaties van alle apparaten die op de bus zijn aangesloten consistent zijn. Het is niet verstandig om een ​​snelle processor en langzaam geheugen te hebben, of een snelle processor en geheugen, maar een trage harde schijf.

Rijst. 2. Diagram van een computer gebouwd volgens het backbone-principe

In moderne computers is het geïmplementeerd open architectuurprincipe, waardoor de gebruiker de computerconfiguratie die hij nodig heeft kan samenstellen en, indien nodig, kan upgraden.

Configuratie Een computer verwijst naar de feitelijke verzameling computeronderdelen waaruit een computer bestaat. Dankzij het principe van open architectuur kunt u de samenstelling van computerapparaten wijzigen. Er kunnen extra randapparatuur op de informatiesnelweg worden aangesloten en sommige apparaatmodellen kunnen door andere worden vervangen.

De hardwareverbinding van een randapparaat met de backbone op fysiek niveau wordt uitgevoerd via een speciaal blok - controleur(andere namen - adapter, bord, kaart). Er zijn speciale connectoren voor het installeren van controllers op het moederbord - slots.

Softwarecontrole van de werking van een randapparaat wordt uitgevoerd via het programma - bestuurder, een onderdeel van het besturingssysteem. Omdat er een grote verscheidenheid aan apparaten is die op een computer kunnen worden geïnstalleerd, wordt elk apparaat meestal geleverd met een stuurprogramma dat rechtstreeks met dit apparaat communiceert.

De computer communiceert via externe apparaten havens– speciale connectoren op het achterpaneel van de computer. Onderscheiden opeenvolgend En parallel havens. Seriële (COM-poorten) worden gebruikt om manipulatoren en een modem aan te sluiten en kleine hoeveelheden informatie over lange afstanden te verzenden. Parallelle (LPT-poorten) worden gebruikt om printers en scanners aan te sluiten en grote hoeveelheden informatie over korte afstanden te verzenden. Onlangs zijn universele seriële poorten (USB) wijdverspreid geworden, waarop u verschillende apparaten kunt aansluiten.

Staatsonderwijsinstelling

hoger beroepsonderwijs van de regio Tyumen

TJUMEN STAATSACADEMIE

WERELDECONOMIE, BESTUUR EN RECHT

Afdeling Wiskunde en Informatica

door discipline

"COMPUTERINGSSYSTEMEN, NETWERKEN EN TELECOMMUNICATIE"

"VON NEUMANN'S PRINCIPES"

1. Inleiding………………………………………………………....2

2. Basisprincipes van de architectuur van John von Neumann…………….3

3. Computerstructuur.................................................................................3

4. Hoe de machine van John von Neumann werkt……………………………...4

5. Conclusie……………………………………………………...6

Referenties.................................................................8


Invoering

Sinds het midden van de jaren zestig is de benadering van het maken van computers enorm veranderd. In plaats van hardware en software te ontwikkelen, werd er een systeem ontworpen dat bestond uit een synthese van hardware en software. Tegelijkertijd kwam het concept van interactie op de voorgrond. Dit is hoe een nieuw concept ontstond: computerarchitectuur.

Computerarchitectuur wordt meestal opgevat als een reeks algemene principes voor het organiseren van hardware en software en hun belangrijkste kenmerken, die de functionaliteit van een computer bepalen bij het oplossen van relevante soorten problemen.

Computerarchitectuur omvat een aanzienlijk scala aan problemen die verband houden met het creëren van een complex van hardware en software, waarbij rekening wordt gehouden met een groot aantal bepalende factoren. Van deze factoren zijn de belangrijkste: kosten, toepassingsgebied, functionaliteit, gebruiksgemak en hardware wordt beschouwd als een van de belangrijkste componenten van de architectuur.

De architectuur van een computerhulpmiddel moet worden onderscheiden van de structuur, aangezien de structuur van een computerhulpmiddel de huidige samenstelling ervan op een bepaald detailniveau bepaalt en de verbindingen binnen het hulpmiddel beschrijft. De architectuur bepaalt de basisregels voor de interactie van de samenstellende elementen van een computerhulpmiddel, waarvan de beschrijving wordt uitgevoerd voor zover noodzakelijk voor de vorming van interactieregels. Het brengt niet alle verbindingen tot stand, maar alleen de meest noodzakelijke, die bekend moeten zijn voor een competenter gebruik van de gebruikte tool.

De computergebruiker maakt het dus niet uit uit welke elementen de elektronische circuits bestaan, of commando's worden uitgevoerd door een circuit of programma, en dergelijke. Computerarchitectuur weerspiegelt werkelijk een reeks problemen die verband houden met het algemene ontwerp en de constructie van computers en hun software.

De computerarchitectuur omvat zowel een structuur die de samenstelling van de pc en software weerspiegelt als wiskundige ondersteuning. De structuur van een computer bestaat uit een reeks elementen en verbindingen daartussen. Het basisprincipe van het bouwen van alle moderne computers is programmabesturing.

De fundamenten van de leer van de computerarchitectuur werden gelegd door John von Neumann. De combinatie van deze principes gaf aanleiding tot de klassieke (von Neumann) computerarchitectuur.

De basisprincipes van de architectuur van John von Neumann

John von Neumann (1903 - 1957) was een Amerikaanse wiskundige die een belangrijke bijdrage leverde aan de creatie van de eerste computers en de ontwikkeling van methoden voor het gebruik ervan. Hij was het die de basis legde voor de leer van de computerarchitectuur en meewerkte aan de creatie van 's werelds eerste op buizen gebaseerde computer, ENIAC, in 1944, toen het ontwerp al gekozen was. Tijdens zijn werk bracht John von Neumann tijdens talrijke discussies met zijn collega's G. Goldstein en A. Berks het idee van een fundamenteel nieuwe computer tot uitdrukking. In 1946 schetsten wetenschappers hun principes voor het construeren van computers in het inmiddels klassieke artikel ‘Preliminary Consideration of the Logical Design of an Electronic Computing Device’. Sindsdien zijn er meer dan een halve eeuw verstreken, maar de bepalingen die daarin worden voorgesteld, zijn nog steeds relevant.

Het artikel onderbouwt op overtuigende wijze het gebruik van het binaire systeem om getallen weer te geven, aangezien voorheen alle computers verwerkte getallen in decimale vorm opsloegen. De auteurs demonstreerden de voordelen van het binaire systeem voor technische implementatie, het gemak en gemak van het uitvoeren van rekenkundige en logische bewerkingen daarin. Later begonnen computers niet-numerieke soorten informatie te verwerken - tekst, afbeeldingen, geluid en andere, maar binaire gegevenscodering vormt nog steeds de informatiebasis van elke moderne computer.

Een ander revolutionair idee, waarvan het belang moeilijk te overschatten is, is het door Neumann voorgestelde ‘opgeslagen programma’-principe. Aanvankelijk werd het programma ingesteld door jumpers op een speciaal patchpaneel te installeren. Dit was een zeer arbeidsintensieve taak: het duurde bijvoorbeeld enkele dagen om het programma van de ENIAC-machine te wijzigen, terwijl de berekening zelf niet langer dan een paar minuten kon duren - de lampen, waarvan er een groot aantal waren, faalden . Neumann was de eerste die besefte dat een programma ook als een reeks nullen en enen kon worden opgeslagen, in hetzelfde geheugen als de getallen die het verwerkte. Doordat er geen fundamenteel verschil bestond tussen het programma en de gegevens, kon de computer op basis van de uitkomsten van de berekeningen voor zichzelf een programma samenstellen.

Computerstructuur

John von Neumann bracht niet alleen de fundamentele principes van de logische structuur van een computer naar voren, maar stelde ook de structuur ervan voor, die werd gereproduceerd tijdens de eerste twee generaties computers. De hoofdblokken zijn volgens Neumann een besturingseenheid (CU) en een rekenkundig-logische eenheid (ALU), meestal gecombineerd in een centrale processor, die ook een reeks algemene registers (GPR) omvat - voor tussentijdse opslag van informatie tijdens de verwerking ervan. verwerken; geheugen, extern geheugen, invoer- en uitvoerapparaten. Opgemerkt moet worden dat extern geheugen verschilt van invoer- en uitvoerapparaten doordat gegevens erin worden ingevoerd in een vorm die handig is voor een computer, maar niet toegankelijk is voor directe waarneming door een persoon.

Computerarchitectuur gebouwd op de principes van John von Neumann.

Doorgetrokken lijnen met pijlen geven de richting van informatiestromen aan, stippellijnen geven besturingssignalen aan.

Hoe werkt de machine van John von Neumann?

Laten we nu in meer detail praten over hoe een machine die op deze architectuur is gebouwd, werkt. Een von Neumann-machine bestaat uit een opslagapparaat (geheugen) - een geheugen, een rekenkundig-logische eenheid - ALU, een besturingsapparaat - CU, evenals invoer- en uitvoerapparaten, die te zien zijn in hun circuits en zoals eerder besproken.

Programma's en gegevens worden vanaf het invoerapparaat via een rekenkundige logische eenheid in het geheugen ingevoerd. Alle programmacommando's worden naar aangrenzende geheugencellen geschreven, en gegevens voor verwerking kunnen in willekeurige cellen worden opgeslagen. Voor elk programma moet het laatste commando het afsluitcommando zijn.

Het commando bestaat uit een indicatie van welke bewerking moet worden uitgevoerd en de adressen van de geheugencellen waar de gegevens waarop de opgegeven bewerking moet worden uitgevoerd, zijn opgeslagen, evenals de adressen van de cel waar het resultaat moet worden geschreven als dat nodig is. in het geheugen worden opgeslagen.

De rekenkundige logische eenheid voert de door de instructies gespecificeerde bewerkingen uit op de gespecificeerde gegevens. Van daaruit worden de resultaten naar het geheugen of een uitvoerapparaat uitgevoerd.

De besturingseenheid (CU) bestuurt alle onderdelen van de computer. Van daaruit ontvangen andere apparaten signalen "wat te doen", en van andere apparaten ontvangt de besturingseenheid informatie over hun status. Het bevat een speciaal register (cel) dat de “programmateller” wordt genoemd. Nadat het programma en de gegevens in het geheugen zijn geladen, wordt het adres van de eerste opdracht van het programma naar de programmateller geschreven en leest de besturingseenheid uit het geheugen de inhoud van de geheugencel, waarvan het adres in de programmateller staat, en plaatst het in een speciaal apparaat - het "Command Register". De besturingseenheid bepaalt de werking van het commando, "markeert" in het geheugen de gegevens waarvan de adressen in het commando zijn gespecificeerd, en bestuurt de uitvoering van het commando.

ALU – zorgt voor de rekenkundige en logische verwerking van twee variabelen, waardoor een uitvoervariabele wordt gevormd. ALU-functies worden meestal gereduceerd tot eenvoudige rekenkundige, logische en ploegenbewerkingen. Het genereert ook een aantal resultaatattributen (vlaggen) die het verkregen resultaat karakteriseren en de gebeurtenissen die plaatsvonden als gevolg van de ontvangst ervan (gelijkheid aan nul, teken, pariteit, overloop). Vlaggen kunnen door de besturingseenheid worden geanalyseerd om de verdere volgorde van de commando-uitvoering te bepalen.

Als gevolg van de uitvoering van een willekeurig commando verandert de programmateller met één en wijst daarom naar het volgende commando van het programma. Wanneer het nodig is een commando uit te voeren dat niet het volgende is van het huidige commando, maar door een bepaald aantal adressen van het gegeven commando is gescheiden, bevat een speciaal sprongcommando het adres van de cel waarnaar de besturing moet worden overgedragen .


Conclusie

Laten we dus nogmaals de door Von Neumann voorgestelde basisprincipes onder de aandacht brengen:

· Het principe van binaire codering. Het binaire getalsysteem wordt gebruikt om gegevens en opdrachten weer te geven.

· Het principe van geheugenhomogeniteit. Zowel programma's (instructies) als gegevens worden in hetzelfde geheugen opgeslagen (en gecodeerd in hetzelfde nummersysteem - meestal binair). U kunt dezelfde acties uitvoeren op opdrachten als op gegevens.

· Het principe van geheugenadresseerbaarheid. Structureel bestaat het hoofdgeheugen uit genummerde cellen; Elke cel is op elk moment beschikbaar voor de processor.

· Het principe van sequentiële programmacontrole. Alle opdrachten worden in het geheugen opgeslagen en opeenvolgend uitgevoerd, de een na de ander.

· Het principe van voorwaardelijke transitie. Commando's uit een programma worden niet altijd na elkaar uitgevoerd. Er kunnen voorwaardelijke sprongopdrachten in het programma voorkomen die de volgorde van uitvoering van opdrachten veranderen, afhankelijk van de gegevenswaarden. (Het principe zelf werd lang vóór John von Neumann geformuleerd door Ada Lovelace en Charles Babbage, maar is logischerwijs opgenomen in de verzameling van von Neumann als aanvulling op het vorige principe.)

John von Neumann heeft een enorme bijdrage geleverd aan de ontwikkeling van de eerste computers en de ontwikkeling van methoden voor het gebruik ervan. De grondbeginselen van de architectuur van door von Neumann ontwikkelde computerapparatuur bleken zo fundamenteel te zijn dat ze in de literatuur de naam 'von Neumann-architectuur' kregen. De principes van deze architectuur worden nog steeds veel gebruikt. De overgrote meerderheid van de computers van tegenwoordig zijn von Neumann-machines. De enige uitzonderingen zijn bepaalde soorten systemen voor parallel computergebruik, waarin er geen programmateller is, het klassieke concept van een variabele niet is geïmplementeerd en er andere significante fundamentele verschillen zijn met het klassieke model (voorbeelden zijn onder meer streaming- en reductiecomputers).

Het besturingsapparaat en de rekenkundig-logische eenheid in moderne computers worden gecombineerd tot één eenheid: de processor, die een omzetter is van informatie afkomstig uit het geheugen en externe apparaten (dit omvat het ophalen van instructies uit het geheugen, het coderen en decoderen, het uitvoeren van verschillende, inclusief rekenkundige bewerkingen) , operaties, coördinatie van de werking van computerknooppunten).

In moderne computers is het opslagapparaat dat informatie en programma's opslaat 'gelaagd'. Het omvat Random Access Memory (RAM), waarin de informatie wordt opgeslagen waarmee de computer op een bepaald moment rechtstreeks werkt (een uitvoerbaar programma, een deel van de daarvoor benodigde gegevens, sommige besturingsprogramma's), en externe opslagapparaten (VRAM) van een veel grotere capaciteit dan RAM, maar met aanzienlijk langzamere toegang. De classificatie van geheugenapparaten eindigt niet bij RAM en VRAM - bepaalde functies worden uitgevoerd door zowel SRAM (super-random access memory), ROM (read-only memory) als andere subtypen computergeheugen.

Blijkbaar zal een significante afwijking van de von Neumann-architectuur alleen optreden als gevolg van de ontwikkeling van het idee van machines van de vijfde generatie, waarin informatieverwerking niet gebaseerd is op berekeningen, maar op logische conclusies.


Bibliografie

1. H. Craigon. Computerarchitectuur en de implementatie ervan. Handleiding. – Sint-Petersburg, Mir, 2004.

2. E. Tanenbauem. Computer architectuur. Wetenschappelijke literatuur. – Sint-Petersburg, Petrus, 2003.

Alle moderne computers werken, ondanks het feit dat er veel tijd is verstreken, volgens de principes voorgesteld door de Amerikaanse wiskundige John von Neumann (1903 - 1957). Ook leverde hij een belangrijke bijdrage aan de ontwikkeling en toepassing van computers. Hij was de eerste die de principes vastlegde waarop een computer werkt:

1. Het principe van binaire codering: alle informatie in een computer wordt gepresenteerd in binaire vorm, een combinatie van 0 en 1.

2. Het principe van geheugenhomogeniteit: zowel programma's als gegevens worden in hetzelfde geheugen opgeslagen. Daarom herkent de computer niet wat er in een bepaalde geheugencel is opgeslagen, maar kunnen cijfers, tekst, opdrachten, enz. daar worden gelokaliseerd op commando's kunnen dezelfde acties worden uitgevoerd als bij superdata.

3. Het principe van geheugenadresseerbaarheid: schematisch gezien bestaat de OP (hoofdgeheugen) uit genummerde cellen, de CPU (centrale verwerkingseenheid) elke geheugencel is op elk moment toegankelijk. Daarom is het mogelijk om namen aan geheugenblokken toe te wijzen voor een gemakkelijkere interactie tussen het OP en de CPU.

4. Het principe van sequentiële programmabesturing: een programma bestaat uit een reeks instructies die achtereenvolgens door de CPU worden uitgevoerd.

5. Het principe van voorwaardelijke vertakking: het is niet altijd het geval dat opdrachten één voor één worden uitgevoerd, dus het is mogelijk om voorwaardelijke vertakkingsopdrachten te hebben die de opeenvolgende uitvoering van opdrachten veranderen, afhankelijk van de waarde van de opgeslagen gegevens

. Classificatie van moderne computers.

Modern computer zijn onderverdeeld in ingebouwd microprocessoren, microcomputer(persoonlijke computers), mainframecomputers En supercomputer- een computercomplex met meerdere processors.

Microprocessen- verwerkers geïmplementeerd in het formulier integraal elektronisch microschakelingen. Microprocessors kunnen worden ingebouwd in telefoons, televisies en andere apparaten, machines en apparaten.

Op geïntegreerde schakelingen processors en RAM van alle moderne microcomputers, evenals alle blokken van grote computers en supercomputers, evenals alle programmeerbare apparaten, zijn geïmplementeerd.

Prestaties van de microprocessor bedraagt ​​meerdere miljoenen activiteiten per seconde, en het volume van moderne RAM-blokken bedraagt ​​enkele miljoenen bytes.

Microcomputer - deze zijn volwaardig computergebruik auto's, met niet alleen een processor en RAM voor gegevensverwerking, maar ook apparaten voor invoer en uitvoer en informatieopslag.

Persoonlijke computers - Dit microcomputer, met weergaveapparaten op elektronische schermen, evenals apparaten voor gegevensinvoer/uitvoer in de vorm van een toetsenbord, en mogelijk apparaten voor verbinding met computernetwerken.

Microcomputerarchitectuur gebaseerd op het gebruik van een systeembackbone - een interface-apparaat waarop processors en RAM-eenheden, evenals alle invoer-uitvoerapparaten, zijn aangesloten.

Trunk-gebruik zorgt ervoor dat je kunt veranderen verbinding En structuur microcomputer- voeg extra invoer-/uitvoerapparaten toe en verhoog de functionaliteit van computers.

Lange termijn opslag informatie in moderne computers wordt uitgevoerd met behulp van elektronische, magnetische en optische media - magnetische schijven, optische schijven en flash-geheugenblokken.

Architectuur van moderne computers vereist de aanwezigheid van langetermijngeheugen waar bestanden, softwarepakketten, databases en besturingsbesturingssystemen zich bevinden.

Mainframecomputers - computers hoog productiviteit met een grote hoeveelheid extern geheugen. Mainframecomputers worden gebruikt als servers voor computernetwerken en grote gegevensopslagfaciliteiten.

Mainframecomputers gebruikt als basis voor de organisatie zakelijk informatie systemen het bedienen van industriële bedrijven en overheidsinstellingen.

Supercomputer- Dit multiprocessor computer met een complexe architectuur, met de hoogste prestaties en gebruikt om supercomplexe computerproblemen op te lossen.

Supercomputerprestaties bedraagt tientallen En honderden duizend miljarden computergebruik activiteiten per seconde. Tegelijkertijd neemt het aantal processors in supercomputers steeds verder toe en wordt de computerarchitectuur complexer.