Principiile de organizare și structură ale arhitecturii von Neumann. Arhitectura computerelor clasice și principiile von Neumann. John von Neumann. Biografie

Bazele doctrinei arhitecturii computerelor au fost puse de remarcabilul matematician american John von Neumann. S-a implicat în crearea primului computer cu tub din lume, ENIAC, în 1944, când designul acestuia fusese deja selectat. În timpul muncii sale, în timpul numeroaselor discuții cu colegii săi G. Goldstein și A. Berks, von Neumann a exprimat ideea unui computer fundamental nou. În 1946, oamenii de știință și-au subliniat principiile pentru construirea computerelor în articolul acum clasic „Considerarea preliminară a designului logic al unui dispozitiv de calcul electronic”. De atunci a trecut o jumătate de secol, dar prevederile prezentate în acesta rămân actuale și astăzi.

Articolul fundamentează în mod convingător utilizarea sistemului binar pentru a reprezenta numere (merită să reamintim că anterior toate computerele stocau numerele procesate în formă zecimală). Autorii au demonstrat în mod convingător avantajele sistemului binar pentru implementarea tehnică, comoditatea și simplitatea efectuării operațiilor aritmetice și logice în acesta. Mai târziu, computerele au început să prelucreze tipuri de informații non-numerice - text, grafic, sunet și altele, dar codarea datelor binare formează încă baza informațională a oricărui computer modern.

O altă idee cu adevărat revoluționară, a cărei importanță este greu de supraestimat, este principiul „programului stocat” propus de Neumann. Inițial, programul a fost setat prin instalarea de jumperi pe un panou de corecție special. Aceasta a fost o sarcină foarte intensă de muncă: de exemplu, a fost nevoie de câteva zile pentru a schimba programul mașinii ENIAC (în timp ce calculul efectiv nu putea dura mai mult de câteva minute, lămpile au eșuat). Neumann a fost primul care a realizat că un program poate fi stocat și ca o serie de zerouri și unu, în aceeași memorie cu numerele procesate. Absența unei diferențe fundamentale între program și date a făcut posibil ca computerul să formeze un program pentru el însuși în conformitate cu rezultatele calculelor.

Von Neumann nu numai că a prezentat principiile fundamentale ale structurii logice a unui computer, dar a propus și structura acestuia, care a fost reprodusă în timpul primelor două generații de calculatoare. Blocurile principale conform lui Neumann sunt o unitate de control (CU) și o unitate aritmetic-logică (ALU) (de obicei combinată într-un procesor central), memorie, memorie externă, dispozitive de intrare și ieșire. Diagrama de proiectare a unui astfel de computer este prezentată în Fig. 1. Trebuie remarcat faptul că memoria externă diferă de dispozitivele de intrare și ieșire prin faptul că datele sunt introduse în ea într-o formă convenabilă pentru un computer, dar inaccesibilă percepției directe de către o persoană. Astfel, unitatea de disc magnetică este o memorie externă, iar tastatura este un dispozitiv de intrare, afișajul și imprimarea sunt dispozitive de ieșire.

Orez. 1. Arhitectura computerului construită pe principiile von Neumann. Liniile continue cu săgeți indică direcția fluxurilor de informații, liniile punctate indică semnale de control de la procesor către alte noduri de computer

Dispozitivul de control și unitatea aritmetică-logică din computerele moderne sunt combinate într-un singur procesor bloc, care este un convertor de informații care provin din memorie și dispozitive externe (aceasta include preluarea instrucțiunilor din memorie, codificare și decodare, efectuarea diferitelor operații, inclusiv aritmetice, , coordonarea funcționării nodurilor informatice). Funcțiile procesorului vor fi discutate mai detaliat mai jos.

Memoria (memoria) stochează informații (date) și programe. Dispozitivul de stocare în calculatoarele moderne este „multi-tiered” și include memorie cu acces aleatoriu (RAM), care stochează informațiile cu care computerul lucrează direct la un moment dat (programul executabil, o parte din datele necesare acestuia, unele programe de control) și dispozitive de stocare externe (ESD) cu o capacitate mult mai mare decât RAM. dar cu acces semnificativ mai lent (și costuri semnificativ mai mici pe 1 octet de informații stocate). Clasificarea dispozitivelor de memorie nu se termină cu RAM și VRAM anumite funcții sunt realizate atât de SRAM (memorie cu acces aleatoriu), cât și de alte subtipuri de memorie de computer.

