arhitectura von Neumann Este un design teoretic, astfel încât un computer să poată avea un program stocat intern, servind ca bază pentru aproape toate computerele care sunt realizate în prezent.
O mașină von Neumann constă dintr-o unitate centrală de procesare, care include o unitate logică aritmetică și o unitate de control, plus o memorie principală, stocare secundară și dispozitive de intrare / ieșire..
Această arhitectură presupune că fiecare calcul extrage date din memorie, le prelucrează și apoi le trimite înapoi în memorie..
Într-o arhitectură von Neumann, aceeași memorie și aceeași magistrală sunt utilizate pentru a stoca atât datele, cât și instrucțiunile care execută un program.
Indice articol
Deoarece memoria datelor și a programelor nu poate fi accesată în același timp, arhitectura von Neumann este predispusă la blocaje și la o slăbire a performanței computerului. Aceasta este ceea ce este cunoscut sub numele de blocajul von Neumann, unde sunt afectate puterea, performanța și costul..
Una dintre modificările făcute a presupus reconsiderarea cantității de date care trebuia de fapt trimise în memorie și a cantității care ar putea fi stocate local.
În acest fel, în loc să fie nevoie să trimiteți totul în memorie, mai multe cache-uri și cache-uri proxy pot reduce fluxul de date de la cipurile procesorului către diferitele dispozitive..
În 1945, după al doilea război mondial, doi oameni de știință au propus în mod autonom cum să construiască un computer mai maleabil. Unul dintre ei era matematicianul Alan Turing, iar celălalt era omul de știință la fel de talentat John Von Neumann.
Britanicul Alan Turing fusese implicat în spargerea codului Enigma de la Bletchley Park, folosind computerul „Colossus”. Pe de altă parte, americanul John Von Neumann lucrase la Proiectul Manhattan pentru construirea primei bombe atomice, care necesita multe calcule manuale..
Până atunci, computerele din timpul războiului erau mai mult sau mai puțin „programate” prin reconectarea întregii mașini pentru a îndeplini o sarcină diferită. De exemplu, primul computer numit ENIAC a durat trei săptămâni pentru a se reconecta pentru a face un calcul diferit..
Noul concept a constat în faptul că într-o memorie nu trebuie stocate doar datele, ci și programul care a prelucrat aceste date ar trebui stocate în aceeași memorie.
Această arhitectură de program stocată intern este cunoscută în mod obișnuit ca arhitectura „Von Neumann”..
Această idee nouă a însemnat că un computer cu această arhitectură ar fi mult mai ușor de reprogramat. Efectiv, programul în sine ar fi tratat la fel ca datele.
Fundamentul principal al modelului Von Neumann este gândul că programul este stocat intern într-o mașină. Unitatea de memorie conține datele și codul programului. Proiectarea arhitecturii constă din:
Circuitul digital este responsabil pentru executarea instrucțiunilor unui program. Se mai numește și procesor. CPU-ul conține ALU, unitatea de control și un set de registre.
Această parte a arhitecturii este implicată numai în efectuarea operațiilor aritmetice și logice asupra datelor..
Calculele obișnuite de adunare, multiplicare, împărțire și scădere vor fi disponibile, dar vor fi disponibile și comparații de date precum „mai mare decât”, „mai puțin decât”, „egal cu”.
Controlează funcționarea ALU, a memoriei și a dispozitivelor de intrare / ieșire ale computerului, instruindu-le cum să acționeze conform instrucțiunilor programului pe care tocmai l-ați citit din memorie.
Unitatea de control va gestiona procesul de mutare a datelor și programelor către și din memorie. De asemenea, se va ocupa de executarea instrucțiunilor programului, pe rând sau secvențial. Aceasta include ideea unui registru pentru a deține valorile intermediare.
Sunt zone de stocare de mare viteză pe CPU. Toate datele trebuie stocate într-un registru înainte de a putea fi procesate.
Registrul de adrese de memorie conține locația de memorie a datelor de accesat. Registrul de date de memorie conține datele transferate în memorie.
Computerul va avea memorie care poate conține date, precum și programul care prelucrează aceste date. În computerele moderne, această memorie este memoria RAM sau memoria principală. Această memorie este rapidă și accesibilă direct de CPU.
RAM-ul este împărțit în celule. Fiecare celulă constă dintr-o adresă și conținutul acesteia. Adresa va identifica în mod unic fiecare locație din memorie.
Această arhitectură permite să surprindă ideea că o persoană are nevoie pentru a interacționa cu mașina, prin intermediul dispozitivelor de intrare-ieșire.
Informațiile trebuie să curgă între diferitele părți ale computerului. Într-un computer cu arhitectura von Neumann, informațiile sunt transmise de la un dispozitiv la altul de-a lungul unei magistrale, conectând toate unitățile CPU la memoria principală..
Autobuzul de adrese transportă adresele datelor, dar nu și datele, între procesor și memorie.
Magistrala de date transportă date între procesor, memorie și dispozitive de intrare-ieșire.
Principiul relevant al arhitecturii von Neumann este acela că atât datele, cât și instrucțiunile sunt stocate în memorie și tratate la fel, ceea ce înseamnă că instrucțiunile și datele sunt direcționale..
Funcționează utilizând patru pași simpli: căutare, decodare, executare, stocare, numit „Ciclul mașinii”.
Instrucțiunile sunt obținute de CPU din memorie. CPU apoi decodează și execută aceste instrucțiuni. Rezultatul este stocat în memorie după finalizarea ciclului de execuție a instrucțiunilor..
În acest pas, instrucțiunile sunt obținute din RAM și plasate în memoria cache pentru ca unitatea de control să le acceseze..
Unitatea de control decodează instrucțiunile în așa fel încât unitatea aritmetică logică să le poată înțelege, apoi să le trimită către unitatea aritmetică logică.
Unitatea logică aritmetică execută instrucțiunile și trimite rezultatul înapoi în cache.
Odată ce contorul programului indică oprire, rezultatul final este descărcat în memoria principală.
Dacă un aparat von Neumann dorește să efectueze o operațiune cu date în memorie, acesta trebuie transferat prin magistrală către CPU. După efectuarea calculului, trebuie să mutați rezultatul în memorie prin aceeași magistrală.
Blocajul Von Neumann apare atunci când datele introduse sau eliminate din memorie trebuie să treacă în timp ce operațiunea de memorie curentă se încheie..
Adică, dacă procesorul tocmai a finalizat un calcul și este gata să efectueze următorul, trebuie să scrie calculul terminat, care ocupă magistrala, în memorie înainte de a putea recupera date noi din memorie, care folosesc și ele aceleași autobuz..
Acest blocaj s-a înrăutățit de-a lungul timpului, deoarece microprocesoarele și-au crescut viteza și, pe de altă parte, memoria nu a avansat atât de repede.
- Unitatea de control preia date și instrucțiuni în același mod din memorie. Prin urmare, proiectarea și dezvoltarea unității de comandă sunt simplificate, fiind mai ieftine și mai rapide..
- Datele de pe dispozitivele de intrare / ieșire și memoria principală sunt recuperate în același mod.
- Organizarea memoriei se face de către programatori, permițând utilizarea capacității totale de memorie.
- Gestionarea unui singur bloc de memorie este mai simplă și mai ușor de realizat.
- Proiectarea cipului microcontrolerului este mult mai simplă, deoarece o singură memorie va fi accesată. Cel mai important lucru despre microcontroler este accesul la memorie RAM și în arhitectura von Neumann acesta poate fi utilizat atât pentru stocarea datelor, cât și pentru stocarea instrucțiunilor de program..
Principalul avantaj de a avea aceeași memorie pentru programe și date este că programele pot fi procesate ca și cum ar fi date. Cu alte cuvinte, puteți scrie programe ale căror date sunt alte programe.
Un program ale cărui date sunt un alt program nu este altceva decât un sistem de operare. De fapt, dacă programele și datele nu ar fi permise în același spațiu de memorie, așa cum este cazul arhitecturii von Neumann, sistemele de operare nu ar fi putut fi dezvoltate niciodată.
Deși avantajele depășesc cu mult dezavantajele, problema este că există o singură magistrală care conectează memoria la procesor, astfel încât o singură instrucțiune sau un singur element de date pot fi preluate odată.
Aceasta înseamnă că procesorul poate fi nevoit să aștepte mai mult pentru sosirea datelor sau instrucțiunilor. Aceasta este cunoscută sub numele de blocajul von Neumann. Deoarece procesorul este mult mai rapid decât magistrala de date, aceasta înseamnă că rămâne de multe ori inactiv.
- Datorită procesării secvențiale a instrucțiunilor, implementarea paralelă a programului nu este permisă.
- Prin partajarea memoriei, există riscul ca o instrucțiune să fie scrisă peste alta din cauza unei erori în program, cauzând blocarea sistemului..
- Unele programe defecte nu pot elibera memoria atunci când sunt terminate, ceea ce ar putea cauza blocarea computerului din cauza memoriei insuficiente.
- Datele și instrucțiunile împărtășesc aceeași magistrală de date, deși viteza cu care fiecare trebuie recuperată este adesea foarte diferită..
Nimeni nu a comentat acest articol încă.