Într-un computer construit conform schemei descrise, instrucțiunile sunt citite succesiv din memorie și executate. Numărul (adresa) următoarei celule de memorie. din care va fi extrasă următoarea comandă de program este indicată de un dispozitiv special - un contor de comenzi în unitatea de control. Prezența sa este și una dintre trăsăturile caracteristice ale arhitecturii în cauză.

Fundamentele arhitecturii dispozitivelor de calcul dezvoltate de von Neumann s-au dovedit a fi atât de fundamentale încât au primit denumirea de „arhitectură von Neumann” în literatură. Marea majoritate a calculatoarelor de astăzi sunt mașini von Neumann. Singurele excepții sunt anumite tipuri de sisteme pentru calculul paralel, în care nu există contor de programe, conceptul clasic de variabilă nu este implementat și există alte diferențe fundamentale semnificative față de modelul clasic (exemplele includ calculatoarele de streaming și reducere).

Aparent, o abatere semnificativă de la arhitectura von Neumann va avea loc ca urmare a dezvoltării ideii de mașini de generația a cincea, în care procesarea informațiilor se bazează nu pe calcule, ci pe concluzii logice.

Ceva ca nostalgia: principiile lui Von Neumann

Nu am reușit să găsesc caietul cu prima parte a prelegerilor despre Arhitectura calculatoarelor, așa că datele au trebuit să fie preluate din alte surse.
În 1945, John von Neumann, un fizician și matematician de origine maghiară, care a lucrat în Statele Unite la proiectul ENIAC, a publicat un raport care descrie principiile de bază ale construirii unui computer. Prevederile exprimate în raport au fost numite „Principiile lui Von Neumann”.

1. Principiul controlului programului.
Un program constă dintr-un set de instrucțiuni executate secvenţial de către procesor. Un program este preluat din memorie folosind un contor de programe. Preluarea comenzilor din memorie se oprește când comanda „stop” este atinsă și executată.


Aceasta arată că comenzile din program și programele în sine sunt executate secvenţial unul după altul. De asemenea, arhitectura von Neumann vă permite să faceți ramuri condiționate și necondiționate dacă trebuie să executați o comandă care nu o urmează imediat pe cea executată, ci este situată într-o locație de memorie diferită. Dar acest lucru nu încalcă principiul secvenţial al executării comenzii, deoarece poate fi executată o singură comandă la un moment dat.

2. Principiul omogenității memoriei.
Programele și datele sunt codificate în cod binar și stocate în aceeași memorie. Puteți efectua aceleași acțiuni asupra comenzilor ca și asupra datelor.


Astfel, pentru memorie nu contează ce este stocat într-o celulă dată - date sau comenzi. De asemenea, acest principiu permite programului să se supună procesării în timpul execuției (așa este organizată în program execuția ciclurilor și subrutinelor). Comenzile dintr-un program pot fi obținute ca rezultate din execuția altui program. Metodele de traducere — traducerea textului programului dintr-un limbaj de programare de nivel înalt în limbajul de comandă al unei anumite mașini — se bazează pe acest principiu.

Diferite tipuri de date pot fi la rândul lor distinse prin formate.

3. Principiul țintirii.

Din punct de vedere structural, memoria principală (RAM) constă din celule numerotate. Orice celulă este disponibilă procesorului în orice moment.


RAM este, parcă, împărțită în celule de lungime fixă. Fiecare astfel de celulă are o adresă (și de fapt un număr), contactând care puteți obține conținutul celulei.

Aceste principii au devenit decisive pentru o lungă perioadă de timp în dezvoltarea computerelor. Abia în anii '60 a apărut o teorie a sistemelor de calcul care a depășit principiile lui von Neumann (diferența principală a fost paralelismul calculelor). Dar acest lucru s-a aplicat la computerele profesionale mari, iar computerele personale au folosit aceste principii până de curând. Profesorul nostru de arhitectură computerizată Igor Yusupovich ne-a spus că computerul Von Neumann practic sa epuizat singur. Atunci nu aveam idee ce va presupune, dar acum procesoarele cu două și patru nuclee au devenit obișnuite


John von Neumann(1903 - 1957) - Matematician maghiar-american de origine evreiască care a adus contribuții importante la fizica cuantică, logica cuantică, analiza funcțională, teoria seturilor, informatica, economie și alte ramuri ale științei.


Arhitectura calculatorului- aceasta este structura internă a mașinii, organizarea sa logică, care determină procesul de prelucrare și metodele de codificare a datelor, compoziția, scopul, principiile interacțiunii hardware și software.


CPU

În 1945, John von Neumann a creat arhitectura computerului.

O mașină von Neumann constă dintr-un dispozitiv de stocare (memorie) - o memorie, o unitate aritmetică-logică - ALU, un dispozitiv de control - CU, precum și dispozitive de intrare și ieșire.

Dispozitiv de intrare

Dispozitiv de ieșire



În 1946, D. von Neumann, G. Goldstein și A. Berks, în articolul lor comun, au conturat noi principii pentru construcția și funcționarea computerelor. Ulterior, pe baza acestor principii au fost produse primele două generații de calculatoare. Au existat unele schimbări în generațiile ulterioare, deși principiile lui Neumann sunt și astăzi relevante.

Herman Goldstein

Arthur Burks

John von Neumann



Sistemul de numere binare folosește doar două cifre, 0 și 1. Cu alte cuvinte, doi este baza sistemului de numere binar.

Avantajul față de sistemul numeric zecimal este că dispozitivele pot fi realizate destul de simplu, iar operațiile aritmetice și logice în sistemul numeric binar sunt, de asemenea, efectuate destul de simplu.


Sisteme numerice

Zecimal

Binar

Octal

hexazecimal


Funcționarea computerului este controlată de un program format dintr-un set de comenzi. Comenzile sunt executate secvenţial una după alta. Crearea unei mașini cu un program stocat a fost începutul a ceea ce numim astăzi programare.


În acest caz, atât comenzile programului, cât și datele sunt codificate în sistemul de numere binar, adică metoda lor de înregistrare este aceeași. Prin urmare, în anumite situații, puteți efectua aceleași acțiuni asupra comenzilor ca și asupra datelor.


În orice moment, puteți accesa orice celulă de memorie prin adresa sa. Acest principiu a deschis posibilitatea utilizării variabilelor în programare.


În ciuda faptului că comenzile sunt executate secvenţial, programele pot implementa capacitatea de a sări la orice secţiune de cod.


Realizările lui John von Neumann.

John von Neumann a primit cele mai înalte distincții academice. A fost ales membru al Academiei de Științe Exacte (Lima, Peru), al Academiei Americane de Arte și Științe, al Societății Americane de Filozofie, al Institutului Lombard de Științe și Litere, al Academiei Regale de Științe și Arte din Țările de Jos, al Naționalului SUA. Academie și doctorate onorifice de la multe universități din SUA și alte țări.



Bazele doctrinei arhitecturii computerelor au fost puse de remarcabilul matematician american John von Neumann. S-a implicat în crearea primului computer cu tub vid din lume. ENIAC în 1944, când proiectul său fusese deja ales. În procesul de lucru, în cadrul numeroaselor discuții cu colegii săi, G. Goldstein și A. Berks von Neumann a propus ideea unui computer fundamental nou. În 1946, oamenii de știință și-au subliniat principiile pentru construirea computerelor în articolul acum clasic „Considerarea preliminară a designului logic al unui dispozitiv de calcul electronic”. De atunci a trecut o jumătate de secol, dar prevederile prezentate în acesta rămân actuale și astăzi.

Articolul fundamentează în mod convingător utilizarea sistemului binar pentru a reprezenta numere (merită să reamintim că anterior toate computerele stocau numerele procesate în formă zecimală). Autorii au demonstrat în mod convingător avantajele sistemului binar pentru implementarea tehnică, comoditatea și simplitatea efectuării operațiilor aritmetice și logice în acesta. Mai târziu, computerele au început să prelucreze tipuri de informații non-numerice - text, grafic, sunet și altele, dar codarea datelor binare formează încă baza informațională a oricărui computer modern.

O altă idee cu adevărat revoluționară, a cărei importanță este greu de supraestimat, este principiul „programului stocat” propus de Neumann. Inițial, programul a fost setat prin instalarea de jumperi pe un panou de corecție special. Aceasta a fost o sarcină foarte intensă de muncă: de exemplu, a fost nevoie de câteva zile pentru a schimba programul mașinii ENIAC (în timp ce calculul în sine nu putea dura mai mult de câteva minute - lămpile au eșuat). Neumann a fost primul care a realizat că un program poate fi stocat și ca o serie de zerouri și unu, în aceeași memorie cu numerele procesate. Absența unei diferențe fundamentale între program și date a făcut posibil ca computerul să formeze un program pentru el însuși în conformitate cu rezultatele calculelor.

Von Neumann nu numai că a prezentat principiile fundamentale ale structurii logice a unui computer, dar a propus și structura acestuia, care a fost reprodusă în timpul primelor două generații de calculatoare. Blocurile principale conform lui Neumann sunt o unitate de control (CU) și o unitate aritmetic-logică (ALU) (de obicei combinată într-un procesor central), memorie, memorie externă, dispozitive de intrare și ieșire. Diagrama de proiectare a unui astfel de computer este prezentată în Fig. 1. Trebuie remarcat faptul că memoria externă diferă de dispozitivele de intrare și ieșire prin faptul că datele sunt introduse în ea într-o formă convenabilă pentru un computer, dar inaccesibilă percepției directe de către o persoană. Astfel, unitatea de disc magnetică se referă la memoria externă, iar tastatura este un dispozitiv de intrare, afișajul și imprimarea sunt dispozitive de ieșire.

Orez. 1. Arhitectura computerului construită pe principiile von Neumann. Liniile continue cu săgeți indică direcția fluxurilor de informații, liniile punctate indică semnale de control de la procesor către alte noduri de computer

Dispozitivul de control și unitatea aritmetică-logică din computerele moderne sunt combinate într-o singură unitate - procesorul, care este un convertor de informații care provin din memorie și dispozitive externe (aceasta include preluarea instrucțiunilor din memorie, codificare și decodare, efectuarea diverselor, inclusiv aritmetice). , operațiuni, coordonarea funcționării nodurilor de calculator). Funcțiile procesorului vor fi discutate mai detaliat mai jos.

Memoria (memoria) stochează informații (date) și programe. Dispozitivul de stocare în calculatoarele moderne este „multi-tiered” și include memorie cu acces aleatoriu (RAM), care stochează informațiile cu care computerul lucrează direct la un moment dat (programul executabil, o parte din datele necesare acestuia, unele programe de control) și dispozitive de stocare externe (ESD) cu o capacitate mult mai mare decât RAM. dar cu acces semnificativ mai lent (și costuri semnificativ mai mici pe 1 octet de informații stocate). Clasificarea dispozitivelor de memorie nu se termină cu RAM și VRAM - anumite funcții sunt îndeplinite atât de SRAM (memorie cu acces super-aleatoriu), ROM (memorie doar pentru citire), cât și de alte subtipuri de memorie de computer.

Într-un computer construit conform schemei descrise, instrucțiunile sunt citite secvențial din memorie și executate. Numărul (adresa) următoarei celule de memorie. din care va fi extrasă următoarea comandă de program este indicată de un dispozitiv special - un contor de comenzi în unitatea de control. Prezența sa este și una dintre trăsăturile caracteristice ale arhitecturii în cauză.

Fundamentele arhitecturii dispozitivelor de calcul dezvoltate de von Neumann s-au dovedit a fi atât de fundamentale încât au primit denumirea de „arhitectură von Neumann” în literatură. Marea majoritate a calculatoarelor de astăzi sunt mașini von Neumann. Singurele excepții sunt anumite tipuri de sisteme pentru calculul paralel, în care nu există contor de programe, conceptul clasic de variabilă nu este implementat și există alte diferențe fundamentale semnificative față de modelul clasic (exemplele includ calculatoarele de streaming și reducere).

Aparent, o abatere semnificativă de la arhitectura von Neumann va avea loc ca urmare a dezvoltării ideii de mașini de generația a cincea, în care procesarea informațiilor se bazează nu pe calcule, ci pe concluzii logice.

3. Principiile lui Von Neumann. Arhitectura unui computer clasic, P principiile von Neumann

Funcționarea unui computer se bazează pe două concepte fundamentale în calcul. tehnologie: concept de algoritm; principiul controlului programului. Un algoritm este o secvență de acțiuni definită în mod unic, constând din operații definite formal asupra datelor inițiale, care conduc la o soluție într-un număr finit de pași.

Proprietăți algoritmi

    discretitatea informațiilor cu care lucrează algoritmii; caracterul finit și elementar al setului de operații efectuate la implementarea algoritmului;

    determinism - reproductibilitatea rezultatelor algoritmului;

    caracter de masă - posibilitatea utilizării algoritmului pentru diverse date inițiale dintr-un set admisibil

Un program este o descriere a unui algoritm în orice limbă.

Principiu software management(PPU) a fost formulat pentru prima dată de matematicianul și fizicianul maghiar John von Neumann, cu participarea lui Holtztein și Bertz în 1946, și este dominant în această etapă în dezvoltarea tehnologiei de calcul.

PPU include mai multe principii arhitecturale și funcționale.

1) Principiul codificării binare Informația este codificată în formă binară și împărțită în unități (elemente) de informații numite cuvinte. Utilizarea sistemului de numere binar este determinată de specificul circuitelor electronice. Un cuvânt este o unitate indivizibilă de informație.

2) Uniformitatea codificării informațiilor. Diferitele tipuri de cuvinte informaționale diferă prin modul în care sunt utilizate, dar nu și prin modul în care sunt codificate. Cuvintele care reprezintă diferite tipuri de informații nu se pot distinge (date, comenzi). Ordinea în care sunt utilizate determină specificul lor. Aceleași comenzi pot fi folosite pentru a procesa date diferite.

3) Organizarea adresei RAM. Cuvintele de informații sunt plasate în celulele de memorie ale mașinii și sunt identificate prin numere de celule numite adrese de cuvinte. Determină specificul stocării și identificării informațiilor. Adresa celulei este identificatorul mașinii pentru valoare și comandă.

4) Computerul are un set limitat de comenzi. Fiecare comandă individuală definește un pas simplu (unic) de conversie a informațiilor.

5) Algoritmul este implementat prin executarea secvențială a comenzilor. Efectuarea calculelor prescrise de algoritm se reduce la executarea secvențială a comenzilor într-o ordine determinată în mod unic de program. Adresa comenzii următoare este determinată în mod unic în timpul execuției comenzii curente (sunt posibile sărituri condiționate). Procesul de calcul continuă până când comanda este executată pentru a finaliza calculul. Avantaje:

Ușurința implementării hardware.

Versatilitate ridicată, care este limitată doar de setul de comenzi ale procesorului.

Defecte:

punctul 2: cere programatorului să utilizeze corect datele de diferite tipuri, dacă acestea nu sunt urmărite, apar erori care sunt adesea greu de identificat; Atunci când se rezolvă probleme complexe de calcul, acest lucru crește foarte mult complexitatea dezvoltării software.

pz. presupune o organizare liniară a memoriei. Acest lucru face dificilă calcularea elementelor de aspect ale tipurilor de date complexe.

Arhitectura clasicacalculator

Structura computerului

În 1946, D. von Neumann, G. Goldstein și A. Berks, în articolul lor comun, au conturat noi principii pentru construcția și funcționarea computerelor. Ulterior, pe baza acestor principii au fost produse primele două generații de calculatoare. Au existat unele schimbări în generațiile ulterioare, deși principiile lui Neumann sunt și astăzi relevante.

De fapt, Neumann a reușit să rezumă evoluțiile și descoperirile științifice ale multor alți oameni de știință și să formuleze ceva fundamental nou pe baza lor.

principiile lui Von Neumann

    Utilizarea sistemului de numere binar în calculatoare. Avantajul față de sistemul numeric zecimal este că dispozitivele pot fi realizate destul de simplu, iar operațiile aritmetice și logice în sistemul numeric binar sunt, de asemenea, efectuate destul de simplu.

    Control software de calculator. Funcționarea computerului este controlată de un program format dintr-un set de comenzi. Comenzile sunt executate secvenţial una după alta. Crearea unei mașini cu un program stocat a fost începutul a ceea ce numim astăzi programare.

    Memoria computerului este folosită nu numai pentru stocarea datelor, ci și a programelor.. În acest caz, atât comenzile programului, cât și datele sunt codificate în sistemul de numere binar, adică metoda lor de înregistrare este aceeași. Prin urmare, în anumite situații, puteți efectua aceleași acțiuni asupra comenzilor ca și asupra datelor.

    Celulele de memorie ale computerului au adrese care sunt numerotate secvenţial. În orice moment, puteți accesa orice celulă de memorie prin adresa sa. Acest principiu a deschis posibilitatea utilizării variabilelor în programare.

    Posibilitatea de salt condiționat în timpul execuției programului. În ciuda faptului că comenzile sunt executate secvenţial, programele pot implementa capacitatea de a sări la orice secţiune de cod.

Cea mai importantă consecință a acestor principii este că acum programul nu mai era o parte permanentă a mașinii (cum ar fi, de exemplu, un calculator). A devenit posibil să se schimbe ușor programul. Dar echipamentul, desigur, rămâne neschimbat și foarte simplu.

Prin comparație, programul computerului ENIAC (care nu avea un program stocat) a fost determinat de jumperi speciali de pe panou. Ar putea dura mai mult de o zi pentru a reprograma aparatul (setati jumperii diferit). Și deși programele pentru computerele moderne pot dura ani pentru a scrie, ele funcționează pe milioane de computere după câteva minute de instalare pe hard disk.

Cum funcționează o mașină von Neumann?

O mașină von Neumann constă dintr-un dispozitiv de stocare (memorie) - o memorie, o unitate aritmetică-logică - ALU, un dispozitiv de control - CU, precum și dispozitive de intrare și ieșire.

Programele și datele sunt introduse în memorie de la dispozitivul de intrare printr-o unitate logică aritmetică. Toate comenzile programului sunt scrise în celulele de memorie adiacente, iar datele pentru procesare pot fi conținute în celule arbitrare. Pentru orice program, ultima comandă trebuie să fie comanda de închidere.

Comanda constă într-o indicație a operațiunii care trebuie efectuată (din operațiunile posibile pe un anumit hardware) și adresele celulelor de memorie unde sunt stocate datele pe care trebuie efectuată operația specificată, precum și adresa celulei unde trebuie scris rezultatul (dacă trebuie salvat în memorie).

Unitatea logică aritmetică realizează operațiile specificate de instrucțiuni asupra datelor specificate.

Din unitatea logică aritmetică, rezultatele sunt trimise în memorie sau pe un dispozitiv de ieșire. Diferența fundamentală dintre o memorie și un dispozitiv de ieșire este că într-o memorie, datele sunt stocate într-o formă convenabilă pentru procesare de către un computer și sunt trimise la dispozitivele de ieșire (imprimantă, monitor etc.) într-un mod convenabil. pentru o persoană.

Unitatea de control controlează toate părțile computerului. De la dispozitivul de control, alte dispozitive primesc semnale „ce să facă”, iar de la alte dispozitive unitatea de control primește informații despre starea lor.

Dispozitivul de control conține un registru special (celulă) numit „contor de programe”. După încărcarea programului și a datelor în memorie, adresa primei instrucțiuni a programului este scrisă în contorul de programe. Unitatea de control citește din memorie conținutul celulei de memorie, a cărei adresă se află în contorul de programe și îl plasează într-un dispozitiv special - „Registrul de comandă”. Unitatea de control determină funcționarea comenzii, „marchează” în memorie datele ale căror adrese sunt specificate în comandă și controlează execuția comenzii. Operația este efectuată de ALU sau hardware-ul computerului.

Ca urmare a executării oricărei comenzi, contorul programului se modifică cu unul și, prin urmare, indică următoarea comandă a programului. Atunci când este necesar să se execute o comandă care nu este lângă cea curentă, dar este separată de cea dată printr-un anumit număr de adrese, atunci o comandă specială de salt conține adresa celulei la care trebuie transferat controlul. .

Arhitectura calculatoruluieste luată în considerare reprezentarea sa la un anumit nivel general, incluzând o descriere a capabilităților de programare a utilizatorului, a sistemelor de comandă, a sistemelor de adresare, a organizării memoriei etc. Arhitectura determină principiile de funcționare, conexiunile de informații și conectarea reciprocă a principalelor noduri logice ale unui computer: procesor, memorie cu acces aleatoriu (RAM, OP), stocare externă și dispozitive periferice.

Componentele arhitecturii computerului sunt: ​​capabilități de calcul și logice, hardware și software.

Structura computerului este un ansamblu al elementelor sale funcționale și a legăturilor dintre ele. Elementele pot fi cele mai tipice dispozitive - de la principalele noduri logice ale unui computer la cele mai simple circuite. Structura unui computer este reprezentată grafic sub formă de diagrame bloc, cu ajutorul cărora îl puteți descrie la orice nivel de detaliu.

Arhitectura unui computer trebuie distinsă de structura sa. Structura definește un set specific de dispozitive, blocuri, noduri care alcătuiesc un computer, în timp ce arhitectura definește regulile de interacțiune a componentelor computerului.

Principiile lui Von Neumann (arhitectura). Construcția majorității calculatoarelor se bazează pe următoarele principii generale, formulate în 1945 de omul de știință american John von Neumann.

1. Principiul controlului programului. Din aceasta rezultă că programul constă dintr-un set de comenzi care sunt executate de procesor automat una după alta într-o anumită secvență.

Un program este preluat din memorie folosind un contor de programe. Acest registru de procesor mărește secvențial adresa următoarei instrucțiuni stocate în el cu lungimea instrucțiunii. Deoarece comenzile programului sunt situate în memorie una după alta, un lanț de comenzi este astfel organizat din celule de memorie situate secvenţial.

Structura unei comenzi individuale este:

<код операции> <операнды>,

Unde<код операции>determină ce operație trebuie efectuată;

<операнды>- o listă (eventual cu un singur element) a acelor constante, adrese sau nume de variabile pe care se efectuează această operație.

În funcție de numărul de operanzi, se disting instrucțiuni de mașină cu una, două și trei adrese. Fiecare comandă are o anumită dimensiune, măsurată în octeți.

2. Principiul tranziției condiționate. Dacă, după executarea unei comenzi, trebuie să treceți nu la următoarea, ci la alta, se folosesc comenzi de salt condiționate sau necondiționate (ramură), care introduc numărul celulei de memorie care conține următoarea comandă în contorul de comenzi. Preluarea comenzilor din memorie se oprește după atingerea și executarea comenzii de oprire.



Astfel, procesorul execută programul automat, fără intervenția omului.

3. Principiul omogenității memoriei. Programele și datele sunt stocate în aceeași memorie. Prin urmare, computerul nu face distincție între ceea ce este stocat într-o celulă de memorie dată - un număr, text sau comandă. Puteți efectua aceleași acțiuni asupra comenzilor ca și asupra datelor. Acest lucru deschide o întreagă gamă de posibilități. De exemplu, un program poate fi procesat și în timpul execuției sale, ceea ce vă permite să stabiliți reguli pentru obținerea unora dintre părțile sale în programul propriu-zis (așa este organizată execuția ciclurilor și subrutinelor în program). Mai mult, comenzile dintr-un program pot fi obținute ca rezultate din execuția altui program. Metodele de traducere se bazează pe acest principiu - traducerea textului programului dintr-un limbaj de programare de nivel înalt în limbajul unei anumite mașini.

4. Principiul plasării unui program în memorie. Programul necesar pentru funcționarea computerului este pre-locat în memoria computerului, mai degrabă decât introducerea comandă după comandă.

5. Principiul de țintire. Din punct de vedere structural, memoria principală este formată din celule renumerotate; Orice celulă este disponibilă procesorului în orice moment. Aceasta implică capacitatea de a denumi zonele de memorie, astfel încât valorile stocate în ele să poată fi accesate sau modificate ulterior în timpul execuției programului folosind numele atribuite.

6. Principiul ierarhiei memoriei. Memoria computerului este eterogenă. Pentru datele utilizate frecvent, este alocată memorie mai mică, dar mai rapidă; Pentru datele utilizate rar, este alocată memorie mai mare, dar mai lentă.

7. Principiul sistemului de numere binar. Pentru reprezentarea internă a datelor și programelor în memoria computerului se folosește un sistem de numere binar, care poate fi implementat mai ușor din punct de vedere tehnic.

Calculatoarele construite pe aceste principii sunt de tip von Neumann. Există și alte clase de computere care sunt fundamental diferite de cele von Neumann. Aici, de exemplu, principiul controlului programului poate să nu fie îndeplinit, adică. ele pot funcționa fără un numărător de programe (registru de adrese) care să indice comanda programului care se execută. Pentru a accesa o variabilă stocată în memorie, aceste computere nu trebuie să-i dea un nume. Astfel de calculatoare sunt numite computere non-von Neumann.

Mașina von Neumann a constat dintr-o memorie, care era un set de registre, un ALU, un dispozitiv de intrare/ieșire și un dispozitiv de control (Fig. 3.7).

Dispozitivul de intrare a transmis comenzi și date către ALU, de unde au fost scrise în memorie. Toate echipe, a cărui totalitate se numește program, sunt scrise în memorie în celulele vecine în ordinea crescătoare a adreselor lor, iar datele care necesită procesare sunt scrise în celule cu adrese arbitrare. Ultima comandă a programului este în mod necesar comanda de oprire. Fiecare comandă conține codul operației care trebuie efectuată și adresele celulelor care conțin datele procesate de această comandă. Dispozitivul de control conține un registru special numit „ Contor de programe" După încărcarea programului și a datelor în memorie, adresa primei instrucțiuni a programului este scrisă în contorul de programe. După care computerul intră în modul de execuție automată a programului.

Orez. 3.7. mașină von Neumann

Dispozitivul de control citește din memorie conținutul celulei de memorie, a cărei adresă se află în contorul de programe și îl plasează într-un dispozitiv special - „ Registrul de comenzi" Registrul de comenzi stochează comanda în timp ce este executată. Dispozitivul de control descifrează tipul de operație de comandă, citește din memorie datele ale căror adrese sunt specificate în comandă și începe să o execute. Pentru fiecare comandă, dispozitivul de control are propriul algoritm de procesare, care constă în generarea de semnale de control pentru toate celelalte dispozitive ale mașinii. Acest algoritm ar putea fi implementat pe baza circuitelor logice combinaționale sau folosind o memorie internă specială, unde acești algoritmi au fost scriși sub formă de microinstrucțiuni combinate în microprograme. Microprogramul este executat după același principiu ca și programele din memoria principală, adică. conform principiului lui von Neumann. Fiecare microinstrucțiune conține un set de semnale de control pentru dispozitivele mașinii. Rețineți că dispozitivele pentru controlul execuției comenzilor procesorului în sistemele informatice moderne sunt, de asemenea, construite pe principiul circuitelor combinaționale sau al automatelor cu microprograme, conform cărora sunt împărțite în RISCȘi CISC procesoare, care vor fi discutate mai jos.

Microprogramul pentru executarea oricărei comenzi conține în mod necesar semnale care modifică cu unul conținutul contorului programului. Astfel, după finalizarea următoarei comenzi, contorul de program a indicat către următoarea celulă de memorie, care conținea următoarea comandă de program. Dispozitivul de control citește instrucțiunea a cărei adresă se află în contorul de programe, o plasează în registrul de instrucțiuni etc. Acest proces continuă până când următoarea comandă executabilă se dovedește a fi o comandă pentru a opri execuția programului. Este interesant de observat că atât instrucțiunile, cât și datele care se află în memorie sunt seturi de numere întregi binare. Dispozitivul de control nu poate distinge o comandă de date, prin urmare, dacă programatorul a uitat să încheie programul cu o comandă de oprire, dispozitivul de control citește următoarele celule de memorie care nu mai conțin comenzi de program și încearcă să le interpreteze ca comenzi.

Un caz special poate fi considerat comenzi de sărituri necondiționate sau condiționate, când trebuie să executați o comandă care nu este următoarea în ordinea celei curente, dar este separată de cea dată printr-un anumit număr de adrese. În acest caz, comanda jump conține adresa celulei către care trebuie transferat controlul. Această adresă este scrisă de dispozitivul de control direct în contorul de programe și are loc o tranziție la comanda de program corespunzătoare.

  • Serghei Savenkov

    un fel de recenzie „scurtă”... de parcă s-ar grăbi undeva